summaryrefslogtreecommitdiff
authorTor Lillqvist <tlillqvist@suse.com>2012-05-03 12:36:11 (GMT)
committer Tor Lillqvist <tlillqvist@suse.com>2012-05-03 12:36:11 (GMT)
commita19153ea5e828e4465e9e9896a5ab050945ec28e (patch) (side-by-side diff)
treedf80498b2a1f96b24f5b50788328196d9fda356b
parenta859c34443aade31a7e68cb8ce132cf793645f0f (diff)
downloadmso-dumper-master.zip
mso-dumper-master.tar.gz
Add ViewInfoAtom handlerHEADmaster
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--src/pptrecord.py21
-rw-r--r--src/pptstream.py2
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"],