code: def _get_struct_matrix(self):
          
          obj = _make_object("Matrix")
          bc = BitConsumer(self._src)
  
          # scale
          obj.HasScale = bc.u_get(1)
          if obj.HasScale:
              obj.NScaleBits = n_scale_bits = bc.u_get(5)
              obj.ScaleX = bc.fb_get(n_scale_bits)
              obj.ScaleY = bc.fb_get(n_scale_bits)
  
          # rotate
          obj.HasRotate = bc.u_get(1)
          if obj.HasRotate:
              obj.NRotateBits = n_rotate_bits = bc.u_get(5)
              obj.RotateSkew0 = bc.fb_get(n_rotate_bits)
              obj.RotateSkew1 = bc.fb_get(n_rotate_bits)
  
          # translate
          obj.NTranslateBits = n_translate_bits = bc.u_get(5)
          obj.TranslateX = bc.s_get(n_translate_bits)
          obj.TranslateY = bc.s_get(n_translate_bits)
          if not self._read_twips:
              obj.TranslateX /= 20.0
              obj.TranslateY /= 20.0
          return obj
docs: Get the values for the MATRIX record.