| author | Tor Lillqvist <tlillqvist@suse.com> | 2012-05-03 12:36:11 (GMT) |
|---|---|---|
| committer | Tor Lillqvist <tlillqvist@suse.com> | 2012-05-03 12:36:11 (GMT) |
| commit | a19153ea5e828e4465e9e9896a5ab050945ec28e (patch) (side-by-side diff) | |
| tree | df80498b2a1f96b24f5b50788328196d9fda356b | |
| parent | a859c34443aade31a7e68cb8ce132cf793645f0f (diff) | |
| download | mso-dumper-master.zip mso-dumper-master.tar.gz | |
| -rw-r--r-- | src/pptrecord.py | 21 | ||||
| -rw-r--r-- | src/pptstream.py | 2 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/pptrecord.py b/src/pptrecord.py index 6e37c93..bdfbbd3 100644 --- a/src/pptrecord.py +++ b/src/pptrecord.py @@ -101,6 +101,15 @@ append a line to be displayed. bytes = self.readBytes(8) return globals.getDouble(bytes) + def readRatio (self): + numer = self.readSignedInt(4) + denom = self.readSignedInt(4) + return "%d/%d"%(numer, denom) + + def readScaling (self): + xratio = self.readRatio() + yratio = self.readRatio() + return "(%s,%s)"%(xratio, yratio) class String(BaseRecordHandler): """Textual content.""" @@ -433,6 +442,18 @@ class SlideViewInfoAtom(BaseRecordHandler): self.appendLine("snap to shape: %s"%(self.readUnsignedInt(1)!=0)) # ------------------------------------------------------------------- +# special record handler: view info atom + +class ViewInfoAtom(BaseRecordHandler): + """View Info atom.""" + + def parseBytes (self): + self.appendLine("current scale: %s"%self.readScaling()) + self.readBytes(24) + self.appendLine("origin: (%d,%d)"%(self.readSignedInt(4), self.readSignedInt(4))) + self.appendLine("zoom to fit: %s"%(self.readUnsignedInt(1)!=0)) + +# ------------------------------------------------------------------- # special record handlers: ppt97 animation info class AnimationInfo(BaseRecordHandler): diff --git a/src/pptstream.py b/src/pptstream.py index 06244a8..13f9ecb 100644 --- a/src/pptstream.py +++ b/src/pptstream.py @@ -228,7 +228,7 @@ recData = { 1018: ["DFF_PST_SlideViewInfo"], 1019: ["DFF_PST_GuideAtom"], 1020: ["DFF_PST_ViewInfo"], - 1021: ["DFF_PST_ViewInfoAtom"], + 1021: ["DFF_PST_ViewInfoAtom", pptrecord.ViewInfoAtom], 1022: ["DFF_PST_SlideViewInfoAtom", pptrecord.SlideViewInfoAtom], 1023: ["DFF_PST_VBAInfo"], 1024: ["DFF_PST_VBAInfoAtom"], |
