Ejemplo n.º 1
0
 def attributes():
     yield UINT16, 'byteorder'
     yield UINT16, 'format'
     yield UINT16, 'osversion'
     yield UINT16, 'os'
     yield ARRAY(BYTE, 16), 'clsid'
     yield N_ARRAY(UINT32, MSOLEPropertySectionDesc), 'sections'
Ejemplo n.º 2
0
 def attributes():
     yield GradationTypeFlags, 'type',
     yield UINT32, 'shear',  # 기울임 각 (도)
     yield Coord32, 'center',
     yield UINT32, 'blur',  # 번짐 정도: 0-100
     # TODO: 스펙 1.2에 따르면 색상 수 > 2인 경우
     # 색상이 바뀌는 위치 배열이 온다고 함
     yield N_ARRAY(UINT32, COLORREF), 'colors',
    def attributes(cls):
        ''' 표 70 표 개체 속성 '''
        yield cls.Flags, 'flags'
        yield UINT16, 'rows'
        yield UINT16, 'cols'
        yield HWPUNIT16, 'cellspacing'

        # 표 72 안쪽 여백 정보
        yield Margin, 'padding'

        yield dict(type=X_ARRAY(UINT16, ref_member('rows')), name='rowcols')
        yield UINT16, 'borderfill_id'
        yield dict(type=N_ARRAY(UINT16, ZoneInfo),
                   name='validZones',
                   version=(5, 0, 0, 7))
Ejemplo n.º 4
0
 def attributes(cls):
     ''' 표 98 곡선 개체 속성 '''
     yield N_ARRAY(UINT16, Coord), 'points'
Ejemplo n.º 5
0
 def attributes():
     yield BYTE,   'type',
     yield UINT32, 'shear',
     yield Coord32, 'center',
     yield UINT32, 'blur',
     yield N_ARRAY(UINT32, COLORREF), 'colors',
 def attributes(cls):
     yield dict(type=cls.Flags, name='flags')
     yield dict(type=N_ARRAY(UINT32, Tab), name='tabs')
Ejemplo n.º 7
0
 def attributes():
     from hwp5.dataio import N_ARRAY
     from hwp5.dataio import BYTE
     yield UINT32, 'id'
     yield N_ARRAY(UINT32, BYTE), 'name'
Ejemplo n.º 8
0
 def attributes():
     from hwp5.dataio import N_ARRAY
     yield N_ARRAY(UINT32, MSOLEPropertyName), 'names'
Ejemplo n.º 9
0
 def attributes():
     from hwp5.dataio import N_ARRAY
     yield UINT32, 'bytesize'
     yield N_ARRAY(UINT32, MSOLEPropertyDesc), 'properties'
Ejemplo n.º 10
0
    def attributes(cls):
        ''' 표 78 개체 요소 속성 '''

        yield dict(type=CHID, name='chid0', condition=parent_must_be_gso)

        yield CHID, 'chid'
        yield SHWPUNIT, 'x_in_group'
        yield SHWPUNIT, 'y_in_group'
        yield WORD, 'level_in_group'
        yield WORD, 'local_version'
        yield SHWPUNIT, 'initial_width'
        yield SHWPUNIT, 'initial_height'
        yield SHWPUNIT, 'width'
        yield SHWPUNIT, 'height'
        yield cls.Flags, 'flags'
        yield WORD, 'angle'
        yield Coord, 'rotation_center'

        ''' 표 79 Rendering 정보 '''
        yield WORD, 'scalerotations_count'
        yield Matrix, 'translation'
        yield dict(type=X_ARRAY(ScaleRotationMatrix,
                                ref_member('scalerotations_count')),
                   name='scalerotations')

        #
        # Container
        #

        yield dict(type=N_ARRAY(WORD, CHID),
                   name='controls',
                   condition=chid_is_container)

        #
        # Rectangle
        #

        ''' 표 81 테두리 선 정보 '''
        yield dict(type=BorderLine, name='border', condition=chid_is_rect)
        ''' 표 83 Outline style '''
        # TODO: Outline ???
        yield dict(type=cls.FillFlags, name='fill_flags',
                   condition=chid_is_rect)
        yield dict(type=UINT16, name='unknown', condition=chid_is_rect)
        yield dict(type=UINT8, name='unknown1', condition=chid_is_rect)
        yield dict(type=FillColorPattern, name='fill_colorpattern',
                   condition=chid_is_rect_and_fill_colorpattern)
        yield dict(type=FillGradation, name='fill_gradation',
                   condition=chid_is_rect_and_fill_gradation)
        yield dict(type=FillImage, name='fill_image',
                   condition=chid_is_rect_and_fill_image)
        yield dict(type=UINT32, name='fill_shape',
                   condition=chid_is_rect)
        yield dict(type=BYTE, name='fill_blur_center',
                   condition=chid_is_rect_and_fill_gradation)

        # TODO: 아래 두 필드: chid == $rec일 때만인지 확인 필요
        yield dict(type=HexBytes(5), name='unknown2',
                   condition=chid_is_rect, version=(5, 0, 2, 4))
        yield dict(type=HexBytes(16), name='unknown3',
                   condition=chid_is_rect, version=(5, 0, 2, 4))

        #
        # Line
        #

        yield dict(type=BorderLine, name='line',
                   condition=chid_is_line)
 def attributes():
     yield UINT16, 'byteOrder'
     yield UINT16, 'version'
     yield UINT32, 'systemIdentifier'
     yield ARRAY(BYTE, 16), 'clsid'
     yield N_ARRAY(UINT32, PropertySetDesc), 'propsetDescList'
 def attributes():
     from hwp5.dataio import N_ARRAY
     yield N_ARRAY(UINT32, DictionaryEntry), 'entries'
Ejemplo n.º 13
0
    def test_new(self):
        t1 = ARRAY(INT32, 3)
        t2 = ARRAY(INT32, 3)
        assert t1 is t2

        assert N_ARRAY(INT32, INT32) is N_ARRAY(INT32, INT32)