def _get_struct_matrix(self):
        """Get the values for the MATRIX record."""
        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
def _get_struct_matrix ( self ) : obj = _make_object ( "Matrix" ) bc = BitConsumer ( self . _src ) 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 ) 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 ) 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
Get the values for the MATRIX record.