src/pptrecord.py | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/pptstream.py | 2 - 2 files changed, 70 insertions(+), 1 deletion(-)
New commits: commit edeef1674366947637cd4960a4e44229ab2e6971 Author: Radek Doulik <r...@novell.com> Date: Tue Jun 19 16:01:24 2012 +0200 dump SlideAtom record diff --git a/src/pptrecord.py b/src/pptrecord.py index bdfbbd3..ae7bad7 100644 --- a/src/pptrecord.py +++ b/src/pptrecord.py @@ -416,6 +416,28 @@ class SlideInfo(BaseRecordHandler): self.appendLine("speed: %d"%self.readUnsignedInt(1)) # ------------------------------------------------------------------- +# special record handler: slide atom + +class SlideAtom(BaseRecordHandler): + """Slide atom.""" + + def parseBytes (self): + geom=self.readUnsignedInt(4) + self.appendLine("geom: %s %4.4Xh (%d)"%(slideLayoutTypes[geom], geom, geom)) + self.appendLine("placeholder type: %s"%(placeholderEnum[self.readUnsignedInt(1)])) + self.appendLine("placeholder type: %s"%(placeholderEnum[self.readUnsignedInt(1)])) + self.appendLine("placeholder type: %s"%(placeholderEnum[self.readUnsignedInt(1)])) + self.appendLine("placeholder type: %s"%(placeholderEnum[self.readUnsignedInt(1)])) + self.appendLine("placeholder type: %s"%(placeholderEnum[self.readUnsignedInt(1)])) + self.appendLine("placeholder type: %s"%(placeholderEnum[self.readUnsignedInt(1)])) + self.appendLine("placeholder type: %s"%(placeholderEnum[self.readUnsignedInt(1)])) + self.appendLine("placeholder type: %s"%(placeholderEnum[self.readUnsignedInt(1)])) + self.appendLine("masterIdRef: %d"%(self.readUnsignedInt(4))) + self.appendLine("notesIdRef: %d"%(self.readUnsignedInt(4))) + self.appendLine("slideflags: %2.2Xh"%(self.readUnsignedInt(2))) + self.appendLine("unused: %2.2Xh (must be ignored)"%(self.readUnsignedInt(2))) + +# ------------------------------------------------------------------- # special record handler: slide persist atom class SlidePersistAtom(BaseRecordHandler): @@ -1652,3 +1674,50 @@ textHeader = { 7: ["body in two-column slide"], 8: ["body in four-column slide"] } + +slideLayoutTypes = { + 0: ["SL_TitleSlide"], + 1: ["SL_TitleBody"], + 2: ["SL_MasterTitle"], + 7: ["SL_TitleOnly"], + 8: ["SL_TwoColumns"], + 9: ["SL_TwoRows"], + 10: ["SL_ColumnTwoRows"], + 11: ["SL_TwoRowsColumn"], + 13: ["SL_TwoColumnsRow"], + 14: ["SL_FourObjects"], + 15: ["SL_BigObject"], + 16: ["SL_Blank"], + 17: ["SL_VerticalTitleBody"], + 18: ["SL_VerticalTwoRows"] +} + +placeholderEnum = { + 0: ["PT_None"], + 1: ["PT_MasterTitle"], + 2: ["PT_MasterBody"], + 3: ["PT_MasterCenterTitle"], + 4: ["PT_MasterSubtitle"], + 5: ["PT_MasterNotesSlideImage"], + 6: ["PT_MasterNotesBody"], + 7: ["PT_MasterDate"], + 8: ["PT_MasterSlideNumber"], + 9: ["PT_MasterFooter"], + 10: ["PT_MasterHeader"], + 11: ["PT_NotesSlideImage"], + 12: ["PT_NotesBody"], + 13: ["PT_Title"], + 14: ["PT_Body"], + 15: ["PT_CenterTitle"], + 16: ["PT_SubTitle"], + 17: ["PT_VerticalTitle"], + 18: ["PT_VerticalBody"], + 19: ["PT_Object"], + 20: ["PT_Graph"], + 21: ["PT_Table"], + 22: ["PT_ClipArt"], + 23: ["PT_OrgChart"], + 24: ["PT_Media"], + 25: ["PT_VerticalObject"], + 26: ["PT_Picture"] +} diff --git a/src/pptstream.py b/src/pptstream.py index 13f9ecb..cd89824 100644 --- a/src/pptstream.py +++ b/src/pptstream.py @@ -214,7 +214,7 @@ recData = { 1004: ["DFF_PST_SlideBase"], 1005: ["DFF_PST_SlideBaseAtom"], 1006: ["DFF_PST_Slide"], - 1007: ["DFF_PST_SlideAtom"], + 1007: ["DFF_PST_SlideAtom", pptrecord.SlideAtom], 1008: ["DFF_PST_Notes"], 1009: ["DFF_PST_NotesAtom"], 1010: ["DFF_PST_Environment"], _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits