3.1.3 OfficeArtSpgrContainer

Office

The following table shows the child-record hierarchy of OfficeArtSpgrContainer container, as defined in section 2.2.16, record 2.

Offset

Size

Structure

00000D8F

0966

2: OfficeArtSpgrContainer - groupShape

00000D8F

0008

    OfficeArtRecordHeader - rh

00000D97

095E

    OfficeArtSpgrContainerFileBlockArray - rgfb

00000D97

0030

        A: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00000DC7

092E

        OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00000DC7

092E

            OfficeArtSpgrContainer - case_of_msofbtSpgrContainer

00000DC7

0008

                OfficeArtRecordHeader - rh

00000DCF

0926

                OfficeArtSpgrContainerFileBlockArray - rgfb

00000DCF

00EA

                    B: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00000EB9

005C

                    C: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00000F15

007C

                    D: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00000F91

0076

                    OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00001007

007C

                    OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00001083

007C

                    OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

000010FF

007C

                    OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

0000117B

00EB

                    E: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00001266

00E5

                    F: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

0000134B

00E5

                    OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00001430

00E5

                    G: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00001515

00EF

                    OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00001604

00F1

                    OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

Figure 22: Child-Record Hierarchy of OfficeArtSpgrContainer Container 2

The record types within OfficeArtSpgrContainer container 2 that have not been explained in previous sections are specified as follows:

rgfb: An array of OfficeArtSpgrContainerFileBlock records, as defined in section 2.2.17, that specifies groups or shapes contained within this group.

rgfb.OfficeArtSpgrContainerFB: A container for groups of shapes. The group container contains a variable number of shape containers and other group containers. Each group is a shape.

The following seven structure examples show the records that are labeled A, B, C, D, E, F, and G in the preceding table in more detail.

The following table shows the child-record hierarchy of OfficeArtSpgrContainerFileBlock record A.

Offset

Size

Structure

Value

00000D97

0030

A: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00000D97

0030

    OfficeArtSpContainer - case_of_msofbtSpContainer

00000D97

0008

        OfficeArtRecordHeader - rh

00000D9F

0018

        OfficeArtFSPGR - shapeGroup

00000D9F

0008

            OfficeArtRecordHeader - rh

00000DA7

0010

            OfficeArtFRC - frc

00000DA7

0004

                LONG - xLeft

0x00000000

00000DAB

0004

                LONG - yTop

0x00000000

00000DAF

0004

                LONG - xRight

0x00000000

00000DB3

0004

                LONG - yBottom

0x00000000

00000DB7

0010

        H: OfficeArtFSP - shapeProp

Figure 23: Child-Record Hierarchy of OfficeArtSpgrContainerFileBlock Record A

The record types within OfficeArtSpgrContainerFileBlock record A that have not been explained in previous structure examples are specified as follows:

case_of_msofbtSpContainer.shapeGroup.frc: The coordinate system of the group shape that the anchors of the child shape are expressed in. This structure is present only in group shapes.

case_of_msofbtSpContainer.shapeGroup.frc.xLeft: The left boundary (0x00000000) of the coordinate system of the group.

case_of_msofbtSpContainer.shapeGroup.frc.yTop: The top boundary (0x00000000) of the coordinate system of the group (4).

case_of_msofbtSpContainer.shapeGroup.frc.xRight: The right boundary (0x00000000) of the coordinate system of the group (4).

case_of_msofbtSpContainer.shapeGroup.frc.yBottom: The bottom boundary (0x00000000) of the coordinate system of the group (4).

case_of_msofbtSpContainer.shapeProp: An OfficeArtFSP record, as defined in section 2.2.40, that contains an instance of a shape. The record header contains the shape type, and the record itself contains the shape identifier and a set of bits that further define the shape.

The following table shows the child-record hierarchy of OfficeArtFSP record H.

Offset

Size

Structure

Value

00000DB7

0010

H: OfficeArtFSP - shapeProp

00000DB7

0008

    OfficeArtRecordHeader - rh

00000DBF

0004

    ULONG - spid

0x00000800

00000DC3

1 bit

    bit - fGroup

0x1

00000DC3

1 bit

    bit - fChild

0x0

00000DC3

1 bit

    bit - fPatriarch

0x1

00000DC3

1 bit

    bit - fDeleted

0x0

00000DC3

1 bit

    bit - fOleShape

0x0

00000DC3

1 bit

    bit - fHaveMaster

0x0

00000DC3

1 bit

    bit - fFlipH

0x0

00000DC3

1 bit

    bit - fFlipV

0x0

00000DC3

1 bit

    bit - fConnector

0x0

00000DC3

1 bit

    bit - fHaveAnchor

0x0

00000DC3

1 bit

    bit - fBackground

0x0

00000DC3

1 bit

    bit - fHaveSpt

0x0

00000DC3

20 bits

    bit - unused1

0x00000

Figure 24: Child-Record Hierarchy of OfficeArtFSP Record H

The record types within OfficeArtFSP record H that have not been explained in previous structure examples are specified as follows:

spid: The identifier (0x00000800) of this shape.

fGroup: A value that specifies whether this shape is a group shape. The value 0x1 specifies that this shape is a group shape.

fChild: A value that specifies whether this shape is a child shape. The value 0x0 specifies that this shape is not a child shape.

fPatriarch: A value that specifies whether this shape is the topmost group shape. The value 0x1 specifies that this shape is the topmost group shape. Exactly one topmost group shape exists per drawing.

fDeleted: A value that specifies whether this shape has been deleted. The value 0x0 specifies that this shape has not been deleted.

fOleShape: A value that specifies whether this shape is an OLE object. The value 0x0 specifies that this shape is not an OLE object.

fHaveMaster: A value that specifies whether this shape has a valid master in the hspMaster property, as defined in section 2.3.2.1. The value 0x0 specifies that this shape does not have such a valid master.

fFlipH: A value that specifies whether this shape is flipped horizontally. The value 0x0 specifies that this shape is not flipped horizontally.

fFlipV: A value that specifies whether this shape is flipped vertically. The value 0x0 specifies that this shape is not flipped vertically.

fConnector: A value that specifies whether this shape is a connector shape. The value 0x0 specifies that this shape is not a connector shape.

fHaveAnchor: A value that specifies whether this shape has an anchor. The value 0x0 specifies that this shape does not have an anchor.

fBackground: A value that specifies whether this shape is a background shape. The value 0x0 specifies that this shape is not a background shape.

fHaveSpt: A value that specifies whether this shape has a shape type property. The value 0x0 specifies that this shape does not have a shape type property.

unused1: A value that is undefined and needs to be ignored.

The following table shows the child-record hierarchy of OfficeArtSpgrContainerFileBlock, as defined in section 2.2.17, record B.

Offset

Size

Structure

Value

00000DCF

00EA

B: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00000DCF

00EA

    OfficeArtSpContainer - case_of_msofbtSpContainer

00000DCF

0008

        OfficeArtRecordHeader - rh

00000DD7

0018

        OfficeArtFSPGR - shapeGroup

00000DEF

0010

        OfficeArtFSP - shapeProp

00000DFF

000E

        OfficeArtFOPT - shapePrimaryOptions

00000E0D

009C

        OfficeArtTertiaryFOPT - shapeTertiaryOptions

00000E0D

0008

            OfficeArtRecordHeader - rh

00000E15

0094

            OfficeArtRGFOPTE - fopt

00000E15

0006

                dgmt - Diagram Type

00000E15

0002

                    OfficeArtFOPTEOPID - opid

00000E17

0004

                    MSODGMT - dgmt

0x00000001

00000E1B

0006

                dgmStyle - Diagram Style

00000E1B

0002

                    OfficeArtFOPTEOPID - opid

00000E1D

0004

                    LONG - dgmStyle

0x00000000

00000E21

0006

                pRelationTbl - Diagram Shape Relationship

00000E21

0002

                    OfficeArtFOPTEOPID - opid

00000E23

0004

                    ULONG - pRelationTbl

0x0000004E

00000E27

0006

                dgmScaleX - Diagram ScaleX

00000E27

0002

                    OfficeArtFOPTEOPID - opid

00000E29

0004

                    FixedPoint - dgmScaleX

0x00013333

00000E2D

0006

                dgmScaleY - Diagram ScaleY

00000E2D

0002

                    OfficeArtFOPTEOPID - opid

00000E2F

0004

                    FixedPoint - dgmScaleY

0x00011748

00000E33

0006

                dgmDefaultFontSize - Diagram Default Font Size

00000E33

0002

                    OfficeArtFOPTEOPID - opid

00000E35

0004

                    LONG - dgmDefaultFontSize

0x0000000D

00000E39

0006

                dgmConstrainBounds - Diagram Bounds

00000E39

0002

                    OfficeArtFOPTEOPID - opid

00000E3B

0004

                    ULONG - dgmConstrainBounds

0x00000016

00000E3F

0006

                I: Diagram Boolean Properties - Diagram Boolean

00000E45

004E

                J: pRelationTbl_complex - Diagram Shape Relationship Data

00000E93

0016

                K: dgmConstrainBounds_complex - Diagram Bounds Data

00000EA9

0010

        OfficeArtClientAnchor - clientAnchor

Figure 25: Child-Record Hierarchy of OfficeArtSpgrContainerFileBlock Record B

The record types within OfficeArtSpgrContainerFileBlock record B that have not been explained in previous structure examples are specified as follows:

case_of_msofbtSpContainer.shapeTertiaryOptions: An OfficeArtTertiaryFOPT record, as defined in section 2.2.11, that contains a table of OfficeArtRGFOPTE properties, as defined in section 2.3.1.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Type.opid: An OfficeArtFOPTEOPID record, as defined in section 2.2.8, that specifies the header for an entry in a property table.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Type.dgmt: A value that specifies whether this diagram type is an organizational-chart diagram. The value 0x00000001 specifies that this diagram type is an organizational-chart diagram.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Style: A property that specifies a diagram style.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Style.dgmStyle: A value that specifies whether this diagram has the default style. The value 0x00000000 specifies that this diagram has the default style.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Shape Relationship: A pRelationTbl property that specifies the relationships in a diagram.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Shape Relationship.pRelationTbl: The number (0x0000004E) of bytes of data in the pRelationTbl_complex property.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram ScaleX: A property that specifies the amount to scale along the x-axis.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram ScaleX.dgmScaleX: The amount (0x00013333) to scale along the x-axis.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram ScaleY: A property that specifies the amount to scale along the y-axis.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram ScaleY.dgmScaleY: The amount (0x00011748) to scale along the y-axis.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Default Font Size: A property that specifies the default font size for new text in this diagram.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Default Font Size.dgmDefaultFontSize: The default font size (0x0000000D), in points, for new text in this diagram.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Bounds: A dgmConstrainBounds property, as defined in section 2.3.17.8, that specifies the bounds of this diagram.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Bounds.dgmConstrainBounds: The number (0x00000016) of bytes of data in the dgmConstrainBounds_complex property, as defined in section 2.3.17.9.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Boolean: A 32-bit field of Boolean properties for a diagram.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Shape Relationship Data:  A pRelationTbl_complex property that specifies additional data for pRelationTbl.

case_of_msofbtSpContainer.shapeTertiaryOptions.fopt.Diagram Bounds Data: A dgmConstrainBounds_complex property, as defined in section 2.3.17.9, that specifies additional data for the dgmConstrainBounds property, as defined in section 2.3.17.8.

The following three example structures show the records that are labeled I, J, and K in OfficeArtSpgrContainerFileBlock record B in more detail.

The following table shows the child-record hierarchy of Diagram Boolean Properties record I.

Offset

Size

Structure

Value

00000E3F

0006

I: Diagram Boolean Properties - Diagram Boolean Properties

00000E3F

0002

    OfficeArtFOPTEOPID - opid

00000E3F

14 bits

        bit - opid

0x053F

00000E3F

1 bit

        bit - fBid

0x0

00000E3F

1 bit

        bit - fComplex

0x0

00000E41

10 bits

    bit - unused6

0x000

00000E41

1 bit

    bit - unused5

0x0

00000E41

1 bit

    bit - unused4

0x0

00000E41

1 bit

    bit - fUsefDoFormat

0x1

00000E41

1 bit

    bit - fUsefReverse

0x0

00000E41

1 bit

    bit - fUsefDoLayout

0x0

00000E41

1 bit

    bit - fUsefPseudoInline

0x0

00000E41

10 bits

    bit - unused3

0x000

00000E41

1 bit

    bit - unused2

0x0

00000E41

1 bit

    bit - unused1

0x0

00000E41

1 bit

    bit - fDoFormat

0x0

00000E41

1 bit

    bit - fReverse

0x0

00000E41

1 bit

    bit - fDoLayout

0x0

00000E41

1 bit

    bit - fPseudoInline

0x0

Figure 26: Child-Record Hierarchy of Diagram Boolean Properties Record I

The Diagram Boolean Properties that are listed in record I are specific to diagrams. The record types within Diagram Boolean Properties record I that have not been explained in previous structure examples are specified as follows:

opid.opid: The identifier (0x053F) of the property in this entry.

opid.fBid: A value that specifies whether the value in the op field is a BLIP identifier. The value 0x0 specifies that the value in the op field is not a BLIP identifier.

opid.fComplex: A value that specifies whether this property is a complex property. The value 0x0 specifies that this property is not a complex property.

fUsefDoFormat: A value that specifies whether the fDoFormat bit has been set. The value 0x1 specifies that the fDoFormat bit has been set.

fUsefReverse: A value that specifies whether the fReverse bit needs to be ignored. The value 0x0 specifies that the fReverse bit needs to be ignored.

fUsefDoLayout: A value that specifies whether the fDoLayout bit needs to be ignored. The value 0x0 specifies that the fDoLayout bit needs to be ignored.

fUsefPseudoInline: A value that specifies whether the fPseudoInline bit needs to be ignored. The value 0x0 specifies that the fPseudoInline bit needs to be ignored.

fDoFormat: A value that specifies whether the dgmStyle property, as defined in section 2.3.17.2, for this diagram contains a default formatting style for this diagram type. The value 0x0 specifies that the dgmStyle property for this diagram contains a default formatting style for this diagram type.

fReverse: A value that specifies whether this diagram is mirrored horizontally. The value 0x0 specifies that this diagram is not mirrored horizontally.

fDoLayout: A value that specifies whether this diagram has a layout that is directly editable. The value 0x0 specifies that this diagram has a layout that is directly editable.

fPseudoInline: A value that specifies whether this diagram is placed in line with surrounding text. The value 0x0 specifies that this diagram is not placed in line with surrounding text.

The following table shows the child-record hierarchy of pRelationTbl_complex record J.

Offset

Size

Structure

Value

00000E45

004E

J: pRelationTbl_complex - Diagram Shape Relationship Data

00000E45

004E

    IMsoArray - pRelationTbl

00000E45

0002

        USHORT - nElems

0x0006

00000E47

0002

        USHORT - nElemsAlloc

0x0008

00000E49

0002

        USHORT - cbElem

0x000C

00000E4B

0048

        Blob - data

40 95 09 97 40 95 09 97 00 00 00 00 EB CE CB F8 40 95 09 97 28 9D E6 D3 01 A4 12 8E 40 95 09 97 4C DA BC 3B C2 F7 3F A5 40 95 09 97 0D EB A7 22 83 C6 24 BC 40 95 09 97 AA FF D0 E1 8E A9 77 40 83 C6 24 BC 4D FA 5A 6B

Figure 27: Child-Record Hierarchy of pRelationTbl_complex Record J

The record types within pRelationTbl_complex record J that have not been explained in previous structure examples are specified as follows:

pRelationTbl: An IMsoArray record, as defined in section 2.2.51, that specifies the relationships in a diagram. Each array element specifies a connection between two shapes.

pRelationTbl.nElems: A value (0x0006) that specifies the number of elements contained in this record. This diagram thus contains six shapes.

pRelationTbl.nElemsAlloc: The maximum number (0x0008) of elements that this record can contain.

pRelationTbl.cbElem: The size (0x000C), in bytes, of each element in the data record.

pRelationTbl.data: An array that contains nElems elements, each of which is cbElem bytes in size.

The following table shows the child-record hierarchy of dgmConstrainBounds_complex record K.

Offset

Size

Structure

Value

00000E93

0016

K: dgmConstrainBounds_complex - Diagram Bounds Data

00000E93

0016

    IMsoArray - dgmConstrainBounds

00000E93

0002

        USHORT - nElems

0x0004

00000E95

0002

        USHORT - nElemsAlloc

0x0004

00000E97

0002

        USHORT - cbElem

0x0004

00000E99

0010

        Blob - data

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Figure 28: Child-Record Hierarchy of dgmConstrainBounds_complex Record K

The record types within dgmConstrainBounds_complex record K that have not been explained in previous structure examples are specified as follows:

dgmConstrainBounds: An IMsoArray record, as defined in section 2.2.51, of four elements that specify, in order, the left, top, right, and bottom bounds, in application-defined coordinates, of the diagram.

The following table shows the child-record hierarchy of OfficeArtSpgrContainerFileBlock, as defined in section 2.2.17, record C.

Offset

Size

Structure

Value

00000EB9

005C

C: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00000EB9

005C

    OfficeArtSpContainer - case_of_msofbtSpContainer

00000EB9

0008

        OfficeArtRecordHeader - rh

00000EC1

0010

        L: OfficeArtFSP - shapeProp

00000ED1

002C

        OfficeArtFOPT - shapePrimaryOptions

00000ED1

0008

            OfficeArtRecordHeader - rh

00000ED9

0024

            OfficeArtRGFOPTE - fopt

00000ED9

0006

                M: Protection Boolean Properties - Protection Boolean

00000EDF

0006

                cxk - Shape Connection Points

00000EDF

0002

                    OfficeArtFOPTEOPID - opid

00000EE1

0004

                    MSOCXK - cxk

0x00000000

00000EE5

0006

                N: Geometry Boolean Properties - Geometry Boolean

00000EEB

0006

                O: Fill Style Boolean Properties - Fill Style Boolean

00000EF1

0006

                P: Line Style Boolean Properties - Line Style Boolean

00000EF7

0006

                Q: Shape Boolean Properties - Shape Boolean Properties

00000EFD

0018

        R: OfficeArtChildAnchor - childAnchor

Figure 29: Child-Record Hierarchy of OfficeArtSpgrContainerFileBlock Record C

The record types within OfficeArtSpgrContainerFileBlock record C that have not been explained in previous structure examples are specified as follows:

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.Protection Boolean: A 32-bit field that aggregates Boolean values to prevent the editing of certain shape properties.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.Shape Connection Points:  A record that specifies where connection points exist on the shape.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.Shape Connection Points.cxk:  An MSOCXK enumeration value, as defined in section 2.4.10, that specifies where connection points exist on the shape. The value 0x00000000 specifies that this shape has no connection points.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.Geometry Boolean: A 32-bit field that aggregates the Boolean values of the geometry properties for the shape.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.Fill Style Boolean: A 32-bit field that aggregates the Boolean properties of the fill style.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.Line Style Boolean: A 32-bit field that aggregates the Boolean properties of the line style.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.Shape Boolean Properties: A 32-bit field that aggregates the Boolean properties for a shape.

case_of_msofbtSpContainer.childAnchor: A record containing four signed integers that specify the anchor for the shape that contains this record. This record is present only when the containing shape is a member of a group of shapes. The integers identify the offset from the origin of the specified coordinate system—that is, specified by the OfficeArtFSPGR record, as defined in section 2.2.38, contained in the same OfficeArtSpgrContainer, as defined in, as defined in section 2.2.16, that contains this record. The integers are in units of the coordinate system that is specified by the same OfficeArtFSPGR.

The following seven example structures show the records labeled L, M, N, O, P, Q, and R from OfficeArtSpgrContainerFileBlock record C in more detail.

The following table shows the child-record hierarchy of OfficeArtFSP record, as defined in section 2.2.40, L.

Offset

Size

Structure

Value

00000EC1

0010

L: OfficeArtFSP - shapeProp

00000EC1

0008

    OfficeArtRecordHeader - rh

00000EC9

0004

    ULONG - spid

0x00000804

00000ECD

1 bit

    bit - fGroup

0x0

00000ECD

1 bit

    bit - fChild

0x1

00000ECD

1 bit

    bit - fPatriarch

0x0

00000ECD

1 bit

    bit - fDeleted

0x0

00000ECD

1 bit

    bit - fOleShape

0x0

00000ECD

1 bit

    bit - fHaveMaster

0x0

00000ECD

1 bit

    bit - fFlipH

0x0

00000ECD

1 bit

    bit - fFlipV

0x0

00000ECD

1 bit

    bit - fConnector

0x0

00000ECD

1 bit

    bit - fHaveAnchor

0x1

00000ECD

1 bit

    bit - fBackground

0x0

00000ECD

1 bit

    bit - fHaveSpt

0x1

00000ECD

20 bits

    bit - unused1

0x00000

Figure 30: Child-Record Hierarchy of OfficeArtFSP Record L

The records contained in OfficeArtFSP record L are similar to those in OfficeArtFSP record H but represent a different shape in the diagram. The differences can be seen in the values of fChild and fPatriarch. In OfficeArtFSP record H, the value of fChild is 0x0, which specifies that the shape is not a child shape, and the value of fPatriarch is 0x1, which specifies that the shape is the topmost one. The values of for fChild and fPatriarch in OfficeArtFSP record L specify that the shape is a child shape and that it is not the topmost shape.

The following table shows the child-record hierarchy of Protection Boolean Properties record M.

Offset

Size

Structure

Value

00000ED9

0006

M: Protection Boolean Properties - Protection Boolean Properties

00000ED9

0002

    OfficeArtFOPTEOPID - opid

00000ED9

14 bits

        bit - opid

0x007F

00000ED9

1 bit

        bit - fBid

0x0

00000ED9

1 bit

        bit - fComplex

0x0

00000EDB

6 bits

    bit - unused2

0x00

00000EDB

1 bit

    bit - fUsefLockAgainstUngrouping

0x0

00000EDB

1 bit

    bit - fUsefLockRotation

0x0

00000EDB

1 bit

    bit - fUsefLockAspectRatio

0x0

00000EDB

1 bit

    bit - fUsefLockPosition

0x0

00000EDB

1 bit

    bit - fUsefLockAgainstSelect

0x0

00000EDB

1 bit

    bit - fUsefLockCropping

0x0

00000EDB

1 bit

    bit - fUsefLockVertices

0x0

00000EDB

1 bit

    bit - fUsefLockText

0x1

00000EDB

1 bit

    bit - fUsefLockAdjustHandles

0x0

00000EDB

1 bit

    bit - fUsefLockAgainstGrouping

0x0

00000EDB

6 bits

    bit - unused1

0x00

00000EDB

1 bit

    bit - fLockAgainstUngrouping

0x0

00000EDB

1 bit

    bit - fLockRotation

0x0

00000EDB

1 bit

    bit - fLockAspectRatio

0x0

00000EDB

1 bit

    bit - fLockPosition

0x0

00000EDB

1 bit

    bit - fLockAgainstSelect

0x0

00000EDB

1 bit

    bit - fLockCropping

0x0

00000EDB

1 bit

    bit - fLockVertices

0x0

00000EDB

1 bit

    bit - fLockText

0x1

00000EDB

1 bit

    bit - fLockAdjustHandles

0x0

00000EDB

1 bit

    bit - fLockAgainstGrouping

0x0

Figure 31: Child-Record Hierarchy of Protection Boolean Properties Record M

The record types within Protection Boolean Properties record M that have not been explained in previous structure examples are specified as follows:

fUsefLockAgainstUngrouping: A value that specifies whether the fLockAgainstUngrouping flag will be ignored and the default value used instead. The value 0x0 specifies that the fLockAgainstUngrouping flag will be ignored and the default value used instead.

fUsefLockRotation: A value that specifies whether the fLockRotation flag will be ignored and the default value used instead. The value 0x0 specifies that the fLockRotation flag will be ignored and the default value used instead.

fUsefLockAspectRatio: A value that specifies whether the fLockAspectRatio flag will be ignored and the default value used instead. The value 0x0 specifies that the fLockAspectRatio flag will be ignored and the default value used instead.

fUsefLockPosition: A value that specifies whether the fLockPosition flag will be ignored and the default value used instead. The value 0x0 specifies that the fLockPosition flag will be ignored and the default value used instead.

fUsefLockAgainstSelect: A value that specifies whether the fLockAgainstSelect flag will be ignored and the default value used instead. The value 0x0 specifies that the fLockAgainstSelect flag will be ignored and the default value used instead.

fUsefLockCropping: A value that specifies whether the fLockCropping flag will be ignored and the default value used instead. The value 0x0 specifies that the fLockCropping flag will be ignored and the default value used instead.

fUsefLockVertices: A value that specifies whether the fLockVertices flag will be ignored and the default value used instead. The value 0x0 specifies that the fLockVertices flag will be ignored and the default value used instead.

fUsefLockText: A value that specifies whether the fLockText flag is set. The value 0x1 specifies that the fLockText flag is set.

fUsefLockAdjustHandles: A value that specifies whether the fLockAdjustHandles flag will be ignored and the default value used instead. The value 0x0 specifies that the fLockAdjustHandles flag will be ignored and the default value used instead.

fUsefLockAgainstGrouping: A value that specifies whether the fLockAgainstGrouping flag will be ignored and the default value used instead. The value 0x0 specifies that the fLockAgainstGrouping flag will be ignored and the default value used instead.

fLockAgainstUngrouping: A value that specifies whether the grouped shape is locked from being ungrouped. The value 0x0 specifies that the grouped shape is not locked from being ungrouped.

fLockRotation: A value that specifies whether the rotation of the shape is locked from being edited. The value 0x0 specifies that the rotation of the shape is not locked from being edited.

fLockAspectRatio: A value that specifies whether the aspect ratio of the shape is locked from being edited. The value 0x0 specifies that the aspect ratio of the shape is not locked from being edited.

fLockPosition: A value that specifies whether the position of the shape is locked from being edited. The value 0x0 specifies that the position of the shape is not locked from being edited.

fLockAgainstSelect: A value that specifies whether the shape is locked from being selectable in an editor application. The value 0x0 specifies that the shape is not locked from being selectable in an editor application.

fLockCropping: A value that specifies whether the cropping of a picture in the diagram is locked from being edited. The value 0x0 specifies that the cropping of a picture in the diagram is not locked from being edited.

fLockVertices: A value that specifies whether the vertices of the path are locked from being edited. The value 0x0 specifies that the vertices of the path are not locked from being edited.

fLockText: A value that specifies whether the text attached to the shape is locked from being edited. The value 0x1 specifies that the text attached to the shape is locked from being edited.

fLockAdjustHandles: A value that specifies whether the adjust handles of the shape are locked from being edited. The value 0x0 specifies that the adjust handles of the shape are not locked from being edited.

fLockAgainstGrouping: A value that specifies whether the shape is locked from being grouped with other shapes. The value 0x0 specifies that the shape is not locked from being grouped with other shapes.

The following table shows the child-record hierarchy of Geometry Boolean Properties record N.

Offset

Size

Structure

Value

00000EE5

0006

N: Geometry Boolean Properties - Geometry Boolean Properties

00000EE5

0002

    OfficeArtFOPTEOPID - opid

00000EE5

14 bits

        bit - opid

0x017F

00000EE5

1 bit

        bit - fBid

0x0

00000EE5

1 bit

        bit - fComplex

0x0

00000EE7

9 bits

    bit - unused4

0x000

00000EE7

1 bit

    bit - unused3

0x0

00000EE7

1 bit

    bit - fUsefShadowOK

0x1

00000EE7

1 bit

    bit - fUsef3DOK

0x1

00000EE7

1 bit

    bit - fUsefLineOK

0x1

00000EE7

1 bit

    bit - fUsefGtextOK

0x0

00000EE7

1 bit

    bit - fUsefFillShadeShapeOK

0x0

00000EE7

1 bit

    bit - fUsefFillOK

0x1

00000EE7

9 bits

    bit - unused2

0x000

00000EE7

1 bit

    bit - unused1

0x0

00000EE7

1 bit

    bit - fShadowOK

0x1

00000EE7

1 bit

    bit - f3DOK

0x1

00000EE7

1 bit

    bit - fLineOK

0x1

00000EE7

1 bit

    bit - fGtextOK

0x0

00000EE7

1 bit

    bit - fFillShadeShapeOK

0x0

00000EE7

1 bit

    bit - fFillOK

0x1

Figure 32: Child-Record Hierarchy of Geometry Boolean Properties Record N

The record types within Geometry Boolean Properties record N that have not been explained in previous structure examples are specified as follows:

fUsefShadowOK: A value that specifies whether the fShadowOK bit is set. The value 0x1 specifies that the fShadowOK bit is set.

fUsef3DOK: A value that specifies whether the f3DOK bit is set. The value 0x1 specifies that the f3DOK bit is set.

fUsefLineOK: A value that specifies whether the fLineOK bit is set. The value 0x1 specifies that the fLineOK bit is set.

fUsefGtextOK: A value that specifies whether the fGtextOK bit will be ignored and the default value used instead. The value 0x0 specifies the fGtextOK bit will be ignored and the default value used instead.

fUsefFillShadeShapeOK: A value that specifies whether the fFillShadeShapeOK bit will be ignored and the default value used instead. The value 0x0 specifies that the fFillShadeShapeOK bit will be ignored and the default value used instead.

fUsefFillOK: A value that specifies whether the fFillOK bit is set. The value 0x1 specifies that the fFillOK bit is set.

fShadowOK: A value that specifies whether the shadow of this shape is set to display if applied. The value 0x1 specifies that the shadow of this shape is set to display if applied.

f3DOK: A value that specifies whether the extrusion effect of this shape is set to display if applied. The value 0x1 specifies that the extrusion effect of this shape is set to display if applied.

fLineOK: A value that specifies whether the line of this shape is set to display if applied. The value 0x1 specifies that the line of this shape is set to display if applied.

fGtextOK: A value that specifies whether the text aligned to this shape will display. The value 0x0 specifies that the text aligned to this shape will not display.

fFillShadeShapeOK: A value that specifies whether the fill is aligned to the bounding rectangle of the shape. The value 0x0 specifies that the fill is aligned to the bounding rectangle of the shape.

fFillOK: A value that specifies whether the fill of this shape is set to display if applied. The value 0x1 specifies that the fill of this shape is set to display if applied.

The following table shows the child-record hierarchy of Fill Style Boolean Properties record O.

Offset

Size

Structure

Value

00000EEB

0006

O: Fill Style Boolean Properties - Fill Style Boolean Properties

00000EEB

0002

    OfficeArtFOPTEOPID - opid

00000EEB

14 bits

        bit - opid

0x01BF

00000EEB

1 bit

        bit - fBid

0x0

00000EEB

1 bit

        bit - fComplex

0x0

00000EED

9 bits

    bit - unused2

0x000

00000EED

1 bit

    bit - fUsefRecolorFillAsPicture

0x0

00000EED

1 bit

    bit - fUsefUseShapeAnchor

0x0

00000EED

1 bit

    bit - fUsefFilled

0x1

00000EED

1 bit

    bit - fUsefHitTestFill

0x0

00000EED

1 bit

    bit - fUsefillShape

0x0

00000EED

1 bit

    bit - fUsefillUseRect

0x0

00000EED

1 bit

    bit - fUsefNoFillHitTest

0x1

00000EED

9 bits

    bit - unused1

0x000

00000EED

1 bit

    bit - fRecolorFillAsPicture

0x0

00000EED

1 bit

    bit - fUseShapeAnchor

0x0

00000EED

1 bit

    bit - fFilled

0x0

00000EED

1 bit

    bit - fHitTestFill

0x0

00000EED

1 bit

    bit - fillShape

0x0

00000EED

1 bit

    bit - fillUseRect

0x0

00000EED

1 bit

    bit - fNoFillHitTest

0x1

Figure 33: Child-Record Hierarchy of Fill Style Boolean Properties Record O

The record types within Fill Style Boolean Properties record O that have not been explained in previous structure examples are specified as follows:

fUsefRecolorFillAsPicture: A value that specifies whether fRecolorFillAsPicture will be ignored and the default value used instead. The value 0x0 specifies that fRecolorFillAsPicture will be ignored and the default value used instead.

fUsefUseShapeAnchor: A value that specifies whether fUseShapeAnchor will be ignored and the default value used instead. The value 0x0 specifies that fUseShapeAnchor will be ignored and the default value used instead.

fUsefFilled: A value that specifies whether the fFilled bit is set. The value 0x1 specifies that the fFilled bit is set.

fUsefHitTestFill: A value that specifies whether fHitTestFill will be ignored and the default value used instead. The value 0x0 specifies that fHitTestFill will be ignored and the default value used instead.

fUsefillShape: A value that specifies whether fillShape will be ignored and the default value used instead. The value 0x0 specifies that fillShape will be ignored and the default value used instead.

fUsefillUseRect: A value that specifies whether fillUseRect will be ignored and the default value used instead. The value 0x0 specifies that fillUseRect will be ignored and the default value used instead.

fUsefNoFillHitTest: A value that specifies whether the fNoFillHitTest bit is set. The value 0x1 specifies that the fNoFillHitTest bit is set.

fRecolorFillAsPicture: A value that specifies whether the fillCrMod property, as defined in section 2.3.7.6, will be used for recoloring. The value 0x0 specifies that the fillCrMod property will be used for recoloring.

fUseShapeAnchor: A value that specifies whether the fill will be rotated with the shape. The value 0x0 specifies that the fill will not be rotated with the shape.

fFilled: A value that specifies whether the fill of this shape will be rendered. The value 0x0 specifies that the fill of this shape will not be rendered.

fHitTestFill: A value that specifies whether this fill is to be hit tested. The value 0x0 specifies that this fill is not to be hit tested.

fillShape: A value that specifies whether the fill is aligned with the origin of the view. The value 0x0 specifies the fill is aligned with the origin of the view.

fillUseRect: A value that specifies whether to use the bounding rectangle of the shape as the filled area. The value 0x0 specifies using the bounding rectangle of the shape as the filled area.

fNoFillHitTest: A value that specifies whether this shape is to be hit tested as though it were filled. The value 0x1 specifies that this shape is to be hit tested as though it were filled.

The following table shows the child-record hierarchy of Line Style Boolean Properties record P.

Offset

Size

Structure

Value

00000EF1

0006

P: Line Style Boolean Properties - Line Style Boolean Properties

00000EF1

0002

    OfficeArtFOPTEOPID - opid

00000EF1

14 bits

        bit - opid

0x01FF

00000EF1

1 bit

        bit - fBid

0x0

00000EF1

1 bit

        bit - fComplex

0x0

00000EF3

6 bits

    bit - unused4

0x00

00000EF3

1 bit

    bit - fUsefLineOpaqueBackColor

0x0

00000EF3

1 bit

    bit - unused3

0x0

00000EF3

1 bit

    bit - unused2

0x0

00000EF3

1 bit

    bit - fUsefInsetPen

0x0

00000EF3

1 bit

    bit - fUsefInsetPenOK

0x0

00000EF3

1 bit

    bit - fUsefArrowheadsOK

0x0

00000EF3

1 bit

    bit - fUsefLine

0x1

00000EF3

1 bit

    bit - fUsefHitTestLine

0x0

00000EF3

1 bit

    bit - fUsefLineFillShape

0x0

00000EF3

1 bit

    bit - fUsefNoLineDrawDash

0x0

00000EF3

6 bits

    bit - unused1

0x00

00000EF3

1 bit

    bit - fLineOpaqueBackColor

0x0

00000EF3

1 bit

    bit - reserved2

0x0

00000EF3

1 bit

    bit - reserved1

0x0

00000EF3

1 bit

    bit - fInsetPen

0x0

00000EF3

1 bit

    bit - fInsetPenOK

0x0

00000EF3

1 bit

    bit - fArrowheadsOK

0x0

00000EF3

1 bit

    bit - fLine

0x0

00000EF3

1 bit

    bit - fHitTestLine

0x0

00000EF3

1 bit

    bit - fLineFillShape

0x0

00000EF3

1 bit

    bit - fNoLineDrawDash

0x0

Figure 34: Child-Record Hierarchy of Line Style Boolean Properties Record P

The record types within Line Style Boolean Properties record P that have not been explained in previous structure examples are specified as follows:

fUsefLineOpaqueBackColor: A value that specifies whether fLineOpaqueBackColor will be ignored and the default value used instead. The value 0x0 specifies that fLineOpaqueBackColor will be ignored and the default value used instead.

fUsefInsetPen: A value that specifies whether the fInsetPen will be ignored and the default value used instead. The value 0x0 specifies that fInsetPen will be ignored and the default value used instead.

fUsefInsetPenOK: A value that specifies whether fInsetPenOK will be ignored and the default value used instead. The value 0x0 specifies that fInsetPenOK will be ignored and the default value used instead.

fUsefArrowheadsOK: A value that specifies whether fArrowheadsOK will be ignored and the default value used instead. The value 0x0 specifies that fArrowheadsOK will be ignored and the default value used instead.

fUsefLine: A value that specifies whether fLine will be ignored and the default value used instead. The value 0x1 specifies that the value for fLine will be used.

fUsefHitTestLine: A value that specifies whether fHitTestLine will be ignored and the default value used instead. The value 0x0 specifies that fHitTestLine will be ignored and the default value used instead.

fUsefLineFillShape: A value that specifies whether fLineFillShape will be ignored and the default value used instead. The value 0x0 specifies that fLineFillShape will be ignored and the default value used instead.

fUsefNoLineDrawDash: A value that specifies whether fNoLineDrawDash will be ignored and the default value used instead. The value 0x0 specifies that fNoLineDrawDash will be ignored and the default value used instead.

fLineOpaqueBackColor: A value that specifies whether an extra line is to be rendered underneath the line that is specified by this property set. The value 0x0 specifies that an extra line is not to be rendered underneath the line that is specified by this property set.

fInsetPen: A value that specifies whether the pen is inset. The value 0x0 specifies that the pen is not inset.

fInsetPenOK: A value that specifies whether insetting the pen is allowed. The value 0x0 specifies that insetting the pen is not allowed.

fArrowheadsOK: A value that specifies whether the arrowhead properties are to be editable. The value 0x0 specifies that the arrowhead properties are not to be editable.

fLine: A value that specifies whether the lines of this shape will be drawn. The value 0x0 specifies that the lines of this shape will not be drawn.

fHitTestLine: A value that specifies whether this line is be hit tested. The value 0x0 specifies that this line is not be hit tested.

fLineFillShape: A value that specifies whether the pattern or texture fill is to be aligned with the origin of the view. The value 0x0 specifies that the pattern or texture fill is to be aligned with the origin of the view.

fNoLineDrawDash: A value that specifies whether a dashed line is to be drawn. The value 0x0 specifies that a dashed line is not to be drawn.

The following table shows the child-record hierarchy of Shape Boolean Properties record Q.

Offset

Size

Structure

Value

00000EF7

0006

Q: Shape Boolean Properties - Shape Boolean Properties

00000EF7

0002

    OfficeArtFOPTEOPID - opid

00000EF7

14 bits

        bit - opid

0x033F

00000EF7

1 bit

        bit - fBid

0x0

00000EF7

1 bit

        bit - fComplex

0x0

00000EF9

6 bits

    bit - unused3

0x00

00000EF9

1 bit

    bit - fUsefPolicyLabel

0x0

00000EF9

1 bit

    bit - fUsefPolicyBarcode

0x0

00000EF9

1 bit

    bit - fUsefFlipHOverride

0x0

00000EF9

1 bit

    bit - fUsefFlipVOverride

0x0

00000EF9

1 bit

    bit - fUsefOleIcon

0x0

00000EF9

1 bit

    bit - fUsefPreferRelativeResize

0x1

00000EF9

1 bit

    bit - fUsefLockShapeType

0x0

00000EF9

1 bit

    bit - fUsefInitiator

0x0

00000EF9

1 bit

    bit - unused2

0x0

00000EF9

1 bit

    bit - fUsefBackground

0x0

00000EF9

6 bits

    bit - unused1

0x00

00000EF9

1 bit

    bit - fPolicyLabel

0x0

00000EF9

1 bit

    bit - fPolicyBarcode

0x0

00000EF9

1 bit

    bit - fFlipHOverride

0x0

00000EF9

1 bit

    bit - fFlipVOverride

0x0

00000EF9

1 bit

    bit - fOleIcon

0x0

00000EF9

1 bit

    bit - fPreferRelativeResize

0x0

00000EF9

1 bit

    bit - fLockShapeType

0x0

00000EF9

1 bit

    bit - fInitiator

0x0

00000EF9

1 bit

    bit - reserved1

0x0

00000EF9

1 bit

    bit - fBackground

0x0

Figure 35: Child-Record Hierarchy of Shape Boolean Properties Record Q

The record types within Shape Boolean Properties record Q that have not been explained in previous structure examples are specified as follows:

fUsefPolicyLabel: A value that specifies whether fPolicyLabel will be ignored and the default value used instead. The value 0x0 specifies that fPolicyLabel will be ignored and the default value used instead.

fUsefPolicyBarcode: A value that specifies whether fPolicyBarcode will be ignored and the default value used instead. The value 0x0 specifies that fPolicyBarcode will be ignored and the default value used instead.

fUsefFlipHOverride: A value that specifies whether fFlipHOverride will be ignored and the default value used instead. The value 0x0 specifies that fFlipHOverride will be ignored and the default value used instead.

fUsefFlipVOverride: A value that specifies whether fFlipVOverride will be ignored and the default value used instead. The value 0x0 specifies that fFlipVOverride will be ignored and the default value used instead.

fUsefOleIcon: A value that specifies whether fOleIcon will be ignored and the default value used instead. The value 0x0 specifies that fOleIcon will be ignored and the default value used instead.

fUsefPreferRelativeResize: A value that specifies whether the fPreferRelativeResize bit has been set. The value 0x1 specifies that the fPreferRelativeResize bit has been set.

fUsefLockShapeType: A value that specifies whether fLockShapeType will be ignored and the default value used instead. The value 0x0 specifies that fLockShapeType will be ignored and the default value used instead.

fUsefInitiator: A value that specifies whether fInitiator will be ignored and the default value used instead. The value 0x0 specifies that fInitiator will be ignored and the default value used instead.

fUsefBackground: A value that specifies whether fBackground will be ignored and the default value used instead. The value 0x0 specifies that fBackground will be ignored and the default value used instead.

fPolicyLabel: A value that specifies whether this object is a label image and will be used to identify the containing document as part of a content management system. The value 0x0 specifies that this object is not a label image and will not be used to identify the containing document as part of a content management system.

fPolicyBarcode: A value that specifies whether this object is a barcode image and will be used to identify the containing document as part of a content management system. The value 0x0 specifies that this object is not a barcode image and will not be used to identify the containing document as part of a content management system.

fFlipHOverride: A value that specifies whether the fFlipH flag in the OfficeArtFSP record, as defined in section 2.2.40, of the containing OfficeArtSpContainer record, as defined in section 2.2.14, is to be used. The value 0x0 specifies that the fFlipH flag in the OfficeArtFSP of the containing OfficeArtSpContainer is to be used.

fFlipVOverride: A value that specifies whether the fFlipV flag in the OfficeArtFSP record, as defined in section 2.2.40, of the containing OfficeArtSpContainer record, as defined in section 2.2.14, is to be used. The value 0x0 specifies that the fFlipV flag in the OfficeArtFSP of the containing OfficeArtSpContainer is to be used.

fOleIcon: A value that specifies whether this OLE object will be displayed as an icon. The value 0x0 specifies that this OLE object will not be displayed as an icon.

fPreferRelativeResize: A value that specifies whether the application’s user interface for resizing this shape is to express its size relative to the current size. The value 0x0 specifies that the application’s user interface for resizing this shape is not to express its size relative to the current size.

fLockShapeType: A value that specifies whether the shape type is locked and can be changed by the end user. The value 0x0 specifies that the shape type is not locked and can be changed by the end user.

fInitiator: A value that specifies whether this shape is to be processed by a rules engine. The value 0x0 specifies that this shape is not to be processed by a rules engine.

fBackground: A value that specifies whether this shape is the background shape of a drawing. The value 0x0 specifies that this shape is not the background shape of a drawing.

The following table shows the child-record hierarchy of OfficeArtChildAnchor record, as defined in section 2.2.39, R.

Offset

Size

Structure

Value

00000EFD

0018

R: OfficeArtChildAnchor - case_of_msofbtChildAnchor

00000EFD

0008

    OfficeArtRecordHeader - rh

00000F05

0010

    OfficeArtFRC - frc

00000F05

0004

        LONG - xLeft

0x00000480

00000F09

0004

        LONG - yTop

0x00000510

00000F0D

0004

        LONG - xRight

0x00000FC0

00000F11

0004

        LONG - yBottom

0x00000B40

Figure 36: Child-Record Hierarchy of OfficeArtChildAnchor Record R

OfficeArtChildAnchor record R specifies the coordinate system of the group shape that the anchors of the child shape are expressed in.

The following table shows the child-record hierarchy of OfficeArtSpgrContainerFileBlock, as defined in section 2.2.17, record D.

Offset

Size

Structure

Value

00000F15

007C

D: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00000F15

007C

    OfficeArtSpContainer - case_of_msofbtSpContainer

00000F15

0008

        OfficeArtRecordHeader - rh

00000F1D

0010

        OfficeArtFSP - shapeProp

00000F2D

004C

        OfficeArtFOPT - shapePrimaryOptions

00000F2D

0008

            OfficeArtRecordHeader - rh

00000F35

0044

            OfficeArtRGFOPTE - fopt

00000F35

0006

                rotation - rotation

00000F35

0002

                    OfficeArtFOPTEOPID - opid

00000F37

0004

                    FixedPoint - rotation

0x010E0000

00000F3B

0006

                adjustValue - adjustValue

00000F3B

0002

                    OfficeArtFOPTEOPID - opid

00000F3D

0004

                    LONG - adjustValue

0xFFF769F3

00000F41

0006

                adjust2Value - adjust2Value

00000F41

0002

                    OfficeArtFOPTEOPID - opid

00000F43

0004

                    LONG - adjust2Value

0xFFFFFFFF

00000F47

0006

                adjust3Value - adjust3Value

00000F47

0002

                    OfficeArtFOPTEOPID - opid

00000F49

0004

                    LONG - adjust3Value

0xFFF769F3

00000F4D

0006

                S: lineColor - lineColor

00000F4D

0002

                    OfficeArtFOPTEOPID - opid

00000F4F

0004

                    OfficeArtCOLORREF - lineColor

00000F53

0006

                lineWidth - lineWidth

00000F53

0002

                    OfficeArtFOPTEOPID - opid

00000F55

0004

                    LONG - lineWidth

0x00006F9F

00000F59

0006

                T: Line Style Boolean Properties - Line Style Boolean

00000F5F

0006

                cxstyle - cxstyle

00000F5F

0002

                    OfficeArtFOPTEOPID - opid

00000F61

0004

                    MSOCXSTYLE - cxstyle

0x00000001

00000F65

0006

                wzName - wzName

00000F65

0002

                    OfficeArtFOPTEOPID - opid

00000F67

0004

                    ULONG - wzName

0x0000000E

00000F6B

000E

                wzName_complex - wzName_complex

00000F6B

000E

                    WideString - wzName

_s2072

00000F79

0018

        OfficeArtChildAnchor - childAnchor

Figure 37: Child-Record Hierarchy of OfficeArtSpgrContainerFileBlock Record D

The record types within OfficeArtSpgrContainerFileBlock record D that have not been explained in previous structure examples are specified as follows:

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.rotation: A property that specifies the rotation on a shape.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.rotation.rotation: The rotation (0x010E0000) on the shape.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.adjustValue: A property that specifies a value that a user can change to adjust the geometry of the shape.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.adjustValue.adjustValue: A value (0xFFF769F3) that is used to adjust the geometry of this shape.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.adjust2Value: A property that specifies a value that a user can change to adjust the geometry of the shape.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.adjust2Value.adjust2Value: A value (0xFFFFFFFF) that is used to adjust the geometry of this shape.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.adjust3Value: A property that specifies a value that a user can change to adjust the geometry of the shape.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.adjust3Value.adjust3Value: A value (0xFFF769F3) that is used to adjust the geometry of this shape.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.lineColor: A property that specifies the foreground color of the line.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.lineColor.lineColor: An OfficeArtCOLORREF record, as defined in section 2.2.2, that specifies the color to use while drawing. 

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.lineWidth: A property that specifies the width of the line.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.lineWidth.lineWidth: The width (0x00006F9F) of the line.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.cxstyle: A property that specifies the connector style.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.cxstyle.cxstyle: A value (0x00000001) that specifies that this shape is an elbow-shaped connector.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.wzName: A property that specifies the name of the shape.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.wzName.wzName: The number (0x0000000E) of bytes of data that is contained in the wzName_complex property, as defined in section 2.3.4.2.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.wzName_complex: A property that specifies additional data for the wzName property, as defined in section 2.3.4.1.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.wzName_complex.wzName: The name (_s2072) of the shape.

The following two example structures show the records labeled S and T from OfficeArtSpgrContainerFileBlock record D in more detail.

The following table shows the child-record hierarchy of lineColor record S.

Offset

Size

Structure

Value

00000F4D

0006

S: lineColor - lineColor

00000F4D

0002

    OfficeArtFOPTEOPID - opid

00000F4D

14 bits

        bit - opid

0x01C0

00000F4D

1 bit

        bit - fBid

0x0

00000F4D

1 bit

        bit - fComplex

0x0

00000F4F

0004

    OfficeArtCOLORREF - lineColor

00000F52

1 bit

        bit - unused3

0x0

00000F52

1 bit

        bit - unused2

0x0

00000F52

1 bit

        bit - unused1

0x0

00000F52

1 bit

        bit - fSysIndex

0x0

00000F52

1 bit

        bit - fSchemeIndex

0x1

00000F52

1 bit

        bit - fSystemRGB

0x0

00000F52

1 bit

        bit - fPaletteRGB

0x0

00000F52

1 bit

        bit - fPaletteIndex

0x0

00000F51

0001

        BYTE - blue

0x00

00000F50

0001

        BYTE - green

0x00

00000F4F

0001

        BYTE - red

0x01

Figure 38: Child-Record Hierarchy of lineColor Record S

The record types within lineColor record S that have not been explained in previous structure examples are specified as follows:

opid: An OfficeArtFOPTEOPID record, as defined in section 2.2.8, that specifies the header for an entry in a property table.

lineColor: An OfficeArtCOLORREF structure, as defined in section 2.2.2, that specifies the foreground color of the line.

lineColor.unused3: A value that is undefined and needs to be ignored.

lineColor.unused2: A value that is undefined and needs to be ignored.

lineColor.unused1: A value that is undefined and needs to be ignored.

lineColor.fSysIndex: A value (0x0) specifying that the system color scheme will not be used to determine the color.

lineColor.fSchemeIndex: A value (0x1) specifying that the current color scheme will be used to determine the color. The value 0x1 indicates that red provides an index into the current scheme color table. When the value of fSchemeIndex is 0x1, the values of green and blue need to be 0x00.

lineColor.fSystemRGB: A value (0x0) that specifies whether the color is a standard RGB color. The value 0x0 indicates that the RGB color might use half-tone dithering to display.

lineColor.fPaletteRGB:  A value (0x0) specifying that the current palette will not be used to determine the color.

lineColor.fPaletteIndex: A value (0x0) specifying that the current palette will not be used to determine the color.

lineColor.blue: A property that will be ignored when fSchemeIndex is set to 0x1.

lineColor.green: A property that will be ignored when fSchemeIndex is set to 0x1.

lineColor.red: The index (0x01) into the current scheme color table when fSchemeIndex is set to 0x1.

The following table shows the child-record hierarchy of Line Style Boolean Properties record T.

Offset

Size

Structure

Value

00000F59

0006

T: Line Style Boolean Properties - Line Style Boolean Properties

00000F59

0002

    OfficeArtFOPTEOPID - opid

00000F59

14 bits

        bit - opid

0x01FF

00000F59

1 bit

        bit - fBid

0x0

00000F59

1 bit

        bit - fComplex

0x0

00000F5B

6 bits

    bit - unused4

0x00

00000F5B

1 bit

    bit - fUsefLineOpaqueBackColor

0x0

00000F5B

1 bit

    bit - unused3

0x0

00000F5B

1 bit

    bit - unused2

0x0

00000F5B

1 bit

    bit - fUsefInsetPen

0x0

00000F5B

1 bit

    bit - fUsefInsetPenOK

0x0

00000F5B

1 bit

    bit - fUsefArrowheadsOK

0x0

00000F5B

1 bit

    bit - fUsefLine

0x1

00000F5B

1 bit

    bit - fUsefHitTestLine

0x0

00000F5B

1 bit

    bit - fUselineFillShape

0x0

00000F5B

1 bit

    bit - fUsefNoLineDrawDash

0x0

00000F5B

6 bits

    bit - unused1

0x00

00000F5B

1 bit

    bit - fLineOpaqueBackColor

0x0

00000F5B

1 bit

    bit - reserved2

0x0

00000F5B

1 bit

    bit - reserved1

0x0

00000F5B

1 bit

    bit - fInsetPen

0x0

00000F5B

1 bit

    bit - fInsetPenOK

0x0

00000F5B

1 bit

    bit - fArrowheadsOK

0x0

00000F5B

1 bit

    bit - fLine

0x1

00000F5B

1 bit

    bit - fHitTestLine

0x0

00000F5B

1 bit

    bit - lineFillShape

0x0

00000F5B

1 bit

    bit - fNoLineDrawDash

0x0

Figure 39: Child-Record Hierarchy of Line Style Boolean Properties Record T

Line Style Boolean Properties record T is similar to Line Style Boolean Properties record P, except that the fLine property in record T is set to 0x1, which specifies displaying other line properties in the line style when handling a 2-D shape. The fLine property in record P is set to 0x0, so the other line properties in that line style will not be displayed.

The following table shows the child-record hierarchy of OfficeArtSpgrContainerFileBlock, as defined in section 2.2.17, record E.

Offset

Size

Structure

Value

0000117B

00EB

E: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

0000117B

00EB

    OfficeArtSpContainer - case_of_msofbtSpContainer

0000117B

0008

        OfficeArtRecordHeader - rh

00001183

0010

        OfficeArtFSP - shapeProp

00001193

005E

        OfficeArtFOPT - shapePrimaryOptions

00001193

0008

            OfficeArtRecordHeader - rh

0000119B

0056

            OfficeArtRGFOPTE - fopt

0000119B

0006

                lTxid - lTxid

0000119B

0002

                    OfficeArtFOPTEOPID - opid

0000119D

0004

                    LONG - lTxid

0x00AEDC04

000011A1

0006

                dxTextLeft - dxTextLeft

000011A1

0002

                    OfficeArtFOPTEOPID - opid

000011A3

0004

                    LONG - dxTextLeft

0x00000000

000011A7

0006

                dyTextTop - dyTextTop

000011A7

0002

                    OfficeArtFOPTEOPID - opid

000011A9

0004

                    LONG - dyTextTop

0x00000000

000011AD

0006

                dxTextRight - dxTextRight

000011AD

0002

                    OfficeArtFOPTEOPID - opid

000011AF

0004

                    LONG - dxTextRight

0x00000000

000011B3

0006

                dyTextBottom - dyTextBottom

000011B3

0002

                    OfficeArtFOPTEOPID - opid

000011B5

0004

                    LONG - dyTextBottom

0x00000000

000011B9

0006

                WrapText - WrapText

000011B9

0002

                    OfficeArtFOPTEOPID - opid

000011BB

0004

                    MSOWRAPMODE - WrapText

0x00000002

000011BF

0006

                anchorText - anchorText

000011BF

0002

                    OfficeArtFOPTEOPID - opid

000011C1

0004

                    MSOANCHOR - anchorText

0x00000001

000011C5

0006

                U: fillColor - fillColor

000011CB

0006

                V: Fill Style Boolean Properties - Fill Style Boolean Properties

000011D1

0006

                lineColor - lineColor

000011D1

0002

                    OfficeArtFOPTEOPID - opid

000011D3

0004

                    OfficeArtCOLORREF - lineColor

000011D7

0006

                Line Style Boolean Properties - Line Style Boolean Properties

000011DD

0006

                wzName - wzName

000011DD

0002

                    OfficeArtFOPTEOPID - opid

000011DF

0004

                    ULONG - wzName

0x0000000E

000011E3

000E

                wzName_complex - wzName_complex

000011E3

000E

                    WideString - wzName

_s2054

000011F1

001A

        OfficeArtTertiaryFOPT - shapeTertiaryOptions

0000120B

0018

        OfficeArtChildAnchor - childAnchor

00001223

0043

        OfficeArtClientTextbox - clientTextbox

Figure 40: Child-Record Hierarchy of OfficeArtSpgrContainerFileBlock Record E

The record types within OfficeArtSpgrContainerFileBlock record E that have not been explained in previous structure examples are specified as follows:

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.lTxid: A property that specifies an identifier for the text.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.lTxid.lTxid: An identifier (0x00AEDC04) for the text. The value is determined by the host application.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.dxTextLeft: A property that specifies the size of the margin to the left of the text.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.dxTextLeft.dxTextLeft: The size (0x00000000) of the margin that exists inside the containing shape to the left of the text. The unit of measurement is an EMU.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.dyTextTop: A property that specifies the size of the margin above the text.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.dyTextTop.dyTextTop: The size (0x00000000) of the margin that exists inside the containing shape above the text. The unit of measurement is an EMU.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.dxTextRight: A property that specifies the size of the margin to the right of the text.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.dxTextRight.dxTextRight: The size (0x00000000) of the margin that exists inside the containing shape to the right of the text. The unit of measurement is an EMU.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.dyTextBottom: A property that specifies the size of the margin below the text.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.dyTextBottom.dyTextBottom: The size (0x00000000) of the margin that exists inside the containing shape below the text. The unit of measurement is an EMU.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.WrapText: A property that specifies the type of wrapping applied to the text.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.WrapText.WrapText: A value (0x00000002) specifying that a line of text will extend into or beyond a margin instead of continuing on subsequent lines.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.anchorText: A property that specifies the type of anchor applied to the text.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.anchorText.anchorText: A value that specifies the primary determinant for the placement of the text. The value 0x00000001 specifies that the vertical center of the text will coincide with the vertical midpoint of the internal margins of the text box area.

case_of_msofbtSpContainer.shapePrimaryOptions.fopt.fillColor: A property that specifies the foreground color of the fill.

The following two example structures show the records labeled U and V from OfficeArtSpgrContainerFileBlock record E in more detail.

The following table shows the child-record hierarchy of fillColor record U.

Offset

Size

Structure

Value

000011C5

0006

U: fillColor - fillColor

000011C5

0002

    OfficeArtFOPTEOPID - opid

000011C5

14 bits

        bit - opid

0x0181

000011C5

1 bit

        bit - fBid

0x0

000011C5

1 bit

        bit - fComplex

0x0

000011C7

0004

    OfficeArtCOLORREF - fillColor

000011CA

1 bit

        bit - unused3

0x0

000011CA

1 bit

        bit - unused2

0x0

000011CA

1 bit

        bit - unused1

0x0

000011CA

1 bit

        bit - fSysIndex

0x0

000011CA

1 bit

        bit - fSchemeIndex

0x1

000011CA

1 bit

        bit - fSystemRGB

0x0

000011CA

1 bit

        bit - fPaletteRGB

0x0

000011CA

1 bit

        bit - fPaletteIndex

0x0

000011C9

0001

        BYTE - blue

0x00

000011C8

0001

        BYTE - green

0x00

000011C7

0001

        BYTE - red

0x04

Figure 41: Child-Record Hierarchy of fillColor Record U

The properties in fillColor record U are similar to the color properties in lineColor record S. Record S outlines color properties applied to a line. Record U outlines color properties applied to a shape fill. For more details about the property values that are listed in record U, see the property value definitions for record S earlier in this section.

The following table shows the child-record hierarchy of Fill Style Boolean Properties record V.

Offset

Size

Structure

Value

000011CB

0006

V: Fill Style Boolean Properties - Fill Style Boolean Properties

000011CB

0002

    OfficeArtFOPTEOPID - opid

000011CB

14 bits

        bit - opid

0x01BF

000011CB

1 bit

        bit - fBid

0x0

000011CB

1 bit

        bit - fComplex

0x0

000011CD

9 bits

    bit - unused1

0x000

000011CD

1 bit

    bit - fUsefRecolorFillAsPicture

0x0

000011CD

1 bit

    bit - fUsefUseShapeAnchor

0x0

000011CD

1 bit

    bit - fUsefFilled

0x1

000011CD

1 bit

    bit - fUsefHitTestFill

0x0

000011CD

1 bit

    bit - fUsefillShape

0x0

000011CD

1 bit

    bit - fUsefillUseRect

0x0

000011CD

1 bit

    bit - fUsefNoFillHitTest

0x0

000011CD

9 bits

    bit - unused2

0x000

000011CD

1 bit

    bit - fRecolorFillAsPicture

0x0

000011CD

1 bit

    bit - fUseShapeAnchor

0x0

000011CD

1 bit

    bit - fFilled

0x1

000011CD

1 bit

    bit - fHitTestFill

0x0

000011CD

1 bit

    bit - fillShape

0x0

000011CD

1 bit

    bit - fillUseRect

0x0

000011CD

1 bit

    bit - fNoFillHitTest

0x0

Figure 42: Child-Record Hierarchy of Fill Style Boolean Properties Record V

Fill Style Boolean Properties record V is similar to Fill Style Boolean Properties record O. Record O outlines property settings that will not render the shape fill. Record V outlines values that will render the shape fill. For more details about the property values that are listed in record V, see the property value definitions that are listed for record O earlier in this section.

The following table shows the child-record hierarchy of OfficeArtSpgrContainerFileBlock, as defined in section 2.2.17, record F.

Offset

Size

Structure

Value

00001266

00E5

F: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00001266

00E5

    OfficeArtSpContainer - case_of_msofbtSpContainer

00001266

0008

        OfficeArtRecordHeader - rh

0000126E

0010

        OfficeArtFSP - shapeProp

0000127E

005E

        OfficeArtFOPT - shapePrimaryOptions

000012DC

0014

        W: OfficeArtTertiaryFOPT - shapeTertiaryOptons

000012F0

0018

        OfficeArtChildAnchor - childAnchor

00001308

0043

        OfficeArtClientTextbox - clientTextbox

00001308

0008

            OfficeArtRecordHeader - rh

00001310

003B

            TextClientDataRecordArray - rgChildRec

00001310

000C

                TextClientDataSubContainerOrAtom - rec

00001310

000C

                    TextHeaderAtom - case_of_RT_TextHeaderAtom

00001310

0008

                        RecordHeader - rh

00001318

0004

                        TextTypeEnum - textType

0x00000004

0000131C

0011

                TextClientDataSubContainerOrAtom - rec1

0000131C

0011

                    TextBytesAtom - case_of_RT_TextBytesAtom

0000131C

0008

                        RecordHeader - rh

00001324

0009

                        NarrowStringBufferEx - textBytes

Shape 2.0

0000132D

001E

                TextClientDataSubContainerOrAtom - rec2

0000132D

001E

                    StyleTextPropAtom - case_of_RT_StyleTextPropAtom

0000132D

0008

                        RecordHeader - rh

00001335

000C

                        X: TextPFRunArray - rgTextPFRun

00001341

000A

                        Y: TextCFRunArray - rgTextCFRun

Figure 43: Child-Record Hierarchy of OfficeArtSpgrContainerFileBlock Record F

The record types within OfficeArtSpgrContainerFileBlock record F that have not been explained in previous structure examples are specified by the following definitions. The host application defines these fields and records. For more information, see [MS-PPT] section 2.9.76.

case_of_msofbtSpContainer.clientTextbox.rgChildRec: An array of TextClientDataSubContainerOrAtom records.

case_of_msofbtSpContainer.clientTextbox.rgChildRec.rec: A TextClientDataSubContainerOrAtom record, which is a variable-type record. The type and meaning of this record is dictated by the value of rh.recType (not shown in this example).

case_of_msofbtSpContainer.clientTextbox.rgChildRec.rec.case_of_RT_TextHeaderAtom: An atom record that specifies the type of a text body.

case_of_msofbtSpContainer.clientTextbox.rgChildRec.rec.case_of_RT_TextHeaderAtom.textType: A value (0x00000004) specifying that the text is of type "Any other text".

case_of_msofbtSpContainer.clientTextbox.rgChildRec.rec1.case_of_RT_TextBytesAtom: An atom record that specifies Unicode characters.

case_of_msofbtSpContainer.clientTextbox.rgChildRec.rec1.case_of_RT_TextBytesAtom.textBytes: A value ("Shape 2.0") specifying that the text string within shape.textBytes is an array of bytes containing the characters of the corresponding text.

case_of_msofbtSpContainer.clientTextbox.rgChildRec.rec2.case_of_RT_StyleTextPropAtom: An atom record that specifies character-level and paragraph-level formatting.

case_of_msofbtSpContainer.clientTextbox.rgChildRec.rec2.case_of_RT_StyleTextPropAtom.rgTextPFRun:  An array of TextPFRun container records that each specify paragraph-level formatting for a length of the corresponding text.

case_of_msofbtSpContainer.clientTextbox.rgChildRec.rec2.case_of_RT_StyleTextPropAtom.rgTextCFRun: An array of TextCFRun container records that each specify character-level formatting for a length of the corresponding text.

The following three example structures show the records labeled W, X, and Y from OfficeArtSpgrContainerFileBlock record F in more detail.

The following table shows the child-record hierarchy of the OfficeArtTertiaryFOPT record, as defined in section 2.2.11, W.

Offset

Size

Structure

Value

000012DC

0014

W: OfficeArtTertiaryFOPT - shapeTertiaryOptions

000012DC

0008

    OfficeArtRecordHeader - rh

000012E4

000C

    OfficeArtRGFOPTE - fopt

000012E4

0006

        dgmLayout - dgmLayout

000012E4

0002

            OfficeArtFOPTEOPID - opid

000012E4

14 bits

                bit - opid

0x0309

000012E4

1 bit

                bit - fBid

0x0

000012E4

1 bit

                bit - fComplex

0x0

000012E6

0004

            MSODGMLO - dgmLayout

0x00000000

000012EA

0006

        dgmNodeKind - dgmNodeKind

000012EA

0002

            OfficeArtFOPTEOPID - opid

000012EA

14 bits

                bit - opid

0x030A

000012EA

1 bit

                bit - fBid

0x0

000012EA

1 bit

                bit - fComplex

0x0

000012EC

0004

            LONG - dgmNodeKind

0x00000000

Figure 44: Child-Record Hierarchy of OfficeArtTertiaryFOPT Record W

The record types within OfficeArtTertiaryFOPT record W that have not been explained in previous structure examples are specified as follows:

fopt.dgmLayout: A property that specifies the diagram node layout for a shape.

fopt.dgmLayout.dgmLayout: A value (0x00000000) specifying that this MSODGMLO layout is an organizational chart.

fopt.dgmNodeKind: A property that specifies a diagram node type.

fopt.dgmNodeKind.dgmNodeKind: A value (0x00000000) specifying that this node is a regular diagram node of no particular type.

The following table shows the child-record hierarchy of TextPFRunArray record X.

Offset

Size

Structure

Value

00001335

000C

X: TextPFRunArray - rgTextPFRun

00001335

000C

    TextPFRun - textPFRun

00001335

0004

        ULONG - runCount

0x0000000A

00001339

0002

        USHORT - indentLevel

0x0000

0000133B

0006

        TextPFException - pf

0000133B

0004

            PFMasks - masks

0000133F

0002

            TextAlignmentEnum - textAlignment

0x0001

Figure 45: Child-Record Hierarchy of TextPFRunArray Record X

The fields and records for text in TextPFRunArray record X are defined by the host application. For more information, see [MS-PPT] section 2.9.45. Record X might appear differently for each host application. Some text, font, and paragraph properties might be located in other containers, depending on the structure requirements for each host application.

The following table shows the child-record hierarchy of TextCFRunArray record Y.

Offset

Size

Structure

Value

00001341

000A

Y: TextCFRunArray - rgTextCFRun

00001341

000A

    TextCFRun - textCFRun

00001341

0004

        ULONG - runCount

0x0000000A

00001345

0006

        TextCFException - cf

00001345

0004

            CFMasks - masks

00001349

0002

            SHORT - fontSize

0x000D

Figure 46: Child-Record Hierarchy of TextCFRunArray Record Y

The fields and records for text in TextPFRunArray record Y are defined by the host application. For more information, see [MS-PPT] section 2.9.46. Record Y might appear differently for each host application. Some text, font, and paragraph properties might be located in other containers, depending on the structure requirements for each host application.

The following table shows the child-record hierarchy of OfficeArtSpgrContainerFileBlock, as defined in section 2.2.17, record G.

Offset

Size

Structure

Value

00001430

00E5

G: OfficeArtSpgrContainerFileBlock - OfficeArtSpgrContainerFB

00001430

00E5

    OfficeArtSpContainer - case_of_msofbtSpContainer

00001430

0008

        OfficeArtRecordHeader - rh

00001438

0010

        OfficeArtFSP - shapeProp

00001448

005E

        OfficeArtFOPT - shapePrimaryOptions

000014A6

0014

        OfficeArtTertiaryFOPT - shapeTertiaryOptions

000014A6

0008

            OfficeArtRecordHeader - rh

000014AE

000C

            OfficeArtRGFOPTE - fopt

000014AE

0006

                dgmLayout - dgmLayout

000014AE

0002

                    OfficeArtFOPTEOPID - opid

000014B0

0004

                    MSODGMLO - dgmLayout

0x00000000

000014B4

0006

                dgmNodeKind - dgmNodeKind

000014B4

0002

                    OfficeArtFOPTEOPID - opid

000014B6

0004

                    LONG - dgmNodeKind

0x00000000

000014BA

0018

        OfficeArtChildAnchor - childAnchor

000014D2

0043

        OfficeArtClientTextbox - clientTextbox

Figure 47: Child-Record Hierarchy of OfficeArtSpgrContainerFileBlock Record G

Show: