src/pptrecord.py |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/pptstream.py |    7 ++++---
 2 files changed, 52 insertions(+), 3 deletions(-)

New commits:
commit a19153ea5e828e4465e9e9896a5ab050945ec28e
Author: Tor Lillqvist <tlillqv...@suse.com>
Date:   Thu May 3 15:36:11 2012 +0300

    Add ViewInfoAtom handler

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"],
commit a859c34443aade31a7e68cb8ce132cf793645f0f
Author: Tor Lillqvist <tlillqv...@suse.com>
Date:   Thu May 3 15:15:10 2012 +0300

    Add SlideViewInfoAtom handler

diff --git a/src/pptrecord.py b/src/pptrecord.py
index a8fe231..6e37c93 100644
--- a/src/pptrecord.py
+++ b/src/pptrecord.py
@@ -422,6 +422,17 @@ class SlidePersistAtom(BaseRecordHandler):
         self.appendLine("unique slide id: %d"%self.readUnsignedInt(4))
 
 # -------------------------------------------------------------------
+# special record handler: slide view info atom
+
+class SlideViewInfoAtom(BaseRecordHandler):
+    """Slide View Info atom."""
+
+    def parseBytes (self):
+        self.appendLine("guides visible: %s"%(self.readUnsignedInt(1)!=0))
+        self.appendLine("snap to grid: %s"%(self.readUnsignedInt(1)!=0))
+        self.appendLine("snap to shape: %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 c45ac7a..06244a8 100644
--- a/src/pptstream.py
+++ b/src/pptstream.py
@@ -229,7 +229,7 @@ recData = {
  1019:  ["DFF_PST_GuideAtom"],
  1020:  ["DFF_PST_ViewInfo"],
  1021:  ["DFF_PST_ViewInfoAtom"],
- 1022:  ["DFF_PST_SlideViewInfoAtom"],
+ 1022:  ["DFF_PST_SlideViewInfoAtom", pptrecord.SlideViewInfoAtom],
  1023:  ["DFF_PST_VBAInfo"],
  1024:  ["DFF_PST_VBAInfoAtom"],
  1025:  ["DFF_PST_SSDocInfoAtom"],
commit bebeb28afb2502043f6e00eaa4d7d9f7d804bed2
Author: Tor Lillqvist <tlillqv...@suse.com>
Date:   Thu May 3 15:11:37 2012 +0300

    Add SlidePersistAtom handler

diff --git a/src/pptrecord.py b/src/pptrecord.py
index d13df90..a8fe231 100644
--- a/src/pptrecord.py
+++ b/src/pptrecord.py
@@ -1,3 +1,4 @@
+# -*- tab-width: 4; indent-tabs-mode: nil -*-
 ########################################################################
 #
 #    OpenOffice.org - a multi-platform office productivity suite
@@ -406,6 +407,21 @@ class SlideInfo(BaseRecordHandler):
         self.appendLine("speed: %d"%self.readUnsignedInt(1))
 
 # -------------------------------------------------------------------
+# special record handler: slide persist atom
+
+class SlidePersistAtom(BaseRecordHandler):
+    """Slide Persist atom."""
+
+    def parseBytes (self):
+        slideref=self.readUnsignedInt(4)
+        self.appendLine("logical slide reference: %4.4Xh (%d)"%(slideref, 
slideref))
+        flags=self.readUnsignedInt(4)
+        self.appendLine("outline view is collapsed: %s"%((flags & 0x02)!=0))
+        self.appendLine("slide contains shapes other than placeholders: 
%s"%((flags & 0x04)!=0))
+        self.appendLine("number of placeholder texts: 
%d"%self.readUnsignedInt(4))
+        self.appendLine("unique slide id: %d"%self.readUnsignedInt(4))
+
+# -------------------------------------------------------------------
 # special record handlers: ppt97 animation info
 
 class AnimationInfo(BaseRecordHandler):
diff --git a/src/pptstream.py b/src/pptstream.py
index 4468e81..c45ac7a 100644
--- a/src/pptstream.py
+++ b/src/pptstream.py
@@ -1,3 +1,4 @@
+# -*- tab-width: 4; indent-tabs-mode: nil -*-
 ########################################################################
 #
 #    OpenOffice.org - a multi-platform office productivity suite
@@ -217,7 +218,7 @@ recData = {
  1008:  ["DFF_PST_Notes"],
  1009:  ["DFF_PST_NotesAtom"],
  1010:  ["DFF_PST_Environment"],
- 1011:  ["DFF_PST_SlidePersistAtom"],
+ 1011:  ["DFF_PST_SlidePersistAtom", pptrecord.SlidePersistAtom],
  1012:  ["DFF_PST_Scheme"],
  1013:  ["DFF_PST_SchemeAtom"],
  1014:  ["DFF_PST_DocViewInfo"],
_______________________________________________
Libreoffice-commits mailing list
Libreoffice-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to