Commit 7c97941a authored by ElenaSubbotina's avatar ElenaSubbotina

.

parent 01a4cd22
...@@ -98,7 +98,7 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy ...@@ -98,7 +98,7 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
{ L"" , 7}, // shapetypeDiagStripe, { L"" , 7}, // shapetypeDiagStripe,
{ L"diamond" , 7}, // shapetypeDiamond, { L"diamond" , 7}, // shapetypeDiamond,
{ L"" , 7}, // shapetypeDodecagon, { L"" , 7}, // shapetypeDodecagon,
{ L"ring" , 7}, // shapetypeDonut, { L"" , 7}, // shapetypeDonut,
{ L"" , 7}, // shapetypeDoubleWave, { L"" , 7}, // shapetypeDoubleWave,
{ L"down-arrow" , 7}, // shapetypeDownArrow, { L"down-arrow" , 7}, // shapetypeDownArrow,
{ L"down-arrow-callout" , 7}, // shapetypeDownArrowCallout, { L"down-arrow-callout" , 7}, // shapetypeDownArrowCallout,
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
#include "../oox_shape_defines.h" #include "../oox_shape_defines.h"
// +shapetypeLeftCircularArrow, // +shapetypeLeftCircularArrow,
// shapetypeLeftRightCircularArrow, // shapetypeLeftRightCircularArrow,
// shapetypeSwooshArrow, // +shapetypeSwooshArrow,
// +shapetypeCircularArrow // +shapetypeCircularArrow
namespace cpdoccore namespace cpdoccore
{ {
...@@ -515,4 +515,63 @@ public: ...@@ -515,4 +515,63 @@ public:
handles.push_back(h); handles.push_back(h);
} }
}; };
class oox_shape_SwooshArrow : public oox_shape
{
public:
oox_shape_SwooshArrow()
{
odf_type_name = L"ooxml-swooshArrow";
enhanced_path = L"M 0 ?f30 Q ?f25 ?f23 ?f6 ?f8 L ?f11 0 ?f31 ?f20 ?f15 ?f16 ?f14 ?f13 Q ?f29 ?f27 0 ?f30 Z N";
text_areas = L"0 0 ?f31 ?f30";
modifiers = L"25000 25000";
view_box = L"0 0 0 0";
add(L"f0", L"if(1-$0 ,1,if(75000-$0 ,$0 ,75000))");
add(L"f1", L"min(logwidth,logheight)");
add(L"f2", L"70000*logwidth/?f1 ");
add(L"f3", L"if(0-$1 ,0,if(?f2 -$1 ,$1 ,?f2 ))");
add(L"f4", L"logheight*?f0 /100000");
add(L"f5", L"?f1 *?f3 /100000");
add(L"f6", L"logwidth+0-?f5 ");
add(L"f7", L"min(logwidth,logheight)/8");
add(L"f8", L"0+?f7 -0");
add(L"f9", L"5400000*1/14");
add(L"f10", L"?f7 *tan(pi*(?f9 )/10800000)");
add(L"f11", L"?f6 +0-?f10 ");
add(L"f12", L"?f4 *tan(pi*(?f9 )/10800000)");
add(L"f13", L"?f8 +?f4 -0");
add(L"f14", L"?f6 +?f12 -0");
add(L"f15", L"?f14 +?f10 -0");
add(L"f16", L"?f13 +?f7 -0");
add(L"f17", L"?f16 +0-0");
add(L"f18", L"?f17 *1/2");
add(L"f19", L"logheight*1/20");
add(L"f20", L"0+?f18 -?f19 ");
add(L"f21", L"logheight/6");
add(L"f22", L"?f21 *1/1");
add(L"f23", L"?f21 +?f22 -0");
add(L"f24", L"logwidth/6");
add(L"f25", L"?f24 ");
add(L"f26", L"?f21 *1/2");
add(L"f27", L"?f13 +?f26 -0");
add(L"f28", L"logwidth/4");
add(L"f29", L"?f28 ");
add(L"f30", L"logheight");
add(L"f31", L"logwidth");
/////////////////////////////////////////////////////////
_handle h1, h2;
h1.position = L"?f54 ?f55";
h1.y_minimum = L"1";
h1.y_maximum = L"75000";
handles.push_back(h1);
h2.position = L"?f60 ?f61";
h2.x_minimum = L"0";
h2.x_maximum = L"?f2";
handles.push_back(h2);
}
};
} }
\ No newline at end of file
...@@ -30,11 +30,11 @@ ...@@ -30,11 +30,11 @@
* *
*/ */
#include "../oox_shape_defines.h" #include "../oox_shape_defines.h"
// shapetypeMathDivide, // shapetypeMathDivide,
// shapetypeMathEqual, //+ shapetypeMathEqual,
// shapetypeMathMinus, // shapetypeMathMinus,
//+ // shapetypeMathMultiply, //+ shapetypeMathMultiply,
// shapetypeMathNotEqual, // shapetypeMathNotEqual,
namespace cpdoccore namespace cpdoccore
{ {
class oox_shape_mathMultiply : public oox_shape class oox_shape_mathMultiply : public oox_shape
...@@ -117,4 +117,47 @@ public: ...@@ -117,4 +117,47 @@ public:
handles.push_back(h); handles.push_back(h);
} }
}; };
class oox_shape_mathEqual : public oox_shape
{
public:
oox_shape_mathEqual()
{
odf_type_name =L"ooxml-mathEqual";
enhanced_path = L"M ?f13 ?f10 L ?f14 ?f10 ?f14 ?f8 ?f13 ?f8 Z M ?f13 ?f9 L ?f14 ?f9 ?f14 ?f11 ?f13 ?f11 Z N";
text_areas = L"?f13 ?f10 ?f14 ?f11";
view_box = L"0 0 0 0";
modifiers = L"23520 11760";
add(L"f0", L"if(0-$0 ,0,if(36745-$0 ,$0 ,36745))");
add(L"f1", L"?f0 *2/1");
add(L"f2", L"100000+0-2");
add(L"f3", L"if(0-$1 ,0,if(?f2 -$1 ,$1 ,?f2 ))");
add(L"f4", L"logheight*?f0 /100000");
add(L"f5", L"logheight*?f3 /200000");
add(L"f6", L"logwidth*73490/200000");
add(L"f7", L"logheight/2");
add(L"f8", L"?f7 +0-?f5 ");
add(L"f9", L"?f7 +?f5 -0");
add(L"f10", L"?f8 +0-?f4 ");
add(L"f11", L"?f9 +?f4 -0");
add(L"f12", L"logwidth/2");
add(L"f13", L"?f12 +0-?f6 ");
add(L"f14", L"?f12 +?f6 -0");
add(L"f15", L"(?f10 +?f8 )/2");
add(L"f16", L"(?f9 +?f11 )/2");
add(L"f17", L"logwidth");
/////////////////////////////////////////////////////////
_handle h;
h.position = L"0 ?f10";
h.y_maximum= L"36745";
h.y_minimum= L"0";
handles.push_back(h);
h.position = L"?f17 ?f8";
h.y_maximum= L"?f2";
h.y_minimum= L"0";
handles.push_back(h);
}
};
} }
...@@ -30,8 +30,8 @@ ...@@ -30,8 +30,8 @@
* *
*/ */
// shapetypeArc, // shapetypeArc,
// shapetypeChord, //+ shapetypeChord,
// shapetypeCorner, //+ shapetypeCorner,
// shapetypeCornerTabs, // shapetypeCornerTabs,
// shapetypeDecagon, // shapetypeDecagon,
// shapetypeDiagStripe, // shapetypeDiagStripe,
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
// shapetypeSquareTabs, // shapetypeSquareTabs,
// shapetypeTeardrop, // shapetypeTeardrop,
//+ shapetypeBlockArc //+ shapetypeBlockArc
//+ shapetypeDonut
#include "../oox_shape_defines.h" #include "../oox_shape_defines.h"
...@@ -944,4 +945,162 @@ public: ...@@ -944,4 +945,162 @@ public:
handles.push_back(h); handles.push_back(h);
} }
}; };
class oox_shape_Corner : public oox_shape
{
public:
oox_shape_Corner()
{
odf_type_name =L"ooxml-corner";
enhanced_path = L"M 0 0 L ?f5 0 ?f5 ?f7 ?f13 ?f7 ?f13 ?f15 0 ?f15 Z N";
text_areas = L"0 ?f11 ?f12 ?f15";
view_box = L"0 0 0 0";
modifiers = L"16120 16110";
add(L"f0", L"min(logwidth,logheight)");
add(L"f1", L"100000*logheight/?f0 ");
add(L"f2", L"100000*logwidth/?f0 ");
add(L"f3", L"if(0-$0 ,0,if(?f1 -$0 ,$0 ,?f1 ))");
add(L"f4", L"if(0-$1 ,0,if(?f2 -$1 ,$1 ,?f2 ))");
add(L"f5", L"?f0 *?f4 /100000");
add(L"f6", L"?f0 *?f3 /100000");
add(L"f7", L"logheight+0-?f6 ");
add(L"f8", L"?f5 *1/2");
add(L"f9", L"(?f7 +logheight)/2");
add(L"f10", L"logwidth+0-logheight");
add(L"f11", L"if(?f10 ,?f7 ,0)");
add(L"f12", L"if(?f10 ,logwidth,?f5 )");
add(L"f13", L"logwidth");
add(L"f14", L"logwidth/2");
add(L"f15", L"logheight");
add(L"f16", L"logheight/2");
/////////////////////////////////////////////////////////
_handle h1, h2;
h1.position = L"0 ?f7";
h1.y_minimum = L"0";
h1.y_maximum = L"?f1";
handles.push_back(h1);
h2.position = L"?f5 0";
h2.x_minimum = L"0";
h2.x_maximum = L"?f2";
handles.push_back(h2);
}
};
class oox_shape_Chord : public oox_shape
{
public:
oox_shape_Chord()
{
odf_type_name =L"ooxml-chord";
enhanced_path = L"M ?f16 ?f18 G ?f5 ?f7 ?f31 ?f32 Z N";
text_areas = L"?f27 ?f29 ?f28 ?f30";
view_box = L"0 0 0 0";
modifiers = L"1168272 9631728";
add(L"f0", L"if(0-$0 ,0,if(21599999-$0 ,$0 ,21599999))");
add(L"f1", L"if(0-$1 ,0,if(21599999-$1 ,$1 ,21599999))");
add(L"f2", L"?f1 +0-?f0 ");
add(L"f3", L"?f2 +21600000-0");
add(L"f4", L"if(?f2 ,?f2 ,?f3 )");
add(L"f5", L"logwidth/2");
add(L"f6", L"?f5 *sin(pi*(?f0 )/10800000)");
add(L"f7", L"logheight/2");
add(L"f8", L"?f7 *cos(pi*(?f0 )/10800000)");
add(L"f9", L"?f5 *(cos(atan2(?f6 ,?f8 )))");
add(L"f10", L"?f7 *(sin(atan2(?f6 ,?f8 )))");
add(L"f11", L"?f5 *sin(pi*(?f1 )/10800000)");
add(L"f12", L"?f7 *cos(pi*(?f1 )/10800000)");
add(L"f13", L"?f5 *(cos(atan2(?f11 ,?f12 )))");
add(L"f14", L"?f7 *(sin(atan2(?f11 ,?f12 )))");
add(L"f15", L"logwidth/2");
add(L"f16", L"?f15 +?f9 -0");
add(L"f17", L"logheight/2");
add(L"f18", L"?f17 +?f10 -0");
add(L"f19", L"?f15 +?f13 -0");
add(L"f20", L"?f17 +?f14 -0");
add(L"f21", L"(?f16 +?f19 )/2");
add(L"f22", L"(?f18 +?f20 )/2");
add(L"f23", L"?f4 *1/2");
add(L"f24", L"?f0 +?f23 -10800000");
add(L"f25", L"?f5 *cos(pi*(2700000)/10800000)");
add(L"f26", L"?f7 *sin(pi*(2700000)/10800000)");
add(L"f27", L"?f15 +0-?f25 ");
add(L"f28", L"?f15 +?f25 -0");
add(L"f29", L"?f17 +0-?f26 ");
add(L"f30", L"?f17 +?f26 -0");
add(L"f31", L"(?f0 )/60000.0");
add(L"f32", L"(?f4 )/60000.0");
/////////////////////////////////////////////////////////
_handle h;
h.position = L"?f16 ?f18";
handles.push_back(h);
h.position = L"?f19 ?f20";
handles.push_back(h);
}
};
class oox_shape_Donut : public oox_shape
{
public:
oox_shape_Donut()
{
odf_type_name =L"ooxml-donut";
enhanced_path = L"M 0 ?f12 G ?f3 ?f5 ?f17 ?f18 ?f3 ?f5 ?f19 ?f20 ?f3 ?f5 ?f21 ?f22 ?f3 ?f5 ?f23 ?f24 Z M ?f2 ?f12 G ?f4 ?f6 ?f25 ?f26 ?f4 ?f6 ?f27 ?f28 ?f4 ?f6 ?f29 ?f30 ?f4 ?f6 ?f31 ?f32 Z N";
text_areas = L"?f10 ?f13 ?f11 ?f14";
view_box = L"0 0 0 0";
modifiers = L"20000";
add(L"f0", L"if(0-$0 ,0,if(50000-$0 ,$0 ,50000))");
add(L"f1", L"min(logwidth,logheight)");
add(L"f2", L"?f1 *?f0 /100000");
add(L"f3", L"logwidth/2");
add(L"f4", L"?f3 +0-?f2 ");
add(L"f5", L"logheight/2");
add(L"f6", L"?f5 +0-?f2 ");
add(L"f7", L"?f3 *cos(pi*(2700000)/10800000)");
add(L"f8", L"?f5 *sin(pi*(2700000)/10800000)");
add(L"f9", L"logwidth/2");
add(L"f10", L"?f9 +0-?f7 ");
add(L"f11", L"?f9 +?f7 -0");
add(L"f12", L"logheight/2");
add(L"f13", L"?f12 +0-?f8 ");
add(L"f14", L"?f12 +?f8 -0");
add(L"f15", L"logheight");
add(L"f16", L"logwidth");
add(L"f17", L"(10800000)/60000.0");
add(L"f18", L"(5400000)/60000.0");
add(L"f19", L"(16200000)/60000.0");
add(L"f20", L"(5400000)/60000.0");
add(L"f21", L"(0)/60000.0");
add(L"f22", L"(5400000)/60000.0");
add(L"f23", L"(5400000)/60000.0");
add(L"f24", L"(5400000)/60000.0");
add(L"f25", L"(10800000)/60000.0");
add(L"f26", L"(-5400000)/60000.0");
add(L"f27", L"(5400000)/60000.0");
add(L"f28", L"(-5400000)/60000.0");
add(L"f29", L"(0)/60000.0");
add(L"f30", L"(-5400000)/60000.0");
add(L"f31", L"(16200000)/60000.0");
add(L"f32", L"(-5400000)/60000.0");
/////////////////////////////////////////////////////////
_handle h;
h.position = L"?f2 ?f12";
h.r_minimum = L"0";
h.r_maximum = L"50000";
handles.push_back(h);
}
};
} }
...@@ -29,4 +29,83 @@ ...@@ -29,4 +29,83 @@
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
* *
*/ */
//{ L"" , 7}, // shapetypeLeftRightRibbon, //+ shapetypeLeftRightRibbon
\ No newline at end of file namespace cpdoccore
{
class oox_shape_LeftRightRibbon : public oox_shape
{
public:
oox_shape_LeftRightRibbon()
{
odf_type_name =L"ooxml-leftRightRibbon";
enhanced_path = L"M 0 ?f16 L ?f9 0 ?f9 ?f14 ?f23 ?f14 G ?f4 ?f22 ?f30 ?f31 ?f4 ?f22 ?f32 ?f33 L ?f10 ?f21 ?f10 ?f19 ?f28 ?f17 ?f10 ?f29 ?f10 ?f15 ?f23 ?f15 G ?f4 ?f22 ?f34 ?f35 L ?f24 ?f20 ?f9 ?f20 ?f9 ?f18 Z S N M ?f25 ?f26 G ?f4 ?f22 ?f36 ?f37 ?f4 ?f22 ?f38 ?f39 L ?f25 ?f21 Z I S N M 0 ?f16 L ?f9 0 ?f9 ?f14 ?f23 ?f14 G ?f4 ?f22 ?f40 ?f41 ?f4 ?f22 ?f42 ?f43 L ?f10 ?f21 ?f10 ?f19 ?f28 ?f17 ?f10 ?f29 ?f10 ?f15 ?f23 ?f15 G ?f4 ?f22 ?f44 ?f45 L ?f24 ?f20 ?f9 ?f20 ?f9 ?f18 Z M ?f25 ?f26 L ?f25 ?f21 M ?f24 ?f27 L ?f24 ?f20 F N";
text_areas = L"?f9 ?f14 ?f10 ?f15";
view_box = L"0 0 0 0";
modifiers = L"50000 50000 16667";
add(L"f0", L"if(0-$2 ,0,if(33333-$2 ,$2 ,33333))");
add(L"f1", L"100000+0-?f0 ");
add(L"f2", L"if(0-$0 ,0,if(?f1 -$0 ,$0 ,?f1 ))");
add(L"f3", L"logwidth/2");
add(L"f4", L"logwidth/32");
add(L"f5", L"?f3 +0-?f4 ");
add(L"f6", L"min(logwidth,logheight)");
add(L"f7", L"100000*?f5 /?f6 ");
add(L"f8", L"if(0-$1 ,0,if(?f7 -$1 ,$1 ,?f7 ))");
add(L"f9", L"?f6 *?f8 /100000");
add(L"f10", L"logwidth+0-?f9 ");
add(L"f11", L"logheight*?f2 /200000");
add(L"f12", L"logheight*?f0 /-200000");
add(L"f13", L"logheight/2");
add(L"f14", L"?f13 +?f12 -?f11 ");
add(L"f15", L"?f13 +?f11 -?f12 ");
add(L"f16", L"?f14 +?f11 -0");
add(L"f17", L"logheight+0-?f16 ");
add(L"f18", L"?f16 *2/1");
add(L"f19", L"logheight+0-?f18 ");
add(L"f20", L"?f18 +0-?f14 ");
add(L"f21", L"logheight+0-?f20 ");
add(L"f22", L"?f0 *?f6 /400000");
add(L"f23", L"logwidth/2");
add(L"f24", L"?f23 +0-?f4 ");
add(L"f25", L"?f23 +?f4 -0");
add(L"f26", L"?f14 +?f22 -0");
add(L"f27", L"?f21 +0-?f22 ");
add(L"f28", L"logwidth");
add(L"f29", L"logheight");
add(L"f30", L"(16200000)/60000.0");
add(L"f31", L"(10800000)/60000.0");
add(L"f32", L"(16200000)/60000.0");
add(L"f33", L"(-10800000)/60000.0");
add(L"f34", L"(5400000)/60000.0");
add(L"f35", L"(5400000)/60000.0");
add(L"f36", L"(0)/60000.0");
add(L"f37", L"(5400000)/60000.0");
add(L"f38", L"(16200000)/60000.0");
add(L"f39", L"(-10800000)/60000.0");
add(L"f40", L"(16200000)/60000.0");
add(L"f41", L"(10800000)/60000.0");
add(L"f42", L"(16200000)/60000.0");
add(L"f43", L"(-10800000)/60000.0");
add(L"f44", L"(5400000)/60000.0");
add(L"f45", L"(5400000)/60000.0");
/////////////////////////////////////////////////////////
_handle h1, h2, h3;
h1.position = L"??f10 ?f21";
h1.y_maximum= L"?f1";
h1.y_minimum= L"0";
handles.push_back(h1);
h2.position = L"?f9 0";
h2.x_maximum= L"?f7";
h2.x_minimum= L"0";
handles.push_back(h2);
h3.position = L"?f25 ?f21";
h3.y_maximum= L"33333";
h3.y_minimum= L"0";
handles.push_back(h3);
}
};
}
\ No newline at end of file
...@@ -60,6 +60,7 @@ oox_shape_ptr oox_shape::create(int ooxPrstGeomType) ...@@ -60,6 +60,7 @@ oox_shape_ptr oox_shape::create(int ooxPrstGeomType)
switch (ooxPrstGeomType) switch (ooxPrstGeomType)
{ {
case SimpleTypes::shapetypeMathMultiply: return boost::make_shared<oox_shape_mathMultiply>(); case SimpleTypes::shapetypeMathMultiply: return boost::make_shared<oox_shape_mathMultiply>();
case SimpleTypes::shapetypeMathEqual: return boost::make_shared<oox_shape_mathEqual>();
case SimpleTypes::shapetypeSun: return boost::make_shared<oox_shape_sun>(); case SimpleTypes::shapetypeSun: return boost::make_shared<oox_shape_sun>();
case SimpleTypes::shapetypeRound1Rect: return boost::make_shared<oox_shape_round1Rect>(); case SimpleTypes::shapetypeRound1Rect: return boost::make_shared<oox_shape_round1Rect>();
case SimpleTypes::shapetypeRound2DiagRect: return boost::make_shared<oox_shape_round2DiagRect>(); case SimpleTypes::shapetypeRound2DiagRect: return boost::make_shared<oox_shape_round2DiagRect>();
...@@ -81,13 +82,17 @@ oox_shape_ptr oox_shape::create(int ooxPrstGeomType) ...@@ -81,13 +82,17 @@ oox_shape_ptr oox_shape::create(int ooxPrstGeomType)
case SimpleTypes::shapetypeCurvedLeftArrow: return boost::make_shared<oox_shape_curvedLeftArrow>(); case SimpleTypes::shapetypeCurvedLeftArrow: return boost::make_shared<oox_shape_curvedLeftArrow>();
case SimpleTypes::shapetypeCurvedDownArrow: return boost::make_shared<oox_shape_curvedDownArrow>(); case SimpleTypes::shapetypeCurvedDownArrow: return boost::make_shared<oox_shape_curvedDownArrow>();
case SimpleTypes::shapetypeLeftCircularArrow: return boost::make_shared<oox_shape_LeftCircularArrow>(); case SimpleTypes::shapetypeLeftCircularArrow: return boost::make_shared<oox_shape_LeftCircularArrow>();
case SimpleTypes::shapetypeSwooshArrow: return boost::make_shared<oox_shape_SwooshArrow>();
case SimpleTypes::shapetypeBlockArc: return boost::make_shared<oox_shape_BlockArc>(); case SimpleTypes::shapetypeBlockArc: return boost::make_shared<oox_shape_BlockArc>();
case SimpleTypes::shapetypeCorner: return boost::make_shared<oox_shape_Corner>();
case SimpleTypes::shapetypeChord: return boost::make_shared<oox_shape_Chord>();
case SimpleTypes::shapetypePlaque: return boost::make_shared<oox_shape_Plaque>(); case SimpleTypes::shapetypePlaque: return boost::make_shared<oox_shape_Plaque>();
case SimpleTypes::shapetypeDoubleWave: return boost::make_shared<oox_shape_DoubleWave>(); case SimpleTypes::shapetypeDoubleWave: return boost::make_shared<oox_shape_DoubleWave>();
case SimpleTypes::shapetypePieWedge: return boost::make_shared<oox_shape_PieWedge>(); case SimpleTypes::shapetypePieWedge: return boost::make_shared<oox_shape_PieWedge>();
case SimpleTypes::shapetypePie: return boost::make_shared<oox_shape_Pie>(); case SimpleTypes::shapetypePie: return boost::make_shared<oox_shape_Pie>();
case SimpleTypes::shapetypeDonut: return boost::make_shared<oox_shape_Donut>();
case SimpleTypes::shapetypeLeftRightRibbon: return boost::make_shared<oox_shape_LeftRightRibbon>();
//case (2001 + SimpleTypes::textshapetypeTextArchDown): //case (2001 + SimpleTypes::textshapetypeTextArchDown):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment