[Libreoffice-commits] .: Branch 'libreoffice-3-5' - 5 commits - offapi/com oox/source svx/inc svx/source

Radek Doulík rodo at kemper.freedesktop.org
Thu Jan 19 00:51:49 PST 2012


 offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl |    4 
 oox/source/drawingml/customshapepresets1.cxx            |   87 +++++-
 oox/source/drawingml/customshapepresets2.cxx            |  109 +++++++-
 oox/source/drawingml/customshapepresets3.cxx            |  184 +++++++++++---
 oox/source/drawingml/customshapepresets4.cxx            |  150 +++++++++--
 oox/source/drawingml/customshapepresets5.cxx            |  201 ++++++++++++----
 oox/source/drawingml/customshapepresets6.cxx            |   46 +++
 oox/source/drawingml/customshapeproperties.cxx          |   35 ++
 oox/source/drawingml/customshapes/generatePresetsCXX.pl |    1 
 oox/source/helper/propertymap.cxx                       |   24 +
 oox/source/token/properties.txt                         |    1 
 svx/inc/svx/EnhancedCustomShape2d.hxx                   |    9 
 svx/source/customshapes/EnhancedCustomShape2d.cxx       |  117 ++++++---
 13 files changed, 769 insertions(+), 199 deletions(-)

New commits:
commit 293f1a753fbf2471c4db47cebd09a8429a0d2459
Author: Radek Doulik <rodo at novell.com>
Date:   Thu Jan 19 09:46:11 2012 +0100

    regenerated custom shapes presets

diff --git a/oox/source/drawingml/customshapepresets1.cxx b/oox/source/drawingml/customshapepresets1.cxx
index 6aa00d5..34567cd 100644
--- a/oox/source/drawingml/customshapepresets1.cxx
+++ b/oox/source/drawingml/customshapepresets1.cxx
@@ -4,6 +4,7 @@
 #include "oox/drawingml/customshapeproperties.hxx"
 #include "oox/token/tokenmap.hxx"
 #include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
@@ -10888,7 +10889,7 @@ void CustomShapeProperties::initializePresetsMap1()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (6);
@@ -11032,7 +11033,18 @@ void CustomShapeProperties::initializePresetsMap1()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 10;
+                aSize.Height = 10;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -11074,7 +11086,7 @@ void CustomShapeProperties::initializePresetsMap1()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -11082,8 +11094,8 @@ void CustomShapeProperties::initializePresetsMap1()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 10;
-        aRectangle.Height = 10;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartPreparation");
@@ -11943,7 +11955,7 @@ void CustomShapeProperties::initializePresetsMap1()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (2);
+        Sequence< PropertyValue > aPropSequence (3);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (10);
@@ -12212,14 +12224,31 @@ void CustomShapeProperties::initializePresetsMap1()
             }
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
+        {
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (2);
+            {
+                awt::Size aSize;
+                aSize.Width = 10;
+                aSize.Height = 10;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 10;
+                aSize.Height = 10;
+                aSizeSequence [1] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
     {
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 10;
-        aRectangle.Height = 10;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-chartStar");
@@ -13542,7 +13571,7 @@ void CustomShapeProperties::initializePresetsMap1()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (5);
@@ -13668,7 +13697,18 @@ void CustomShapeProperties::initializePresetsMap1()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 10;
+                aSize.Height = 10;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -13710,7 +13750,7 @@ void CustomShapeProperties::initializePresetsMap1()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -13718,8 +13758,8 @@ void CustomShapeProperties::initializePresetsMap1()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 10;
-        aRectangle.Height = 10;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartOffpageConnector");
@@ -19926,7 +19966,7 @@ void CustomShapeProperties::initializePresetsMap1()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (4);
@@ -20034,7 +20074,18 @@ void CustomShapeProperties::initializePresetsMap1()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 2;
+                aSize.Height = 2;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -20076,7 +20127,7 @@ void CustomShapeProperties::initializePresetsMap1()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -20084,8 +20135,8 @@ void CustomShapeProperties::initializePresetsMap1()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 2;
-        aRectangle.Height = 2;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartDecision");
diff --git a/oox/source/drawingml/customshapepresets2.cxx b/oox/source/drawingml/customshapepresets2.cxx
index accc830..cda315b 100644
--- a/oox/source/drawingml/customshapepresets2.cxx
+++ b/oox/source/drawingml/customshapepresets2.cxx
@@ -4,6 +4,7 @@
 #include "oox/drawingml/customshapeproperties.hxx"
 #include "oox/token/tokenmap.hxx"
 #include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
@@ -706,7 +707,7 @@ void CustomShapeProperties::initializePresetsMap2()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (4);
@@ -814,7 +815,18 @@ void CustomShapeProperties::initializePresetsMap2()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 5;
+                aSize.Height = 5;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -856,7 +868,7 @@ void CustomShapeProperties::initializePresetsMap2()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -864,8 +876,8 @@ void CustomShapeProperties::initializePresetsMap2()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 5;
-        aRectangle.Height = 5;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartManualOperation");
@@ -4821,7 +4833,7 @@ void CustomShapeProperties::initializePresetsMap2()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (12);
@@ -5145,7 +5157,30 @@ void CustomShapeProperties::initializePresetsMap2()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (3);
+            {
+                awt::Size aSize;
+                aSize.Width = 1;
+                aSize.Height = 1;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 8;
+                aSize.Height = 8;
+                aSizeSequence [1] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 1;
+                aSize.Height = 1;
+                aSizeSequence [2] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -5187,7 +5222,7 @@ void CustomShapeProperties::initializePresetsMap2()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -5195,8 +5230,8 @@ void CustomShapeProperties::initializePresetsMap2()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 1;
-        aRectangle.Height = 1;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartInternalStorage");
@@ -5646,7 +5681,7 @@ void CustomShapeProperties::initializePresetsMap2()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (28);
@@ -6186,7 +6221,18 @@ void CustomShapeProperties::initializePresetsMap2()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 21600;
+                aSize.Height = 21600;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -6228,7 +6274,7 @@ void CustomShapeProperties::initializePresetsMap2()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -6236,8 +6282,8 @@ void CustomShapeProperties::initializePresetsMap2()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 21600;
-        aRectangle.Height = 21600;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-irregularSeal2");
@@ -16833,7 +16879,7 @@ void CustomShapeProperties::initializePresetsMap2()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (10);
@@ -17109,7 +17155,30 @@ void CustomShapeProperties::initializePresetsMap2()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (3);
+            {
+                awt::Size aSize;
+                aSize.Width = 2;
+                aSize.Height = 2;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 2;
+                aSize.Height = 2;
+                aSizeSequence [1] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 2;
+                aSize.Height = 2;
+                aSizeSequence [2] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -17151,7 +17220,7 @@ void CustomShapeProperties::initializePresetsMap2()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -17159,8 +17228,8 @@ void CustomShapeProperties::initializePresetsMap2()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 2;
-        aRectangle.Height = 2;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartSort");
diff --git a/oox/source/drawingml/customshapepresets3.cxx b/oox/source/drawingml/customshapepresets3.cxx
index ca85963..93c0291 100644
--- a/oox/source/drawingml/customshapepresets3.cxx
+++ b/oox/source/drawingml/customshapepresets3.cxx
@@ -4,6 +4,7 @@
 #include "oox/drawingml/customshapeproperties.hxx"
 #include "oox/token/tokenmap.hxx"
 #include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
@@ -3768,7 +3769,7 @@ void CustomShapeProperties::initializePresetsMap3()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (12);
@@ -4092,7 +4093,30 @@ void CustomShapeProperties::initializePresetsMap3()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (3);
+            {
+                awt::Size aSize;
+                aSize.Width = 1;
+                aSize.Height = 1;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 8;
+                aSize.Height = 8;
+                aSizeSequence [1] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 1;
+                aSize.Height = 1;
+                aSizeSequence [2] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -4134,7 +4158,7 @@ void CustomShapeProperties::initializePresetsMap3()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -4142,8 +4166,8 @@ void CustomShapeProperties::initializePresetsMap3()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 1;
-        aRectangle.Height = 1;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartPredefinedProcess");
@@ -4187,7 +4211,7 @@ void CustomShapeProperties::initializePresetsMap3()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (10);
@@ -4415,7 +4439,18 @@ void CustomShapeProperties::initializePresetsMap3()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 20;
+                aSize.Height = 20;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -4457,7 +4492,7 @@ void CustomShapeProperties::initializePresetsMap3()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -4465,8 +4500,8 @@ void CustomShapeProperties::initializePresetsMap3()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 20;
-        aRectangle.Height = 20;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartPunchedTape");
@@ -5951,7 +5986,7 @@ void CustomShapeProperties::initializePresetsMap3()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (15);
@@ -6341,7 +6376,30 @@ void CustomShapeProperties::initializePresetsMap3()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (3);
+            {
+                awt::Size aSize;
+                aSize.Width = 6;
+                aSize.Height = 6;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 6;
+                aSize.Height = 6;
+                aSizeSequence [1] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 6;
+                aSize.Height = 6;
+                aSizeSequence [2] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -6383,7 +6441,7 @@ void CustomShapeProperties::initializePresetsMap3()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -6391,8 +6449,8 @@ void CustomShapeProperties::initializePresetsMap3()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 6;
-        aRectangle.Height = 6;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartMagneticDisk");
@@ -9769,7 +9827,7 @@ void CustomShapeProperties::initializePresetsMap3()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (3);
@@ -9859,7 +9917,18 @@ void CustomShapeProperties::initializePresetsMap3()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 2;
+                aSize.Height = 2;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -9901,7 +9970,7 @@ void CustomShapeProperties::initializePresetsMap3()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -9909,8 +9978,8 @@ void CustomShapeProperties::initializePresetsMap3()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 2;
-        aRectangle.Height = 2;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartExtract");
@@ -11993,7 +12062,7 @@ void CustomShapeProperties::initializePresetsMap3()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (8);
@@ -12233,7 +12302,30 @@ void CustomShapeProperties::initializePresetsMap3()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (3);
+            {
+                awt::Size aSize;
+                aSize.Width = 2;
+                aSize.Height = 2;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 5;
+                aSize.Height = 5;
+                aSizeSequence [1] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 2;
+                aSize.Height = 2;
+                aSizeSequence [2] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -12275,7 +12367,7 @@ void CustomShapeProperties::initializePresetsMap3()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -12283,8 +12375,8 @@ void CustomShapeProperties::initializePresetsMap3()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 2;
-        aRectangle.Height = 2;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartOfflineStorage");
@@ -12323,7 +12415,7 @@ void CustomShapeProperties::initializePresetsMap3()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (24);
@@ -12791,7 +12883,18 @@ void CustomShapeProperties::initializePresetsMap3()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 21600;
+                aSize.Height = 21600;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -12833,7 +12936,7 @@ void CustomShapeProperties::initializePresetsMap3()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -12841,8 +12944,8 @@ void CustomShapeProperties::initializePresetsMap3()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 21600;
-        aRectangle.Height = 21600;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-irregularSeal1");
@@ -17633,7 +17736,7 @@ void CustomShapeProperties::initializePresetsMap3()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (7);
@@ -17813,7 +17916,18 @@ void CustomShapeProperties::initializePresetsMap3()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 6;
+                aSize.Height = 6;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -17855,7 +17969,7 @@ void CustomShapeProperties::initializePresetsMap3()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -17863,8 +17977,8 @@ void CustomShapeProperties::initializePresetsMap3()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 6;
-        aRectangle.Height = 6;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartOnlineStorage");
diff --git a/oox/source/drawingml/customshapepresets4.cxx b/oox/source/drawingml/customshapepresets4.cxx
index c62b492..9088ce3 100644
--- a/oox/source/drawingml/customshapepresets4.cxx
+++ b/oox/source/drawingml/customshapepresets4.cxx
@@ -4,6 +4,7 @@
 #include "oox/drawingml/customshapeproperties.hxx"
 #include "oox/token/tokenmap.hxx"
 #include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
@@ -450,7 +451,7 @@ void CustomShapeProperties::initializePresetsMap4()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (6);
@@ -600,7 +601,18 @@ void CustomShapeProperties::initializePresetsMap4()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 21600;
+                aSize.Height = 21600;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -642,7 +654,7 @@ void CustomShapeProperties::initializePresetsMap4()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -650,8 +662,8 @@ void CustomShapeProperties::initializePresetsMap4()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 21600;
-        aRectangle.Height = 21600;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartDocument");
@@ -1931,7 +1943,7 @@ void CustomShapeProperties::initializePresetsMap4()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (2);
+        Sequence< PropertyValue > aPropSequence (3);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (8);
@@ -2152,14 +2164,31 @@ void CustomShapeProperties::initializePresetsMap4()
             }
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
+        {
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (2);
+            {
+                awt::Size aSize;
+                aSize.Width = 10;
+                aSize.Height = 10;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 10;
+                aSize.Height = 10;
+                aSizeSequence [1] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
     {
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 10;
-        aRectangle.Height = 10;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-chartPlus");
@@ -2194,7 +2223,7 @@ void CustomShapeProperties::initializePresetsMap4()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (4);
@@ -2302,7 +2331,18 @@ void CustomShapeProperties::initializePresetsMap4()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 5;
+                aSize.Height = 5;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -2344,7 +2384,7 @@ void CustomShapeProperties::initializePresetsMap4()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -2352,8 +2392,8 @@ void CustomShapeProperties::initializePresetsMap4()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 5;
-        aRectangle.Height = 5;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartManualInput");
@@ -2387,7 +2427,7 @@ void CustomShapeProperties::initializePresetsMap4()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (3);
@@ -2477,7 +2517,18 @@ void CustomShapeProperties::initializePresetsMap4()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 2;
+                aSize.Height = 2;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -2519,7 +2570,7 @@ void CustomShapeProperties::initializePresetsMap4()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -2527,8 +2578,8 @@ void CustomShapeProperties::initializePresetsMap4()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 2;
-        aRectangle.Height = 2;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartMerge");
@@ -5621,7 +5672,7 @@ void CustomShapeProperties::initializePresetsMap4()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (4);
@@ -5729,7 +5780,18 @@ void CustomShapeProperties::initializePresetsMap4()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 5;
+                aSize.Height = 5;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -5771,7 +5833,7 @@ void CustomShapeProperties::initializePresetsMap4()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -5779,8 +5841,8 @@ void CustomShapeProperties::initializePresetsMap4()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 5;
-        aRectangle.Height = 5;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartInputOutput");
@@ -8738,7 +8800,7 @@ void CustomShapeProperties::initializePresetsMap4()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (11);
@@ -8972,7 +9034,18 @@ void CustomShapeProperties::initializePresetsMap4()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 21600;
+                aSize.Height = 21600;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -9014,7 +9087,7 @@ void CustomShapeProperties::initializePresetsMap4()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -9022,8 +9095,8 @@ void CustomShapeProperties::initializePresetsMap4()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 21600;
-        aRectangle.Height = 21600;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-lightningBolt");
@@ -9060,7 +9133,7 @@ void CustomShapeProperties::initializePresetsMap4()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (6);
@@ -9216,7 +9289,18 @@ void CustomShapeProperties::initializePresetsMap4()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 6;
+                aSize.Height = 6;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -9258,7 +9342,7 @@ void CustomShapeProperties::initializePresetsMap4()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -9266,8 +9350,8 @@ void CustomShapeProperties::initializePresetsMap4()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 6;
-        aRectangle.Height = 6;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartDisplay");
diff --git a/oox/source/drawingml/customshapepresets5.cxx b/oox/source/drawingml/customshapepresets5.cxx
index 015cc6f..a495162 100644
--- a/oox/source/drawingml/customshapepresets5.cxx
+++ b/oox/source/drawingml/customshapepresets5.cxx
@@ -4,6 +4,7 @@
 #include "oox/drawingml/customshapeproperties.hxx"
 #include "oox/token/tokenmap.hxx"
 #include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
@@ -1725,7 +1726,7 @@ void CustomShapeProperties::initializePresetsMap5()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (5);
@@ -1851,7 +1852,18 @@ void CustomShapeProperties::initializePresetsMap5()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 5;
+                aSize.Height = 5;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -1893,7 +1905,7 @@ void CustomShapeProperties::initializePresetsMap5()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -1901,8 +1913,8 @@ void CustomShapeProperties::initializePresetsMap5()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 5;
-        aRectangle.Height = 5;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartPunchedCard");
@@ -4368,7 +4380,7 @@ void CustomShapeProperties::initializePresetsMap5()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (2);
+        Sequence< PropertyValue > aPropSequence (3);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (8);
@@ -4589,14 +4601,31 @@ void CustomShapeProperties::initializePresetsMap5()
             }
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
+        {
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (2);
+            {
+                awt::Size aSize;
+                aSize.Width = 10;
+                aSize.Height = 10;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 10;
+                aSize.Height = 10;
+                aSizeSequence [1] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
     {
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 10;
-        aRectangle.Height = 10;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-chartX");
@@ -4679,7 +4708,7 @@ void CustomShapeProperties::initializePresetsMap5()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (56);
@@ -5867,7 +5896,24 @@ void CustomShapeProperties::initializePresetsMap5()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (2);
+            {
+                awt::Size aSize;
+                aSize.Width = 43200;
+                aSize.Height = 43200;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 43200;
+                aSize.Height = 43200;
+                aSizeSequence [1] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -5909,7 +5955,7 @@ void CustomShapeProperties::initializePresetsMap5()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -5917,8 +5963,8 @@ void CustomShapeProperties::initializePresetsMap5()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 43200;
-        aRectangle.Height = 43200;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-cloud");
@@ -7189,7 +7235,7 @@ void CustomShapeProperties::initializePresetsMap5()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (60);
@@ -8515,7 +8561,30 @@ void CustomShapeProperties::initializePresetsMap5()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (3);
+            {
+                awt::Size aSize;
+                aSize.Width = 21600;
+                aSize.Height = 21600;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 21600;
+                aSize.Height = 21600;
+                aSizeSequence [1] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 21600;
+                aSize.Height = 21600;
+                aSizeSequence [2] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -8557,7 +8626,7 @@ void CustomShapeProperties::initializePresetsMap5()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -8565,8 +8634,8 @@ void CustomShapeProperties::initializePresetsMap5()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 21600;
-        aRectangle.Height = 21600;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartMultidocument");
@@ -9445,7 +9514,7 @@ void CustomShapeProperties::initializePresetsMap5()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (7);
@@ -9625,7 +9694,18 @@ void CustomShapeProperties::initializePresetsMap5()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 21600;
+                aSize.Height = 21600;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -9667,7 +9747,7 @@ void CustomShapeProperties::initializePresetsMap5()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -9675,8 +9755,8 @@ void CustomShapeProperties::initializePresetsMap5()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 21600;
-        aRectangle.Height = 21600;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartTerminator");
@@ -14176,7 +14256,7 @@ void CustomShapeProperties::initializePresetsMap5()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (17);
@@ -14614,7 +14694,30 @@ void CustomShapeProperties::initializePresetsMap5()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (3);
+            {
+                awt::Size aSize;
+                aSize.Width = 6;
+                aSize.Height = 6;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 6;
+                aSize.Height = 6;
+                aSizeSequence [1] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 6;
+                aSize.Height = 6;
+                aSizeSequence [2] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -14656,7 +14759,7 @@ void CustomShapeProperties::initializePresetsMap5()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -14664,8 +14767,8 @@ void CustomShapeProperties::initializePresetsMap5()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 6;
-        aRectangle.Height = 6;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartMagneticDrum");
@@ -16067,7 +16170,7 @@ void CustomShapeProperties::initializePresetsMap5()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (6);
@@ -16211,7 +16314,18 @@ void CustomShapeProperties::initializePresetsMap5()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 2;
+                aSize.Height = 2;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -16253,7 +16367,7 @@ void CustomShapeProperties::initializePresetsMap5()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -16261,8 +16375,8 @@ void CustomShapeProperties::initializePresetsMap5()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 2;
-        aRectangle.Height = 2;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartCollate");
@@ -19294,7 +19408,7 @@ void CustomShapeProperties::initializePresetsMap5()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (4);
@@ -19402,7 +19516,18 @@ void CustomShapeProperties::initializePresetsMap5()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (1);
+            {
+                awt::Size aSize;
+                aSize.Width = 1;
+                aSize.Height = 1;
+                aSizeSequence [0] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -19444,7 +19569,7 @@ void CustomShapeProperties::initializePresetsMap5()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -19452,8 +19577,8 @@ void CustomShapeProperties::initializePresetsMap5()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 1;
-        aRectangle.Height = 1;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-flowChartProcess");
diff --git a/oox/source/drawingml/customshapepresets6.cxx b/oox/source/drawingml/customshapepresets6.cxx
index 1696ccd..dc59bb1 100644
--- a/oox/source/drawingml/customshapepresets6.cxx
+++ b/oox/source/drawingml/customshapepresets6.cxx
@@ -4,6 +4,7 @@
 #include "oox/drawingml/customshapeproperties.hxx"
 #include "oox/token/tokenmap.hxx"
 #include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
@@ -3193,7 +3194,7 @@ void CustomShapeProperties::initializePresetsMap6()
         aPropertyMap [PROP_MirroredY] <<= Any ((sal_Bool) sal_False);
     }
     {
-        Sequence< PropertyValue > aPropSequence (3);
+        Sequence< PropertyValue > aPropSequence (4);
         {
             aPropSequence [0].Name = CREATE_OUSTRING ("Coordinates");
             Sequence< EnhancedCustomShapeParameterPair > aParameterPairSeq (65);
@@ -4615,7 +4616,42 @@ void CustomShapeProperties::initializePresetsMap6()
             aPropSequence [1].Value = makeAny (aSegmentSeq);
         }
         {
-            aPropSequence [2].Name = CREATE_OUSTRING ("TextFrames");
+            aPropSequence [2].Name = CREATE_OUSTRING ("SubViewSize");
+            Sequence< awt::Size > aSizeSequence (5);
+            {
+                awt::Size aSize;
+                aSize.Width = 43200;
+                aSize.Height = 43200;
+                aSizeSequence [0] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 0;
+                aSize.Height = 0;
+                aSizeSequence [1] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 0;
+                aSize.Height = 0;
+                aSizeSequence [2] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 0;
+                aSize.Height = 0;
+                aSizeSequence [3] = aSize;
+            }
+            {
+                awt::Size aSize;
+                aSize.Width = 43200;
+                aSize.Height = 43200;
+                aSizeSequence [4] = aSize;
+            }
+            aPropSequence [2].Value = makeAny (aSizeSequence);
+        }
+        {
+            aPropSequence [3].Name = CREATE_OUSTRING ("TextFrames");
             Sequence< EnhancedCustomShapeTextFrame > aTextFrameSeq (1);
             {
                 EnhancedCustomShapeTextFrame aTextFrame;
@@ -4657,7 +4693,7 @@ void CustomShapeProperties::initializePresetsMap6()
                 }
                 aTextFrameSeq [0] = aTextFrame;
             }
-            aPropSequence [2].Value = makeAny (aTextFrameSeq);
+            aPropSequence [3].Value = makeAny (aTextFrameSeq);
         }
         aPropertyMap [PROP_Path] <<= aPropSequence;
     }
@@ -4665,8 +4701,8 @@ void CustomShapeProperties::initializePresetsMap6()
         awt::Rectangle aRectangle;
         aRectangle.X = 0;
         aRectangle.Y = 0;
-        aRectangle.Width = 43200;
-        aRectangle.Height = 43200;
+        aRectangle.Width = 0;
+        aRectangle.Height = 0;
         aPropertyMap [PROP_ViewBox] <<= aRectangle;
     }
     aPropertyMap [ PROP_Type ] <<= CREATE_OUSTRING("ooxml-cloudCallout");
commit 14f07803b4d9f8e9b681b07d6a97d7535b8fb5e1
Author: Radek Doulik <rodo at novell.com>
Date:   Thu Jan 19 09:45:34 2012 +0100

    updated custom shapes presets generator to use new SubViewSize property

diff --git a/oox/source/drawingml/customshapes/generatePresetsCXX.pl b/oox/source/drawingml/customshapes/generatePresetsCXX.pl
index 5dd5f74..827537c 100755
--- a/oox/source/drawingml/customshapes/generatePresetsCXX.pl
+++ b/oox/source/drawingml/customshapes/generatePresetsCXX.pl
@@ -62,6 +62,7 @@ sub startSource
 #include \"oox/drawingml/customshapeproperties.hxx\"
 #include \"oox/token/tokenmap.hxx\"
 #include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
diff --git a/oox/source/helper/propertymap.cxx b/oox/source/helper/propertymap.cxx
index b4094eb..680c8df 100644
--- a/oox/source/helper/propertymap.cxx
+++ b/oox/source/helper/propertymap.cxx
@@ -44,6 +44,7 @@ using ::com::sun::star::text::WritingMode;
 #include <com/sun/star/beans/XPropertySetInfo.hpp>
 #include <com/sun/star/container/XIndexReplace.hpp>
 #include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
 #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeAdjustmentValue.hpp>
@@ -471,6 +472,7 @@ static const char* lclDumpAnyValueCode( Any value, int level = 0)
     OUString strValue;
     Sequence< OUString > strArray;
     Sequence< Any > anyArray;
+    Sequence< awt::Size > sizeArray;
     Sequence< PropertyValue > propArray;
     Sequence< Sequence< PropertyValue > > propArrayArray;
     Sequence< EnhancedCustomShapeAdjustmentValue > adjArray;
@@ -482,6 +484,7 @@ static const char* lclDumpAnyValueCode( Any value, int level = 0)
     EnhancedCustomShapeParameterPair pp;
     EnhancedCustomShapeParameter par;
     awt::Rectangle rect;
+    awt::Size size;
     sal_Int32 intValue = 0;
     sal_uInt32 uintValue = 0;
     sal_Int16 int16Value = 0;
@@ -523,6 +526,19 @@ static const char* lclDumpAnyValueCode( Any value, int level = 0)
                 fprintf (stderr, "}\n");
             }
             return "aPropSequence";
+        } else if( value >>= sizeArray ) {
+            printLevel (level);
+            fprintf (stderr, "Sequence< awt::Size > aSizeSequence (%" SAL_PRIdINT32 ");\n", sizeArray.getLength());
+            for( int i=0; i<sizeArray.getLength(); i++ ) {
+                printLevel (level);
+                fprintf (stderr, "{\n");
+                const char *var = lclDumpAnyValueCode (makeAny (sizeArray[i]), level + 1);
+                printLevel (level + 1);
+                fprintf (stderr, "aSizeSequence [%d] = %s;\n", i, var);
+                printLevel (level);
+                fprintf (stderr, "}\n");
+            }
+            return "aSizeSequence";
         } else if( value >>= propArrayArray ) {
             printLevel (level);
             fprintf (stderr,"Sequence< Sequence < PropertyValue > > aPropSequenceSequence (%"SAL_PRIdINT32");\n", propArrayArray.getLength());
@@ -807,6 +823,14 @@ static const char* lclDumpAnyValueCode( Any value, int level = 0)
             printLevel (level);
             fprintf (stderr, "aRectangle.Height = %"SAL_PRIdINT32";\n", rect.Height);
             return "aRectangle";
+    } else if( value >>= size ) {
+            printLevel (level);
+            fprintf (stderr, "awt::Size aSize;\n");
+            printLevel (level);
+            fprintf (stderr, "aSize.Width = %" SAL_PRIdINT32 ";\n", size.Width);
+            printLevel (level);
+            fprintf (stderr, "aSize.Height = %" SAL_PRIdINT32 ";\n", size.Height);
+            return "aSize";
     } else if( value.isExtractableTo(::getCppuType((const sal_Int32*)0))) {
         fprintf (stderr,"is extractable to int32\n");
     }
commit 684fe8a1f4acc2019cc31ae62934a5d0a04c2d3b
Author: Radek Doulik <rodo at novell.com>
Date:   Thu Jan 19 09:45:00 2012 +0100

    use SubViewSize property for custom shape paths

diff --git a/oox/source/drawingml/customshapeproperties.cxx b/oox/source/drawingml/customshapeproperties.cxx
index a03e42c..e5bb6d8 100644
--- a/oox/source/drawingml/customshapeproperties.cxx
+++ b/oox/source/drawingml/customshapeproperties.cxx
@@ -32,6 +32,7 @@
 #include "oox/helper/propertyset.hxx"
 #include "oox/token/tokenmap.hxx"
 #include <com/sun/star/awt/Rectangle.hpp>
+#include <com/sun/star/awt/Size.hpp>
 #include <com/sun/star/beans/XMultiPropertySet.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/graphic/XGraphicTransformer.hpp>
@@ -220,14 +221,6 @@ void CustomShapeProperties::pushToPropSet( const ::oox::core::FilterBase& /* rFi
         aPropertyMap[ PROP_MirroredY ] <<= Any( mbMirroredY );
         awt::Size aSize;
         awt::Rectangle aViewBox( 0, 0, aSize.Width * 360, aSize.Height * 360 );
-        if ( maPath2DList.size() )
-        {   // TODO: each polygon may have its own size, but I think it is rather been used
-            // so we are only taking care of the first
-            if ( maPath2DList[ 0 ].w )
-                aViewBox.Width = static_cast< sal_Int32 >( maPath2DList[ 0 ].w );
-            if ( maPath2DList[ 0 ].h )
-                aViewBox.Height = static_cast< sal_Int32 >( maPath2DList[ 0 ].h );
-        }
         aPropertyMap[ PROP_ViewBox ] <<= aViewBox;
 
         Sequence< EnhancedCustomShapeAdjustmentValue > aAdjustmentValues( maAdjustmentGuideList.size() );
@@ -241,6 +234,7 @@ void CustomShapeProperties::pushToPropSet( const ::oox::core::FilterBase& /* rFi
         aPropertyMap[ PROP_AdjustmentValues ] <<= aAdjustmentValues;
 
         PropertyMap aPath;
+
         Sequence< EnhancedCustomShapeSegment > aSegments( maSegments.size() );
         for ( i = 0; i < maSegments.size(); i++ )
             aSegments[ i ] = maSegments[ i ];
@@ -258,11 +252,36 @@ void CustomShapeProperties::pushToPropSet( const ::oox::core::FilterBase& /* rFi
         sal_uInt32 j, k, nParameterPairs = 0;
         for ( i = 0; i < maPath2DList.size(); i++ )
             nParameterPairs += maPath2DList[ i ].parameter.size();
+
         Sequence< EnhancedCustomShapeParameterPair > aParameterPairs( nParameterPairs );
         for ( i = 0, k = 0; i < maPath2DList.size(); i++ )
             for ( j = 0; j < maPath2DList[ i ].parameter.size(); j++ )
                 aParameterPairs[ k++ ] = maPath2DList[ i ].parameter[ j ];
         aPath[ PROP_Coordinates ] <<= aParameterPairs;
+
+        if ( maPath2DList.size() )
+        {
+            sal_Bool bAllZero = sal_True;
+            for ( i=0; i < maPath2DList.size(); i++ )
+            {
+                if ( maPath2DList[i].w || maPath2DList[i].h ) {
+                    bAllZero = sal_False;
+                    break;
+                }
+            }
+
+            if ( !bAllZero ) {
+                Sequence< awt::Size > aSubViewSize( maPath2DList.size() );
+                for ( i=0; i < maPath2DList.size(); i++ )
+                {
+                    aSubViewSize[i].Width = static_cast< sal_Int32 >( maPath2DList[i].w );
+                    aSubViewSize[i].Height = static_cast< sal_Int32 >( maPath2DList[i].h );
+                    OSL_TRACE("set subpath %d size: %d x %d", i, maPath2DList[i].w, maPath2DList[i].h);
+                }
+                aPath[ PROP_SubViewSize ] <<= aSubViewSize;
+            }
+        }
+
         Sequence< PropertyValue > aPathSequence = aPath.makePropertyValueSequence();
         aPropertyMap[ PROP_Path ] <<= aPathSequence;
 
diff --git a/oox/source/token/properties.txt b/oox/source/token/properties.txt
index 50c46bd..9127c38 100644
--- a/oox/source/token/properties.txt
+++ b/oox/source/token/properties.txt
@@ -434,6 +434,7 @@ StartingAngle
 State
 StringItemList
 Subtotals
+SubViewSize
 Suffix
 SwapXAndYAxis
 Symbol
commit d281af514546b18cb429cfb4f68128e60980adb8
Author: Radek Doulik <rodo at novell.com>
Date:   Thu Jan 19 09:43:41 2012 +0100

    implemented SubViewSize property for EnhancedCustomShapePath

diff --git a/svx/inc/svx/EnhancedCustomShape2d.hxx b/svx/inc/svx/EnhancedCustomShape2d.hxx
index fa2a079..415385c 100644
--- a/svx/inc/svx/EnhancedCustomShape2d.hxx
+++ b/svx/inc/svx/EnhancedCustomShape2d.hxx
@@ -34,6 +34,7 @@
 #include <com/sun/star/uno/Sequence.h>
 #include <com/sun/star/beans/PropertyValues.hpp>
 #include <com/sun/star/awt/Point.hpp>
+#include <com/sun/star/awt/Size.hpp>
 #include <svl/itemset.hxx>
 #include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.hpp>
 #include <com/sun/star/drawing/EnhancedCustomShapeSegment.hpp>
@@ -86,6 +87,8 @@ class EnhancedCustomShape2d : public SfxItemSet
 
         sal_Int32                   nCoordLeft;
         sal_Int32                   nCoordTop;
+        sal_Int32                   nCoordWidthG;
+        sal_Int32                   nCoordHeightG;
         sal_Int32                   nCoordWidth;
         sal_Int32                   nCoordHeight;
         Rectangle                   aLogicRect;
@@ -119,6 +122,7 @@ class EnhancedCustomShape2d : public SfxItemSet
         com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeParameterPair>       seqGluePoints;
         com::sun::star::uno::Sequence< com::sun::star::drawing::EnhancedCustomShapeAdjustmentValue >    seqAdjustmentValues;
         com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValues >                          seqHandles;
+        com::sun::star::uno::Sequence< com::sun::star::awt::Size >                                      seqSubViewSize;
 
         sal_Bool                    bTextFlow       : 1;
         sal_Bool                    bFilled         : 1;
@@ -139,10 +143,13 @@ class EnhancedCustomShape2d : public SfxItemSet
                                                     const sal_Bool bScale = sal_True, const sal_Bool bReplaceGeoSize = sal_False ) const;
 
         void                        CreateSubPath( sal_uInt16& rSrcPt, sal_uInt16& rSegmentInd, std::vector< SdrPathObj* >& rObjectList,
-                                                                                                sal_Bool bLineGeometryNeededOnly, sal_Bool bSortFilledObjectsToBack );
+                                                   sal_Bool bLineGeometryNeededOnly, sal_Bool bSortFilledObjectsToBack,
+                                                   sal_Int32 nIndex );
         SdrObject*                  CreatePathObj( sal_Bool bLineGeometryNeededOnly );
         const sal_Int32*            ApplyShapeAttributes( const SdrCustomShapeGeometryItem& rItem );
 
+        void                        SetPathSize( sal_Int32 nIndex = 0 );
+
     public :
 
         struct Handle
diff --git a/svx/source/customshapes/EnhancedCustomShape2d.cxx b/svx/source/customshapes/EnhancedCustomShape2d.cxx
index ee8a365..3e5f340 100644
--- a/svx/source/customshapes/EnhancedCustomShape2d.cxx
+++ b/svx/source/customshapes/EnhancedCustomShape2d.cxx
@@ -600,10 +600,10 @@ const sal_Int32* EnhancedCustomShape2d::ApplyShapeAttributes( const SdrCustomSha
     com::sun::star::awt::Rectangle aViewBox;
     if ( pViewBox && (*pViewBox >>= aViewBox ) )
     {
-        nCoordLeft  = aViewBox.X;
-        nCoordTop   = aViewBox.Y;
-        nCoordWidth = labs( aViewBox.Width );
-        nCoordHeight= labs( aViewBox.Height);
+        nCoordLeft    = aViewBox.X;
+        nCoordTop     = aViewBox.Y;
+        nCoordWidthG  = labs( aViewBox.Width );
+        nCoordHeightG = labs( aViewBox.Height);
     }
     const rtl::OUString sPath( RTL_CONSTASCII_USTRINGPARAM ( "Path" ) );
 
@@ -631,6 +631,14 @@ const sal_Int32* EnhancedCustomShape2d::ApplyShapeAttributes( const SdrCustomSha
     if ( pAny )
         *pAny >>= seqSegments;
 
+    //////////////////////
+    // Path/SubViewSize //
+    //////////////////////
+    const rtl::OUString sSubViewSize( RTL_CONSTASCII_USTRINGPARAM ( "SubViewSize" ) );
+    pAny = ((SdrCustomShapeGeometryItem&)rGeometryItem).GetPropertyValueByName( sPath, sSubViewSize );
+    if ( pAny )
+        *pAny >>= seqSubViewSize;
+
     ///////////////////
     // Path/StretchX //
     ///////////////////
@@ -686,14 +694,65 @@ EnhancedCustomShape2d::~EnhancedCustomShape2d()
 {
 }
 
+void EnhancedCustomShape2d::SetPathSize( sal_Int32 nIndex )
+{
+    sal_Int32 nWidth = 0;
+    sal_Int32 nHeight = 0;
+
+    if ( seqSubViewSize.getLength() && nIndex < seqSubViewSize.getLength() ) {
+        nWidth = seqSubViewSize[ nIndex ].Width;
+        nHeight = seqSubViewSize[ nIndex ].Height;
+        OSL_TRACE("set subpath %d size: %d x %d", nIndex, nWidth, nHeight);
+    }
+
+    if ( nWidth && nHeight ) {
+        nCoordWidth = nWidth;
+        nCoordHeight = nHeight;
+    } else {
+        nCoordWidth = nCoordWidthG;
+        nCoordHeight = nCoordHeightG;
+    }
+
+    fXScale = nCoordWidth == 0 ? 0.0 : (double)aLogicRect.GetWidth() / (double)nCoordWidth;
+    fYScale = nCoordHeight == 0 ? 0.0 : (double)aLogicRect.GetHeight() / (double)nCoordHeight;
+    if ( bOOXMLShape )
+    {
+        OSL_TRACE("ooxml shape, path width: %d height: %d", nCoordWidth, nCoordHeight);
+        if ( nCoordWidth == 0 )
+            fXScale = 1.0;
+        if ( nCoordHeight == 0 )
+            fYScale = 1.0;
+    }
+    if ( (sal_uInt32)nXRef != 0x80000000 && aLogicRect.GetHeight() )
+    {
+        fXRatio = (double)aLogicRect.GetWidth() / (double)aLogicRect.GetHeight();
+        if ( fXRatio > 1 )
+            fXScale /= fXRatio;
+        else
+            fXRatio = 1.0;
+    }
+    else
+        fXRatio = 1.0;
+    if ( (sal_uInt32)nYRef != 0x80000000 && aLogicRect.GetWidth() )
+    {
+        fYRatio = (double)aLogicRect.GetHeight() / (double)aLogicRect.GetWidth();
+        if ( fYRatio > 1 )
+            fYScale /= fYRatio;
+        else
+            fYRatio = 1.0;
+    }
+    else
+        fYRatio = 1.0;
+}
+
 EnhancedCustomShape2d::EnhancedCustomShape2d( SdrObject* pAObj ) :
     SfxItemSet          ( pAObj->GetMergedItemSet() ),
     pCustomShapeObj     ( pAObj ),
     eSpType             ( mso_sptNil ),
     nCoordLeft          ( 0 ),
     nCoordTop           ( 0 ),
-    nCoordWidth         ( 21600 ),
-    nCoordHeight        ( 21600 ),
+    nCoordWidthG        ( 21600 ),
+    nCoordHeightG       ( 21600 ),
     bOOXMLShape         ( sal_False ),
     nXRef               ( 0x80000000 ),
     nYRef               ( 0x80000000 ),
@@ -754,6 +813,8 @@ EnhancedCustomShape2d::EnhancedCustomShape2d( SdrObject* pAObj ) :
          nRotateAngle = pCustomShapeObj->GetRotateAngle();
 
     /*const sal_Int32* pDefData =*/ ApplyShapeAttributes( rGeometryItem );
+    SetPathSize();
+
     switch( eSpType )
     {
         case mso_sptCan :                       nColorData = 0x20400000; break;
@@ -798,40 +859,8 @@ EnhancedCustomShape2d::EnhancedCustomShape2d( SdrObject* pAObj ) :
             break;
     }
 
-    fXScale = nCoordWidth == 0 ? 0.0 : (double)aLogicRect.GetWidth() / (double)nCoordWidth;
-    fYScale = nCoordHeight == 0 ? 0.0 : (double)aLogicRect.GetHeight() / (double)nCoordHeight;
-    if ( bOOXMLShape )
-    {
-        OSL_TRACE("ooxml shape, path width: %d height: %d", nCoordWidth, nCoordHeight);
-        if ( nCoordWidth == 0 )
-            fXScale = 1.0;
-        if ( nCoordHeight == 0 )
-            fYScale = 1.0;
-    }
-    if ( (sal_uInt32)nXRef != 0x80000000 && aLogicRect.GetHeight() )
-    {
-        fXRatio = (double)aLogicRect.GetWidth() / (double)aLogicRect.GetHeight();
-        if ( fXRatio > 1 )
-            fXScale /= fXRatio;
-        else
-            fXRatio = 1.0;
-    }
-    else
-        fXRatio = 1.0;
-    if ( (sal_uInt32)nYRef != 0x80000000 && aLogicRect.GetWidth() )
-    {
-        fYRatio = (double)aLogicRect.GetHeight() / (double)aLogicRect.GetWidth();
-        if ( fYRatio > 1 )
-            fYScale /= fYRatio;
-        else
-            fYRatio = 1.0;
-    }
-    else
-        fYRatio = 1.0;
-
     sal_Int32 i, nLength = seqEquations.getLength();
 
-
     if ( nLength )
     {
         vNodesSharedPtr.resize( nLength );
@@ -1452,8 +1481,9 @@ basegfx::B2DPolygon CreateArc( const Rectangle& rRect, const Point& rStart, cons
 }
 
 void EnhancedCustomShape2d::CreateSubPath( sal_uInt16& rSrcPt, sal_uInt16& rSegmentInd, std::vector< SdrPathObj* >& rObjectList,
-                                                                                        const sal_Bool bLineGeometryNeededOnly,
-                                                                                        const sal_Bool bSortFilledObjectsToBack )
+                                           const sal_Bool bLineGeometryNeededOnly,
+                                           const sal_Bool bSortFilledObjectsToBack,
+                                           sal_Int32 nIndex )
 {
     sal_Bool bNoFill = sal_False;
     sal_Bool bNoStroke = sal_False;
@@ -1462,6 +1492,8 @@ void EnhancedCustomShape2d::CreateSubPath( sal_uInt16& rSrcPt, sal_uInt16& rSegm
     basegfx::B2DPolyPolygon aNewB2DPolyPolygon;
     basegfx::B2DPolygon aNewB2DPolygon;
 
+    SetPathSize( nIndex );
+
     sal_Int32 nCoordSize = seqCoordinates.getLength();
     sal_Int32 nSegInfoSize = seqSegments.getLength();
     if ( !nSegInfoSize )
@@ -2132,9 +2164,12 @@ SdrObject* EnhancedCustomShape2d::CreatePathObj( sal_Bool bLineGeometryNeededOnl
     std::vector< SdrPathObj* > vObjectList;
     sal_Bool bSortFilledObjectsToBack = SortFilledObjectsToBackByDefault( eSpType );
 
+    sal_Int32 nSubPathIndex = 0;
+
     while( nSegmentInd <= seqSegments.getLength() )
     {
-        CreateSubPath( nSrcPt, nSegmentInd, vObjectList, bLineGeometryNeededOnly, bSortFilledObjectsToBack );
+        CreateSubPath( nSrcPt, nSegmentInd, vObjectList, bLineGeometryNeededOnly, bSortFilledObjectsToBack, nSubPathIndex );
+        nSubPathIndex ++;
     }
 
     SdrObject* pRet = NULL;
commit fccfa941b206e530449516432a6396376d948336
Author: Radek Doulik <rodo at novell.com>
Date:   Thu Jan 19 09:42:39 2012 +0100

    added SubViewSize property to EnhancedCustomShapePath
    
     - allow to specify view boxes for sub paths

diff --git a/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl b/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl
index 6d9279d..f193478 100644
--- a/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl
+++ b/offapi/com/sun/star/drawing/EnhancedCustomShapePath.idl
@@ -96,6 +96,10 @@ service EnhancedCustomShapePath
         default is false;
     */
     [optional, property] boolean TextPathAllowed;
+
+    /** This property specifies view size per sub path
+    */
+    [optional, property] sequence< ::com::sun::star::awt::Size > SubViewSize;
 };
 
 //=============================================================================


More information about the Libreoffice-commits mailing list