3.5.1 Master Slides
This example explains how to locate the main master slide, the title master slide, and the notes master slide.
The main master slide and title master slide are found by means of the MasterPersistAtom records (section 2.4.14.2) contained within the MasterListWithTextContainer record (section 2.4.14.1). The child-record hierarchy of the MasterListWithTextContainer record A from the table titled "DocumentContainer child-record hierarchy" in section 3.4 is shown expanded in the following table.
Offset |
Size |
Structure |
---|---|---|
00006159 |
0040 |
A: MasterListWithTextContainer - masterList |
00006159 |
0008 |
RecordHeader - rh |
00006161 |
001C |
B: MasterPersistAtom - masterPersistAtom |
0000617D |
001C |
C: MasterPersistAtom - masterPersistAtom |
Figure 44: MasterListWithTextContainer record A child-record hierarchy
The child-record hierarchy of the MasterPersistAtom record B from previous table is shown expanded in the following table.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00006161 |
001C |
B: MasterPersistAtom - masterPersistAtom |
|
00006161 |
0008 |
RecordHeader - rh |
|
00006169 |
0004 |
PersistIdRef - persistIdRef |
0x00000002 |
0000616D |
2 bits |
unsigned integer - reserved1 |
0x0 |
0000616D |
1 bit |
bit - fNonOutlineData |
0x0 |
0000616D |
29 bits |
unsigned integer - reserved2 |
0x00000000 |
00006171 |
0004 |
signed integer - reserved3 |
0x00000000 |
00006175 |
0004 |
MasterId - masterId |
0x80000000 |
00006179 |
0004 |
unsigned integer - reserved4 |
0x00000000 |
Figure 45: MasterPersistAtom record B child-record hierarchy
persistIdRef: 0x00000002 specifies the value to look up in the persist object directory, shown in the last table in section 3.2, to find the persist object stream offset 0x00000CC5. This offset matches the offset for the MainMasterContainer (section 2.5.3) record B in the table titled "Top-level record sequence in the PowerPoint Document Stream from sample.ppt" in section 3.3. This MainMasterContainer record represents the main master slide as shown in figure titled "Main master slide" in section 3.1.
The child-record hierarchy of the MasterPersistAtom record C from the previous table titled "MasterListWithTextContainer record A child-record hierarchy" is shown expanded in the following table.
Offset |
Size |
Structure |
Value |
---|---|---|---|
0000617D |
001C |
C: MasterPersistAtom - masterPersistAtom |
|
0000617D |
0008 |
RecordHeader - rh |
|
00006185 |
0004 |
PersistIdRef - persistIdRef |
0x00000003 |
00006189 |
2 bits |
unsigned integer - reserved1 |
0x0 |
00006189 |
1 bit |
bit - fNonOutlineData |
0x0 |
00006189 |
29 bits |
unsigned integer - reserved2 |
0x00000000 |
0000618D |
0004 |
signed integer - reserved3 |
0x00000000 |
00006191 |
0004 |
MasterId - masterId |
0x80000001 |
00006195 |
0004 |
unsigned integer - reserved4 |
0x00000000 |
Figure 46: MasterPersistAtom record C child-record hierarchy
persistIdRef: 0x00000003 specifies the value to look up in the persist object directory, shown in the last table in section 3.2, to find the persist object stream offset 0x00001671. This offset matches the offset for the SlideContainer (section 2.5.1) the record C in the table titled "Top-level record sequence in the PowerPoint Document Stream from sample.ppt" in section 3.3. This SlideContainer record represents the title master slide as shown in figure titled "Title master slide" in section 3.1.
The notes master slide is found by means of the DocumentAtom record (section 2.4.2) contained within the DocumentContainer record (section 2.4.1). The DocumentAtom record E from the table titled "DocumentContainer child-record hierarchy" in section 3.4 is shown expanded in the following table.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00005C71 |
0030 |
E: DocumentAtom - documentAtom |
|
00005C71 |
0008 |
RecordHeader - rh |
|
00005C79 |
0008 |
PointStruct - slideSize |
|
00005C81 |
0008 |
PointStruct - notesSize |
|
00005C89 |
0008 |
RatioStruct - serverZoom |
|
00005C91 |
0004 |
PersistIdRef - notesMasterPersistIdRef |
0x0000000B |
00005C95 |
0004 |
PersistIdRef - handoutMasterPersistIdRef |
0x00000000 |
00005C99 |
0002 |
unsigned integer - firstSlideNumber |
0x0001 |
00005C9B |
0002 |
SlideSizeEnum - slideSizeType |
0x0000 |
00005C9D |
0001 |
bool1 - fSaveWithFonts |
0x00 |
00005C9E |
0001 |
bool1 - fOmitTitlePlace |
0x00 |
00005C9F |
0001 |
bool1 - fRightToLeft |
0x00 |
00005CA0 |
0001 |
bool1 - fShowComments |
0x01 |
Figure 47: DocumentAtom record E child-record hierarchy
notesMasterPersistIdRef: 0x0000000B specifies the value to look up in the persist object directory, shown in the last table in section 3.2, to find the persist object stream offset 0x00001B98. This offset matches the offset for the NotesContainer (section 2.5.6) record D in section 3.3. This NotesContainer record (section 2.5.6) represents the notes master slide as shown in figure titled "Notes master slide" in section 3.1.