src/docrecord.py |   39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

New commits:
commit cc6676595ac2214f1a0e8473dea05210090f48f6
Author: Miklos Vajna <vmik...@suse.cz>
Date:   Wed Jun 5 17:30:34 2013 +0200

    dump SPgbPropOperand

diff --git a/src/docrecord.py b/src/docrecord.py
index 2e01e47..873b04d 100644
--- a/src/docrecord.py
+++ b/src/docrecord.py
@@ -593,6 +593,43 @@ class DefTableShd80Operand(DOCDirStream):
             Shd80(self).dump()
         print '</defTableShd80Operand>'
 
+# The PgbApplyTo enumeration is used to specify the pages to which a page 
border applies.
+PgbApplyTo = {
+        0x0: "pgbAllPages",
+        0x1: "pgbFirstPage",
+        0x2: "pgbAllButFirst"
+        }
+
+# The PgbOffsetFrom enumeration is used to specify the location from which the 
offset of a page
+# border is measured.
+PgbOffsetFrom = {
+        0x0: "pgbFromText",
+        0x1: "pgbFromEdge"
+        }
+
+# The PgbPageDepth enumeration is used to specify the "depth" of a page border 
in relation to other
+# page elements.
+PgbPageDepth = {
+        0x0: "pgbAtFront",
+        0x1: "pgbAtBack",
+        }
+
+class SPgbPropOperand(DOCDirStream):
+    """The SPgbPropOperand structure is the operand to sprmSPgbProp. It 
specifies the properties of a
+    page border."""
+    def __init__(self, parent):
+        DOCDirStream.__init__(self, parent.bytes)
+        self.pos = parent.pos
+    
+    def dump(self):
+        print '<sPgbPropOperand type="SPgbPropOperand" offset="%d">' % self.pos
+        buf = self.readuInt8()
+        self.printAndSet("pgbApplyTo",     buf & 0x7,        dict = 
PgbApplyTo) # 1..3rd bits
+        self.printAndSet("pgbPageDepth",  (buf & 0x18) >> 3, dict = 
PgbPageDepth) # 4..5th bits
+        self.printAndSet("pgbOffsetFrom", (buf & 0xe0) >> 5, dict = 
PgbOffsetFrom) # 6..8th bits
+        self.printAndSet("reserved", self.readuInt8())
+        print '</sPgbPropOperand>'
+
 # The TextFlow enumeration specifies the rotation settings for a block of text 
and for the individual
 # East Asian characters in each line of the block.
 TextFlow = {
@@ -732,6 +769,8 @@ class Sprm(DOCDirStream):
             self.operand = self.getuInt8()
         elif self.getOperandSize() == 2:
             self.operand = self.getuInt16()
+            if self.sprm == 0x522f:
+                self.ct = SPgbPropOperand(self)
         elif self.getOperandSize() == 3:
             self.operand = self.getuInt24()
         elif self.getOperandSize() == 4:
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to