[Libreoffice-commits] core.git: 2 commits - include/svx svx/source
Caolán McNamara
caolanm at redhat.com
Sat May 18 07:43:24 PDT 2013
include/svx/EnhancedCustomShape2d.hxx | 4
include/svx/EnhancedCustomShapeGeometry.hxx | 2
svx/source/customshapes/EnhancedCustomShape2d.cxx | 4
svx/source/customshapes/EnhancedCustomShapeGeometry.cxx | 291 +++++++++++++++-
svx/source/svdraw/svdopath.cxx | 4
5 files changed, 293 insertions(+), 12 deletions(-)
New commits:
commit f47ed987388e4df58ba74b9aca574a7d1fba396a
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sat May 18 15:42:50 2013 +0100
Revert "Resolves: #i116244# need to reset rotation..."
This reverts commit 20dee85b6390ef3edc5434889523cd9fd0137bae.
diff --git a/svx/source/svdraw/svdopath.cxx b/svx/source/svdraw/svdopath.cxx
index da8a767..f416cea 100644
--- a/svx/source/svdraw/svdopath.cxx
+++ b/svx/source/svdraw/svdopath.cxx
@@ -1770,10 +1770,6 @@ void SdrPathObj::ImpForceKind()
{
aRect = lcl_ImpGetBoundRect(GetPathPoly());
}
-
- // #i116244# reset rotation
- aGeo.nDrehWink = aGeo.nShearWink = 0;
- aGeo.RecalcSinCos(); aGeo.RecalcTan();
}
// #i75974# adapt polygon state to object type. This may include a reinterpretation
commit 569dfd22e09e954654f4a383da9d0ac7dad33737
Author: Armin Le Grand <alg at apache.org>
Date: Wed Aug 1 13:45:21 2012 +0000
Resolves: #i119755# A new custom shape ellipse ribbon is added and used
Patch by: Jianyuan Li
Review by: alg
(cherry picked from commit 462656d2f30fade52e38094dcc2392f75b28ef79)
Conflicts:
svx/inc/svx/EnhancedCustomShape2d.hxx
svx/inc/svx/EnhancedCustomShapeGeometry.hxx
svx/source/customshapes/EnhancedCustomShape2d.cxx
Change-Id: Ifd1fdf1b79db8229b52db43b3c30f109a9930988
diff --git a/include/svx/EnhancedCustomShape2d.hxx b/include/svx/EnhancedCustomShape2d.hxx
index 600e247..2aee4f5 100644
--- a/include/svx/EnhancedCustomShape2d.hxx
+++ b/include/svx/EnhancedCustomShape2d.hxx
@@ -209,9 +209,9 @@ class EnhancedCustomShape2d : public SfxItemSet
double GetEquationValueAsDouble( const sal_Int32 nIndex ) const;
sal_Int32 GetAdjustValueAsInteger( const sal_Int32 nIndex, const sal_Int32 nDefault = 0 ) const;
- SVX_DLLPUBLIC static OUString GetEquation( const sal_uInt16 nFlags, sal_Int16 nPara1, sal_Int16 nPara2, sal_Int16 nPara3 );
+ SVX_DLLPUBLIC static OUString GetEquation( const sal_uInt16 nFlags, sal_Int32 nPara1, sal_Int32 nPara2, sal_Int32 nPara3 );
- static void AppendEnhancedCustomShapeEquationParameter( OUString& rParameter, const sal_Int16 nPara, const bool bIsSpecialValue );
+ static void AppendEnhancedCustomShapeEquationParameter( OUString& rParameter, const sal_Int32 nPara, const bool bIsSpecialValue );
static void SetEnhancedCustomShapeEquationParameter( com::sun::star::drawing::EnhancedCustomShapeParameter&
rParameter, const sal_Int16 nPara, const sal_Bool bIsSpecialValue );
diff --git a/include/svx/EnhancedCustomShapeGeometry.hxx b/include/svx/EnhancedCustomShapeGeometry.hxx
index 4669e68..b574488 100644
--- a/include/svx/EnhancedCustomShapeGeometry.hxx
+++ b/include/svx/EnhancedCustomShapeGeometry.hxx
@@ -31,7 +31,7 @@ struct SvxMSDffVertPair
struct SvxMSDffCalculationData
{
sal_uInt16 nFlags;
- sal_Int16 nVal[ 3 ];
+ sal_Int32 nVal[ 3 ];
};
struct SvxMSDffTextRectangles
{
diff --git a/svx/source/customshapes/EnhancedCustomShape2d.cxx b/svx/source/customshapes/EnhancedCustomShape2d.cxx
index 210f55b..0675abd 100644
--- a/svx/source/customshapes/EnhancedCustomShape2d.cxx
+++ b/svx/source/customshapes/EnhancedCustomShape2d.cxx
@@ -77,7 +77,7 @@ void EnhancedCustomShape2d::SetEnhancedCustomShapeParameter( EnhancedCustomShape
rParameter.Value <<= nNewValue;
}
-OUString EnhancedCustomShape2d::GetEquation( const sal_uInt16 nFlags, sal_Int16 nP1, sal_Int16 nP2, sal_Int16 nP3 )
+OUString EnhancedCustomShape2d::GetEquation( const sal_uInt16 nFlags, sal_Int32 nP1, sal_Int32 nP2, sal_Int32 nP3 )
{
OUString aEquation;
bool b1Special = ( nFlags & 0x2000 ) != 0;
@@ -321,7 +321,7 @@ OUString EnhancedCustomShape2d::GetEquation( const sal_uInt16 nFlags, sal_Int16
return aEquation;
}
-void EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( OUString& rParameter, const sal_Int16 nPara, const bool bIsSpecialValue )
+void EnhancedCustomShape2d::AppendEnhancedCustomShapeEquationParameter( OUString& rParameter, const sal_Int32 nPara, const bool bIsSpecialValue )
{
if ( bIsSpecialValue )
{
diff --git a/svx/source/customshapes/EnhancedCustomShapeGeometry.cxx b/svx/source/customshapes/EnhancedCustomShapeGeometry.cxx
index 06d0081..2c3cdd7 100644
--- a/svx/source/customshapes/EnhancedCustomShapeGeometry.cxx
+++ b/svx/source/customshapes/EnhancedCustomShapeGeometry.cxx
@@ -4483,7 +4483,292 @@ static const mso_CustomShape msoRibbon =
(SvxMSDffVertPair*)mso_sptRibbonGluePoints, SAL_N_ELEMENTS( mso_sptRibbonGluePoints ),
(SvxMSDffHandle*)mso_sptRibbonHandle, SAL_N_ELEMENTS( mso_sptRibbonHandle )
};
-
+//msosptEllipseRibbon
+//svg path = ar at 9@38 at 8@37,0 at 27@0 at 26@9 at 13@8 at 4@0 at 25@22 at 25@9 at 38@8 at 37@22 at 26@3 at 27l@7 at 40@3,wa at 9@35 at 8@10 at 3,0 at 21@33 at 9@36 at 8@1 at 21@31 at 20@31 at 9@35 at 8@10 at 20@33,,l at 5@40xewr at 9@36 at 8@1 at 20@31 at 0@32nfl at 20@33ear at 9@36 at 8@1 at 21@31 at 22@32nfl at 21@33em at 0@26nfl at 0@32em at 22@26nfl at 22@32e
+//odp path = A ?f9 ?f38 ?f8 ?f37 0 ?f27 ?f0 ?f26 ?f9 ?f13 ?f8 ?f4 ?f0 ?f25 ?f22 ?f25 ?f9 ?f38 ?f8 ?f37 ?f22 ?f26 ?f3 ?f27 L ?f7 ?f40 ?f3 0 W ?f9 ?f35 ?f8 ?f10 ?f3 0 ?f21 ?f33 ?f9 ?f36 ?f8 ?f1 ?f21 ?f31 ?f20 ?f31 ?f9 ?f35 ?f8 ?f10 ?f20 ?f33 0 0 L ?f5 ?f40 Z N W ?f9 ?f36 ?f8 ?f1 ?f20 ?f31 ?f0 ?f32 F L ?f20 ?f33 N A ?f9 ?f36 ?f8 ?f1 ?f21 ?f31 ?f22 ?f32 F L ?f21 ?f33 N M ?f0 ?f26 F L ?f0 ?f32 N M ?f22 ?f26 F L ?f22 ?f32 N
+static const SvxMSDffVertPair mso_sptEllipseRibbonVert[] =
+{
+ { 9 MSO_I , 38 MSO_I },
+ { 8 MSO_I , 37 MSO_I },
+ { 0 , 27 MSO_I },
+ { 0 MSO_I , 26 MSO_I },
+ { 9 MSO_I , 13 MSO_I },
+ { 8 MSO_I , 4 MSO_I },
+ { 0 MSO_I , 25 MSO_I },
+ { 22 MSO_I , 25 MSO_I },
+ { 9 MSO_I , 38 MSO_I },
+ { 8 MSO_I , 37 MSO_I },
+ { 22 MSO_I , 26 MSO_I },
+ { 3 MSO_I , 27 MSO_I },
+ { 7 MSO_I , 40 MSO_I },
+ { 3 MSO_I , 0 },
+ { 9 MSO_I , 35 MSO_I },
+ { 8 MSO_I , 10 MSO_I },
+ { 3 MSO_I , 0 },
+ { 21 MSO_I , 33 MSO_I },
+ { 9 MSO_I , 36 MSO_I },
+ { 8 MSO_I , 1 MSO_I },
+ { 21 MSO_I , 31 MSO_I },
+ { 20 MSO_I , 31 MSO_I },
+ { 9 MSO_I , 35 MSO_I },
+ { 8 MSO_I , 10 MSO_I },
+ { 20 MSO_I , 33 MSO_I },
+ { 0 , 0 },
+ { 5 MSO_I , 40 MSO_I },
+ { 9 MSO_I , 36 MSO_I },
+ { 8 MSO_I , 1 MSO_I },
+ { 20 MSO_I , 31 MSO_I },
+ { 0 MSO_I , 32 MSO_I },
+ { 20 MSO_I , 33 MSO_I },
+ { 9 MSO_I , 36 MSO_I },
+ { 8 MSO_I , 1 MSO_I },
+ { 21 MSO_I , 31 MSO_I },
+ { 22 MSO_I , 32 MSO_I },
+ { 21 MSO_I , 33 MSO_I },
+ { 0 MSO_I , 26 MSO_I },
+ { 0 MSO_I , 32 MSO_I },
+ { 22 MSO_I , 26 MSO_I },
+ { 22 MSO_I , 32 MSO_I }
+};
+
+static const sal_uInt16 mso_sptEllipseRibbonSegm[] =
+{
+ 0xa30c /*ar*/,0x0002/*l*/,0xa50c/*wa*/,0x0001/*l*/,
+ 0x6001/*x*/, 0x8000/*e*/,0xa504/*wr*/,0xaa00/*nf*/,
+ 0x0001/*l*/, 0x8000/*e*/,0xa304/*ar*/,0xaa00/*nf*/,
+ 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
+ 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
+ 0x0001/*l*/, 0x8000/*e*/
+};
+
+static const SvxMSDffCalculationData mso_sptEllipseRibbonCalc[] =
+{
+ { 0x2000 , { DFF_Prop_adjustValue , 0 , 0 } }, //val #0
+ { 0x2000 , { DFF_Prop_adjust2Value , 0 , 0 } }, //val #1
+ { 0x2000 , { DFF_Prop_adjust3Value , 0 , 0 } }, //val #2
+ { 0x2000 , { DFF_Prop_geoRight , 0 , 0 } }, //val width
+ { 0x2000 , { DFF_Prop_geoBottom , 0 , 0 } }, //val height
+ { 0x2001 , { DFF_Prop_geoRight , 1 , 8 } }, //prod width 1 8
+ { 0x2001 , { DFF_Prop_geoRight , 1 , 2 } }, //prod width 1 2
+ { 0x2001 , { DFF_Prop_geoRight , 7 , 8 } }, //prod width 7 8
+ { 0x2001 , { DFF_Prop_geoRight , 3 , 2 } }, //prod width 3 2
+ { 0x8000 , { 0 , 0 , 0x406 } }, //sum 0 0 @6
+ { 0xa000 , { DFF_Prop_geoBottom , 0 , DFF_Prop_adjust3Value } }, //sum height 0 #2
+ { 0x2001 , { 0x40a , 30573 , 4096 } }, //prod @10 30573 4096
+ { 0x2001 , { 0x40b , 2 , 1 } }, //prod @11 2 1
+ { 0xa000 , { DFF_Prop_geoBottom , 0 , 0x40c } }, //sum height 0 @12
+ { 0x6000 , { 0x40b , DFF_Prop_adjust3Value , 0 } }, //sum @11 #2 0
+ { 0xe000 , { 0x40b , DFF_Prop_geoBottom , DFF_Prop_adjust2Value } }, //sum @11 height #1
+ { 0xa000 , { DFF_Prop_geoBottom , 0 , DFF_Prop_adjust2Value } }, //sum height 0 #1
+ { 0x2001 , { 0x410 , 1 , 2 } }, //prod @16 1 2
+ { 0x6000 , { 0x40b , 0x411 , 0 } }, //sum @11 @17 0
+ { 0xe000 , { 0x40e , DFF_Prop_adjust2Value , DFF_Prop_geoBottom } }, //sum @14 #1 height
+ { 0x6000 , { DFF_Prop_adjustValue , 0x405 , 0 } }, //sum #0 @5 0
+ { 0xa000 , { DFF_Prop_geoRight , 0 , 0x414 } }, //sum width 0 @20
+ { 0xa000 , { DFF_Prop_geoRight , 0 , DFF_Prop_adjustValue } }, //sum width 0 #0
+ { 0xa000 , { 0x406 , 0 , DFF_Prop_adjustValue } }, //sum @6 0 #0
+ { 0xe00f , { 0x417 , DFF_Prop_geoRight , 0x40b } }, //ellipse @23 width @11
+ { 0xe000 , { 0x418 , DFF_Prop_geoBottom , 0x40b } }, //sum @24 height @11
+ { 0xe000 , { 0x419 , 0x40b , 0x413 } }, //sum @25 @11 @19
+ { 0xe000 , { DFF_Prop_adjust3Value , 0x40b , 0x413 } }, //sum #2 @11 @19
+ { 0x2001 , { 0x40b , 2391 , 32768 } }, //prod @11 2391 32768
+ { 0xa000 , { 0x406 , 0 , 0x414 } }, //sum @6 0 @20
+ { 0xe00f , { 0x41d , DFF_Prop_geoRight , 0x40b } }, //ellipse @29 width @11
+ { 0xe000 , { DFF_Prop_adjust2Value , 0x41e , 0x40b } }, //sum #1 @30 @11
+ { 0xe000 , { 0x419 , DFF_Prop_adjust2Value , DFF_Prop_geoBottom } }, //sum @25 #1 height
+ { 0xe000 , { DFF_Prop_geoBottom , 0x41e , 0x40e } }, //sum height @30 @14
+ { 0x6000 , { 0x40b , 0x40e , 0 } }, //sum @11 @14 0
+ { 0xa000 , { DFF_Prop_geoBottom , 0 , 0x422 } }, //sum height 0 @34
+ { 0xe000 , { 0x423 , 0x413 , 0x40b } }, //sum @35 @19 @11
+ { 0xe000 , { 0x40a , 0x40f , 0x40b } }, //sum @10 @15 @11
+ { 0xe000 , { 0x423 , 0x40f , 0x40b } }, //sum @35 @15 @11
+ { 0xe000 , { 0x41c , 0x40e , 0x412 } }, //sum @28 @14 @18
+ { 0xa000 , { DFF_Prop_geoBottom , 0 , 0x427 } }, //sum height 0 @39
+ { 0xa000 , { 0x413 , 0 , 0x412 } }, //sum @19 0 @18
+ { 0x2001 , { 0x429 , 2 , 3 } }, //prod @41 2 3
+ { 0xa000 , { DFF_Prop_adjust2Value , 0 , 0x42a } }, //sum #1 0 @42
+ { 0xa000 , { DFF_Prop_adjust3Value , 0 , 0x42a } }, //sum #2 0 @42
+ { 0x2004 , { 0x42c , 20925 , 0 } }, //min @44 20925
+ { 0x2001 , { DFF_Prop_geoRight , 3 , 8 } }, //prod width 3 8
+ { 0x2000 , { 0x42e , 0 , 4 } }, //sum @46 0 4
+};
+
+static const SvxMSDffTextRectangles mso_sptEllipseRibbonTextRect[] =
+{//@0, at 1, at 22, at 25
+ { { 0 MSO_I, 1 MSO_I }, { 22 MSO_I, 25 MSO_I } }
+};
+
+static const sal_Int32 mso_sptEllipseRibbonDefault[] =
+{
+ 3,5400,5400,18900
+};
+
+static const SvxMSDffHandle mso_sptEllipseRibbonHandle[] =
+{
+//position="#0,bottomRight" xrange="@5, at 47
+//position="center,#1" yrange="@10, at 43
+//position="topLeft,#2" yrange="@27, at 45
+ { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL| MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
+ 0x100, 21600, 0, 0, 0x8/*5+3*/, 0x32/*47+3*/, MIN_INT32, 0x7fffffff },
+ { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
+ 10800, 0x101, 0, 0, MIN_INT32, 0x7fffffff,0xd/*10+3*/, 0x2e /*43+3*/ },
+ { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
+ 0, 0x102, 0, 0, MIN_INT32, 0x7fffffff,0x1e/*27+3*/, 0x30 /*45+3*/ }
+};
+
+static const mso_CustomShape msosptEllipseRibbon =
+{
+ (SvxMSDffVertPair*)mso_sptEllipseRibbonVert, sizeof( mso_sptEllipseRibbonVert ) / sizeof( SvxMSDffVertPair ),
+ (sal_uInt16*)mso_sptEllipseRibbonSegm, sizeof( mso_sptEllipseRibbonSegm ) >> 1,
+ (SvxMSDffCalculationData*)mso_sptEllipseRibbonCalc, sizeof( mso_sptEllipseRibbonCalc ) / sizeof( SvxMSDffCalculationData ),
+ (sal_Int32*)mso_sptEllipseRibbonDefault,
+ (SvxMSDffTextRectangles*)mso_sptEllipseRibbonTextRect, sizeof( mso_sptEllipseRibbonTextRect ) / sizeof( SvxMSDffTextRectangles ),
+ 21600, 21600,
+ MIN_INT32, MIN_INT32,
+ NULL, 0,
+ (SvxMSDffHandle*)mso_sptEllipseRibbonHandle, sizeof( mso_sptEllipseRibbonHandle ) / sizeof( SvxMSDffHandle )
+};
+
+//msosptEllipseRibbon2
+//svg path = wr at 9@34 at 8@35,0 at 24@0 at 23@9,0 at 8@11 at 0@22 at 19@22 at 9@34 at 8@35 at 19@23 at 3@24l at 7@36 at 3@4at at 9@31 at 8@32 at 3@4 at 18@30 at 9@1 at 8@33 at 18@28 at 17@28 at 9@31 at 8@32 at 17@30,0 at 4l@5 at 36xear@9 at 1@8 at 33@17 at 28@0 at 29nfl@17 at 30ewr@9 at 1@8 at 33@18 at 28@19 at 29nfl@18 at 30em@0 at 23nfl@0 at 29em@19 at 23nfl@19 at 29e
+static const SvxMSDffVertPair mso_sptEllipseRibbon2Vert[] =
+{
+ { 9 MSO_I , 34 MSO_I },
+ { 8 MSO_I , 35 MSO_I },
+ { 0 , 24 MSO_I },
+ { 0 MSO_I , 23 MSO_I },
+ { 9 MSO_I , 0 },
+ { 8 MSO_I , 11 MSO_I },
+ { 0 MSO_I , 22 MSO_I },
+ { 19 MSO_I , 22 MSO_I },
+ { 9 MSO_I , 34 MSO_I },
+ { 8 MSO_I , 35 MSO_I },
+ { 19 MSO_I , 23 MSO_I },
+ { 3 MSO_I , 24 MSO_I },
+ { 7 MSO_I , 36 MSO_I },
+ { 3 MSO_I , 4 MSO_I },
+ { 9 MSO_I , 31 MSO_I },
+ { 8 MSO_I , 32 MSO_I },
+ { 3 MSO_I , 4 MSO_I },
+ { 18 MSO_I , 30 MSO_I },
+ { 9 MSO_I , 1 MSO_I },
+ { 8 MSO_I , 33 MSO_I },
+ { 18 MSO_I , 28 MSO_I },
+ { 17 MSO_I , 28 MSO_I },
+ { 9 MSO_I , 31 MSO_I },
+ { 8 MSO_I , 32 MSO_I },
+ { 17 MSO_I , 30 MSO_I },
+ { 0 , 4l MSO_I },
+ { 5 MSO_I , 36 MSO_I },
+ { 9 MSO_I , 1 MSO_I },
+ { 8 MSO_I , 33 MSO_I },
+ { 17 MSO_I , 28 MSO_I },
+ { 0 MSO_I , 29 MSO_I },
+ { 17 MSO_I , 30 MSO_I },
+ { 9 MSO_I , 1 MSO_I },
+ { 8 MSO_I , 33 MSO_I },
+ { 18 MSO_I , 28 MSO_I },
+ { 19 MSO_I , 29 MSO_I },
+ { 18 MSO_I , 30 MSO_I },
+ { 0 MSO_I , 23 MSO_I },
+ { 0 MSO_I , 29 MSO_I },
+ { 19 MSO_I , 23 MSO_I },
+ { 19 MSO_I , 29 MSO_I }
+};
+static const sal_uInt16 mso_sptEllipseRibbon2Segm[] =
+{
+ 0xa50c/*wr*/,0x0002/*l*/,0xa30c/*at*/,0x0001/*l*/,
+ 0x6001/*x*/, 0x8000/*e*/,0xa304/*ar*/,0xaa00/*nf*/,
+ 0x0001/*l*/, 0x8000/*e*/,0xa504/*wr*/,0xaa00/*nf*/,
+ 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
+ 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
+ 0x0001/*l*/, 0x8000/*e*/
+};
+
+static const SvxMSDffCalculationData mso_sptEllipseRibbon2Calc[] =
+{
+ { 0x2000 , { DFF_Prop_adjustValue , 0 , 0 } }, //val #0
+ { 0x2000 , { DFF_Prop_adjust2Value , 0 , 0 } }, //val #1
+ { 0x2000 , { DFF_Prop_adjust3Value , 0 , 0 } }, //val #2
+ { 0x2000 , { DFF_Prop_geoRight , 0 , 0 } }, //val width
+ { 0x2000 , { DFF_Prop_geoBottom , 0 , 0 } }, //val height
+ { 0x2001 , { DFF_Prop_geoRight , 1 , 8 } }, //prod width 1 8
+ { 0x2001 , { DFF_Prop_geoRight , 1 , 2 } }, //prod width 1 2
+ { 0x2001 , { DFF_Prop_geoRight , 7 , 8 } }, //prod width 7 8
+ { 0x2001 , { DFF_Prop_geoRight , 3 , 2 } }, //prod width 3 2
+ { 0x8000 , { 0 , 0 , 0x406 } }, //sum 0 0 @6
+ { 0x2001 , { DFF_Prop_adjust3Value , 30573 , 4096 } }, //prod #2 30573 4096
+ { 0x2001 , { 0x40a , 2 , 1 } }, //prod @10 2 1
+ { 0xe000 , { 0x40a , DFF_Prop_geoBottom , DFF_Prop_adjust3Value } }, //sum @10 height #2
+ { 0x6000 , { 0x40a , DFF_Prop_adjust2Value , 0 } }, //sum @10 #1 0
+ { 0x2001 , { DFF_Prop_adjust2Value , 1 , 2 } }, //prod #1 1 2
+ { 0x6000 , { 0x40a , 0x40e , 0 } }, //sum @10 @14 0
+ { 0xa000 , { 0x40c , 0 , DFF_Prop_adjust2Value } }, //sum @12 0 #1
+ { 0x6000 , { DFF_Prop_adjustValue , 0x405 , 0 } }, //sum #0 @5 0
+ { 0xa000 , { DFF_Prop_geoRight , 0 , 0x411 } }, //sum width 0 @17
+ { 0xa000 , { DFF_Prop_geoRight , 0 , DFF_Prop_adjustValue } }, //sum width 0 #0
+ { 0xa000 , { 0x406 , 0 , DFF_Prop_adjustValue } }, //sum @6 0 #0
+ { 0xe00f , { 0x414 , DFF_Prop_geoRight , 0x40a } }, //ellipse @20 width @10
+ { 0xa000 , { 0x40a , 0 , 0x415 } }, //sum @10 0 @21
+ { 0xe000 , { 0x416 , 0x410 , 0x40a } }, //sum @22 @16 @10
+ { 0xe000 , { DFF_Prop_adjust3Value , 0x410 , 0x40a } }, //sum #2 @16 @10
+ { 0x2001 , { 0x40a , 2391 , 32768 } }, //prod @10 2391 32768
+ { 0xa000 , { 0x406 , 0 , 0x411 } }, //sum @6 0 @17
+ { 0xe00f , { 0x41a , DFF_Prop_geoRight , 0x40a } }, //ellipse @26 width @10
+ { 0xe000 , { 0x40a , DFF_Prop_adjust2Value , 0x41b } }, //sum @10 #1 @27
+ { 0x6000 , { 0x416 , DFF_Prop_adjust2Value , 0 } }, //sum @22 #1 0
+ { 0xa000 , { 0x40c , 0 , 0x41b } }, //sum @12 0 @27
+ { 0xa000 , { DFF_Prop_geoBottom , 0 , DFF_Prop_adjust3Value } }, //sum height 0 #2
+ { 0x6000 , { 0x40a , 0x40c , 0 } }, //sum @10 @12 0
+ { 0xe000 , { 0x420 , 0x40a , 0x410 } }, //sum @32 @10 @16
+ { 0xe000 , { 0x41f , 0x40a , 0x40d } }, //sum @31 @10 @13
+ { 0xe000 , { 0x420 , 0x40a , 0x40d } }, //sum @32 @10 @13
+ { 0xe000 , { 0x419 , 0x40c , 0x40f } }, //sum @25 @12 @15
+ { 0xa000 , { 0x410 , 0 , 0x40f } }, //sum @16 0 @15
+ { 0x2001 , { 0x425 , 2 , 3 } }, //prod @37 2 3
+ { 0x6000 , { 0x401 , 0x426 , 0 } }, //sum @1 @38 0
+ { 0x6000 , { DFF_Prop_adjust3Value , 0x426 , 0 } }, //sum #2 @38 0
+ { 0x2005 , { 0x428 , 675 , 0 } }, //max @40 675
+ { 0x2001 , { DFF_Prop_geoRight , 3 , 8 } }, //prod width 3 8
+ { 0x2000 , { 0x42a , 0 , 4 } } //sum @42 0 4
+};
+
+static const SvxMSDffTextRectangles mso_sptEllipseRibbon2TextRect[] =
+{//@0, at 22, at 19, at 1
+ { { 0 MSO_I, 22 MSO_I }, { 19 MSO_I, 1 MSO_I } }
+};
+
+static const sal_Int32 mso_sptEllipseRibbon2Default[] =
+{
+ 3,5400,16200,2700
+};
+
+static const SvxMSDffHandle mso_sptEllipseRibbon2Handle[] =
+{
+//position="#0,topLeft" xrange="@5, at 43
+//position="center,#1" yrange="@39, at 31
+//position="topLeft,#2" yrange="@41, at 24
+ { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL| MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
+ 0x100, 0, 0, 0, 0x8/*5+3*/, 0x2e/*43+3*/, MIN_INT32, 0x7fffffff },
+ { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
+ 10800, 0x101, 0, 0, MIN_INT32, 0x7fffffff,0x2a/*39+3*/, 0x22 /*31+3*/ },
+ { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
+ 0, 0x102, 0, 0, MIN_INT32, 0x7fffffff,0x2c/*41+3*/, 0x1b /*24+3*/ }
+};
+
+static const mso_CustomShape msosptEllipseRibbon2 =
+{
+ (SvxMSDffVertPair*)mso_sptEllipseRibbon2Vert, sizeof( mso_sptEllipseRibbon2Vert ) / sizeof( SvxMSDffVertPair ),
+ (sal_uInt16*)mso_sptEllipseRibbon2Segm, sizeof( mso_sptEllipseRibbon2Segm ) >> 1,
+ (SvxMSDffCalculationData*)mso_sptEllipseRibbon2Calc, sizeof( mso_sptEllipseRibbon2Calc ) / sizeof( SvxMSDffCalculationData ),
+ (sal_Int32*)mso_sptEllipseRibbon2Default,
+ (SvxMSDffTextRectangles*)mso_sptEllipseRibbon2TextRect, sizeof( mso_sptEllipseRibbon2TextRect ) / sizeof( SvxMSDffTextRectangles ),
+ 21600, 21600,
+ MIN_INT32, MIN_INT32,
+ NULL, 0,
+ (SvxMSDffHandle*)mso_sptEllipseRibbon2Handle, sizeof( mso_sptEllipseRibbon2Handle ) / sizeof( SvxMSDffHandle )
+};
+// End
static const SvxMSDffVertPair mso_sptVerticalScrollVert[] = // adjustment1 : 0 - 5400
{
{ 1 MSO_I, 21600 }, { 0, 11 MSO_I }, { 1 MSO_I, 12 MSO_I }, { 0 MSO_I, 12 MSO_I },
@@ -8023,8 +8308,8 @@ const mso_CustomShape* GetCustomShapeContent( MSO_SPT eSpType )
case mso_sptSeal32 : pCustomShape = &msoSeal32; break;
case mso_sptRibbon2 : pCustomShape = &msoRibbon2; break;
case mso_sptRibbon : pCustomShape = &msoRibbon; break;
- case mso_sptEllipseRibbon2 : pCustomShape = &msoRibbon2; break; // SJ: TODO
- case mso_sptEllipseRibbon : pCustomShape = &msoRibbon; break; // SJ: TODO
+ case mso_sptEllipseRibbon2 : pCustomShape = &msosptEllipseRibbon2; break; // SJ: TODO
+ case mso_sptEllipseRibbon : pCustomShape = &msosptEllipseRibbon; break; // SJ: TODO
case mso_sptVerticalScroll : pCustomShape = &msoVerticalScroll; break;
case mso_sptHorizontalScroll : pCustomShape = &msoHorizontalScroll; break;
case mso_sptFlowChartProcess : pCustomShape = &msoFlowChartProcess; break;
More information about the Libreoffice-commits
mailing list