3.9.3 TextInteractiveInfo

Office

This example shows how the hyperlink is specified for the yellow square on presentation slide 6 as shown in figure titled "Presentation slide 6" in section 3.1.

The clickable text hyperlink is specified by an MouseClickInteractiveInfoContainer record and a MouseClickTextInteractiveInfoAtom record following the TextHeaderAtom record, the characters of the text, and the formatting.

The child-record hierarchy of the OfficeArtSpContainer ([MS-ODRAW] section 2.2.14) record B from the table titled "DrawingContainer child-record hierarchy" in section 3.8.1 is shown expanded in the following table.

Offset

Size

Structure

Value

00007C30

0109

OfficeArtSpContainer - case of msofbtSpContainer

00007C30

0008

    OfficeArtRecordHeader - rh

00007C38

0010

    OfficeArtFSP - shapeProp

00007C48

0044

    OfficeArtFOPT - shapePrimaryOptions

00007C8C

000E

    OfficeArtTertiaryFOPT - shapeTertiaryOptions

00007C9A

0010

    OfficeArtClientAnchor - clientAnchor

00007CAA

008F

    OfficeArtClientTextbox - clientTextbox

00007CAA

0008

        OfficeArtRecordHeader - rh

00007CB2

000C

        TextHeaderAtom - case of RT_TextHeaderAtom

00007CBE

001D

        TextBytesAtom - case of RT_TextBytesAtom

00007CBE

0008

            RecordHeader - rh

00007CC6

0015

            array of bytes - textBytes

a \rhyperlinked\rsquare

00007CDB

002E

        StyleTextPropAtom - case of RT_StyleTextPropAtom

00007D09

0020

        A: MouseClickInteractiveInfoContainer - mouseClickInteractiveInfoContainer

00007D29

0010

        B: MouseClickTextInteractiveInfoAtom - mouseClickTextInteractiveInfoAtom

Figure 178: OfficeArtSpContainer child-record hierarchy

The child-record hierarchy of the MouseClickInteractiveInfoContainer record A from the previous table is shown expanded in the following table.

Offset

Size

Structure

Value

00007D09

0020

MouseClickInteractiveInfoContainer - mouseClickInteractiveInfoContainer

00007D09

0008

    RecordHeader - rh

00007D09

4 bits

        unsigned integer - recVer

0xF

00007D09

12 bits

        unsigned integer - recInstance

0x000

00007D0B

0002

        RecordType - recType

0x0FF2

00007D0D

0004

        unsigned integer - recLen

0x00000018

00007D11

0018

    InteractiveInfoAtom - interactiveInfoAtom

00007D11

0008

        RecordHeader - rh

00007D11

4 bits

            unsigned integer - recVer

0x0

00007D11

12 bits

            unsigned integer - recInstance

0x000

00007D13

0002

            RecordType - recType

0x0FF3

00007D15

0004

            unsigned integer - recLen

0x00000010

00007D19

0004

        unsigned integer - soundIdRef

0x00000000

00007D1D

0004

        unsigned integer - exHyperlinkIdRef

0x0000001C

00007D21

0001

        InteractiveInfoActionEnum - action

0x04

00007D22

0001

        OLEVerbEnum - oleVerb

0x00

00007D23

0001

        InteractiveInfoJumpEnum - jump

0x00

00007D24

1 bit

        bit - fAnimated

0x0

00007D24

1 bit

        bit - fStopSound

0x0

00007D24

1 bit

        bit - fCustomShowReturn

0x0

00007D24

1 bit

        bit - fVisited

0x0

00007D24

4 bits

        unsigned integer - reserved

0x0

00007D25

0001

        LinkToEnum - hyperlinkType

0x08

Figure 179: MouseClickInteractiveInfoContainer child-record hierarchy

interactiveInfoAtom.exHyperlinkIdRef: 0x0000001C specifies the identifier of the hyperlink that is the target of this interactive portion of text.

The child-record hierarchy of the MouseClickTextInteractiveInfoAtom record B from the table titled "OfficeArtSpContainer child-record hierarchy" in this section is shown expanded in the following table.

Offset

Size

Structure

Value

00007D29

0010

MouseClickTextInteractiveInfoAtom - mouseClickTextInteractiveInfoAtom

00007D29

0008

    RecordHeader - rh

00007D29

4 bits

        unsigned integer - recVer

0x0

00007D29

12 bits

        unsigned integer - recInstance

0x000

00007D2B

0002

        RecordType - recType

0x0FDF

00007D2D

0004

        unsigned integer - recLen

0x00000008

00007D31

0008

    TextRange - range

00007D31

0004

        signed integer - begin

0x0000000F

00007D35

0004

        signed integer - end

0x00000015

Figure 180: MouseClickTextInteractiveInfoAtom child-record hierarchy

range.begin: 0x0000000F specifies the zero-based index of the first character, the 's', to which this hyperlink applies.

range.end: 0x00000015 specifies the zero-based index of the last character, the 'e', to which this hyperlink applies.

An ExHyperlinkContainer record exists for each hyperlink referenced in the document. The following ExHyperlinkContainer record is the one referenced in the preceding sample of the yellow square.

The child-record hierarchy of the ExHyperlinkContainer record H from the table titled "ExObjListContainer child-record hierarchy" in section 3.8.4 is shown expanded in the following table.

Offset

Size

Structure

Value

00005D95

005E

ExHyperlinkContainer - case of RT_ExternalHyperlink

00005D95

0008

    RecordHeader - rh

00005D9D

000C

    ExHyperlinkAtom - exHyperlinkAtom

00005D9D

0008

        RecordHeader - rh

00005DA5

0004

        unsigned integer - exHyperlinkId

0x0000001C

00005DA9

0014

    FriendlyNameAtom - friendlyNameAtom

00005DA9

0008

        RecordHeader - rh

00005DB1

000C

        array of bytes - friendlyName

square

00005DBD

0036

    TargetAtom - targetAtom

00005DBD

0008

        RecordHeader - rh

00005DC5

002E

        array of bytes - target

http://www.contoso.com/

Figure 181: ExHyperlinkContainer child-record hierarchy

The exHyperlinkAtom.exHyperlinkId field matches the exHyperlinkIdRef field of the InteractiveInfoAtom record shown in the table titled "MouseClickInteractiveInfoContainer child-record hierarchy" in this section.

targetAtom: Specifies the target of the hyperlink. In this case, it is the external Web site located at http://www.contoso.com/.

Show: