Compare commits

...

22 Commits

Author SHA1 Message Date
f467912988 Merge remote-tracking branch 'origin/hotfix/v5.2.4' into develop 2018-11-16 15:53:13 +03:00
292781e6fb DocFormat - fix after testing
x2t version up - 2.4.556
2018-11-16 15:50:05 +03:00
9cd97d48b8 MetaFile - fix bugs #39745, #39747 2018-11-16 14:10:37 +03:00
579b441edc . 2018-11-16 12:05:22 +03:00
63b71d256b Merge remote-tracking branch 'origin/hotfix/v5.2.4' into develop 2018-11-15 19:51:18 +03:00
90f1aa055c OdfFormatReader - fix after testing 2018-11-15 19:49:54 +03:00
d75352f1f2 x2t - fix convert vml -> drawing_ml 2018-11-13 14:29:19 +03:00
51cbcfa9f2 Merge remote-tracking branch 'origin/hotfix/v5.2.4' into develop 2018-11-12 18:37:55 +03:00
eef66b3498 OdfFormat - fix convert same autoshapes 2018-11-12 18:37:19 +03:00
945d43997a Merge remote-tracking branch 'origin/hotfix/v5.2.4' into develop 2018-11-12 15:47:51 +03:00
b41170a233 Update .gitignore 2018-11-12 15:17:34 +03:00
b64541e6bd fix String<->StringExt 2018-11-12 12:41:27 +03:00
5626963bdf Fix build 2018-11-12 12:16:04 +03:00
5b7d637c78 Merge remote-tracking branch 'origin/hotfix/v5.2.4' into develop 2018-11-12 11:53:39 +03:00
643f117a92 . 2018-11-12 11:53:01 +03:00
f6d38c1f1b Merge remote-tracking branch 'origin/hotfix/v5.2.4' into develop 2018-11-10 19:05:45 +03:00
dd24ca837f x2t - version up. 2.4.555. 2018-11-10 19:04:30 +03:00
f555e3f821 OdfFormat - refactoring same auto shapes 2018-11-10 19:03:18 +03:00
07a07a1abd PdfWriter - fix encrypt 2018-11-09 19:18:09 +03:00
30473ee9b7 MacOS build (clang) 2018-11-09 15:38:15 +03:00
8b6e5f17c8 MacOS 2018-11-09 14:06:51 +03:00
4d0e44c8b6 Fix PRODUCT_VERSION substitution 2018-11-07 11:39:03 +03:00
40 changed files with 5443 additions and 973 deletions

2
.gitignore vendored
View File

@ -47,6 +47,8 @@ ASCOfficeXlsFile2/win32/_ASCOfficeXlsFile2_p.c
ASCOfficeXlsFile2/win32/dlldata.c
OfficeUtils/win32/OfficeUtilsLib/OfficeUtilsLib/ReadMe.txt
X2tConverter/**/Makefile.*
X2tConverter/ASCOfficePPTXFile/PPTXLib/Linux/PPTXFormatLib/Makefile
X2tConverter/Common/DocxFormat/DocxFormatLib/Makefile
*.7z
*.obj
*.pdb

View File

@ -1071,7 +1071,9 @@ namespace DocFileFormat
int cpPic = searchNextTextMark(m_document->Text, cpFieldStart, TextMark::Picture);
int cpFieldEnd = searchNextTextMark( m_document->Text, cpFieldStart, TextMark::FieldEndMark );
if (cpFieldStart < cpPic && cpPic < cpFieldEnd)
bool bStartField = _fieldLevels.empty() ? false : (_fieldLevels.back().bBegin && !_fieldLevels.back().bSeparate);
if (cpFieldStart < cpPic && cpPic < cpFieldEnd && !bStartField)
{
writeField(text, cpFieldStart, cpFieldEnd);
text.clear();

View File

@ -31,6 +31,7 @@
*/
#include "MainDocumentMapping.h"
#include "OfficeDrawing/FillStyleBooleanProperties.h"
namespace DocFileFormat
{
@ -83,16 +84,27 @@ namespace DocFileFormat
if ((m_document->GetOfficeArt()) && (m_document->GetOfficeArt()->GetShapeBackgound()))
{
bool bFilled = true;
m_document->DocProperties->bDisplayBackgroundShape = true;
ShapeContainer* pShape = m_document->GetOfficeArt()->GetShapeBackgound();
m_pXmlWriter->WriteNodeBegin ( L"w:background", TRUE);
m_pXmlWriter->WriteAttribute ( L"w:color", L"FFFFFF");
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
VMLShapeMapping oVmlWriter (m_context, m_pXmlWriter, NULL, NULL, _caller);
pShape->Convert(&oVmlWriter);
m_pXmlWriter->WriteNodeEnd (L"w:background");
OptionEntryPtr boolFill = pShape->ExtractOption(fillStyleBooleanProperties);
FillStyleBooleanProperties booleans(boolFill ? boolFill->op : 0);
if (booleans.fUsefFilled && !booleans.fFilled)
{
bFilled = false;
}
if (bFilled)
{
m_pXmlWriter->WriteNodeBegin ( L"w:background", TRUE);
m_pXmlWriter->WriteAttribute ( L"w:color", L"FFFFFF");
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
VMLShapeMapping oVmlWriter (m_context, m_pXmlWriter, NULL, NULL, _caller);
pShape->Convert(&oVmlWriter);
m_pXmlWriter->WriteNodeEnd (L"w:background");
}
}
m_pXmlWriter->WriteNodeBegin( L"w:body", FALSE );

View File

@ -101,6 +101,24 @@ namespace DocFileFormat
return new ShapeContainer( _reader, bodySize, typeCode, version, instance );
}
OptionEntryPtr ExtractOption(const PropertyId & prop) const
{
OptionEntryPtr ret;
for ( size_t i = 0; i < this->Children.size(); ++i )
{
ShapeOptions* opt = dynamic_cast<ShapeOptions*>( this->Children[i] );
if ( opt == NULL ) continue;
std::map<PropertyId, OptionEntryPtr>::iterator pFind = opt->OptionsByID.find(prop);
if (pFind != opt->OptionsByID.end())
{
ret = pFind->second;
}
}
return ret;
}
std::vector<OptionEntryPtr> ExtractOptions() const
{
std::vector<OptionEntryPtr> ret;

View File

@ -108,6 +108,8 @@ static const std::wstring _ooxShapeType[]=
L"custGeom",//uses sub-sub type,
L"polygon",
L"roundRect",
L"bentConnector3",
L"curvedConnector3"
};
@ -243,16 +245,16 @@ void oox_serialize_aLst(std::wostream & strm, const std::vector<odf_reader::_pro
{
names.push_back(L"adj1");
}
else if (std::wstring::npos != shapeGeomPreset.find(L"decagon"))
{
names.push_back(L"vf");
}
else if (std::wstring::npos != shapeGeomPreset.find(L"heptagon") ||
std::wstring::npos != shapeGeomPreset.find(L"pentagon"))
{
names.push_back(L"hf");
names.push_back(L"vf");
}
//else if (std::wstring::npos != shapeGeomPreset.find(L"decagon"))
//{
// names.push_back(L"vf");
//}
//else if (std::wstring::npos != shapeGeomPreset.find(L"heptagon") ||
// std::wstring::npos != shapeGeomPreset.find(L"pentagon"))
//{
// names.push_back(L"hf");
// names.push_back(L"vf");
//}
else if (std::wstring::npos != shapeGeomPreset.find(L"hexagon"))
{
names.push_back(L"adj");
@ -418,7 +420,7 @@ void _oox_drawing::serialize_shape(std::wostream & strm)
shapeGeomPreset = L"rect";
}
}
else if (sub_type < 10 && sub_type >= 0)
else if (sub_type <= 12 && sub_type >= 0)
{
shapeGeomPreset = _ooxShapeType[sub_type]; //odf -> oox
}

View File

@ -212,7 +212,7 @@ void pptx_serialize_shape(std::wostream & strm, _pptx_drawing & val)
}
CP_XML_NODE(L"p:cNvSpPr")//non visual properies (собственно тока 1 там)
{
if (val.sub_type==1 || val.sub_type==2)CP_XML_ATTR(L"txBox", 1);
if (val.sub_type == 1 || val.sub_type == 2)CP_XML_ATTR(L"txBox", 1);
CP_XML_NODE(L"a:spLocks")
{
CP_XML_ATTR(L"noGrp", 1);

View File

@ -211,13 +211,6 @@ void xlsx_xml_worksheet::write_to(std::wostream & strm)
CP_XML_STREAM() << impl_->drawing_.str();
if (!impl_->tableParts_.str().empty())
{
CP_XML_NODE(L"tableParts")
{
CP_XML_STREAM() << impl_->tableParts_.str();
}
}
if (!impl_->commentsId_.empty())
{
CP_XML_NODE(L"legacyDrawing")
@ -225,6 +218,13 @@ void xlsx_xml_worksheet::write_to(std::wostream & strm)
CP_XML_ATTR(L"r:id",impl_->vml_drawingId_);
}
}
if (!impl_->tableParts_.str().empty())
{
CP_XML_NODE(L"tableParts")
{
CP_XML_STREAM() << impl_->tableParts_.str();
}
}
if (!impl_->ole_objects_.str().empty())
{
CP_XML_NODE(L"oleObjects")

View File

@ -59,17 +59,24 @@ typedef _CP_PTR(xlsx_data_range_values) xlsx_data_range_values_ptr;
class xlsx_data_range_values
{
public:
xlsx_data_range_values(size_t row, size_t col1, size_t col2) : row_header(row), start_column(col1), end_column(col2) {}
xlsx_data_range_values(size_t row, size_t col1, size_t col2) : withHeader(false), filter(false), row_header(row), start_column(col1), end_column(col2)
{
for (size_t i = start_column; i <= end_column; i++)
values.push_back(L"");
}
size_t row_header;
size_t start_column;
size_t end_column;
bool withHeader;
bool filter;
std::vector<std::wstring> values;
void set_value(size_t col, size_t row, const std::wstring& value)
{
while (col - start_column + 1 > values.size())
while (col - start_column + 1 >= values.size())
values.push_back(L"");
values[col - start_column] = value;

View File

@ -119,12 +119,14 @@ void xlsx_table_context::set_database_header (bool val)
if (xlsx_data_ranges_.empty()) return;
xlsx_data_ranges_.back()->withHeader = val;
xlsx_data_ranges_values_.back()->withHeader = val;
}
void xlsx_table_context::set_database_filter (bool val)
{
if (xlsx_data_ranges_.empty()) return;
xlsx_data_ranges_.back()->filter = val;
xlsx_data_ranges_values_.back()->filter = val;
}
void xlsx_table_context::end_database_range()
{
@ -145,7 +147,8 @@ int xlsx_table_context::in_database_range()
for (size_t i = 0; i < xlsx_data_ranges_values_.size(); i++)
{
if (xlsx_data_ranges_values_[i]->in_range(col, row))
if ((xlsx_data_ranges_values_[i]->withHeader || xlsx_data_ranges_values_[i]->filter)
&& xlsx_data_ranges_values_[i]->in_range(col, row))
{
return (int)i;
}
@ -317,6 +320,12 @@ void xlsx_table_context::serialize_tableParts(std::wostream & _Wostream, rels &
CP_XML_ATTR(L"name", xlsx_data_ranges_[it->second]->table_name);
CP_XML_ATTR(L"displayName", xlsx_data_ranges_[it->second]->table_name);
CP_XML_ATTR(L"ref", xlsx_data_ranges_[it->second]->ref);
if (xlsx_data_ranges_[it->second]->withHeader == false &&
xlsx_data_ranges_[it->second]->filter == false)
CP_XML_ATTR(L"headerRowCount", 0);
CP_XML_ATTR(L"totalsRowCount", 0);
CP_XML_ATTR(L"totalsRowShown", 0);
xlsx_data_ranges_[it->second]->serialize_autofilter(CP_XML_STREAM());
@ -331,8 +340,13 @@ void xlsx_table_context::serialize_tableParts(std::wostream & _Wostream, rels &
{
CP_XML_NODE(L"tableColumn")
{
std::wstring column_name = xlsx_data_ranges_values_[it->second]->values[id];
if (column_name.empty())
{
column_name = L"Column_" + std::to_wstring(id + 1);
}
CP_XML_ATTR(L"id", id + 1);
CP_XML_ATTR(L"name", xlsx_data_ranges_values_[it->second]->values[id]);
CP_XML_ATTR(L"name", column_name);
}
}
}

View File

@ -1057,7 +1057,7 @@ void process_build_object::visit(table_table_cell& val)
if (cell_cash.empty())
cell_cash = cell_val;
object_odf_context::_cell cell_= {object_odf_context_.current_table_column_, object_odf_context_.current_table_row_, cell_cash};
object_odf_context::_cell cell_= {(size_t)object_odf_context_.current_table_column_, (size_t)object_odf_context_.current_table_row_, cell_cash};
object_odf_context_.cash_values.push_back(cell_);

View File

@ -79,8 +79,8 @@ static const _shape_converter _OO_OOX_custom_shapes[]=
{L"up-down-arrow-callout" ,L"upDownArrowCallout" ,0 ,0 ,0 },
{L"quad-arrow-callout" ,L"quadArrowCallout" ,0 ,0 ,0 },
{L"circular-arrow" ,L"circularArrow" ,0 ,0 ,0 },
{L"can" ,L"lightningBolt" ,0 ,0 ,0 },
{L"lightning" ,L"can" ,0 ,0 ,0 },
{L"can" ,L"can" ,0 ,0 ,0 },
{L"lightning" ,L"lightningBolt" ,0 ,0 ,0 },
{L"heart" ,L"heart" ,0 ,0 ,0 },
{L"sun" ,L"sun" ,1 ,46875 ,12500 },
{L"moon" ,L"moon" ,0 ,0 ,0 },
@ -222,7 +222,6 @@ static const _shape_converter _OO_OOX_custom_shapes[]=
{L"concave-star6" ,L"" ,0 ,0 ,0 },
{L"signet" ,L"" ,0 ,0 ,0 },
{L"doorplate" ,L"" ,0 ,0 ,0 },
{L"" ,L"round1Rect" ,0 ,0 ,0 },
{L"" ,L"round2DiagRect" ,0 ,0 ,0 },
{L"" ,L"snip2DiagRect" ,0 ,0 ,0 },

View File

@ -1038,7 +1038,9 @@ void draw_shape::docx_convert(oox::docx_conversion_context & Context)
drawing.sub_type = sub_type_;
drawing.additional = additional_;//сюда могут добавиться свойства ...
if (drawing.sub_type !=5 )//line
if (drawing.sub_type != 5 &&
drawing.sub_type != 11 &&
drawing.sub_type != 12 )//line, connectors
{
drawing.additional.push_back(_property(L"text-content", Context.get_drawing_context().get_text_stream_shape()));
}

View File

@ -546,9 +546,9 @@ void draw_enhanced_geometry::find_draw_type_oox()
if (!draw_type_oox_index_)
{
int count = sizeof(_OO_OOX_custom_shapes) / sizeof(_shape_converter);
int pos = odf_type.find(L"ooxml-");
size_t pos = odf_type.find(L"ooxml-");
if (pos < 0)
if (pos == std::wstring::npos)
{
for (long i = 0; i< count; i++)
{
@ -562,7 +562,7 @@ void draw_enhanced_geometry::find_draw_type_oox()
else
{
std::wstring oox_type = odf_type.substr(pos + 6);
for (long i = 0; i< count; i++)
for (long i = 0; i < count; i++)
{
if (_OO_OOX_custom_shapes[i].oox == oox_type)
{
@ -572,7 +572,7 @@ void draw_enhanced_geometry::find_draw_type_oox()
}
}
}
if ((draw_type_oox_index_) && (*draw_type_oox_index_== 179))//L"textBox"
if ((draw_type_oox_index_) && (*draw_type_oox_index_== 96))//L"textBox" "mso-spt24"
{
sub_type_ = 1;//textBox
}
@ -649,17 +649,15 @@ void draw_connector::add_attributes( const xml::attributes_wc_ptr & Attributes )
draw_line_attlist_.add_attributes(Attributes);
draw_shape::add_attributes(Attributes);
sub_type_ = 5; //коннектор - линия, если ломаная (ниже определяется) - то путь
sub_type_ = 10; //коннектор - линия, если ломаная (ниже определяется) - то путь
}
void draw_connector::reset_svg_path()
{
if (!draw_connector_attlist_.svg_d_)
{
bad_shape_ = true;
}
else
if (draw_connector_attlist_.svg_d_)
{
sub_type_ = 8;
std::vector<::svg_path::_polyline> o_Polyline_pt;
std::vector<::svg_path::_polyline> o_Polyline_cm;
@ -707,7 +705,7 @@ void dr3d_scene::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
draw_shape::add_attributes(Attributes);
sub_type_ = 10;
sub_type_ = 12;
}
//-------------------------------------------------------------------------------------------

View File

@ -215,10 +215,18 @@ void draw_path::docx_convert(oox::docx_conversion_context & Context)
void draw_connector::docx_convert(oox::docx_conversion_context & Context)
{
//if (Context.get_drawing_context().get_current_level() >0 )return;
if (draw_connector_attlist_.draw_type_)
{
if (*draw_connector_attlist_.draw_type_ == L"curve")
{
sub_type_ = 11;
}
}
reset_svg_attributes();
common_docx_convert(Context);
//...
reset_svg_path();
draw_shape::docx_convert(Context);
}
void draw_polygon::docx_convert(oox::docx_conversion_context & Context)

View File

@ -298,6 +298,13 @@ void draw_connector::reset_svg_attributes()
}
void draw_connector::pptx_convert(oox::pptx_conversion_context & Context)
{
if (draw_connector_attlist_.draw_type_)
{
if (*draw_connector_attlist_.draw_type_ == L"curve")
{
sub_type_ = 11;
}
}
reset_svg_attributes();
reset_svg_path();
///////////////////////////////////////////////////////////////////////

View File

@ -211,6 +211,15 @@ void draw_path::xlsx_convert(oox::xlsx_conversion_context & Context)
void draw_connector::xlsx_convert(oox::xlsx_conversion_context & Context)
{
if (draw_connector_attlist_.draw_type_)
{
if (*draw_connector_attlist_.draw_type_ == L"curve")
{
sub_type_ = 11;
}
}
reset_svg_attributes();
reset_svg_path();
///////////////////////////////////////////////////////////////////////
Context.get_drawing_context().start_shape(6);

View File

@ -42,9 +42,9 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
{ L"" , 7}, // shapetypeAccentBorderCallout1 = 0,
{ L"" , 7}, // shapetypeAccentBorderCallout2,
{ L"" , 7}, // shapetypeAccentBorderCallout3,
{ L"mso-spt44" , 7}, // shapetypeAccentCallout1,
{ L"mso-spt45" , 7}, // shapetypeAccentCallout2,
{ L"mso-spt46" , 7}, // shapetypeAccentCallout3,
{ L"" , 7}, // shapetypeAccentCallout1,
{ L"" , 7}, // shapetypeAccentCallout2,
{ L"" , 7}, // shapetypeAccentCallout3,
{ L"actionButtonBackPrevious" , 7}, // shapetypeActionButtonBackPrevious, //mso-spt194
{ L"mso-spt196" , 7}, // shapetypeActionButtonBeginning,
{ L"mso-spt189" , 7}, // shapetypeActionButtonBlank,
@ -58,23 +58,23 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
{ L"mso-spt197" , 7}, // shapetypeActionButtonReturn,
{ L"mso-spt199" , 7}, // shapetypeActionButtonSound,
{ L"" , 7}, // shapetypeArc,
{ L"mso-spt91" , 7}, // shapetypeBentArrow,
{ L"mso-spt33" , 7}, // shapetypeBentConnector2,
{ L"mso-spt34" , 7}, // shapetypeBentConnector3,
{ L"mso-spt35" , 7}, // shapetypeBentConnector4,
{ L"mso-spt36" , 7}, // shapetypeBentConnector5,
{ L"" , 7}, // shapetypeBentArrow,
{ L"" , 9}, // shapetypeBentConnector2,
{ L"" , 9}, // shapetypeBentConnector3,
{ L"" , 9}, // shapetypeBentConnector4,
{ L"" , 9}, // shapetypeBentConnector5,
{ L"" , 7}, // shapetypeBentUpArrow,
{ L"quad-bevel" , 7}, // shapetypeBevel,
{ L"" , 7}, // shapetypeBevel,
{ L"" , 7}, // shapetypeBlockArc,
{ L"mso-spt49" , 7}, // shapetypeBorderCallout1,
{ L"mso-spt50" , 7}, // shapetypeBorderCallout2,
{ L"mso-spt51" , 7}, // shapetypeBorderCallout3,
{ L"brace-pair" , 7}, // shapetypeBracePair,
{ L"" , 7}, // shapetypeBorderCallout1,
{ L"" , 7}, // shapetypeBorderCallout2,
{ L"" , 7}, // shapetypeBorderCallout3,
{ L"" , 7}, // shapetypeBracePair,
{ L"" , 7}, // shapetypeBracketPair,
{ L"mso-spt41" , 7}, // shapetypeCallout1,
{ L"mso-spt42" , 7}, // shapetypeCallout2,
{ L"mso-spt43" , 7}, // shapetypeCallout3,
{ L"can" , 7}, // shapetypeCan,
{ L"" , 7}, // shapetypeCallout1,
{ L"" , 7}, // shapetypeCallout2,
{ L"" , 7}, // shapetypeCallout3,
{ L"" , 7}, // shapetypeCan,
{ L"" , 7}, // shapetypeChartPlus,
{ L"" , 7}, // shapetypeChartStar,
{ L"" , 7}, // shapetypeChartX,
@ -82,18 +82,18 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
{ L"" , 7}, // shapetypeChord,
{ L"" , 7}, // shapetypeCircularArrow,
{ L"cloud" , 7}, // shapetypeCloud,
{ L"cloud-callout" , 7}, // shapetypeCloudCallout,
{ L"" , 7}, // shapetypeCloudCallout,
{ L"" , 7}, // shapetypeCorner,
{ L"" , 7}, // shapetypeCornerTabs,
{ L"cube" , 7}, // shapetypeCube,
{ L"mso-spt37" , 7}, // shapetypeCurvedConnector2,
{ L"mso-spt38" , 7}, // shapetypeCurvedConnector3,
{ L"mso-spt39" , 7}, // shapetypeCurvedConnector4,
{ L"mso-spt40" , 7}, // shapetypeCurvedConnector5,
{ L"" , 7}, // shapetypeCube,
{ L"" , 10}, // shapetypeCurvedConnector2,
{ L"" , 10}, // shapetypeCurvedConnector3,
{ L"" , 10}, // shapetypeCurvedConnector4,
{ L"" , 10}, // shapetypeCurvedConnector5,
{ L"" , 7}, // shapetypeCurvedDownArrow,
{ L"" , 7}, // shapetypeCurvedLeftArrow,
{ L"" , 7}, // shapetypeCurvedRightArrow,
{ L"mso-spt104" , 7}, // shapetypeCurvedUpArrow,
{ L"" , 7}, // shapetypeCurvedUpArrow,
{ L"" , 7}, // shapetypeDecagon,
{ L"" , 7}, // shapetypeDiagStripe,
{ L"" , 7}, // shapetypeDiamond,
@ -103,8 +103,8 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
{ L"" , 7}, // shapetypeDownArrow,
{ L"" , 7}, // shapetypeDownArrowCallout,
{ L"ellipse" , 3}, // shapetypeEllipse,
{ L"mso-spt107" , 7}, // shapetypeEllipseRibbon,
{ L"mso-spt108" , 7}, // shapetypeEllipseRibbon2,
{ L"" , 7}, // shapetypeEllipseRibbon,
{ L"" , 7}, // shapetypeEllipseRibbon2,
{ L"flowchart-alternate-process" , 7}, // shapetypeFlowChartAlternateProcess,
{ L"flowchart-collate" , 7}, // shapetypeFlowChartCollate,
{ L"flowchart-connector" , 7}, // shapetypeFlowChartConnector,
@ -134,23 +134,23 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
{ L"flowchart-sort" , 7}, // shapetypeFlowChartSort,
{ L"flowchart-summing-junction" , 7}, // shapetypeFlowChartSummingJunction,
{ L"flowchart-terminator" , 7}, // shapetypeFlowChartTerminator,
{ L"paper" , 7}, // shapetypeFoldedCorner,
{ L"" , 7}, // shapetypeFoldedCorner,
{ L"" , 7}, // shapetypeFrame,
{ L"" , 7}, // shapetypeFunnel,
{ L"" , 7}, // shapetypeGear6,
{ L"" , 7}, // shapetypeGear9,
{ L"" , 7}, // shapetypeHalfFrame,
{ L"heart" , 7}, // shapetypeHeart,
{ L"" , 7}, // shapetypeHeart,
{ L"" , 7}, // shapetypeHeptagon,
{ L"hexagon" , 7}, // shapetypeHexagon,
{ L"" , 7}, // shapetypeHexagon,
{ L"" , 7}, // shapetypeHomePlate,
{ L"horizontal-scroll" , 7}, // shapetypeHorizontalScroll,
{ L"" , 7}, // shapetypeIrregularSeal1,
{ L"" , 7}, // shapetypeIrregularSeal2,
{ L"" , 7}, // shapetypeLeftArrow,
{ L"" , 7}, // shapetypeLeftArrowCallout,
{ L"left-brace" , 7}, // shapetypeLeftBrace,
{ L"left-bracket" , 7}, // shapetypeLeftBracket,
{ L"" , 7}, // shapetypeLeftBrace,
{ L"" , 7}, // shapetypeLeftBracket,
{ L"" , 7}, // shapetypeLeftCircularArrow,
{ L"" , 7}, // shapetypeLeftRightArrow,
{ L"left-right-arrow-callout" , 7}, // shapetypeLeftRightArrowCallout,
@ -158,7 +158,7 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
{ L"" , 7}, // shapetypeLeftRightRibbon,
{ L"" , 7}, // shapetypeLeftRightUpArrow,
{ L"" , 7}, // shapetypeLeftUpArrow,
{ L"lightning" , 7}, // shapetypeLightningBolt,
{ L"" , 7}, // shapetypeLightningBolt,
{ L"" , 5}, // shapetypeLine,
{ L"" , 7}, // shapetypeLineInv,
{ L"" , 7}, // shapetypeMathDivide,
@ -167,27 +167,27 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
{ L"" , 7}, // shapetypeMathMultiply,
{ L"" , 7}, // shapetypeMathNotEqual,
{ L"" , 7}, // shapetypeMathPlus,
{ L"moon" , 7}, // shapetypeMoon,
{ L"" , 7}, // shapetypeMoon,
{ L"" , 7}, // shapetypeNonIsoscelesTrapezoid,
{ L"forbidden" , 7}, // shapetypeNoSmoking,
{ L"" , 7}, // shapetypeNotchedRightArrow,
{ L"octagon" , 7}, // shapetypeOctagon,
{ L"" , 7}, // shapetypeOctagon,
{ L"" , 7}, // shapetypeParallelogram,
{ L"pentagon" , 7}, // shapetypePentagon,
{ L"" , 7}, // shapetypePentagon,
{ L"" , 7}, // shapetypePie,
{ L"" , 7}, // shapetypePieWedge,
{ L"" , 7}, // shapetypePlaque,
{ L"" , 7}, // shapetypePlaqueTabs,
{ L"" , 7}, // shapetypePlus,
{ L"quad-arrow" , 7}, // shapetypeQuadArrow,
{ L"quad-arrow-callout" , 7}, // shapetypeQuadArrowCallout,
{ L"" , 7}, // shapetypeQuadArrowCallout,
{ L"rectangle" , 2}, // shapetypeRect,
{ L"mso-spt53" , 7}, // shapetypeRibbon,
{ L"mso-spt54" , 7}, // shapetypeRibbon2,
{ L"" , 7}, // shapetypeRibbon,
{ L"" , 7}, // shapetypeRibbon2,
{ L"" , 7}, // shapetypeRightArrow,
{ L"" , 7}, // shapetypeRightArrowCallout,
{ L"right-brace" , 7}, // shapetypeRightBrace,
{ L"right-bracket" , 7}, // shapetypeRightBracket,
{ L"" , 7}, // shapetypeRightBrace,
{ L"" , 7}, // shapetypeRightBracket,
{ L"" , 7}, // shapetypeRound1Rect,
{ L"" , 7}, // shapetypeRound2DiagRect,
{ L"" , 7}, // shapetypeRound2SameRect,
@ -209,7 +209,7 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
{ L"" , 7}, // shapetypeStar6,
{ L"" , 7}, // shapetypeStar7,
{ L"star8" , 7}, // shapetypeStar8,
{ L"" , 7}, // shapetypeStraightConnector1,
{ L"" , 5}, // shapetypeStraightConnector1,
{ L"striped-right-arrow" , 7}, // shapetypeStripedRightArrow,
{ L"" , 7}, // shapetypeSun,
{ L"" , 7}, // shapetypeSwooshArrow,
@ -223,9 +223,9 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
{ L"mso-spt101" , 7}, // shapetypeUturnArrow,
{ L"vertical-scroll" , 7}, // shapetypeVerticalScroll,
{ L"" , 7}, // shapetypeWave,
{ L"round-callout" , 7}, // shapetypeWedgeEllipseCallout,
{ L"rectangular-callout" , 7}, // shapetypeWedgeRectCallout,
{ L"round-rectangular-callout" , 7}, // shapetypeWedgeRoundRectCallout,
{ L"" , 7}, // shapetypeWedgeEllipseCallout,
{ L"" , 7}, // shapetypeWedgeRectCallout,
{ L"" , 7}, // shapetypeWedgeRoundRectCallout,
{ L"mso-spt17" , 7}, // shapetypeBallon,
{ L"up-right-arrow" , 7}, // shapetypeRightUpArrow,
{ L"fontwork-arch-down-pour" , 7}, // shapetypeTextArchDownPour,

View File

@ -31,11 +31,336 @@
*/
#include "../oox_shape_defines.h"
// shapetypeAccentBorderCallout1,
// shapetypeAccentBorderCallout2,
// shapetypeAccentBorderCallout3,
//+ shapetypeAccentBorderCallout1,
//+ shapetypeAccentBorderCallout2,
//+ shapetypeAccentBorderCallout3,
//+ shapetypeAccentCallout1
//+ shapetypeAccentCallout2
//+ shapetypeAccentCallout3
//+ shapetypeBorderCallout1
//+ shapetypeBorderCallout2
//+ shapetypeBorderCallout3
namespace cpdoccore
{
class oox_shape_AccentCallout1 : public oox_shape
{
public:
oox_shape_AccentCallout1()
{
odf_type_name =L"ooxml-accentCallout1";
enhanced_path = L"S M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z N F M ?f9 ?f2 L ?f9 ?f3 Z N F M ?f9 ?f8 L ?f11 ?f10 N";
text_areas = L"?f0 ?f2 ?f1 ?f3";
view_box = L"0 0 21600 21600";
modifiers = L"18750 -8333 112500 -38333";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"?f6 / 21600");
add(L"f8", L"?f4 * ?f13 / 100000");
add(L"f9", L"?f5 * ?f12 / 100000");
add(L"f10", L"?f4 * ?f15 / 100000");
add(L"f11", L"?f5 * ?f14 / 100000");
add(L"f12", L"$1 / ?f7");
add(L"f13", L"$0 / ?f7");
add(L"f14", L"$3 / ?f7");
add(L"f15", L"$2 / ?f7");
/////////////////////////////////////////////////////////
}
};
class oox_shape_AccentCallout2 : public oox_shape
{
public:
oox_shape_AccentCallout2()
{
odf_type_name =L"ooxml-accentCallout2";
enhanced_path = L"S M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z N F M ?f9 ?f2 L ?f9 ?f3 Z N F M ?f9 ?f8 L ?f11 ?f10 ?f13 ?f12 N";
text_areas = L"?f0 ?f2 ?f1 ?f3";
view_box = L"0 0 21600 21600";
modifiers = L"18750 -8333 18750 -16667 112500 -46667";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"?f6 / 21600");
add(L"f8", L"?f4 * ?f15 / 100000");
add(L"f9", L"?f5 * ?f14 / 100000");
add(L"f10", L"?f4 * ?f17 / 100000");
add(L"f11", L"?f5 * ?f16 / 100000");
add(L"f12", L"?f4 * ?f19 / 100000");
add(L"f13", L"?f5 * ?f18 / 100000");
add(L"f14", L"$1 / ?f7");
add(L"f15", L"$0 / ?f7");
add(L"f16", L"$3 / ?f7");
add(L"f17", L"$2 / ?f7");
add(L"f18", L"$5 / ?f7");
add(L"f19", L"$4 / ?f7");
/////////////////////////////////////////////////////////
}
};
class oox_shape_AccentCallout3 : public oox_shape
{
public:
oox_shape_AccentCallout3()
{
odf_type_name =L"ooxml-accentCallout3";
enhanced_path = L"S M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z N F M ?f9 ?f2 L ?f9 ?f3 Z N F M ?f9 ?f8 L ?f11 ?f10 ?f13 ?f12 ?f15 ?f14 N";
text_areas = L"?f0 ?f2 ?f1 ?f3";
view_box = L"0 0 21600 21600";
modifiers = L"18750 -8333 18750 -16667 100000 -16667 112963 -8333";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"?f6 / 21600");
add(L"f8", L"?f4 * ?f17 / 100000");
add(L"f9", L"?f5 * ?f16 / 100000");
add(L"f10", L"?f4 * ?f19 / 100000");
add(L"f11", L"?f5 * ?f18 / 100000");
add(L"f12", L"?f4 * ?f21 / 100000");
add(L"f13", L"?f5 * ?f20 / 100000");
add(L"f14", L"?f4 * ?f23 / 100000");
add(L"f15", L"?f5 * ?f22 / 100000");
add(L"f16", L"$1 / ?f7");
add(L"f17", L"$0 / ?f7");
add(L"f18", L"$3 / ?f7");
add(L"f19", L"$2 / ?f7");
add(L"f20", L"$5 / ?f7");
add(L"f21", L"$4 / ?f7");
add(L"f22", L"$7 / ?f7");
add(L"f23", L"$6 / ?f7");
/////////////////////////////////////////////////////////
}
};
class oox_shape_BorderCallout1 : public oox_shape
{
public:
oox_shape_BorderCallout1()
{
odf_type_name =L"ooxml-borderCallout1";
enhanced_path = L"M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z N F M ?f9 ?f8 L ?f11 ?f10 N";
text_areas = L"?f0 ?f2 ?f1 ?f3";
view_box = L"0 0 21600 21600";
modifiers = L"18750 -8333 112500 -38333";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"?f6 / 21600");
add(L"f8", L"?f4 * ?f13 / 100000");
add(L"f9", L"?f5 * ?f12 / 100000");
add(L"f10", L"?f4 * ?f15 / 100000");
add(L"f11", L"?f5 * ?f14 / 100000");
add(L"f12", L"$1 / ?f7");
add(L"f13", L"$0 / ?f7");
add(L"f14", L"$3 / ?f7");
add(L"f15", L"$2 / ?f7");
/////////////////////////////////////////////////////////
}
};
class oox_shape_BorderCallout2 : public oox_shape
{
public:
oox_shape_BorderCallout2()
{
odf_type_name =L"ooxml-borderCallout2";
enhanced_path = L"M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z N F M ?f9 ?f8 L ?f11 ?f10 ?f13 ?f12 N";
text_areas = L"?f0 ?f2 ?f1 ?f3";
view_box = L"0 0 21600 21600";
modifiers = L"18750 -8333 18750 -16667 112500 -46667";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"?f6 / 21600");
add(L"f8", L"?f4 * ?f15 / 100000");
add(L"f9", L"?f5 * ?f14 / 100000");
add(L"f10", L"?f4 * ?f17 / 100000");
add(L"f11", L"?f5 * ?f16 / 100000");
add(L"f12", L"?f4 * ?f19 / 100000");
add(L"f13", L"?f5 * ?f18 / 100000");
add(L"f14", L"$1 / ?f7");
add(L"f15", L"$0 / ?f7");
add(L"f16", L"$3 / ?f7");
add(L"f17", L"$2 / ?f7");
add(L"f18", L"$5 / ?f7");
add(L"f19", L"$4 / ?f7");
/////////////////////////////////////////////////////////
}
};
class oox_shape_BorderCallout3 : public oox_shape
{
public:
oox_shape_BorderCallout3()
{
odf_type_name =L"ooxml-borderCallout3";
enhanced_path = L"M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z N F M ?f9 ?f8 L ?f11 ?f10 ?f13 ?f12 ?f15 ?f14 N";
text_areas = L"?f0 ?f2 ?f1 ?f3";
view_box = L"0 0 21600 21600";
modifiers = L"18750 -8333 18750 -16667 100000 -16667 112963 -8333";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"?f6 / 21600");
add(L"f8", L"?f4 * ?f17 / 100000");
add(L"f9", L"?f5 * ?f16 / 100000");
add(L"f10", L"?f4 * ?f19 / 100000");
add(L"f11", L"?f5 * ?f18 / 100000");
add(L"f12", L"?f4 * ?f21 / 100000");
add(L"f13", L"?f5 * ?f20 / 100000");
add(L"f14", L"?f4 * ?f23 / 100000");
add(L"f15", L"?f5 * ?f22 / 100000");
add(L"f16", L"$1 / ?f7");
add(L"f17", L"$0 / ?f7");
add(L"f18", L"$3 / ?f7");
add(L"f19", L"$2 / ?f7");
add(L"f20", L"$5 / ?f7");
add(L"f21", L"$4 / ?f7");
add(L"f22", L"$7 / ?f7");
add(L"f23", L"$6 / ?f7");
/////////////////////////////////////////////////////////
}
};
class oox_shape_AccentBorderCallout1 : public oox_shape
{
public:
oox_shape_AccentBorderCallout1()
{
odf_type_name =L"ooxml-accentBorderCallout1";
enhanced_path = L"M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z N F M ?f9 ?f2 L ?f9 ?f3 Z N F M ?f9 ?f8 L ?f11 ?f10 N";
text_areas = L"?f0 ?f2 ?f1 ?f3";
view_box = L"0 0 21600 21600";
modifiers = L"18750 -8333 112500 -38333";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"?f6 / 21600");
add(L"f8", L"?f4 * ?f13 / 100000");
add(L"f9", L"?f5 * ?f12 / 100000");
add(L"f10", L"?f4 * ?f15 / 100000");
add(L"f11", L"?f5 * ?f14 / 100000");
add(L"f12", L"$1 / ?f7");
add(L"f13", L"$0 / ?f7");
add(L"f14", L"$3 / ?f7");
add(L"f15", L"$2 / ?f7");
/////////////////////////////////////////////////////////
}
};
class oox_shape_AccentBorderCallout2 : public oox_shape
{
public:
oox_shape_AccentBorderCallout2()
{
odf_type_name =L"ooxml-accentBorderCallout2";
enhanced_path = L"M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z N F M ?f9 ?f2 L ?f9 ?f3 Z N F M ?f9 ?f8 L ?f11 ?f10 ?f13 ?f12 N";
text_areas = L"?f0 ?f2 ?f1 ?f3";
view_box = L"0 0 21600 21600";
modifiers = L"18750 -8333 18750 -16667 112500 -46667";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"?f6 / 21600");
add(L"f8", L"?f4 * ?f15 / 100000");
add(L"f9", L"?f5 * ?f14 / 100000");
add(L"f10", L"?f4 * ?f17 / 100000");
add(L"f11", L"?f5 * ?f16 / 100000");
add(L"f12", L"?f4 * ?f19 / 100000");
add(L"f13", L"?f5 * ?f18 / 100000");
add(L"f14", L"$1 / ?f7");
add(L"f15", L"$0 / ?f7");
add(L"f16", L"$3 / ?f7");
add(L"f17", L"$2 / ?f7");
add(L"f18", L"$5 / ?f7");
add(L"f19", L"$4 / ?f7");
/////////////////////////////////////////////////////////
}
};
class oox_shape_AccentBorderCallout3 : public oox_shape
{
public:
oox_shape_AccentBorderCallout3()
{
odf_type_name =L"ooxml-accentBorderCallout3";
enhanced_path = L"M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z N F M ?f9 ?f2 L ?f9 ?f3 Z N F M ?f9 ?f8 L ?f11 ?f10 ?f13 ?f12 ?f15 ?f14 N";
text_areas = L"?f0 ?f2 ?f1 ?f3";
view_box = L"0 0 21600 21600";
modifiers = L"18750 -8333 18750 -16667 100000 -16667 112963 -8333";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"?f6 / 21600");
add(L"f8", L"?f4 * ?f17 / 100000");
add(L"f9", L"?f5 * ?f16 / 100000");
add(L"f10", L"?f4 * ?f19 / 100000");
add(L"f11", L"?f5 * ?f18 / 100000");
add(L"f12", L"?f4 * ?f21 / 100000");
add(L"f13", L"?f5 * ?f20 / 100000");
add(L"f14", L"?f4 * ?f23 / 100000");
add(L"f15", L"?f5 * ?f22 / 100000");
add(L"f16", L"$1 / ?f7");
add(L"f17", L"$0 / ?f7");
add(L"f18", L"$3 / ?f7");
add(L"f19", L"$2 / ?f7");
add(L"f20", L"$5 / ?f7");
add(L"f21", L"$4 / ?f7");
add(L"f22", L"$7 / ?f7");
add(L"f23", L"$6 / ?f7");
/////////////////////////////////////////////////////////
}
};
}

View File

@ -608,230 +608,157 @@ public:
{
odf_type_name = L"ooxml-circularArrow";
enhanced_path = L"M ?f60 ?f61 G ?f10 ?f12 ?f197 ?f198 L ?f172 ?f173 ?f54 ?f55 ?f174 ?f175 ?f159 ?f160 G ?f13 ?f14 ?f199 ?f200 Z N";
text_areas = L"?f193 ?f195 ?f194 ?f196";
modifiers = L"12500 515062 20457681 17744048 18489";
view_box = L"0 0 0 0";
enhanced_path = L"M 534468 1430865 A ?f91 ?f92 ?f93 ?f94 534468 1430865 ?f88 ?f90 W ?f95 ?f96 ?f97 ?f98 534468 1430865 ?f88 ?f90 L 853493 790375 695381 939240 547047 613089 643004 668602 A ?f138 ?f139 ?f140 ?f141 643004 668602 ?f135 ?f137 W ?f142 ?f143 ?f144 ?f145 643004 668602 ?f135 ?f137 Z N";
text_areas = L"?f48 ?f50 ?f49 ?f51";
view_box = L"0 0 880110 1583055";
glue_points = L"?f40 ?f41 ?f42 ?f43 ?f44 ?f45 ?f46 ?f47";
add(L"f0", L"if(0-$4 ,0,if(25000-$4 ,$4 ,25000))");
add(L"f1", L"?f0 *2/1");
add(L"f2", L"if(0-$0 ,0,if(?f1 -$0 ,$0 ,?f1 ))");
add(L"f3", L"if(1-$2 ,1,if(21599999-$2 ,$2 ,21599999))");
add(L"f4", L"if(0-$3 ,0,if(21599999-$3 ,$3 ,21599999))");
add(L"f5", L"min(logwidth,logheight)");
add(L"f6", L"?f5 *?f2 /100000");
add(L"f7", L"?f5 *?f0 /100000");
add(L"f8", L"?f6 *1/2");
add(L"f9", L"logwidth/2");
add(L"f10", L"?f9 +?f8 -?f7 ");
add(L"f11", L"logheight/2");
add(L"f12", L"?f11 +?f8 -?f7 ");
add(L"f13", L"?f10 +0-?f6 ");
add(L"f14", L"?f12 +0-?f6 ");
add(L"f15", L"?f13 +?f8 -0");
add(L"f16", L"?f14 +?f8 -0");
add(L"f17", L"?f15 *sin(pi*(?f3 )/10800000)");
add(L"f18", L"?f16 *cos(pi*(?f3 )/10800000)");
add(L"f19", L"?f15 *(cos(atan2(?f17 ,?f18 )))");
add(L"f20", L"?f16 *(sin(atan2(?f17 ,?f18 )))");
add(L"f21", L"logwidth/2");
add(L"f22", L"?f21 +?f19 -0");
add(L"f23", L"logheight/2");
add(L"f24", L"?f23 +?f20 -0");
add(L"f25", L"min(?f13 ,?f14 )");
add(L"f26", L"?f19 *?f19 /1");
add(L"f27", L"?f20 *?f20 /1");
add(L"f28", L"?f25 *?f25 /1");
add(L"f29", L"?f26 +0-?f28 ");
add(L"f30", L"?f27 +0-?f28 ");
add(L"f31", L"?f29 *?f30 /?f26 ");
add(L"f32", L"?f31 *1/?f27 ");
add(L"f33", L"1+0-?f32 ");
add(L"f34", L"sqrt(?f33 )");
add(L"f35", L"?f29 *1/?f19 ");
add(L"f36", L"?f35 *1/?f20 ");
add(L"f37", L"(1+?f34 )/?f36 ");
add(L"f38", L"(10800000*atan2(?f37 ,1))/pi");
add(L"f39", L"?f38 +21600000-0");
add(L"f40", L"if(?f38 ,?f38 ,?f39 )");
add(L"f41", L"?f40 +0-?f3 ");
add(L"f42", L"?f41 +21600000-0");
add(L"f43", L"if(?f41 ,?f41 ,?f42 )");
add(L"f44", L"?f43 +0-10800000");
add(L"f45", L"?f43 +0-21600000");
add(L"f46", L"if(?f44 ,?f45 ,?f43 )");
add(L"f47", L"abs(?f46 )");
add(L"f48", L"if(0-$1 ,0,if(?f47 -$1 ,$1 ,?f47 ))");
add(L"f49", L"?f3 +?f48 -0");
add(L"f50", L"?f15 *sin(pi*(?f49 )/10800000)");
add(L"f51", L"?f16 *cos(pi*(?f49 )/10800000)");
add(L"f52", L"?f15 *(cos(atan2(?f50 ,?f51 )))");
add(L"f53", L"?f16 *(sin(atan2(?f50 ,?f51 )))");
add(L"f54", L"?f21 +?f52 -0");
add(L"f55", L"?f23 +?f53 -0");
add(L"f56", L"?f10 *sin(pi*(?f4 )/10800000)");
add(L"f57", L"?f12 *cos(pi*(?f4 )/10800000)");
add(L"f58", L"?f10 *(cos(atan2(?f56 ,?f57 )))");
add(L"f59", L"?f12 *(sin(atan2(?f56 ,?f57 )))");
add(L"f60", L"?f21 +?f58 -0");
add(L"f61", L"?f23 +?f59 -0");
add(L"f62", L"?f7 *cos(pi*(?f49 )/10800000)");
add(L"f63", L"?f7 *sin(pi*(?f49 )/10800000)");
add(L"f64", L"?f22 +?f62 -0");
add(L"f65", L"?f24 +?f63 -0");
add(L"f66", L"?f7 *cos(pi*(?f49 )/10800000)");
add(L"f67", L"?f7 *sin(pi*(?f49 )/10800000)");
add(L"f68", L"?f22 +0-?f66 ");
add(L"f69", L"?f24 +0-?f67 ");
add(L"f70", L"?f68 +0-?f21 ");
add(L"f71", L"?f69 +0-?f23 ");
add(L"f72", L"?f64 +0-?f21 ");
add(L"f73", L"?f65 +0-?f23 ");
add(L"f74", L"min(?f10 ,?f12 )");
add(L"f75", L"?f70 *?f74 /?f10 ");
add(L"f76", L"?f71 *?f74 /?f12 ");
add(L"f77", L"?f72 *?f74 /?f10 ");
add(L"f78", L"?f73 *?f74 /?f12 ");
add(L"f79", L"?f77 +0-?f75 ");
add(L"f80", L"?f78 +0-?f76 ");
add(L"f81", L"sqrt(?f79 *?f79 +?f80 *?f80 +0*0)");
add(L"f82", L"?f75 *?f78 /1");
add(L"f83", L"?f77 *?f76 /1");
add(L"f84", L"?f82 +0-?f83 ");
add(L"f85", L"?f74 *?f74 /1");
add(L"f86", L"?f81 *?f81 /1");
add(L"f87", L"?f85 *?f86 /1");
add(L"f88", L"?f84 *?f84 /1");
add(L"f89", L"?f87 +0-?f88 ");
add(L"f90", L"max(?f89 ,0)");
add(L"f91", L"sqrt(?f90 )");
add(L"f92", L"?f80 *-1/1");
add(L"f93", L"if(?f92 ,-1,1)");
add(L"f94", L"?f93 *?f79 /1");
add(L"f95", L"?f94 *?f91 /1");
add(L"f96", L"?f84 *?f80 /1");
add(L"f97", L"(?f96 +?f95 )/?f86 ");
add(L"f98", L"?f96 +0-?f95 ");
add(L"f99", L"?f98 *1/?f86 ");
add(L"f100", L"abs(?f80 )");
add(L"f101", L"?f100 *?f91 /1");
add(L"f102", L"?f84 *?f79 /-1");
add(L"f103", L"(?f102 +?f101 )/?f86 ");
add(L"f104", L"?f102 +0-?f101 ");
add(L"f105", L"?f104 *1/?f86 ");
add(L"f106", L"?f77 +0-?f97 ");
add(L"f107", L"?f77 +0-?f99 ");
add(L"f108", L"?f78 +0-?f103 ");
add(L"f109", L"?f78 +0-?f105 ");
add(L"f110", L"sqrt(?f106 *?f106 +?f108 *?f108 +0*0)");
add(L"f111", L"sqrt(?f107 *?f107 +?f109 *?f109 +0*0)");
add(L"f112", L"?f111 +0-?f110 ");
add(L"f113", L"if(?f112 ,?f97 ,?f99 )");
add(L"f114", L"if(?f112 ,?f103 ,?f105 )");
add(L"f115", L"?f113 *?f10 /?f74 ");
add(L"f116", L"?f114 *?f12 /?f74 ");
add(L"f117", L"?f21 +?f115 -0");
add(L"f118", L"?f23 +?f116 -0");
add(L"f119", L"?f70 *?f25 /?f13 ");
add(L"f120", L"?f71 *?f25 /?f14 ");
add(L"f121", L"?f72 *?f25 /?f13 ");
add(L"f122", L"?f73 *?f25 /?f14 ");
add(L"f123", L"?f121 +0-?f119 ");
add(L"f124", L"?f122 +0-?f120 ");
add(L"f125", L"sqrt(?f123 *?f123 +?f124 *?f124 +0*0)");
add(L"f126", L"?f119 *?f122 /1");
add(L"f127", L"?f121 *?f120 /1");
add(L"f128", L"?f126 +0-?f127 ");
add(L"f129", L"?f25 *?f25 /1");
add(L"f130", L"?f125 *?f125 /1");
add(L"f131", L"?f129 *?f130 /1");
add(L"f132", L"?f128 *?f128 /1");
add(L"f133", L"?f131 +0-?f132 ");
add(L"f134", L"max(?f133 ,0)");
add(L"f135", L"sqrt(?f134 )");
add(L"f136", L"?f93 *?f123 /1");
add(L"f137", L"?f136 *?f135 /1");
add(L"f138", L"?f128 *?f124 /1");
add(L"f139", L"(?f138 +?f137 )/?f130 ");
add(L"f140", L"?f138 +0-?f137 ");
add(L"f141", L"?f140 *1/?f130 ");
add(L"f142", L"abs(?f124 )");
add(L"f143", L"?f142 *?f135 /1");
add(L"f144", L"?f128 *?f123 /-1");
add(L"f145", L"(?f144 +?f143 )/?f130 ");
add(L"f146", L"?f144 +0-?f143 ");
add(L"f147", L"?f146 *1/?f130 ");
add(L"f148", L"?f119 +0-?f139 ");
add(L"f149", L"?f119 +0-?f141 ");
add(L"f150", L"?f120 +0-?f145 ");
add(L"f151", L"?f120 +0-?f147 ");
add(L"f152", L"sqrt(?f148 *?f148 +?f150 *?f150 +0*0)");
add(L"f153", L"sqrt(?f149 *?f149 +?f151 *?f151 +0*0)");
add(L"f154", L"?f153 +0-?f152 ");
add(L"f155", L"if(?f154 ,?f139 ,?f141 )");
add(L"f156", L"if(?f154 ,?f145 ,?f147 )");
add(L"f157", L"?f155 *?f13 /?f25 ");
add(L"f158", L"?f156 *?f14 /?f25 ");
add(L"f159", L"?f21 +?f157 -0");
add(L"f160", L"?f23 +?f158 -0");
add(L"f161", L"(10800000*atan2(?f158 ,?f157 ))/pi");
add(L"f162", L"?f161 +21600000-0");
add(L"f163", L"if(?f161 ,?f161 ,?f162 )");
add(L"f164", L"?f4 +0-?f163 ");
add(L"f165", L"?f164 +0-21600000");
add(L"f166", L"if(?f164 ,?f165 ,?f164 )");
add(L"f167", L"?f117 +0-?f159 ");
add(L"f168", L"?f118 +0-?f160 ");
add(L"f169", L"sqrt(?f167 *?f167 +?f168 *?f168 +0*0)");
add(L"f170", L"?f169 *1/2");
add(L"f171", L"?f170 +0-?f7 ");
add(L"f172", L"if(?f171 ,?f117 ,?f64 )");
add(L"f173", L"if(?f171 ,?f118 ,?f65 )");
add(L"f174", L"if(?f171 ,?f159 ,?f68 )");
add(L"f175", L"if(?f171 ,?f160 ,?f69 )");
add(L"f176", L"(10800000*atan2(?f116 ,?f115 ))/pi");
add(L"f177", L"?f176 +21600000-0");
add(L"f178", L"if(?f176 ,?f176 ,?f177 )");
add(L"f179", L"?f178 +0-?f4 ");
add(L"f180", L"?f179 +21600000-0");
add(L"f181", L"if(?f179 ,?f179 ,?f180 )");
add(L"f182", L"?f15 *sin(pi*(?f4 )/10800000)");
add(L"f183", L"?f16 *cos(pi*(?f4 )/10800000)");
add(L"f184", L"?f15 *(cos(atan2(?f182 ,?f183 )))");
add(L"f185", L"?f16 *(sin(atan2(?f182 ,?f183 )))");
add(L"f186", L"?f21 +?f184 -0");
add(L"f187", L"?f23 +?f185 -0");
add(L"f188", L"?f4 +0-5400000");
add(L"f189", L"?f49 +5400000-0");
add(L"f190", L"?f49 +10800000-0");
add(L"f191", L"?f10 *cos(pi*(2700000)/10800000)");
add(L"f192", L"?f12 *sin(pi*(2700000)/10800000)");
add(L"f193", L"?f21 +0-?f191 ");
add(L"f194", L"?f21 +?f191 -0");
add(L"f195", L"?f23 +0-?f192 ");
add(L"f196", L"?f23 +?f192 -0");
add(L"f197", L"(?f4 )/60000.0");
add(L"f198", L"(?f181 )/60000.0");
add(L"f199", L"(?f163 )/60000.0");
add(L"f200", L"(?f166 )/60000.0");
/////////////////////////////////////////////////////////
_handle h;
h.position = L"?f54 ?f55";
handles.push_back(h);
h.position = L"?f60 ?f61";
handles.push_back(h);
h.position = L"?f117 ?f118";
h.r_minimum = L"0";
h.r_maximum = L"?f1";
handles.push_back(h);
h.position = L"?f68 ?f69";
h.r_minimum = L"0";
h.r_maximum = L"25000";
handles.push_back(h);
add(L"f0", L"10800000");
add(L"f1", L"5400000");
add(L"f2", L"left");
add(L"f3", L"right");
add(L"f4", L"top");
add(L"f5", L"bottom");
add(L"f6", L"?f5 - ?f4");
add(L"f7", L"?f3 - ?f2");
add(L"f8", L"5419351 / 1725033");
add(L"f9", L"180");
add(L"f10", L"?f7 / 880110");
add(L"f11", L"?f6 / 1583055");
add(L"f12", L"695381 - 440055");
add(L"f13", L"939240 - 791527");
add(L"f14", L"sqrt(?f12 * ?f12 + ?f13 * ?f13 + 0 * 0)");
add(L"f15", L"atan2(?f12, ?f13)");
add(L"f16", L"?f15 + ?f1");
add(L"f17", L"?f16 * ?f9 / ?f0");
add(L"f18", L"0 - ?f17");
add(L"f19", L"534468 - 440055");
add(L"f20", L"1430865 - 791527");
add(L"f21", L"sqrt(?f19 * ?f19 + ?f20 * ?f20 + 0 * 0)");
add(L"f22", L"atan2(?f19, ?f20)");
add(L"f23", L"?f22 + ?f1");
add(L"f24", L"?f23 * ?f9 / ?f0");
add(L"f25", L"0 - ?f24");
add(L"f26", L"756945 - 440055");
add(L"f27", L"734520 - 791527");
add(L"f28", L"sqrt(?f26 * ?f26 + ?f27 * ?f27 + 0 * 0)");
add(L"f29", L"atan2(?f26, ?f27)");
add(L"f30", L"?f29 + ?f1");
add(L"f31", L"?f30 * ?f9 / ?f0");
add(L"f32", L"0 - ?f31");
add(L"f33", L"547047 - 440055");
add(L"f34", L"613089 - 791527");
add(L"f35", L"sqrt(?f33 * ?f33 + ?f34 * ?f34 + 0 * 0)");
add(L"f36", L"atan2(?f33, ?f34)");
add(L"f37", L"?f36 + ?f1");
add(L"f38", L"?f37 * ?f9 / ?f0");
add(L"f39", L"0 - ?f38");
add(L"f40", L"525840 / ?f10");
add(L"f41", L"1372440 / ?f11");
add(L"f42", L"853493 / ?f10");
add(L"f43", L"790375 / ?f11");
add(L"f44", L"695381 / ?f10");
add(L"f45", L"939240 / ?f11");
add(L"f46", L"547047 / ?f10");
add(L"f47", L"613089 / ?f11");
add(L"f48", L"215163 / ?f10");
add(L"f49", L"664947 / ?f10");
add(L"f50", L"318107 / ?f11");
add(L"f51", L"1264948 / ?f11");
add(L"f52", L"21550000 - 16092125");
add(L"f53", L"if(?f52, 16092125, 21550000)");
add(L"f54", L"-21550000 - ?f53");
add(L"f55", L"if(?f54, -21550000, ?f53)");
add(L"f56", L"4895979 + ?f55");
add(L"f57", L"4895979 + ?f1");
add(L"f58", L"?f57 * ?f8 / ?f0");
add(L"f59", L"0 - ?f58");
add(L"f60", L"cos(?f59)");
add(L"f61", L"0 - ?f60");
add(L"f62", L"?f61 * 318045");
add(L"f63", L"sin(?f59)");
add(L"f64", L"0 - ?f63");
add(L"f65", L"?f64 * 669518");
add(L"f66", L"sqrt(?f62 * ?f62 + ?f65 * ?f65 + 0 * 0)");
add(L"f67", L"318045 * 669518 / ?f66");
add(L"f68", L"?f64 * ?f67");
add(L"f69", L"534468 - ?f68");
add(L"f70", L"?f61 * ?f67");
add(L"f71", L"1430865 - ?f70");
add(L"f72", L"?f69 - 318045");
add(L"f73", L"?f71 - 669518");
add(L"f74", L"?f69 + 318045");
add(L"f75", L"?f71 + 669518");
add(L"f76", L"?f56 + ?f1");
add(L"f77", L"?f76 * ?f8 / ?f0");
add(L"f78", L"0 - ?f77");
add(L"f79", L"cos(?f78)");
add(L"f80", L"0 - ?f79");
add(L"f81", L"?f80 * 318045");
add(L"f82", L"sin(?f78)");
add(L"f83", L"0 - ?f82");
add(L"f84", L"?f83 * 669518");
add(L"f85", L"sqrt(?f81 * ?f81 + ?f84 * ?f84 + 0 * 0)");
add(L"f86", L"318045 * 669518 / ?f85");
add(L"f87", L"?f83 * ?f86");
add(L"f88", L"?f69 + ?f87");
add(L"f89", L"?f80 * ?f86");
add(L"f90", L"?f71 + ?f89");
add(L"f91", L"if(?f55, 534468, ?f72)");
add(L"f92", L"if(?f55, 1430865, ?f73)");
add(L"f93", L"if(?f55, 534468, ?f74)");
add(L"f94", L"if(?f55, 1430865, ?f75)");
add(L"f95", L"if(?f55, ?f72, ?f88)");
add(L"f96", L"if(?f55, ?f73, ?f90)");
add(L"f97", L"if(?f55, ?f74, ?f88)");
add(L"f98", L"if(?f55, ?f75, ?f90)");
add(L"f99", L"21550000 - -14831828");
add(L"f100", L"if(?f99, -14831828, 21550000)");
add(L"f101", L"-21550000 - ?f100");
add(L"f102", L"if(?f101, -21550000, ?f100)");
add(L"f103", L"19727807 + ?f102");
add(L"f104", L"19727807 + ?f1");
add(L"f105", L"?f104 * ?f8 / ?f0");
add(L"f106", L"0 - ?f105");
add(L"f107", L"cos(?f106)");
add(L"f108", L"0 - ?f107");
add(L"f109", L"?f108 * 208032");
add(L"f110", L"sin(?f106)");
add(L"f111", L"0 - ?f110");
add(L"f112", L"?f111 * 559504");
add(L"f113", L"sqrt(?f109 * ?f109 + ?f112 * ?f112 + 0 * 0)");
add(L"f114", L"208032 * 559504 / ?f113");
add(L"f115", L"?f111 * ?f114");
add(L"f116", L"643004 - ?f115");
add(L"f117", L"?f108 * ?f114");
add(L"f118", L"668602 - ?f117");
add(L"f119", L"?f116 - 208032");
add(L"f120", L"?f118 - 559504");
add(L"f121", L"?f116 + 208032");
add(L"f122", L"?f118 + 559504");
add(L"f123", L"?f103 + ?f1");
add(L"f124", L"?f123 * ?f8 / ?f0");
add(L"f125", L"0 - ?f124");
add(L"f126", L"cos(?f125)");
add(L"f127", L"0 - ?f126");
add(L"f128", L"?f127 * 208032");
add(L"f129", L"sin(?f125)");
add(L"f130", L"0 - ?f129");
add(L"f131", L"?f130 * 559504");
add(L"f132", L"sqrt(?f128 * ?f128 + ?f131 * ?f131 + 0 * 0)");
add(L"f133", L"208032 * 559504 / ?f132");
add(L"f134", L"?f130 * ?f133");
add(L"f135", L"?f116 + ?f134");
add(L"f136", L"?f127 * ?f133");
add(L"f137", L"?f118 + ?f136");
add(L"f138", L"if(?f102, 643004, ?f119)");
add(L"f139", L"if(?f102, 668602, ?f120)");
add(L"f140", L"if(?f102, 643004, ?f121)");
add(L"f141", L"if(?f102, 668602, ?f122)");
add(L"f142", L"if(?f102, ?f119, ?f135)");
add(L"f143", L"if(?f102, ?f120, ?f137)");
add(L"f144", L"if(?f102, ?f121, ?f135)");
add(L"f145", L"if(?f102, ?f122, ?f137)");
}
};
class oox_shape_SwooshArrow : public oox_shape
@ -990,4 +917,5 @@ public:
handles.push_back(h2);
}
};
}

View File

@ -35,6 +35,14 @@
//+ shapetypeRightArrowCallout
//+ shapetypeUpArrowCallout
//+ shapetypeDownArrowCallout
//+ shapetypeCallout1
//+ shapetypeCallout2
//- shapetypeCallout3
//+ shapetypeWedgeRectCallout
//+ shapetypeWedgeRoundRectCallout
//+ shapetypeCloudCallout
//+ shapetypeWedgeEllipseCallout
//+ shapetypeQuadArrowCallout
namespace cpdoccore
{
@ -277,5 +285,329 @@ public:
handles.push_back(h2);
}
};
class oox_shape_Callout1 : public oox_shape
{
public:
oox_shape_Callout1()
{
odf_type_name =L"ooxml-callout1";
enhanced_path = L"S M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z N F M ?f9 ?f8 L ?f11 ?f10 N";
text_areas = L"?f0 ?f2 ?f1 ?f3";
view_box = L"0 0 21600 21600";
modifiers = L"18750 -8333 112500 -38333";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"?f6 / 21600");
add(L"f8", L"?f4 * ?f13 / 100000");
add(L"f9", L"?f5 * ?f12 / 100000");
add(L"f10", L"?f4 * ?f15 / 100000");
add(L"f11", L"?f5 * ?f14 / 100000");
add(L"f12", L"$1 / ?f7");
add(L"f13", L"$0 / ?f7");
add(L"f14", L"$3 / ?f7");
add(L"f15", L"$2 / ?f7");
/////////////////////////////////////////////////////////
}
};
class oox_shape_Callout2 : public oox_shape
{
public:
oox_shape_Callout2()
{
odf_type_name =L"ooxml-callout2";
enhanced_path = L"S M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z N F M ?f9 ?f8 L ?f11 ?f10 ?f13 ?f12 N";
text_areas = L"?f0 ?f2 ?f1 ?f3";
view_box = L"0 0 21600 21600";
modifiers = L"18750 -8333 18750 -16667 112500 -46667";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"?f6 / 21600");
add(L"f8", L"?f4 * ?f15 / 100000");
add(L"f9", L"?f5 * ?f14 / 100000");
add(L"f10", L"?f4 * ?f17 / 100000");
add(L"f11", L"?f5 * ?f16 / 100000");
add(L"f12", L"?f4 * ?f19 / 100000");
add(L"f13", L"?f5 * ?f18 / 100000");
add(L"f14", L"$1 / ?f7");
add(L"f15", L"$0 / ?f7");
add(L"f16", L"$3 / ?f7");
add(L"f17", L"$2 / ?f7");
add(L"f18", L"$5 / ?f7");
add(L"f19", L"$4 / ?f7");
/////////////////////////////////////////////////////////
}
};
class oox_shape_CloudCallout : public oox_shape
{
public:
oox_shape_CloudCallout()
{
odf_type_name =L"ooxml-cloudCallout";
enhanced_path = L"M 1930 7160 C 1530 4490 3400 1970 5270 1970 5860 1950 6470 2210 6970 2600 7450 1390 8340 650 9340 650 10004 690 10710 1050 11210 1700 11570 630 12330 0 13150 0 13840 0 14470 460 14870 1160 15330 440 16020 0 16740 0 17910 0 18900 1130 19110 2710 20240 3150 21060 4580 21060 6220 21060 6720 21000 7200 20830 7660 21310 8460 21600 9450 21600 10460 21600 12750 20310 14680 18650 15010 18650 17200 17370 18920 15770 18920 15220 18920 14700 18710 14240 18310 13820 20240 12490 21600 11000 21600 9890 21600 8840 20790 8210 19510 7620 20000 7930 20290 6240 20290 4850 20290 3570 19280 2900 17640 1300 17600 480 16300 480 14660 480 13900 690 13210 1070 12640 380 12160 0 11210 0 10120 0 8590 840 7330 1930 7160 Z N M 1930 7160 C 1950 7410 2040 7690 2090 7920 F N M 6970 2600 C 7200 2790 7480 3050 7670 3310 F N M 11210 1700 C 11130 1910 11080 2160 11030 2400 F N M 14870 1160 C 14720 1400 14640 1720 14540 2010 F N M 19110 2710 C 19130 2890 19230 3290 19190 3380 F N M 20830 7660 C 20660 8170 20430 8620 20110 8990 F N M 18660 15010 C 18740 14200 18280 12200 17000 11450 F N M 14240 18310 C 14320 17980 14350 17680 14370 17360 F N M 8220 19510 C 8060 19250 7960 18950 7860 18640 F N M 2900 17640 C 3090 17600 3280 17540 3460 17450 F N M 1070 12640 C 1400 12900 1780 13130 2330 13040 F N U ?f17 ?f18 1800 1800 0 23592960 Z N U ?f19 ?f20 1200 1200 0 23592960 Z N U ?f13 ?f14 700 700 0 23592960 Z N";
text_areas = L"3000 3320 17110 17330";
view_box = L"0 0 21600 21600";
modifiers = L"6300 24300";
glue_points = L"0 10800 10800 21600 21600 10800 10800 0 ?f13 ?f14";
add(L"f0", L"$0 -10800");
add(L"f1", L"$1 -10800");
add(L"f2", L"atan2(?f1 ,?f0 )/(pi/180)");
add(L"f3", L"10800*cos(?f2 *(pi/180))");
add(L"f4", L"10800*sin(?f2 *(pi/180))");
add(L"f5", L"?f3 +10800");
add(L"f6", L"?f4 +10800");
add(L"f7", L"$0 -?f5 ");
add(L"f8", L"$1 -?f6 ");
add(L"f9", L"?f7 /3");
add(L"f10", L"?f8 /3");
add(L"f11", L"?f7 *2/3");
add(L"f12", L"?f8 *2/3");
add(L"f13", L"$0 ");
add(L"f14", L"$1 ");
add(L"f15", L"?f3 /12");
add(L"f16", L"?f4 /12");
add(L"f17", L"?f9 +?f5 -?f15 ");
add(L"f18", L"?f10 +?f6 -?f16 ");
add(L"f19", L"?f11 +?f5 ");
add(L"f20", L"?f12 +?f6 ");
/////////////////////////////////////////////////////////
_handle h1;
h1.position = L"$0 $1";
handles.push_back(h1);
}
};
class oox_shape_WedgeRectCallout : public oox_shape
{
public:
oox_shape_WedgeRectCallout()
{
odf_type_name =L"ooxml-wedgeRectCallout";
enhanced_path = L"M 0 0 L 0 3590 ?f2 ?f3 0 8970 0 12630 ?f4 ?f5 0 18010 0 21600 3590 21600 ?f6 ?f7 8970 21600 12630 21600 ?f8 ?f9 18010 21600 21600 21600 21600 18010 ?f10 ?f11 21600 12630 21600 8970 ?f12 ?f13 21600 3590 21600 0 18010 0 ?f14 ?f15 12630 0 8970 0 ?f16 ?f17 3590 0 0 0 Z N";
text_areas = L"0 0 21600 21600";
view_box = L"0 0 21600 21600";
modifiers = L"6300 24300";
glue_points = L"?f40 ?f41";
add(L"f0", L"$0 -10800");
add(L"f1", L"$1 -10800");
add(L"f2", L"if(?f18 ,$0 ,0)");
add(L"f3", L"if(?f18 ,$1 ,6280)");
add(L"f4", L"if(?f23 ,$0 ,0)");
add(L"f5", L"if(?f23 ,$1 ,15320)");
add(L"f6", L"if(?f26 ,$0 ,6280)");
add(L"f7", L"if(?f26 ,$1 ,21600)");
add(L"f8", L"if(?f29 ,$0 ,15320)");
add(L"f9", L"if(?f29 ,$1 ,21600)");
add(L"f10", L"if(?f32 ,$0 ,21600)");
add(L"f11", L"if(?f32 ,$1 ,15320)");
add(L"f12", L"if(?f34 ,$0 ,21600)");
add(L"f13", L"if(?f34 ,$1 ,6280)");
add(L"f14", L"if(?f36 ,$0 ,15320)");
add(L"f15", L"if(?f36 ,$1 ,0)");
add(L"f16", L"if(?f38 ,$0 ,6280)");
add(L"f17", L"if(?f38 ,$1 ,0)");
add(L"f18", L"if($0 ,-1,?f19 )");
add(L"f19", L"if(?f1 ,-1,?f22 )");
add(L"f20", L"abs(?f0 )");
add(L"f21", L"abs(?f1 )");
add(L"f22", L"?f20 -?f21 ");
add(L"f23", L"if($0 ,-1,?f24 )");
add(L"f24", L"if(?f1 ,?f22 ,-1)");
add(L"f25", L"$1 -21600");
add(L"f26", L"if(?f25 ,?f27 ,-1)");
add(L"f27", L"if(?f0 ,-1,?f28 )");
add(L"f28", L"?f21 -?f20 ");
add(L"f29", L"if(?f25 ,?f30 ,-1)");
add(L"f30", L"if(?f0 ,?f28 ,-1)");
add(L"f31", L"$0 -21600");
add(L"f32", L"if(?f31 ,?f33 ,-1)");
add(L"f33", L"if(?f1 ,?f22 ,-1)");
add(L"f34", L"if(?f31 ,?f35 ,-1)");
add(L"f35", L"if(?f1 ,-1,?f22 )");
add(L"f36", L"if($1 ,-1,?f37 )");
add(L"f37", L"if(?f0 ,?f28 ,-1)");
add(L"f38", L"if($1 ,-1,?f39 )");
add(L"f39", L"if(?f0 ,-1,?f28 )");
add(L"f40", L"$0 ");
add(L"f41", L"$1 ");
/////////////////////////////////////////////////////////
_handle h1;
h1.position = L"$0 $1";
handles.push_back(h1);
}
};
class oox_shape_WedgeRoundRectCallout : public oox_shape
{
public:
oox_shape_WedgeRoundRectCallout()
{
odf_type_name =L"ooxml-wedgeRoundRectCallout";
enhanced_path = L"M 3590 0 X 0 3590 L ?f2 ?f3 0 8970 0 12630 ?f4 ?f5 0 18010 Y 3590 21600 L ?f6 ?f7 8970 21600 12630 21600 ?f8 ?f9 18010 21600 X 21600 18010 L ?f10 ?f11 21600 12630 21600 8970 ?f12 ?f13 21600 3590 Y 18010 0 L ?f14 ?f15 12630 0 8970 0 ?f16 ?f17 Z N";
text_areas = L"800 800 20800 20800";
view_box = L"0 0 21600 21600";
modifiers = L"6300 24300";
glue_points = L"?f40 ?f41";
add(L"f0", L"$0 -10800");
add(L"f1", L"$1 -10800");
add(L"f2", L"if(?f18 ,$0 ,0)");
add(L"f3", L"if(?f18 ,$1 ,6280)");
add(L"f4", L"if(?f23 ,$0 ,0)");
add(L"f5", L"if(?f23 ,$1 ,15320)");
add(L"f6", L"if(?f26 ,$0 ,6280)");
add(L"f7", L"if(?f26 ,$1 ,21600)");
add(L"f8", L"if(?f29 ,$0 ,15320)");
add(L"f9", L"if(?f29 ,$1 ,21600)");
add(L"f10", L"if(?f32 ,$0 ,21600)");
add(L"f11", L"if(?f32 ,$1 ,15320)");
add(L"f12", L"if(?f34 ,$0 ,21600)");
add(L"f13", L"if(?f34 ,$1 ,6280)");
add(L"f14", L"if(?f36 ,$0 ,15320)");
add(L"f15", L"if(?f36 ,$1 ,0)");
add(L"f16", L"if(?f38 ,$0 ,6280)");
add(L"f17", L"if(?f38 ,$1 ,0)");
add(L"f18", L"if($0 ,-1,?f19 )");
add(L"f19", L"if(?f1 ,-1,?f22 )");
add(L"f20", L"abs(?f0 )");
add(L"f21", L"abs(?f1 )");
add(L"f22", L"?f20 -?f21 ");
add(L"f23", L"if($0 ,-1,?f24 )");
add(L"f24", L"if(?f1 ,?f22 ,-1)");
add(L"f25", L"$1 -21600");
add(L"f26", L"if(?f25 ,?f27 ,-1)");
add(L"f27", L"if(?f0 ,-1,?f28 )");
add(L"f28", L"?f21 -?f20 ");
add(L"f29", L"if(?f25 ,?f30 ,-1)");
add(L"f30", L"if(?f0 ,?f28 ,-1)");
add(L"f31", L"$0 -21600");
add(L"f32", L"if(?f31 ,?f33 ,-1)");
add(L"f33", L"if(?f1 ,?f22 ,-1)");
add(L"f34", L"if(?f31 ,?f35 ,-1)");
add(L"f35", L"if(?f1 ,-1,?f22 )");
add(L"f36", L"if($1 ,-1,?f37 )");
add(L"f37", L"if(?f0 ,?f28 ,-1)");
add(L"f38", L"if($1 ,-1,?f39 )");
add(L"f39", L"if(?f0 ,-1,?f28 )");
add(L"f40", L"$0 ");
add(L"f41", L"$1 ");
/////////////////////////////////////////////////////////
_handle h1;
h1.position = L"$0 $1";
handles.push_back(h1);
}
};
class oox_shape_WedgeEllipseCallout : public oox_shape
{
public:
oox_shape_WedgeEllipseCallout()
{
odf_type_name =L"ooxml-wedgeEllipseCallout";
enhanced_path = L"W 0 0 21600 21600 ?f22 ?f23 ?f18 ?f19 L ?f14 ?f15 Z N";
text_areas = L"3200 3200 18400 18400";
view_box = L"0 0 21600 21600";
modifiers = L"6300 24300";
glue_points = L"3160 3160 3160 18440 18440 18440 18440 3160 ?f14 ?f15";
add(L"f0", L"$0 -10800");
add(L"f1", L"$1 -10800");
add(L"f2", L"?f0 *?f0 ");
add(L"f3", L"?f1 *?f1 ");
add(L"f4", L"?f2 +?f3 ");
add(L"f5", L"sqrt(?f4 )");
add(L"f6", L"?f5 -10800");
add(L"f7", L"atan2(?f1 ,?f0 )/(pi/180)");
add(L"f8", L"?f7 -10");
add(L"f9", L"?f7 +10");
add(L"f10", L"10800*cos(?f7 *(pi/180))");
add(L"f11", L"10800*sin(?f7 *(pi/180))");
add(L"f12", L"?f10 +10800");
add(L"f13", L"?f11 +10800");
add(L"f14", L"if(?f6 ,$0 ,?f12 )");
add(L"f15", L"if(?f6 ,$1 ,?f13 )");
add(L"f16", L"10800*cos(?f8 *(pi/180))");
add(L"f17", L"10800*sin(?f8 *(pi/180))");
add(L"f18", L"?f16 +10800");
add(L"f19", L"?f17 +10800");
add(L"f20", L"10800*cos(?f9 *(pi/180))");
add(L"f21", L"10800*sin(?f9 *(pi/180))");
add(L"f22", L"?f20 +10800");
add(L"f23", L"?f21 +10800");
/////////////////////////////////////////////////////////
_handle h1;
h1.position = L"$0 $1";
handles.push_back(h1);
}
};
class oox_shape_QuadArrowCallout : public oox_shape
{
public:
oox_shape_QuadArrowCallout()
{
odf_type_name =L"ooxml-quadArrowCallout";
enhanced_path = L"M ?f0 ?f6 L ?f17 ?f30 ?f17 ?f32 ?f21 ?f32 ?f21 ?f28 ?f25 ?f28 ?f25 ?f17 ?f23 ?f17 ?f9 ?f2 ?f24 ?f17 ?f26 ?f17 ?f26 ?f28 ?f22 ?f28 ?f22 ?f32 ?f20 ?f32 ?f20 ?f30 ?f1 ?f6 ?f20 ?f31 ?f20 ?f33 ?f22 ?f33 ?f22 ?f29 ?f26 ?f29 ?f26 ?f27 ?f24 ?f27 ?f9 ?f3 ?f23 ?f27 ?f25 ?f27 ?f25 ?f29 ?f21 ?f29 ?f21 ?f33 ?f17 ?f33 ?f17 ?f31 Z N";
text_areas = L"?f21 ?f28 ?f22 ?f29";
view_box = L"0 0 21600 21600";
modifiers = L"18515 18515 18515 48123";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f4 / 2");
add(L"f6", L"?f2 + ?f5");
add(L"f7", L"?f1 - ?f0");
add(L"f8", L"?f7 / 2");
add(L"f9", L"?f0 + ?f8");
add(L"f10", L"min(?f7, ?f4)");
add(L"f11", L"$1");
add(L"f12", L"$0");
add(L"f13", L"$2");
add(L"f14", L"$3");
add(L"f15", L"?f10 * ?f11 / 100000");
add(L"f16", L"?f10 * ?f12 / 200000");
add(L"f17", L"?f10 * ?f13 / 100000");
add(L"f18", L"?f7 * ?f14 / 200000");
add(L"f19", L"?f4 * ?f14 / 200000");
add(L"f20", L"?f1 - ?f17");
add(L"f21", L"?f9 - ?f18");
add(L"f22", L"?f9 + ?f18");
add(L"f23", L"?f9 - ?f15");
add(L"f24", L"?f9 + ?f15");
add(L"f25", L"?f9 - ?f16");
add(L"f26", L"?f9 + ?f16");
add(L"f27", L"?f3 - ?f17");
add(L"f28", L"?f6 - ?f19");
add(L"f29", L"?f6 + ?f19");
add(L"f30", L"?f6 - ?f15");
add(L"f31", L"?f6 + ?f15");
add(L"f32", L"?f6 - ?f16");
add(L"f33", L"?f6 + ?f16");
/////////////////////////////////////////////////////////
}
};
}

File diff suppressed because it is too large Load Diff

View File

@ -31,23 +31,28 @@
*/
//+ shapetypeArc,
//+ shapetypeBevel,
//+ shapetypeCan,
//+ shapetypeChevron,
//+ shapetypeChord,
//+ shapetypeCorner,
// shapetypeCornerTabs,
// shapetypeDecagon,
//+ shapetypeCube,
//+ shapetypeDecagon,
// shapetypeDiagStripe,
//+ shapetypeDiamond
// shapetypeDodecagon,
//+ shapetypeDodecagon,
//+ shapetypeDoubleWave,
//+ shapetypeFunnel,
//+ shapetypeGear6,
//+ shapetypeGear9,
// shapetypeHalfFrame,
// shapetypeHeptagon,
//+ shapetypeHeptagon,
//+ shapetypeHexagon,
//+ shapetypeHomePlate,
// shapetypeNonIsoscelesTrapezoid,
//+ shapetypeOctagon,
//+ shapetypeParallelogram
//+ shapetypePentagon,
//+ shapetypePie,
//+ shapetypePieWedge,
//+ shapetypePlaque,
@ -282,55 +287,52 @@ public:
odf_type_name =L"ooxml-wave";
modifiers = L"12500 0";
enhanced_path = L"M ?f13 ?f2 C ?f17 ?f4 ?f18 ?f5 ?f15 ?f2 L ?f20 ?f6 C ?f22 ?f8 ?f21 ?f7 ?f19 ?f6 Z N";
text_areas = L"?f27 ?f29 ?f28 ?f30";
glue_points = L"?f35 ?f10 ?f19 ?f6 ?f28 ?f14 ?f38 ?f6";
view_box = L"0 0 0 0";
enhanced_path = L"M ?f23 ?f12 C ?f27 ?f14 ?f28 ?f15 ?f25 ?f12 L ?f30 ?f16 C ?f32 ?f18 ?f31 ?f17 ?f29 ?f16 Z N";
text_areas = L"?f36 ?f38 ?f37 ?f39";
glue_points = L"?f35 ?f12 ?f21 ?f6 ?f34 ?f16 ?f33 ?f6";
view_box = L"0 0 21600 21600";
add(L"f0", L"if(0-$0 ,0,if(20000-$0 ,$0 ,20000))");
add(L"f1", L"if(-10000-$1 ,-10000,if(10000-$1 ,$1 ,10000))");
add(L"f2", L"logheight*?f0 /100000");
add(L"f3", L"?f2 *10/3");
add(L"f4", L"?f2 +0-?f3 ");
add(L"f5", L"?f2 +?f3 -0");
add(L"f6", L"logheight+0-?f2 ");
add(L"f7", L"?f6 +0-?f3 ");
add(L"f8", L"?f6 +?f3 -0");
add(L"f9", L"logwidth*?f1 /100000");
add(L"f10", L"logwidth*?f1 /50000");
add(L"f11", L"abs(?f9 )");
add(L"f12", L"if(?f10 ,0,?f10 )");
add(L"f13", L"0+0-?f12 ");
add(L"f14", L"if(?f10 ,?f10 ,0)");
add(L"f15", L"logwidth+0-?f14 ");
add(L"f16", L"(?f12 +?f15 )/3");
add(L"f17", L"?f13 +?f16 -0");
add(L"f18", L"(?f17 +?f15 )/2");
add(L"f19", L"0+?f14 -0");
add(L"f20", L"logwidth+?f12 -0");
add(L"f21", L"?f19 +?f16 -0");
add(L"f22", L"(?f21 +?f20 )/2");
add(L"f23", L"logwidth+0-?f11");
add(L"f24", L"logwidth/2");
add(L"f25", L"?f24 +?f9 -0");
add(L"f26", L"?f24 +0-?f9 ");
add(L"f27", L"max(?f13 ,?f19 )");
add(L"f28", L"min(?f15 ,?f20 )");
add(L"f29", L"logheight*?f0 /50000");
add(L"f30", L"logheight+0-?f29 ");
add(L"f31", L"logheight");
add(L"f32", L"logheight/2");
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f4 / 2");
add(L"f6", L"?f2 + ?f5");
add(L"f7", L"?f1 - ?f0");
add(L"f8", L"?f7 / 2");
add(L"f9", L"?f0 + ?f8");
add(L"f10", L"$0");
add(L"f11", L"$1");
add(L"f12", L"?f4 * ?f10 / 100000");
add(L"f13", L"?f12 * 10 / 3");
add(L"f14", L"?f12 - ?f13");
add(L"f15", L"?f12 + ?f13");
add(L"f16", L"?f3 - ?f12");
add(L"f17", L"?f16 - ?f13");
add(L"f18", L"?f16 + ?f13");
add(L"f19", L"?f7 * ?f11 / 100000");
add(L"f20", L"?f7 * ?f11 / 50000");
add(L"f21", L"abs(?f19)");
add(L"f22", L"if(?f20, 0, ?f20)");
add(L"f23", L"?f0 - ?f22");
add(L"f24", L"if(?f20, ?f20, 0)");
add(L"f25", L"?f1 - ?f24");
add(L"f26", L"(?f22 + ?f25) / 3");
add(L"f27", L"?f23 + ?f26");
add(L"f28", L"(?f27 + ?f25) / 2");
add(L"f29", L"?f0 + ?f24");
add(L"f30", L"?f1 + ?f22");
add(L"f31", L"?f29 + ?f26");
add(L"f32", L"(?f31 + ?f30) / 2");
add(L"f33", L"?f1 - ?f21");
add(L"f34", L"?f9 + ?f19");
add(L"f35", L"?f9 - ?f19");
add(L"f36", L"max(?f23, ?f29)");
add(L"f37", L"min(?f25, ?f30)");
add(L"f38", L"?f4 * ?f10 / 50000");
add(L"f39", L"?f3 - ?f38");
/////////////////////////////////////////////////////////
_handle h1, h2;
h1.position = L"0 ?f2";
h1.y_maximum= L"20000";
h1.y_minimum= L"0";
handles.push_back(h1);
h2.position = L"?f25 ?f31";
h2.x_maximum= L"10000";
h2.x_minimum= L"-10000";
handles.push_back(h2);
}
};
class oox_shape_DoubleWave : public oox_shape
@ -338,7 +340,7 @@ class oox_shape_DoubleWave : public oox_shape
public:
oox_shape_DoubleWave()
{
odf_type_name =L"ooxml-DoubleWave";
odf_type_name =L"ooxml-doubleWave";
modifiers = L"6500 0";
enhanced_path = L"M ?f21 ?f10 C ?f25 ?f12 ?f27 ?f13 ?f28 ?f10 ?f29 ?f12 ?f30 ?f13 ?f23 ?f10 L ?f32 ?f14 C ?f37 ?f16 ?f36 ?f15 ?f35 ?f14 ?f34 ?f16 ?f33 ?f15 ?f31 ?f14 Z N";
@ -1316,20 +1318,27 @@ public:
{
odf_type_name =L"ooxml-bevel";
enhanced_path = L"M ?f2 ?f2 L ?f3 ?f2 ?f3 ?f4 ?f2 ?f4 Z S N M 0 0 L ?f5 0 ?f3 ?f2 ?f2 ?f2 Z K S N M 0 ?f8 L ?f2 ?f4 ?f3 ?f4 ?f5 ?f8 Z I S N M 0 0 L ?f2 ?f2 ?f2 ?f4 0 ?f8 Z J S N M ?f5 0 L ?f5 ?f8 ?f3 ?f4 ?f3 ?f2 Z H S N M 0 0 L ?f5 0 ?f5 ?f8 0 ?f8 Z M ?f2 ?f2 L ?f3 ?f2 ?f3 ?f4 ?f2 ?f4 Z M 0 0 L ?f2 ?f2 M 0 ?f8 L ?f2 ?f4 M ?f5 0 L ?f3 ?f2 M ?f5 ?f8 L ?f3 ?f4 F N";
enhanced_path = L"S M ?f12 ?f12 L ?f13 ?f12 ?f13 ?f14 ?f12 ?f14 Z N S M ?f0 ?f2 L ?f1 ?f2 ?f13 ?f12 ?f12 ?f12 Z N S M ?f0 ?f3 L ?f12 ?f14 ?f13 ?f14 ?f1 ?f3 Z N S M ?f0 ?f2 L ?f12 ?f12 ?f12 ?f14 ?f0 ?f3 Z N S M ?f1 ?f2 L ?f1 ?f3 ?f13 ?f14 ?f13 ?f12 Z N F M ?f0 ?f2 L ?f1 ?f2 ?f1 ?f3 ?f0 ?f3 Z M ?f12 ?f12 L ?f13 ?f12 ?f13 ?f14 ?f12 ?f14 Z M ?f0 ?f2 L ?f12 ?f12 M ?f0 ?f3 L ?f12 ?f14 M ?f1 ?f2 L ?f13 ?f12 M ?f1 ?f3 L ?f13 ?f14 N";
text_areas = L"?f2 ?f2 ?f3 ?f4";
view_box = L"0 0 0 0";
view_box = L"0 0 21600 21600";
modifiers = L"12500";
glue_points = L"?f13 ?f6 ?f9 ?f14 ?f12 ?f6 ?f9 ?f12";
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+0-?f2 ");
add(L"f4", L"logheight+0-?f2 ");
add(L"f5", L"logwidth");
add(L"f6", L"logheight/2");
add(L"f7", L"logwidth/2");
add(L"f8", L"logheight");
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f4 / 2");
add(L"f6", L"?f2 + ?f5");
add(L"f7", L"?f1 - ?f0");
add(L"f8", L"?f7 / 2");
add(L"f9", L"?f0 + ?f8");
add(L"f10", L"min(?f7, ?f4)");
add(L"f11", L"$0");
add(L"f12", L"?f10 * ?f11 / 100000");
add(L"f13", L"?f1 - ?f12");
add(L"f14", L"?f3 - ?f12");
/////////////////////////////////////////////////////////
_handle h;
@ -1541,56 +1550,6 @@ public:
handles.push_back(h);
}
};
class oox_shape_bracketPair : public oox_shape
{
public:
oox_shape_bracketPair()
{
odf_type_name =L"ooxml-bracketPair";
//enhanced_path = L"M 0 ?f2 L ?f3 0 L ?f11 ?f4 L ?f2 ?f10 Z S N M ?f2 ?f10 L 0 ?f2 M ?f3 0 L ?f11 ?f4 F N";
enhanced_path = L"M 0 ?f2 G ?f2 ?f2 ?f12 ?f13 L ?f3 0 G ?f2 ?f2 ?f14 ?f15 L ?f11 ?f4 G ?f2 ?f2 ?f16 ?f17 L ?f2 ?f10 G ?f2 ?f2 ?f18 ?f19 Z S N M ?f2 ?f10 G ?f2 ?f2 ?f20 ?f21 L 0 ?f2 G ?f2 ?f2 ?f22 ?f23 M ?f3 0 G ?f2 ?f2 ?f24 ?f25 L ?f11 ?f4 G ?f2 ?f2 ?f26 ?f27 F N";
text_areas = L"?f5 ?f5 ?f6 ?f7";
view_box = L"0 0 0 0";
modifiers = L"23051";
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+0-?f2 ");
add(L"f4", L"logheight+0-?f2 ");
add(L"f5", L"?f2 *29289/100000");
add(L"f6", L"logwidth+0-?f5 ");
add(L"f7", L"logheight+0-?f5 ");
add(L"f8", L"logwidth/2");
add(L"f9", L"logheight/2");
add(L"f10", L"logheight");
add(L"f11", L"logwidth");
add(L"f12", L"(10800000)/60000.0");
add(L"f13", L"(5400000)/60000.0");
add(L"f14", L"(16200000)/60000.0");
add(L"f15", L"(5400000)/60000.0");
add(L"f16", L"(0)/60000.0");
add(L"f17", L"(5400000)/60000.0");
add(L"f18", L"(5400000)/60000.0");
add(L"f19", L"(5400000)/60000.0");
add(L"f20", L"(5400000)/60000.0");
add(L"f21", L"(5400000)/60000.0");
add(L"f22", L"(10800000)/60000.0");
add(L"f23", L"(5400000)/60000.0");
add(L"f24", L"(16200000)/60000.0");
add(L"f25", L"(5400000)/60000.0");
add(L"f26", L"(0)/60000.0");
add(L"f27", L"(5400000)/60000.0");
/////////////////////////////////////////////////////////
_handle h1;
h1.position = L"0 ?f2";
h1.y_minimum = L"0";
h1.y_maximum = L"50000";
handles.push_back(h1);
}
};
class oox_shape_Frame : public oox_shape
{
public:
@ -1623,4 +1582,491 @@ public:
}
};
class oox_shape_Pentagon : public oox_shape
{
public:
oox_shape_Pentagon()
{
odf_type_name =L"ooxml-pentagon";
enhanced_path = L"M ?f34 ?f38 L ?f11 ?f4 ?f37 ?f38 ?f36 ?f39 ?f35 ?f39 Z N";
text_areas = L"?f35 ?f40 ?f36 ?f39";
view_box = L"0 0 21600 21600";
glue_points = L"?f34 ?f38 ?f35 ?f39 ?f36 ?f39 ?f37 ?f38";
add(L"f0", L"10800000");
add(L"f1", L"5400000");
add(L"f2", L"left");
add(L"f3", L"right");
add(L"f4", L"top");
add(L"f5", L"bottom");
add(L"f6", L"?f5 - ?f4");
add(L"f7", L"?f6 / 2");
add(L"f8", L"?f4 + ?f7");
add(L"f9", L"?f3 - ?f2");
add(L"f10", L"?f9 / 2");
add(L"f11", L"?f2 + ?f10");
add(L"f12", L"5419351 / 1725033");
add(L"f13", L"?f10 * ?f41 / 100000");
add(L"f14", L"?f7 * ?f42 / 100000");
add(L"f15", L"?f8 * ?f42 / 100000");
add(L"f16", L"1080000 + ?f1");
add(L"f17", L"?f16 * ?f12 / ?f0");
add(L"f18", L"0 - ?f17");
add(L"f19", L"sin(?f18)");
add(L"f20", L"0 - ?f19");
add(L"f21", L"?f20 * ?f13");
add(L"f22", L"18360000 + ?f1");
add(L"f23", L"?f22 * ?f12 / ?f0");
add(L"f24", L"0 - ?f23");
add(L"f25", L"sin(?f24)");
add(L"f26", L"0 - ?f25");
add(L"f27", L"?f26 * ?f13");
add(L"f28", L"cos(?f18)");
add(L"f29", L"0 - ?f28");
add(L"f30", L"?f29 * ?f14");
add(L"f31", L"cos(?f24)");
add(L"f32", L"0 - ?f31");
add(L"f33", L"?f32 * ?f14");
add(L"f34", L"?f11 - ?f21");
add(L"f35", L"?f11 - ?f27");
add(L"f36", L"?f11 + ?f27");
add(L"f37", L"?f11 + ?f21");
add(L"f38", L"?f15 - ?f30");
add(L"f39", L"?f15 - ?f33");
add(L"f40", L"?f38 * ?f27 / ?f21");
add(L"f41", L"105146");
add(L"f42", L"110557");
/////////////////////////////////////////////////////////
}
};
class oox_shape_Octagon : public oox_shape
{
public:
oox_shape_Octagon()
{
odf_type_name =L"ooxml-octagon";
modifiers = L"29289";
enhanced_path = L"M ?f0 ?f8 L ?f8 ?f2 ?f9 ?f2 ?f1 ?f8 ?f1 ?f10 ?f9 ?f3 ?f8 ?f3 ?f0 ?f10 Z N";
text_areas = L"?f11 ?f11 ?f12 ?f13";
view_box = L"0 0 21600 21600";
glue_points = L"?f1 ?f8 ?f1 ?f10 ?f9 ?f3 ?f8 ?f3 ?f0 ?f10 ?f0 ?f8 ?f8 ?f2 ?f9 ?f2";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"$0");
add(L"f8", L"?f6 * ?f7 / 100000");
add(L"f9", L"?f1 - ?f8");
add(L"f10", L"?f3 - ?f8");
add(L"f11", L"?f8 / 2");
add(L"f12", L"?f1 - ?f11");
add(L"f13", L"?f3 - ?f11");
/////////////////////////////////////////////////////////
}
};
class oox_shape_Hexagon : public oox_shape
{
public:
oox_shape_Hexagon()
{
odf_type_name =L"ooxml-hexagon";
modifiers = L"28921 115470";
enhanced_path = L"M ?f2 ?f8 L ?f15 ?f23 ?f16 ?f23 ?f3 ?f8 ?f16 ?f24 ?f15 ?f24 Z N";
text_areas = L"?f33 ?f34 ?f35 ?f36";
view_box = L"0 0 21600 21600";
glue_points = L"?f16 ?f24 ?f15 ?f24 ?f15 ?f23 ?f16 ?f23";
add(L"f0", L"10800000");
add(L"f1", L"5400000");
add(L"f2", L"left");
add(L"f3", L"right");
add(L"f4", L"top");
add(L"f5", L"bottom");
add(L"f6", L"?f5 - ?f4");
add(L"f7", L"?f6 / 2");
add(L"f8", L"?f4 + ?f7");
add(L"f9", L"?f3 - ?f2");
add(L"f10", L"min(?f9, ?f6)");
add(L"f11", L"5419351 / 1725033");
add(L"f12", L"50000 * ?f9 / ?f10");
add(L"f13", L"$0");
add(L"f14", L"?f7 * ?f37 / 100000");
add(L"f15", L"?f10 * ?f13 / 100000");
add(L"f16", L"?f3 - ?f15");
add(L"f17", L"3600000 + ?f1");
add(L"f18", L"?f17 * ?f11 / ?f0");
add(L"f19", L"0 - ?f18");
add(L"f20", L"cos(?f19)");
add(L"f21", L"0 - ?f20");
add(L"f22", L"?f21 * ?f14");
add(L"f23", L"?f8 - ?f22");
add(L"f24", L"?f8 + ?f22");
add(L"f25", L"?f12 * -1 / 2");
add(L"f26", L"?f13 + ?f25");
add(L"f27", L"if(?f26, 4, 2)");
add(L"f28", L"if(?f26, 3, 2)");
add(L"f29", L"if(?f26, ?f25, 0)");
add(L"f30", L"(?f13 + ?f29) / ?f25");
add(L"f31", L"?f30 * ?f28 / -1");
add(L"f32", L"?f27 + ?f31");
add(L"f33", L"?f9 * ?f32 / 24");
add(L"f34", L"?f6 * ?f32 / 24");
add(L"f35", L"?f3 - ?f33");
add(L"f36", L"?f5 - ?f34");
add(L"f37", L"115470");
/////////////////////////////////////////////////////////
}
};
class oox_shape_Heptagon : public oox_shape
{
public:
oox_shape_Heptagon()
{
odf_type_name =L"ooxml-heptagon";
enhanced_path = L"M ?f19 ?f26 L ?f20 ?f25 ?f9 ?f2 ?f23 ?f25 ?f24 ?f26 ?f22 ?f27 ?f21 ?f27 Z N";
text_areas = L"?f20 ?f25 ?f23 ?f28";
view_box = L"0 0 21600 21600";
glue_points = L"?f23 ?f25 ?f24 ?f26 ?f22 ?f27 ?f21 ?f27 ?f19 ?f26 ?f20 ?f25";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f4 / 2");
add(L"f6", L"?f2 + ?f5");
add(L"f7", L"?f1 - ?f0");
add(L"f8", L"?f7 / 2");
add(L"f9", L"?f0 + ?f8");
add(L"f10", L"?f8 * ?f29 / 100000");
add(L"f11", L"?f5 * ?f30 / 100000");
add(L"f12", L"?f6 * ?f30 / 100000");
add(L"f13", L"?f10 * 97493 / 100000");
add(L"f14", L"?f10 * 78183 / 100000");
add(L"f15", L"?f10 * 43388 / 100000");
add(L"f16", L"?f11 * 62349 / 100000");
add(L"f17", L"?f11 * 22252 / 100000");
add(L"f18", L"?f11 * 90097 / 100000");
add(L"f19", L"?f9 - ?f13");
add(L"f20", L"?f9 - ?f14");
add(L"f21", L"?f9 - ?f15");
add(L"f22", L"?f9 + ?f15");
add(L"f23", L"?f9 + ?f14");
add(L"f24", L"?f9 + ?f13");
add(L"f25", L"?f12 - ?f16");
add(L"f26", L"?f12 + ?f17");
add(L"f27", L"?f12 + ?f18");
add(L"f28", L"?f3 - ?f25");
add(L"f29", L"102572");
add(L"f30", L"105210");
/////////////////////////////////////////////////////////
}
};
class oox_shape_Decagon : public oox_shape
{
public:
oox_shape_Decagon()
{
odf_type_name =L"ooxml-decagon";
enhanced_path = L"M ?f2 ?f8 L ?f26 ?f37 ?f27 ?f36 ?f28 ?f36 ?f29 ?f37 ?f3 ?f8 ?f29 ?f38 ?f28 ?f39 ?f27 ?f39 ?f26 ?f38 Z N";
text_areas = L"?f6 ?f14 ?f9 ?f15";
view_box = L"0 0 21600 21600";
glue_points = L"?f29 ?f37 ?f29 ?f38 ?f28 ?f39 ?f27 ?f39 ?f26 ?f38 ?f26 ?f37 ?f27 ?f36 ?f28 ?f36";
add(L"f0", L"10800000");
add(L"f1", L"5400000");
add(L"f2", L"left");
add(L"f3", L"right");
add(L"f4", L"top");
add(L"f5", L"bottom");
add(L"f6", L"?f5 - ?f4");
add(L"f7", L"?f6 / 2");
add(L"f8", L"?f4 + ?f7");
add(L"f9", L"?f3 - ?f2");
add(L"f10", L"?f9 / 2");
add(L"f11", L"?f2 + ?f10");
add(L"f12", L"5419351 / 1725033");
add(L"f13", L"?f7 * ?f40 / 100000");
add(L"f14", L"2160000 + ?f1");
add(L"f15", L"?f14 * ?f12 / ?f0");
add(L"f16", L"0 - ?f15");
add(L"f17", L"sin(?f16)");
add(L"f18", L"0 - ?f17");
add(L"f19", L"?f18 * ?f10");
add(L"f20", L"4320000 + ?f1");
add(L"f21", L"?f20 * ?f12 / ?f0");
add(L"f22", L"0 - ?f21");
add(L"f23", L"sin(?f22)");
add(L"f24", L"0 - ?f23");
add(L"f25", L"?f24 * ?f10");
add(L"f26", L"?f11 - ?f19");
add(L"f27", L"?f11 - ?f25");
add(L"f28", L"?f11 + ?f25");
add(L"f29", L"?f11 + ?f19");
add(L"f30", L"cos(?f22)");
add(L"f31", L"0 - ?f30");
add(L"f32", L"?f31 * ?f13");
add(L"f33", L"cos(?f16)");
add(L"f34", L"0 - ?f33");
add(L"f35", L"?f34 * ?f13");
add(L"f36", L"?f8 - ?f32");
add(L"f37", L"?f8 - ?f35");
add(L"f38", L"?f8 + ?f35");
add(L"f39", L"?f8 + ?f32");
add(L"f40", L"105146");
/////////////////////////////////////////////////////////
}
};
class oox_shape_Dodecagon : public oox_shape
{
public:
oox_shape_Dodecagon()
{
odf_type_name =L"ooxml-dodecagon";
enhanced_path = L"M ?f0 ?f11 L ?f6 ?f10 ?f7 ?f2 ?f8 ?f2 ?f9 ?f10 ?f1 ?f11 ?f1 ?f12 ?f9 ?f13 ?f8 ?f3 ?f7 ?f3 ?f6 ?f13 ?f0 ?f12 Z N";
text_areas = L"?f6 ?f10 ?f9 ?f13";
view_box = L"0 0 21600 21600";
glue_points = L"?f9 ?f10 ?f1 ?f11 ?f1 ?f12 ?f9 ?f13 ?f8 ?f3 ?f7 ?f3 ?f6 ?f13 ?f0 ?f12 ?f0 ?f11 ?f6 ?f10 ?f7 ?f2 ?f8 ?f2";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"?f5 * 2894 / 21600");
add(L"f7", L"?f5 * 7906 / 21600");
add(L"f8", L"?f5 * 13694 / 21600");
add(L"f9", L"?f5 * 18706 / 21600");
add(L"f10", L"?f4 * 2894 / 21600");
add(L"f11", L"?f4 * 7906 / 21600");
add(L"f12", L"?f4 * 13694 / 21600");
add(L"f13", L"?f4 * 18706 / 21600");
/////////////////////////////////////////////////////////
}
};
class oox_shape_Cube : public oox_shape
{
public:
oox_shape_Cube()
{
odf_type_name =L"ooxml-cube";
modifiers = L"25000";
enhanced_path = L"S M ?f0 ?f8 L ?f12 ?f8 ?f12 ?f3 ?f0 ?f3 Z N S M ?f12 ?f8 L ?f1 ?f2 ?f1 ?f9 ?f12 ?f3 Z N S M ?f0 ?f8 L ?f8 ?f2 ?f1 ?f2 ?f12 ?f8 Z N F M ?f0 ?f8 L ?f8 ?f2 ?f1 ?f2 ?f1 ?f9 ?f12 ?f3 ?f0 ?f3 Z M ?f0 ?f8 L ?f12 ?f8 ?f1 ?f2 M ?f12 ?f8 L ?f12 ?f3 N";
text_areas = L"?f0 ?f8 ?f12 ?f3";
view_box = L"0 0 21600 21600";
glue_points = L"?f14 ?f2 ?f13 ?f8 ?f0 ?f11 ?f13 ?f3 ?f12 ?f11 ?f1 ?f10";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"min(?f5, ?f4)");
add(L"f7", L"$0");
add(L"f8", L"?f6 * ?f7 / 100000");
add(L"f9", L"?f3 - ?f8");
add(L"f10", L"?f9 / 2");
add(L"f11", L"(?f8 + ?f3) / 2");
add(L"f12", L"?f1 - ?f8");
add(L"f13", L"?f12 / 2");
add(L"f14", L"(?f8 + ?f1) / 2");
/////////////////////////////////////////////////////////
}
};
class oox_shape_Can : public oox_shape
{
public:
oox_shape_Can()
{
odf_type_name =L"ooxml-can";
modifiers = L"25000";
enhanced_path = L"S M ?f2 ?f13 A ?f55 ?f56 ?f57 ?f58 ?f2 ?f13 ?f52 ?f54 W ?f59 ?f60 ?f61 ?f62 ?f2 ?f13 ?f52 ?f54 L ?f3 ?f15 A ?f102 ?f103 ?f104 ?f105 ?f3 ?f15 ?f99 ?f101 W ?f106 ?f107 ?f108 ?f109 ?f3 ?f15 ?f99 ?f101 Z N S M ?f2 ?f13 A ?f130 ?f131 ?f132 ?f133 ?f2 ?f13 ?f127 ?f129 W ?f134 ?f135 ?f136 ?f137 ?f2 ?f13 ?f127 ?f129 Z N F M ?f3 ?f13 A ?f157 ?f158 ?f159 ?f160 ?f3 ?f13 ?f154 ?f156 W ?f161 ?f162 ?f163 ?f164 ?f3 ?f13 ?f154 ?f156 L ?f3 ?f15 A ?f102 ?f103 ?f104 ?f105 ?f3 ?f15 ?f99 ?f101 W ?f106 ?f107 ?f108 ?f109 ?f3 ?f15 ?f99 ?f101 L ?f2 ?f13 N";
text_areas = L"?f0 ?f8 ?f12 ?f3";
view_box = L"0 0 21600 21600";
glue_points = L"?f9 ?f14";
add(L"f0", L"10800000");
add(L"f1", L"5400000");
add(L"f2", L"left");
add(L"f3", L"right");
add(L"f4", L"top");
add(L"f5", L"bottom");
add(L"f6", L"?f5 - ?f4");
add(L"f7", L"?f3 - ?f2");
add(L"f8", L"?f7 / 2");
add(L"f9", L"?f2 + ?f8");
add(L"f10", L"min(?f7, ?f6)");
add(L"f11", L"5419351 / 1725033");
add(L"f12", L"$0");
add(L"f13", L"?f10 * ?f12 / 200000");
add(L"f14", L"?f13 + ?f13");
add(L"f15", L"?f5 - ?f13");
add(L"f16", L"21550000 - -10800000");
add(L"f17", L"if(?f16, -10800000, 21550000)");
add(L"f18", L"-21550000 - ?f17");
add(L"f19", L"if(?f18, -21550000, ?f17)");
add(L"f20", L"?f0 + ?f19");
add(L"f21", L"?f0 + ?f1");
add(L"f22", L"?f21 * ?f11 / ?f0");
add(L"f23", L"0 - ?f22");
add(L"f24", L"cos(?f23)");
add(L"f25", L"0 - ?f24");
add(L"f26", L"?f25 * ?f8");
add(L"f27", L"sin(?f23)");
add(L"f28", L"0 - ?f27");
add(L"f29", L"?f28 * ?f13");
add(L"f30", L"sqrt(?f26 * ?f26 + ?f29 * ?f29 + 0 * 0)");
add(L"f31", L"?f8 * ?f13 / ?f30");
add(L"f32", L"?f28 * ?f31");
add(L"f33", L"?f2 - ?f32");
add(L"f34", L"?f25 * ?f31");
add(L"f35", L"?f13 - ?f34");
add(L"f36", L"?f33 - ?f8");
add(L"f37", L"?f35 - ?f13");
add(L"f38", L"?f33 + ?f8");
add(L"f39", L"?f35 + ?f13");
add(L"f40", L"?f20 + ?f1");
add(L"f41", L"?f40 * ?f11 / ?f0");
add(L"f42", L"0 - ?f41");
add(L"f43", L"cos(?f42)");
add(L"f44", L"0 - ?f43");
add(L"f45", L"?f44 * ?f8");
add(L"f46", L"sin(?f42)");
add(L"f47", L"0 - ?f46");
add(L"f48", L"?f47 * ?f13");
add(L"f49", L"sqrt(?f45 * ?f45 + ?f48 * ?f48 + 0 * 0)");
add(L"f50", L"?f8 * ?f13 / ?f49");
add(L"f51", L"?f47 * ?f50");
add(L"f52", L"?f33 + ?f51");
add(L"f53", L"?f44 * ?f50");
add(L"f54", L"?f35 + ?f53");
add(L"f55", L"if(?f19, ?f2, ?f36)");
add(L"f56", L"if(?f19, ?f13, ?f37)");
add(L"f57", L"if(?f19, ?f2, ?f38)");
add(L"f58", L"if(?f19, ?f13, ?f39)");
add(L"f59", L"if(?f19, ?f36, ?f52)");
add(L"f60", L"if(?f19, ?f37, ?f54)");
add(L"f61", L"if(?f19, ?f38, ?f52)");
add(L"f62", L"if(?f19, ?f39, ?f54)");
add(L"f63", L"21550000 - ?f0");
add(L"f64", L"if(?f63, ?f0, 21550000)");
add(L"f65", L"-21550000 - ?f64");
add(L"f66", L"if(?f65, -21550000, ?f64)");
add(L"f67", L"0 + ?f66");
add(L"f68", L"0 + ?f1");
add(L"f69", L"?f68 * ?f11 / ?f0");
add(L"f70", L"0 - ?f69");
add(L"f71", L"cos(?f70)");
add(L"f72", L"0 - ?f71");
add(L"f73", L"?f72 * ?f8");
add(L"f74", L"sin(?f70)");
add(L"f75", L"0 - ?f74");
add(L"f76", L"?f75 * ?f13");
add(L"f77", L"sqrt(?f73 * ?f73 + ?f76 * ?f76 + 0 * 0)");
add(L"f78", L"?f8 * ?f13 / ?f77");
add(L"f79", L"?f75 * ?f78");
add(L"f80", L"?f3 - ?f79");
add(L"f81", L"?f72 * ?f78");
add(L"f82", L"?f15 - ?f81");
add(L"f83", L"?f80 - ?f8");
add(L"f84", L"?f82 - ?f13");
add(L"f85", L"?f80 + ?f8");
add(L"f86", L"?f82 + ?f13");
add(L"f87", L"?f67 + ?f1");
add(L"f88", L"?f87 * ?f11 / ?f0");
add(L"f89", L"0 - ?f88");
add(L"f90", L"cos(?f89)");
add(L"f91", L"0 - ?f90");
add(L"f92", L"?f91 * ?f8");
add(L"f93", L"sin(?f89)");
add(L"f94", L"0 - ?f93");
add(L"f95", L"?f94 * ?f13");
add(L"f96", L"sqrt(?f92 * ?f92 + ?f95 * ?f95 + 0 * 0)");
add(L"f97", L"?f8 * ?f13 / ?f96");
add(L"f98", L"?f94 * ?f97");
add(L"f99", L"?f80 + ?f98");
add(L"f100", L"?f91 * ?f97");
add(L"f101", L"?f82 + ?f100");
add(L"f102", L"if(?f66, ?f3, ?f83)");
add(L"f103", L"if(?f66, ?f15, ?f84)");
add(L"f104", L"if(?f66, ?f3, ?f85)");
add(L"f105", L"if(?f66, ?f15, ?f86)");
add(L"f106", L"if(?f66, ?f83, ?f99)");
add(L"f107", L"if(?f66, ?f84, ?f101)");
add(L"f108", L"if(?f66, ?f85, ?f99)");
add(L"f109", L"if(?f66, ?f86, ?f101)");
add(L"f110", L"21550000 - 21600000");
add(L"f111", L"if(?f110, 21600000, 21550000)");
add(L"f112", L"-21550000 - ?f111");
add(L"f113", L"if(?f112, -21550000, ?f111)");
add(L"f114", L"?f0 + ?f113");
add(L"f115", L"?f114 + ?f1");
add(L"f116", L"?f115 * ?f11 / ?f0");
add(L"f117", L"0 - ?f116");
add(L"f118", L"cos(?f117)");
add(L"f119", L"0 - ?f118");
add(L"f120", L"?f119 * ?f8");
add(L"f121", L"sin(?f117)");
add(L"f122", L"0 - ?f121");
add(L"f123", L"?f122 * ?f13");
add(L"f124", L"sqrt(?f120 * ?f120 + ?f123 * ?f123 + 0 * 0)");
add(L"f125", L"?f8 * ?f13 / ?f124");
add(L"f126", L"?f122 * ?f125");
add(L"f127", L"?f33 + ?f126");
add(L"f128", L"?f119 * ?f125");
add(L"f129", L"?f35 + ?f128");
add(L"f130", L"if(?f113, ?f2, ?f36)");
add(L"f131", L"if(?f113, ?f13, ?f37)");
add(L"f132", L"if(?f113, ?f2, ?f38)");
add(L"f133", L"if(?f113, ?f13, ?f39)");
add(L"f134", L"if(?f113, ?f36, ?f127)");
add(L"f135", L"if(?f113, ?f37, ?f129)");
add(L"f136", L"if(?f113, ?f38, ?f127)");
add(L"f137", L"if(?f113, ?f39, ?f129)");
add(L"f138", L"0 + ?f113");
add(L"f139", L"?f13 - ?f81");
add(L"f140", L"?f139 - ?f13");
add(L"f141", L"?f139 + ?f13");
add(L"f142", L"?f138 + ?f1");
add(L"f143", L"?f142 * ?f11 / ?f0");
add(L"f144", L"0 - ?f143");
add(L"f145", L"cos(?f144)");
add(L"f146", L"0 - ?f145");
add(L"f147", L"?f146 * ?f8");
add(L"f148", L"sin(?f144)");
add(L"f149", L"0 - ?f148");
add(L"f150", L"?f149 * ?f13");
add(L"f151", L"sqrt(?f147 * ?f147 + ?f150 * ?f150 + 0 * 0)");
add(L"f152", L"?f8 * ?f13 / ?f151");
add(L"f153", L"?f149 * ?f152");
add(L"f154", L"?f80 + ?f153");
add(L"f155", L"?f146 * ?f152");
add(L"f156", L"?f139 + ?f155");
add(L"f157", L"if(?f113, ?f3, ?f83)");
add(L"f158", L"if(?f113, ?f13, ?f140)");
add(L"f159", L"if(?f113, ?f3, ?f85)");
add(L"f160", L"if(?f113, ?f13, ?f141)");
add(L"f161", L"if(?f113, ?f83, ?f154)");
add(L"f162", L"if(?f113, ?f140, ?f156)");
add(L"f163", L"if(?f113, ?f85, ?f154)");
add(L"f164", L"if(?f113, ?f141, ?f156)");
/////////////////////////////////////////////////////////
}
};
}

View File

@ -30,6 +30,11 @@
*
*/
//+ shapetypeLeftRightRibbon
//+ shapetypeEllipseRibbon
//+ shapetypEllipseRibbon2
//+ shapetypEllipseRibbon
//+ shapetypRibbon
//+ shapetypRibbon2
namespace cpdoccore
{
class oox_shape_LeftRightRibbon : public oox_shape
@ -108,4 +113,935 @@ public:
handles.push_back(h3);
}
};
class oox_shape_EllipseRibbon : public oox_shape
{
public:
oox_shape_EllipseRibbon()
{
odf_type_name =L"ooxml-ellipseRibbon";
enhanced_path = L"S M ?f0 ?f2 Q ?f23 ?f24 ?f14 ?f22 L ?f13 ?f31 Q ?f8 ?f34 ?f16 ?f31 L ?f15 ?f22 Q ?f25 ?f24 ?f1 ?f2 L ?f17 ?f37 ?f1 ?f35 Q ?f43 ?f42 ?f16 ?f38 L ?f16 ?f39 Q ?f8 ?f44 ?f13 ?f39 L ?f13 ?f38 Q ?f40 ?f42 ?f0 ?f35 L ?f7 ?f37 Z N S M ?f14 ?f45 L ?f14 ?f22 ?f13 ?f31 Q ?f8 ?f34 ?f16 ?f31 L ?f15 ?f22 ?f15 ?f45 Q ?f8 ?f46 ?f14 ?f45 Z N F M ?f0 ?f2 Q ?f23 ?f24 ?f14 ?f22 L ?f13 ?f31 Q ?f8 ?f34 ?f16 ?f31 L ?f15 ?f22 Q ?f25 ?f24 ?f1 ?f2 L ?f17 ?f37 ?f1 ?f35 Q ?f43 ?f42 ?f16 ?f38 L ?f16 ?f39 Q ?f8 ?f44 ?f13 ?f39 L ?f13 ?f38 Q ?f40 ?f42 ?f0 ?f35 L ?f7 ?f37 Z M ?f13 ?f38 L ?f13 ?f31 M ?f16 ?f31 L ?f16 ?f38 M ?f14 ?f22 L ?f14 ?f45 M ?f15 ?f45 L ?f15 ?f22 N";
text_areas = L"?f13 ?f26 ?f16 ?f39";
view_box = L"0 0 21600 21600";
modifiers = L"25000 50000 12500";
glue_points = L"?f8 ?f26 ?f7 ?f37 ?f17 ?f37";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"?f5 / 2");
add(L"f7", L"?f5 / 8");
add(L"f8", L"?f0 + ?f6");
add(L"f9", L"$0");
add(L"f10", L"$1");
add(L"f11", L"$2");
add(L"f12", L"?f5 * ?f10 / 200000");
add(L"f13", L"?f8 - ?f12");
add(L"f14", L"?f13 + ?f7");
add(L"f15", L"?f1 - ?f14");
add(L"f16", L"?f1 - ?f13");
add(L"f17", L"?f1 - ?f7");
add(L"f18", L"?f4 * ?f11 / 100000");
add(L"f19", L"4 * ?f18 / ?f5");
add(L"f20", L"?f14 * ?f14 / ?f5");
add(L"f21", L"?f14 - ?f20");
add(L"f22", L"?f19 * ?f21");
add(L"f23", L"?f14 / 2");
add(L"f24", L"?f19 * ?f23");
add(L"f25", L"?f1 - ?f23");
add(L"f26", L"?f4 * ?f9 / 100000");
add(L"f27", L"?f26 - ?f18");
add(L"f28", L"?f13 * ?f13 / ?f5");
add(L"f29", L"?f13 - ?f28");
add(L"f30", L"?f19 * ?f29");
add(L"f31", L"?f30 + ?f27");
add(L"f32", L"?f18 + ?f27 - ?f31");
add(L"f33", L"?f32 + ?f18");
add(L"f34", L"?f33 + ?f27");
add(L"f35", L"?f3 - ?f26");
add(L"f36", L"?f18 * 14 / 16");
add(L"f37", L"(?f36 + ?f35) / 2");
add(L"f38", L"?f30 + ?f35");
add(L"f39", L"?f31 + ?f35");
add(L"f40", L"?f13 / 2");
add(L"f41", L"?f19 * ?f40");
add(L"f42", L"?f41 + ?f35");
add(L"f43", L"?f1 - ?f40");
add(L"f44", L"?f34 + ?f35");
add(L"f45", L"?f22 + ?f27");
add(L"f46", L"?f26 + ?f26 - ?f45");
/////////////////////////////////////////////////////////
}
};
class oox_shape_EllipseRibbon2 : public oox_shape
{
public:
oox_shape_EllipseRibbon2()
{
odf_type_name =L"ooxml-ellipseRibbon2";
enhanced_path = L"S M ?f0 ?f3 Q ?f24 ?f26 ?f14 ?f23 L ?f13 ?f34 Q ?f8 ?f38 ?f16 ?f34 L ?f15 ?f23 Q ?f27 ?f26 ?f1 ?f3 L ?f17 ?f42 ?f1 ?f28 Q ?f51 ?f50 ?f16 ?f44 L ?f16 ?f46 Q ?f8 ?f53 ?f13 ?f46 L ?f13 ?f44 Q ?f47 ?f50 ?f0 ?f28 L ?f7 ?f42 Z N S M ?f14 ?f55 L ?f14 ?f23 ?f13 ?f34 Q ?f8 ?f38 ?f16 ?f34 L ?f15 ?f23 ?f15 ?f55 Q ?f8 ?f57 ?f14 ?f55 Z N F M ?f0 ?f3 L ?f7 ?f42 ?f0 ?f28 Q ?f47 ?f50 ?f13 ?f44 L ?f13 ?f46 Q ?f8 ?f53 ?f16 ?f46 L ?f16 ?f44 Q ?f51 ?f50 ?f1 ?f28 L ?f17 ?f42 ?f1 ?f3 Q ?f27 ?f26 ?f15 ?f23 L ?f16 ?f34 Q ?f8 ?f38 ?f13 ?f34 L ?f14 ?f23 Q ?f24 ?f26 ?f0 ?f3 Z M ?f13 ?f34 L ?f13 ?f44 M ?f16 ?f44 L ?f16 ?f34 M ?f14 ?f55 L ?f14 ?f23 M ?f15 ?f23 L ?f15 ?f55 N";
text_areas = L"?f13 ?f46 ?f16 ?f39";
view_box = L"0 0 21600 21600";
modifiers = L"25000 50000 12500";
glue_points = L"?f7 ?f42 ?f8 ?f39 ?f17 ?f42";
add(L"f0", L"left");
add(L"f1", L"right");
add(L"f2", L"top");
add(L"f3", L"bottom");
add(L"f4", L"?f3 - ?f2");
add(L"f5", L"?f1 - ?f0");
add(L"f6", L"?f5 / 2");
add(L"f7", L"?f5 / 8");
add(L"f8", L"?f0 + ?f6");
add(L"f9", L"$0");
add(L"f10", L"$1");
add(L"f11", L"$2");
add(L"f12", L"?f5 * ?f10 / 200000");
add(L"f13", L"?f8 - ?f12");
add(L"f14", L"?f13 + ?f7");
add(L"f15", L"?f1 - ?f14");
add(L"f16", L"?f1 - ?f13");
add(L"f17", L"?f1 - ?f7");
add(L"f18", L"?f4 * ?f11 / 100000");
add(L"f19", L"4 * ?f18 / ?f5");
add(L"f20", L"?f14 * ?f14 / ?f5");
add(L"f21", L"?f14 - ?f20");
add(L"f22", L"?f19 * ?f21");
add(L"f23", L"?f3 - ?f22");
add(L"f24", L"?f14 / 2");
add(L"f25", L"?f19 * ?f24");
add(L"f26", L"?f3 - ?f25");
add(L"f27", L"?f1 - ?f24");
add(L"f28", L"?f4 * ?f9 / 100000");
add(L"f29", L"?f28 - ?f18");
add(L"f30", L"?f13 * ?f13 / ?f5");
add(L"f31", L"?f13 - ?f30");
add(L"f32", L"?f19 * ?f31");
add(L"f33", L"?f32 + ?f29");
add(L"f34", L"?f3 - ?f33");
add(L"f35", L"?f18 + ?f29 - ?f33");
add(L"f36", L"?f35 + ?f18");
add(L"f37", L"?f36 + ?f29");
add(L"f38", L"?f3 - ?f37");
add(L"f39", L"?f3 - ?f28");
add(L"f40", L"?f18 * 14 / 16");
add(L"f41", L"(?f40 + ?f39) / 2");
add(L"f42", L"?f3 - ?f41");
add(L"f43", L"?f32 + ?f39");
add(L"f44", L"?f3 - ?f43");
add(L"f45", L"?f33 + ?f39");
add(L"f46", L"?f3 - ?f45");
add(L"f47", L"?f13 / 2");
add(L"f48", L"?f19 * ?f47");
add(L"f49", L"?f48 + ?f39");
add(L"f50", L"?f3 - ?f49");
add(L"f51", L"?f1 - ?f47");
add(L"f52", L"?f37 + ?f39");
add(L"f53", L"?f3 - ?f52");
add(L"f54", L"?f22 + ?f29");
add(L"f55", L"?f3 - ?f54");
add(L"f56", L"?f28 + ?f28 - ?f54");
add(L"f57", L"?f3 - ?f56");
/////////////////////////////////////////////////////////
}
};
class oox_shape_Ribbon : public oox_shape
{
public:
oox_shape_Ribbon()
{
odf_type_name =L"ooxml-ribbon";
enhanced_path = L"S M ?f3 ?f5 L ?f24 ?f5 A ?f72 ?f73 ?f74 ?f75 ?f24 ?f5 ?f69 ?f71 W ?f76 ?f77 ?f78 ?f79 ?f24 ?f5 ?f69 ?f71 L ?f20 ?f26 A ?f106 ?f107 ?f108 ?f109 ?f20 ?f26 ?f103 ?f105 W ?f110 ?f111 ?f112 ?f113 ?f20 ?f26 ?f103 ?f105 L ?f21 ?f27 A ?f149 ?f150 ?f151 ?f152 ?f21 ?f27 ?f146 ?f148 W ?f153 ?f154 ?f155 ?f156 ?f21 ?f27 ?f146 ?f148 L ?f25 ?f26 A ?f179 ?f180 ?f181 ?f182 ?f25 ?f26 ?f176 ?f178 W ?f183 ?f184 ?f185 ?f186 ?f25 ?f26 ?f176 ?f178 L ?f4 ?f5 ?f16 ?f29 ?f4 ?f28 ?f19 ?f28 ?f19 ?f31 A ?f226 ?f227 ?f228 ?f229 ?f19 ?f31 ?f223 ?f225 W ?f230 ?f231 ?f232 ?f233 ?f19 ?f31 ?f223 ?f225 L ?f20 ?f6 A ?f256 ?f257 ?f258 ?f259 ?f20 ?f6 ?f253 ?f255 W ?f260 ?f261 ?f262 ?f263 ?f20 ?f6 ?f253 ?f255 L ?f18 ?f28 ?f3 ?f28 ?f10 ?f29 Z N S M ?f22 ?f30 A ?f272 ?f273 ?f274 ?f275 ?f22 ?f30 ?f270 ?f271 W ?f276 ?f277 ?f278 ?f279 ?f22 ?f30 ?f270 ?f271 L ?f20 ?f26 A ?f106 ?f107 ?f108 ?f109 ?f20 ?f26 ?f103 ?f105 W ?f110 ?f111 ?f112 ?f113 ?f20 ?f26 ?f103 ?f105 L ?f22 ?f27 Z M ?f23 ?f30 A ?f319 ?f320 ?f321 ?f322 ?f23 ?f30 ?f316 ?f318 W ?f323 ?f324 ?f325 ?f326 ?f23 ?f30 ?f316 ?f318 L ?f21 ?f26 A ?f332 ?f333 ?f334 ?f335 ?f21 ?f26 ?f330 ?f331 W ?f336 ?f337 ?f338 ?f339 ?f21 ?f26 ?f330 ?f331 L ?f23 ?f27 Z N F M ?f3 ?f5 L ?f24 ?f5 A ?f72 ?f73 ?f74 ?f75 ?f24 ?f5 ?f69 ?f71 W ?f76 ?f77 ?f78 ?f79 ?f24 ?f5 ?f69 ?f71 L ?f20 ?f26 A ?f106 ?f107 ?f108 ?f109 ?f20 ?f26 ?f103 ?f105 W ?f110 ?f111 ?f112 ?f113 ?f20 ?f26 ?f103 ?f105 L ?f21 ?f27 A ?f149 ?f150 ?f151 ?f152 ?f21 ?f27 ?f146 ?f148 W ?f153 ?f154 ?f155 ?f156 ?f21 ?f27 ?f146 ?f148 L ?f25 ?f26 A ?f179 ?f180 ?f181 ?f182 ?f25 ?f26 ?f176 ?f178 W ?f183 ?f184 ?f185 ?f186 ?f25 ?f26 ?f176 ?f178 L ?f4 ?f5 ?f16 ?f29 ?f4 ?f28 ?f19 ?f28 ?f19 ?f31 A ?f226 ?f227 ?f228 ?f229 ?f19 ?f31 ?f223 ?f225 W ?f230 ?f231 ?f232 ?f233 ?f19 ?f31 ?f223 ?f225 L ?f20 ?f6 A ?f256 ?f257 ?f258 ?f259 ?f20 ?f6 ?f253 ?f255 W ?f260 ?f261 ?f262 ?f263 ?f20 ?f6 ?f253 ?f255 L ?f18 ?f28 ?f3 ?f28 ?f10 ?f29 Z M ?f22 ?f30 L ?f22 ?f27 M ?f23 ?f27 L ?f23 ?f30 M ?f18 ?f28 L ?f18 ?f32 M ?f19 ?f32 L ?f19 ?f28 N";
text_areas = L"?f18 ?f27 ?f19 ?f6";
view_box = L"0 0 21600 21600";
modifiers = L"16667 50000";
glue_points = L"?f12 ?f27 ?f10 ?f29 ?f16 ?f29";
add(L"f0", L"16200000");
add(L"f1", L"10800000");
add(L"f2", L"5400000");
add(L"f3", L"left");
add(L"f4", L"right");
add(L"f5", L"top");
add(L"f6", L"bottom");
add(L"f7", L"?f6 - ?f5");
add(L"f8", L"?f4 - ?f3");
add(L"f9", L"?f8 / 2");
add(L"f10", L"?f8 / 8");
add(L"f11", L"?f8 / 32");
add(L"f12", L"?f3 + ?f9");
add(L"f13", L"5419351 / 1725033");
add(L"f14", L"$0");
add(L"f15", L"$1");
add(L"f16", L"?f4 - ?f10");
add(L"f17", L"?f8 * ?f15 / 200000");
add(L"f18", L"?f12 - ?f17");
add(L"f19", L"?f12 + ?f17");
add(L"f20", L"?f18 + ?f11");
add(L"f21", L"?f19 - ?f11");
add(L"f22", L"?f18 + ?f10");
add(L"f23", L"?f19 - ?f10");
add(L"f24", L"?f22 - ?f11");
add(L"f25", L"?f23 + ?f11");
add(L"f26", L"?f7 * ?f14 / 200000");
add(L"f27", L"?f7 * ?f14 / 100000");
add(L"f28", L"?f6 - ?f27");
add(L"f29", L"?f28 / 2");
add(L"f30", L"?f7 * ?f14 / 400000");
add(L"f31", L"?f6 - ?f30");
add(L"f32", L"?f27 - ?f30");
add(L"f33", L"21550000 - ?f1");
add(L"f34", L"if(?f33, ?f1, 21550000)");
add(L"f35", L"-21550000 - ?f34");
add(L"f36", L"if(?f35, -21550000, ?f34)");
add(L"f37", L"?f0 + ?f36");
add(L"f38", L"?f0 + ?f2");
add(L"f39", L"?f38 * ?f13 / ?f1");
add(L"f40", L"0 - ?f39");
add(L"f41", L"cos(?f40)");
add(L"f42", L"0 - ?f41");
add(L"f43", L"?f42 * ?f11");
add(L"f44", L"sin(?f40)");
add(L"f45", L"0 - ?f44");
add(L"f46", L"?f45 * ?f30");
add(L"f47", L"sqrt(?f43 * ?f43 + ?f46 * ?f46 + 0 * 0)");
add(L"f48", L"?f11 * ?f30 / ?f47");
add(L"f49", L"?f45 * ?f48");
add(L"f50", L"?f24 - ?f49");
add(L"f51", L"?f42 * ?f48");
add(L"f52", L"?f5 - ?f51");
add(L"f53", L"?f50 - ?f11");
add(L"f54", L"?f52 - ?f30");
add(L"f55", L"?f50 + ?f11");
add(L"f56", L"?f52 + ?f30");
add(L"f57", L"?f37 + ?f2");
add(L"f58", L"?f57 * ?f13 / ?f1");
add(L"f59", L"0 - ?f58");
add(L"f60", L"cos(?f59)");
add(L"f61", L"0 - ?f60");
add(L"f62", L"?f61 * ?f11");
add(L"f63", L"sin(?f59)");
add(L"f64", L"0 - ?f63");
add(L"f65", L"?f64 * ?f30");
add(L"f66", L"sqrt(?f62 * ?f62 + ?f65 * ?f65 + 0 * 0)");
add(L"f67", L"?f11 * ?f30 / ?f66");
add(L"f68", L"?f64 * ?f67");
add(L"f69", L"?f50 + ?f68");
add(L"f70", L"?f61 * ?f67");
add(L"f71", L"?f52 + ?f70");
add(L"f72", L"if(?f36, ?f24, ?f53)");
add(L"f73", L"if(?f36, ?f5, ?f54)");
add(L"f74", L"if(?f36, ?f24, ?f55)");
add(L"f75", L"if(?f36, ?f5, ?f56)");
add(L"f76", L"if(?f36, ?f53, ?f69)");
add(L"f77", L"if(?f36, ?f54, ?f71)");
add(L"f78", L"if(?f36, ?f55, ?f69)");
add(L"f79", L"if(?f36, ?f56, ?f71)");
add(L"f80", L"21550000 - -10800000");
add(L"f81", L"if(?f80, -10800000, 21550000)");
add(L"f82", L"-21550000 - ?f81");
add(L"f83", L"if(?f82, -21550000, ?f81)");
add(L"f84", L"?f0 + ?f83");
add(L"f85", L"?f20 - ?f49");
add(L"f86", L"?f26 - ?f51");
add(L"f87", L"?f85 - ?f11");
add(L"f88", L"?f86 - ?f30");
add(L"f89", L"?f85 + ?f11");
add(L"f90", L"?f86 + ?f30");
add(L"f91", L"?f84 + ?f2");
add(L"f92", L"?f91 * ?f13 / ?f1");
add(L"f93", L"0 - ?f92");
add(L"f94", L"cos(?f93)");
add(L"f95", L"0 - ?f94");
add(L"f96", L"?f95 * ?f11");
add(L"f97", L"sin(?f93)");
add(L"f98", L"0 - ?f97");
add(L"f99", L"?f98 * ?f30");
add(L"f100", L"sqrt(?f96 * ?f96 + ?f99 * ?f99 + 0 * 0)");
add(L"f101", L"?f11 * ?f30 / ?f100");
add(L"f102", L"?f98 * ?f101");
add(L"f103", L"?f85 + ?f102");
add(L"f104", L"?f95 * ?f101");
add(L"f105", L"?f86 + ?f104");
add(L"f106", L"if(?f83, ?f20, ?f87)");
add(L"f107", L"if(?f83, ?f26, ?f88)");
add(L"f108", L"if(?f83, ?f20, ?f89)");
add(L"f109", L"if(?f83, ?f26, ?f90)");
add(L"f110", L"if(?f83, ?f87, ?f103)");
add(L"f111", L"if(?f83, ?f88, ?f105)");
add(L"f112", L"if(?f83, ?f89, ?f103)");
add(L"f113", L"if(?f83, ?f90, ?f105)");
add(L"f114", L"?f2 + ?f83");
add(L"f115", L"?f2 + ?f2");
add(L"f116", L"?f115 * ?f13 / ?f1");
add(L"f117", L"0 - ?f116");
add(L"f118", L"cos(?f117)");
add(L"f119", L"0 - ?f118");
add(L"f120", L"?f119 * ?f11");
add(L"f121", L"sin(?f117)");
add(L"f122", L"0 - ?f121");
add(L"f123", L"?f122 * ?f30");
add(L"f124", L"sqrt(?f120 * ?f120 + ?f123 * ?f123 + 0 * 0)");
add(L"f125", L"?f11 * ?f30 / ?f124");
add(L"f126", L"?f122 * ?f125");
add(L"f127", L"?f21 - ?f126");
add(L"f128", L"?f119 * ?f125");
add(L"f129", L"?f27 - ?f128");
add(L"f130", L"?f127 - ?f11");
add(L"f131", L"?f129 - ?f30");
add(L"f132", L"?f127 + ?f11");
add(L"f133", L"?f129 + ?f30");
add(L"f134", L"?f114 + ?f2");
add(L"f135", L"?f134 * ?f13 / ?f1");
add(L"f136", L"0 - ?f135");
add(L"f137", L"cos(?f136)");
add(L"f138", L"0 - ?f137");
add(L"f139", L"?f138 * ?f11");
add(L"f140", L"sin(?f136)");
add(L"f141", L"0 - ?f140");
add(L"f142", L"?f141 * ?f30");
add(L"f143", L"sqrt(?f139 * ?f139 + ?f142 * ?f142 + 0 * 0)");
add(L"f144", L"?f11 * ?f30 / ?f143");
add(L"f145", L"?f141 * ?f144");
add(L"f146", L"?f127 + ?f145");
add(L"f147", L"?f138 * ?f144");
add(L"f148", L"?f129 + ?f147");
add(L"f149", L"if(?f83, ?f21, ?f130)");
add(L"f150", L"if(?f83, ?f27, ?f131)");
add(L"f151", L"if(?f83, ?f21, ?f132)");
add(L"f152", L"if(?f83, ?f27, ?f133)");
add(L"f153", L"if(?f83, ?f130, ?f146)");
add(L"f154", L"if(?f83, ?f131, ?f148)");
add(L"f155", L"if(?f83, ?f132, ?f146)");
add(L"f156", L"if(?f83, ?f133, ?f148)");
add(L"f157", L"?f2 + ?f36");
add(L"f158", L"?f25 - ?f126");
add(L"f159", L"?f26 - ?f128");
add(L"f160", L"?f158 - ?f11");
add(L"f161", L"?f159 - ?f30");
add(L"f162", L"?f158 + ?f11");
add(L"f163", L"?f159 + ?f30");
add(L"f164", L"?f157 + ?f2");
add(L"f165", L"?f164 * ?f13 / ?f1");
add(L"f166", L"0 - ?f165");
add(L"f167", L"cos(?f166)");
add(L"f168", L"0 - ?f167");
add(L"f169", L"?f168 * ?f11");
add(L"f170", L"sin(?f166)");
add(L"f171", L"0 - ?f170");
add(L"f172", L"?f171 * ?f30");
add(L"f173", L"sqrt(?f169 * ?f169 + ?f172 * ?f172 + 0 * 0)");
add(L"f174", L"?f11 * ?f30 / ?f173");
add(L"f175", L"?f171 * ?f174");
add(L"f176", L"?f158 + ?f175");
add(L"f177", L"?f168 * ?f174");
add(L"f178", L"?f159 + ?f177");
add(L"f179", L"if(?f36, ?f25, ?f160)");
add(L"f180", L"if(?f36, ?f26, ?f161)");
add(L"f181", L"if(?f36, ?f25, ?f162)");
add(L"f182", L"if(?f36, ?f26, ?f163)");
add(L"f183", L"if(?f36, ?f160, ?f176)");
add(L"f184", L"if(?f36, ?f161, ?f178)");
add(L"f185", L"if(?f36, ?f162, ?f176)");
add(L"f186", L"if(?f36, ?f163, ?f178)");
add(L"f187", L"21550000 - ?f2");
add(L"f188", L"if(?f187, ?f2, 21550000)");
add(L"f189", L"-21550000 - ?f188");
add(L"f190", L"if(?f189, -21550000, ?f188)");
add(L"f191", L"0 + ?f190");
add(L"f192", L"0 + ?f2");
add(L"f193", L"?f192 * ?f13 / ?f1");
add(L"f194", L"0 - ?f193");
add(L"f195", L"cos(?f194)");
add(L"f196", L"0 - ?f195");
add(L"f197", L"?f196 * ?f11");
add(L"f198", L"sin(?f194)");
add(L"f199", L"0 - ?f198");
add(L"f200", L"?f199 * ?f30");
add(L"f201", L"sqrt(?f197 * ?f197 + ?f200 * ?f200 + 0 * 0)");
add(L"f202", L"?f11 * ?f30 / ?f201");
add(L"f203", L"?f199 * ?f202");
add(L"f204", L"?f19 - ?f203");
add(L"f205", L"?f196 * ?f202");
add(L"f206", L"?f31 - ?f205");
add(L"f207", L"?f204 - ?f11");
add(L"f208", L"?f206 - ?f30");
add(L"f209", L"?f204 + ?f11");
add(L"f210", L"?f206 + ?f30");
add(L"f211", L"?f191 + ?f2");
add(L"f212", L"?f211 * ?f13 / ?f1");
add(L"f213", L"0 - ?f212");
add(L"f214", L"cos(?f213)");
add(L"f215", L"0 - ?f214");
add(L"f216", L"?f215 * ?f11");
add(L"f217", L"sin(?f213)");
add(L"f218", L"0 - ?f217");
add(L"f219", L"?f218 * ?f30");
add(L"f220", L"sqrt(?f216 * ?f216 + ?f219 * ?f219 + 0 * 0)");
add(L"f221", L"?f11 * ?f30 / ?f220");
add(L"f222", L"?f218 * ?f221");
add(L"f223", L"?f204 + ?f222");
add(L"f224", L"?f215 * ?f221");
add(L"f225", L"?f206 + ?f224");
add(L"f226", L"if(?f190, ?f19, ?f207)");
add(L"f227", L"if(?f190, ?f31, ?f208)");
add(L"f228", L"if(?f190, ?f19, ?f209)");
add(L"f229", L"if(?f190, ?f31, ?f210)");
add(L"f230", L"if(?f190, ?f207, ?f223)");
add(L"f231", L"if(?f190, ?f208, ?f225)");
add(L"f232", L"if(?f190, ?f209, ?f223)");
add(L"f233", L"if(?f190, ?f210, ?f225)");
add(L"f234", L"?f2 + ?f190");
add(L"f235", L"?f20 - ?f126");
add(L"f236", L"?f6 - ?f128");
add(L"f237", L"?f235 - ?f11");
add(L"f238", L"?f236 - ?f30");
add(L"f239", L"?f235 + ?f11");
add(L"f240", L"?f236 + ?f30");
add(L"f241", L"?f234 + ?f2");
add(L"f242", L"?f241 * ?f13 / ?f1");
add(L"f243", L"0 - ?f242");
add(L"f244", L"cos(?f243)");
add(L"f245", L"0 - ?f244");
add(L"f246", L"?f245 * ?f11");
add(L"f247", L"sin(?f243)");
add(L"f248", L"0 - ?f247");
add(L"f249", L"?f248 * ?f30");
add(L"f250", L"sqrt(?f246 * ?f246 + ?f249 * ?f249 + 0 * 0)");
add(L"f251", L"?f11 * ?f30 / ?f250");
add(L"f252", L"?f248 * ?f251");
add(L"f253", L"?f235 + ?f252");
add(L"f254", L"?f245 * ?f251");
add(L"f255", L"?f236 + ?f254");
add(L"f256", L"if(?f190, ?f20, ?f237)");
add(L"f257", L"if(?f190, ?f6, ?f238)");
add(L"f258", L"if(?f190, ?f20, ?f239)");
add(L"f259", L"if(?f190, ?f6, ?f240)");
add(L"f260", L"if(?f190, ?f237, ?f253)");
add(L"f261", L"if(?f190, ?f238, ?f255)");
add(L"f262", L"if(?f190, ?f239, ?f253)");
add(L"f263", L"if(?f190, ?f240, ?f255)");
add(L"f264", L"?f22 - ?f203");
add(L"f265", L"?f30 - ?f205");
add(L"f266", L"?f264 - ?f11");
add(L"f267", L"?f265 - ?f30");
add(L"f268", L"?f264 + ?f11");
add(L"f269", L"?f265 + ?f30");
add(L"f270", L"?f264 + ?f222");
add(L"f271", L"?f265 + ?f224");
add(L"f272", L"if(?f190, ?f22, ?f266)");
add(L"f273", L"if(?f190, ?f30, ?f267)");
add(L"f274", L"if(?f190, ?f22, ?f268)");
add(L"f275", L"if(?f190, ?f30, ?f269)");
add(L"f276", L"if(?f190, ?f266, ?f270)");
add(L"f277", L"if(?f190, ?f267, ?f271)");
add(L"f278", L"if(?f190, ?f268, ?f270)");
add(L"f279", L"if(?f190, ?f269, ?f271)");
add(L"f280", L"21550000 - -5400000");
add(L"f281", L"if(?f280, -5400000, 21550000)");
add(L"f282", L"-21550000 - ?f281");
add(L"f283", L"if(?f282, -21550000, ?f281)");
add(L"f284", L"?f1 + ?f283");
add(L"f285", L"?f1 + ?f2");
add(L"f286", L"?f285 * ?f13 / ?f1");
add(L"f287", L"0 - ?f286");
add(L"f288", L"cos(?f287)");
add(L"f289", L"0 - ?f288");
add(L"f290", L"?f289 * ?f11");
add(L"f291", L"sin(?f287)");
add(L"f292", L"0 - ?f291");
add(L"f293", L"?f292 * ?f30");
add(L"f294", L"sqrt(?f290 * ?f290 + ?f293 * ?f293 + 0 * 0)");
add(L"f295", L"?f11 * ?f30 / ?f294");
add(L"f296", L"?f292 * ?f295");
add(L"f297", L"?f23 - ?f296");
add(L"f298", L"?f289 * ?f295");
add(L"f299", L"?f30 - ?f298");
add(L"f300", L"?f297 - ?f11");
add(L"f301", L"?f299 - ?f30");
add(L"f302", L"?f297 + ?f11");
add(L"f303", L"?f299 + ?f30");
add(L"f304", L"?f284 + ?f2");
add(L"f305", L"?f304 * ?f13 / ?f1");
add(L"f306", L"0 - ?f305");
add(L"f307", L"cos(?f306)");
add(L"f308", L"0 - ?f307");
add(L"f309", L"?f308 * ?f11");
add(L"f310", L"sin(?f306)");
add(L"f311", L"0 - ?f310");
add(L"f312", L"?f311 * ?f30");
add(L"f313", L"sqrt(?f309 * ?f309 + ?f312 * ?f312 + 0 * 0)");
add(L"f314", L"?f11 * ?f30 / ?f313");
add(L"f315", L"?f311 * ?f314");
add(L"f316", L"?f297 + ?f315");
add(L"f317", L"?f308 * ?f314");
add(L"f318", L"?f299 + ?f317");
add(L"f319", L"if(?f283, ?f23, ?f300)");
add(L"f320", L"if(?f283, ?f30, ?f301)");
add(L"f321", L"if(?f283, ?f23, ?f302)");
add(L"f322", L"if(?f283, ?f30, ?f303)");
add(L"f323", L"if(?f283, ?f300, ?f316)");
add(L"f324", L"if(?f283, ?f301, ?f318)");
add(L"f325", L"if(?f283, ?f302, ?f316)");
add(L"f326", L"if(?f283, ?f303, ?f318)");
add(L"f327", L"?f21 - ?f49");
add(L"f328", L"?f327 - ?f11");
add(L"f329", L"?f327 + ?f11");
add(L"f330", L"?f327 + ?f68");
add(L"f331", L"?f86 + ?f70");
add(L"f332", L"if(?f36, ?f21, ?f328)");
add(L"f333", L"if(?f36, ?f26, ?f88)");
add(L"f334", L"if(?f36, ?f21, ?f329)");
add(L"f335", L"if(?f36, ?f26, ?f90)");
add(L"f336", L"if(?f36, ?f328, ?f330)");
add(L"f337", L"if(?f36, ?f88, ?f331)");
add(L"f338", L"if(?f36, ?f329, ?f330)");
add(L"f339", L"if(?f36, ?f90, ?f331)");
/////////////////////////////////////////////////////////
}
};
class oox_shape_Ribbon2 : public oox_shape
{
public:
oox_shape_Ribbon2()
{
odf_type_name =L"ooxml-ribbon2";
enhanced_path = L"S M ?f3 ?f6 L ?f24 ?f6 A ?f74 ?f75 ?f76 ?f77 ?f24 ?f6 ?f71 ?f73 W ?f78 ?f79 ?f80 ?f81 ?f24 ?f6 ?f71 ?f73 L ?f20 ?f27 A ?f108 ?f109 ?f110 ?f111 ?f20 ?f27 ?f105 ?f107 W ?f112 ?f113 ?f114 ?f115 ?f20 ?f27 ?f105 ?f107 L ?f21 ?f29 A ?f151 ?f152 ?f153 ?f154 ?f21 ?f29 ?f148 ?f150 W ?f155 ?f156 ?f157 ?f158 ?f21 ?f29 ?f148 ?f150 L ?f25 ?f27 A ?f181 ?f182 ?f183 ?f184 ?f25 ?f27 ?f178 ?f180 W ?f185 ?f186 ?f187 ?f188 ?f25 ?f27 ?f178 ?f180 L ?f4 ?f6 ?f16 ?f31 ?f4 ?f30 ?f19 ?f30 ?f19 ?f32 A ?f228 ?f229 ?f230 ?f231 ?f19 ?f32 ?f225 ?f227 W ?f232 ?f233 ?f234 ?f235 ?f19 ?f32 ?f225 ?f227 L ?f20 ?f5 A ?f258 ?f259 ?f260 ?f261 ?f20 ?f5 ?f255 ?f257 W ?f262 ?f263 ?f264 ?f265 ?f20 ?f5 ?f255 ?f257 L ?f18 ?f30 ?f3 ?f30 ?f10 ?f31 Z N S M ?f22 ?f33 A ?f274 ?f275 ?f276 ?f277 ?f22 ?f33 ?f272 ?f273 W ?f278 ?f279 ?f280 ?f281 ?f22 ?f33 ?f272 ?f273 L ?f20 ?f27 A ?f108 ?f109 ?f110 ?f111 ?f20 ?f27 ?f105 ?f107 W ?f112 ?f113 ?f114 ?f115 ?f20 ?f27 ?f105 ?f107 L ?f22 ?f29 Z M ?f23 ?f33 A ?f321 ?f322 ?f323 ?f324 ?f23 ?f33 ?f318 ?f320 W ?f325 ?f326 ?f327 ?f328 ?f23 ?f33 ?f318 ?f320 L ?f21 ?f27 A ?f334 ?f335 ?f336 ?f337 ?f21 ?f27 ?f332 ?f333 W ?f338 ?f339 ?f340 ?f341 ?f21 ?f27 ?f332 ?f333 L ?f23 ?f29 Z N F M ?f3 ?f6 L ?f10 ?f31 ?f3 ?f30 ?f18 ?f30 ?f18 ?f32 A ?f350 ?f351 ?f352 ?f353 ?f18 ?f32 ?f348 ?f349 W ?f354 ?f355 ?f356 ?f357 ?f18 ?f32 ?f348 ?f349 L ?f21 ?f5 A ?f374 ?f375 ?f376 ?f377 ?f21 ?f5 ?f371 ?f373 W ?f378 ?f379 ?f380 ?f381 ?f21 ?f5 ?f371 ?f373 L ?f19 ?f30 ?f19 ?f30 ?f4 ?f30 ?f16 ?f31 ?f4 ?f6 ?f25 ?f6 A ?f387 ?f388 ?f389 ?f390 ?f25 ?f6 ?f385 ?f386 W ?f391 ?f392 ?f393 ?f394 ?f25 ?f6 ?f385 ?f386 L ?f21 ?f27 A ?f334 ?f335 ?f336 ?f337 ?f21 ?f27 ?f332 ?f333 W ?f338 ?f339 ?f340 ?f341 ?f21 ?f27 ?f332 ?f333 L ?f20 ?f29 A ?f397 ?f398 ?f399 ?f400 ?f20 ?f29 ?f395 ?f396 W ?f401 ?f402 ?f403 ?f404 ?f20 ?f29 ?f395 ?f396 L ?f24 ?f27 A ?f410 ?f411 ?f412 ?f413 ?f24 ?f27 ?f408 ?f409 W ?f414 ?f415 ?f416 ?f417 ?f24 ?f27 ?f408 ?f409 Z M ?f22 ?f29 L ?f22 ?f33 M ?f23 ?f33 L ?f23 ?f29 M ?f18 ?f34 L ?f18 ?f30 M ?f19 ?f30 L ?f19 ?f34 N";
text_areas = L"?f18 ?f5 ?f19 ?f29";
view_box = L"0 0 21600 21600";
modifiers = L"16667 50000";
glue_points = L"?f10 ?f31 ?f12 ?f29 ?f16 ?f31";
add(L"f0", L"16200000");
add(L"f1", L"10800000");
add(L"f2", L"5400000");
add(L"f3", L"left");
add(L"f4", L"right");
add(L"f5", L"top");
add(L"f6", L"bottom");
add(L"f7", L"?f6 - ?f5");
add(L"f8", L"?f4 - ?f3");
add(L"f9", L"?f8 / 2");
add(L"f10", L"?f8 / 8");
add(L"f11", L"?f8 / 32");
add(L"f12", L"?f3 + ?f9");
add(L"f13", L"5419351 / 1725033");
add(L"f14", L"$0");
add(L"f15", L"$1");
add(L"f16", L"?f4 - ?f10");
add(L"f17", L"?f8 * ?f15 / 200000");
add(L"f18", L"?f12 - ?f17");
add(L"f19", L"?f12 + ?f17");
add(L"f20", L"?f18 + ?f11");
add(L"f21", L"?f19 - ?f11");
add(L"f22", L"?f18 + ?f10");
add(L"f23", L"?f19 - ?f10");
add(L"f24", L"?f22 - ?f11");
add(L"f25", L"?f23 + ?f11");
add(L"f26", L"?f7 * ?f14 / 200000");
add(L"f27", L"?f6 - ?f26");
add(L"f28", L"?f7 * ?f14 / 100000");
add(L"f29", L"?f6 - ?f28");
add(L"f30", L"?f5 + ?f28");
add(L"f31", L"(?f30 + ?f6) / 2");
add(L"f32", L"?f7 * ?f14 / 400000");
add(L"f33", L"?f6 - ?f32");
add(L"f34", L"?f27 - ?f32");
add(L"f35", L"21550000 - -10800000");
add(L"f36", L"if(?f35, -10800000, 21550000)");
add(L"f37", L"-21550000 - ?f36");
add(L"f38", L"if(?f37, -21550000, ?f36)");
add(L"f39", L"?f2 + ?f38");
add(L"f40", L"?f2 + ?f2");
add(L"f41", L"?f40 * ?f13 / ?f1");
add(L"f42", L"0 - ?f41");
add(L"f43", L"cos(?f42)");
add(L"f44", L"0 - ?f43");
add(L"f45", L"?f44 * ?f11");
add(L"f46", L"sin(?f42)");
add(L"f47", L"0 - ?f46");
add(L"f48", L"?f47 * ?f32");
add(L"f49", L"sqrt(?f45 * ?f45 + ?f48 * ?f48 + 0 * 0)");
add(L"f50", L"?f11 * ?f32 / ?f49");
add(L"f51", L"?f47 * ?f50");
add(L"f52", L"?f24 - ?f51");
add(L"f53", L"?f44 * ?f50");
add(L"f54", L"?f6 - ?f53");
add(L"f55", L"?f52 - ?f11");
add(L"f56", L"?f54 - ?f32");
add(L"f57", L"?f52 + ?f11");
add(L"f58", L"?f54 + ?f32");
add(L"f59", L"?f39 + ?f2");
add(L"f60", L"?f59 * ?f13 / ?f1");
add(L"f61", L"0 - ?f60");
add(L"f62", L"cos(?f61)");
add(L"f63", L"0 - ?f62");
add(L"f64", L"?f63 * ?f11");
add(L"f65", L"sin(?f61)");
add(L"f66", L"0 - ?f65");
add(L"f67", L"?f66 * ?f32");
add(L"f68", L"sqrt(?f64 * ?f64 + ?f67 * ?f67 + 0 * 0)");
add(L"f69", L"?f11 * ?f32 / ?f68");
add(L"f70", L"?f66 * ?f69");
add(L"f71", L"?f52 + ?f70");
add(L"f72", L"?f63 * ?f69");
add(L"f73", L"?f54 + ?f72");
add(L"f74", L"if(?f38, ?f24, ?f55)");
add(L"f75", L"if(?f38, ?f6, ?f56)");
add(L"f76", L"if(?f38, ?f24, ?f57)");
add(L"f77", L"if(?f38, ?f6, ?f58)");
add(L"f78", L"if(?f38, ?f55, ?f71)");
add(L"f79", L"if(?f38, ?f56, ?f73)");
add(L"f80", L"if(?f38, ?f57, ?f71)");
add(L"f81", L"if(?f38, ?f58, ?f73)");
add(L"f82", L"21550000 - ?f1");
add(L"f83", L"if(?f82, ?f1, 21550000)");
add(L"f84", L"-21550000 - ?f83");
add(L"f85", L"if(?f84, -21550000, ?f83)");
add(L"f86", L"?f2 + ?f85");
add(L"f87", L"?f20 - ?f51");
add(L"f88", L"?f27 - ?f53");
add(L"f89", L"?f87 - ?f11");
add(L"f90", L"?f88 - ?f32");
add(L"f91", L"?f87 + ?f11");
add(L"f92", L"?f88 + ?f32");
add(L"f93", L"?f86 + ?f2");
add(L"f94", L"?f93 * ?f13 / ?f1");
add(L"f95", L"0 - ?f94");
add(L"f96", L"cos(?f95)");
add(L"f97", L"0 - ?f96");
add(L"f98", L"?f97 * ?f11");
add(L"f99", L"sin(?f95)");
add(L"f100", L"0 - ?f99");
add(L"f101", L"?f100 * ?f32");
add(L"f102", L"sqrt(?f98 * ?f98 + ?f101 * ?f101 + 0 * 0)");
add(L"f103", L"?f11 * ?f32 / ?f102");
add(L"f104", L"?f100 * ?f103");
add(L"f105", L"?f87 + ?f104");
add(L"f106", L"?f97 * ?f103");
add(L"f107", L"?f88 + ?f106");
add(L"f108", L"if(?f85, ?f20, ?f89)");
add(L"f109", L"if(?f85, ?f27, ?f90)");
add(L"f110", L"if(?f85, ?f20, ?f91)");
add(L"f111", L"if(?f85, ?f27, ?f92)");
add(L"f112", L"if(?f85, ?f89, ?f105)");
add(L"f113", L"if(?f85, ?f90, ?f107)");
add(L"f114", L"if(?f85, ?f91, ?f105)");
add(L"f115", L"if(?f85, ?f92, ?f107)");
add(L"f116", L"?f0 + ?f85");
add(L"f117", L"?f0 + ?f2");
add(L"f118", L"?f117 * ?f13 / ?f1");
add(L"f119", L"0 - ?f118");
add(L"f120", L"cos(?f119)");
add(L"f121", L"0 - ?f120");
add(L"f122", L"?f121 * ?f11");
add(L"f123", L"sin(?f119)");
add(L"f124", L"0 - ?f123");
add(L"f125", L"?f124 * ?f32");
add(L"f126", L"sqrt(?f122 * ?f122 + ?f125 * ?f125 + 0 * 0)");
add(L"f127", L"?f11 * ?f32 / ?f126");
add(L"f128", L"?f124 * ?f127");
add(L"f129", L"?f21 - ?f128");
add(L"f130", L"?f121 * ?f127");
add(L"f131", L"?f29 - ?f130");
add(L"f132", L"?f129 - ?f11");
add(L"f133", L"?f131 - ?f32");
add(L"f134", L"?f129 + ?f11");
add(L"f135", L"?f131 + ?f32");
add(L"f136", L"?f116 + ?f2");
add(L"f137", L"?f136 * ?f13 / ?f1");
add(L"f138", L"0 - ?f137");
add(L"f139", L"cos(?f138)");
add(L"f140", L"0 - ?f139");
add(L"f141", L"?f140 * ?f11");
add(L"f142", L"sin(?f138)");
add(L"f143", L"0 - ?f142");
add(L"f144", L"?f143 * ?f32");
add(L"f145", L"sqrt(?f141 * ?f141 + ?f144 * ?f144 + 0 * 0)");
add(L"f146", L"?f11 * ?f32 / ?f145");
add(L"f147", L"?f143 * ?f146");
add(L"f148", L"?f129 + ?f147");
add(L"f149", L"?f140 * ?f146");
add(L"f150", L"?f131 + ?f149");
add(L"f151", L"if(?f85, ?f21, ?f132)");
add(L"f152", L"if(?f85, ?f29, ?f133)");
add(L"f153", L"if(?f85, ?f21, ?f134)");
add(L"f154", L"if(?f85, ?f29, ?f135)");
add(L"f155", L"if(?f85, ?f132, ?f148)");
add(L"f156", L"if(?f85, ?f133, ?f150)");
add(L"f157", L"if(?f85, ?f134, ?f148)");
add(L"f158", L"if(?f85, ?f135, ?f150)");
add(L"f159", L"?f0 + ?f38");
add(L"f160", L"?f25 - ?f128");
add(L"f161", L"?f27 - ?f130");
add(L"f162", L"?f160 - ?f11");
add(L"f163", L"?f161 - ?f32");
add(L"f164", L"?f160 + ?f11");
add(L"f165", L"?f161 + ?f32");
add(L"f166", L"?f159 + ?f2");
add(L"f167", L"?f166 * ?f13 / ?f1");
add(L"f168", L"0 - ?f167");
add(L"f169", L"cos(?f168)");
add(L"f170", L"0 - ?f169");
add(L"f171", L"?f170 * ?f11");
add(L"f172", L"sin(?f168)");
add(L"f173", L"0 - ?f172");
add(L"f174", L"?f173 * ?f32");
add(L"f175", L"sqrt(?f171 * ?f171 + ?f174 * ?f174 + 0 * 0)");
add(L"f176", L"?f11 * ?f32 / ?f175");
add(L"f177", L"?f173 * ?f176");
add(L"f178", L"?f160 + ?f177");
add(L"f179", L"?f170 * ?f176");
add(L"f180", L"?f161 + ?f179");
add(L"f181", L"if(?f38, ?f25, ?f162)");
add(L"f182", L"if(?f38, ?f27, ?f163)");
add(L"f183", L"if(?f38, ?f25, ?f164)");
add(L"f184", L"if(?f38, ?f27, ?f165)");
add(L"f185", L"if(?f38, ?f162, ?f178)");
add(L"f186", L"if(?f38, ?f163, ?f180)");
add(L"f187", L"if(?f38, ?f164, ?f178)");
add(L"f188", L"if(?f38, ?f165, ?f180)");
add(L"f189", L"21550000 - -5400000");
add(L"f190", L"if(?f189, -5400000, 21550000)");
add(L"f191", L"-21550000 - ?f190");
add(L"f192", L"if(?f191, -21550000, ?f190)");
add(L"f193", L"0 + ?f192");
add(L"f194", L"0 + ?f2");
add(L"f195", L"?f194 * ?f13 / ?f1");
add(L"f196", L"0 - ?f195");
add(L"f197", L"cos(?f196)");
add(L"f198", L"0 - ?f197");
add(L"f199", L"?f198 * ?f11");
add(L"f200", L"sin(?f196)");
add(L"f201", L"0 - ?f200");
add(L"f202", L"?f201 * ?f32");
add(L"f203", L"sqrt(?f199 * ?f199 + ?f202 * ?f202 + 0 * 0)");
add(L"f204", L"?f11 * ?f32 / ?f203");
add(L"f205", L"?f201 * ?f204");
add(L"f206", L"?f19 - ?f205");
add(L"f207", L"?f198 * ?f204");
add(L"f208", L"?f32 - ?f207");
add(L"f209", L"?f206 - ?f11");
add(L"f210", L"?f208 - ?f32");
add(L"f211", L"?f206 + ?f11");
add(L"f212", L"?f208 + ?f32");
add(L"f213", L"?f193 + ?f2");
add(L"f214", L"?f213 * ?f13 / ?f1");
add(L"f215", L"0 - ?f214");
add(L"f216", L"cos(?f215)");
add(L"f217", L"0 - ?f216");
add(L"f218", L"?f217 * ?f11");
add(L"f219", L"sin(?f215)");
add(L"f220", L"0 - ?f219");
add(L"f221", L"?f220 * ?f32");
add(L"f222", L"sqrt(?f218 * ?f218 + ?f221 * ?f221 + 0 * 0)");
add(L"f223", L"?f11 * ?f32 / ?f222");
add(L"f224", L"?f220 * ?f223");
add(L"f225", L"?f206 + ?f224");
add(L"f226", L"?f217 * ?f223");
add(L"f227", L"?f208 + ?f226");
add(L"f228", L"if(?f192, ?f19, ?f209)");
add(L"f229", L"if(?f192, ?f32, ?f210)");
add(L"f230", L"if(?f192, ?f19, ?f211)");
add(L"f231", L"if(?f192, ?f32, ?f212)");
add(L"f232", L"if(?f192, ?f209, ?f225)");
add(L"f233", L"if(?f192, ?f210, ?f227)");
add(L"f234", L"if(?f192, ?f211, ?f225)");
add(L"f235", L"if(?f192, ?f212, ?f227)");
add(L"f236", L"?f0 + ?f192");
add(L"f237", L"?f20 - ?f128");
add(L"f238", L"?f5 - ?f130");
add(L"f239", L"?f237 - ?f11");
add(L"f240", L"?f238 - ?f32");
add(L"f241", L"?f237 + ?f11");
add(L"f242", L"?f238 + ?f32");
add(L"f243", L"?f236 + ?f2");
add(L"f244", L"?f243 * ?f13 / ?f1");
add(L"f245", L"0 - ?f244");
add(L"f246", L"cos(?f245)");
add(L"f247", L"0 - ?f246");
add(L"f248", L"?f247 * ?f11");
add(L"f249", L"sin(?f245)");
add(L"f250", L"0 - ?f249");
add(L"f251", L"?f250 * ?f32");
add(L"f252", L"sqrt(?f248 * ?f248 + ?f251 * ?f251 + 0 * 0)");
add(L"f253", L"?f11 * ?f32 / ?f252");
add(L"f254", L"?f250 * ?f253");
add(L"f255", L"?f237 + ?f254");
add(L"f256", L"?f247 * ?f253");
add(L"f257", L"?f238 + ?f256");
add(L"f258", L"if(?f192, ?f20, ?f239)");
add(L"f259", L"if(?f192, ?f5, ?f240)");
add(L"f260", L"if(?f192, ?f20, ?f241)");
add(L"f261", L"if(?f192, ?f5, ?f242)");
add(L"f262", L"if(?f192, ?f239, ?f255)");
add(L"f263", L"if(?f192, ?f240, ?f257)");
add(L"f264", L"if(?f192, ?f241, ?f255)");
add(L"f265", L"if(?f192, ?f242, ?f257)");
add(L"f266", L"?f22 - ?f205");
add(L"f267", L"?f33 - ?f207");
add(L"f268", L"?f266 - ?f11");
add(L"f269", L"?f267 - ?f32");
add(L"f270", L"?f266 + ?f11");
add(L"f271", L"?f267 + ?f32");
add(L"f272", L"?f266 + ?f224");
add(L"f273", L"?f267 + ?f226");
add(L"f274", L"if(?f192, ?f22, ?f268)");
add(L"f275", L"if(?f192, ?f33, ?f269)");
add(L"f276", L"if(?f192, ?f22, ?f270)");
add(L"f277", L"if(?f192, ?f33, ?f271)");
add(L"f278", L"if(?f192, ?f268, ?f272)");
add(L"f279", L"if(?f192, ?f269, ?f273)");
add(L"f280", L"if(?f192, ?f270, ?f272)");
add(L"f281", L"if(?f192, ?f271, ?f273)");
add(L"f282", L"21550000 - ?f2");
add(L"f283", L"if(?f282, ?f2, 21550000)");
add(L"f284", L"-21550000 - ?f283");
add(L"f285", L"if(?f284, -21550000, ?f283)");
add(L"f286", L"?f1 + ?f285");
add(L"f287", L"?f1 + ?f2");
add(L"f288", L"?f287 * ?f13 / ?f1");
add(L"f289", L"0 - ?f288");
add(L"f290", L"cos(?f289)");
add(L"f291", L"0 - ?f290");
add(L"f292", L"?f291 * ?f11");
add(L"f293", L"sin(?f289)");
add(L"f294", L"0 - ?f293");
add(L"f295", L"?f294 * ?f32");
add(L"f296", L"sqrt(?f292 * ?f292 + ?f295 * ?f295 + 0 * 0)");
add(L"f297", L"?f11 * ?f32 / ?f296");
add(L"f298", L"?f294 * ?f297");
add(L"f299", L"?f23 - ?f298");
add(L"f300", L"?f291 * ?f297");
add(L"f301", L"?f33 - ?f300");
add(L"f302", L"?f299 - ?f11");
add(L"f303", L"?f301 - ?f32");
add(L"f304", L"?f299 + ?f11");
add(L"f305", L"?f301 + ?f32");
add(L"f306", L"?f286 + ?f2");
add(L"f307", L"?f306 * ?f13 / ?f1");
add(L"f308", L"0 - ?f307");
add(L"f309", L"cos(?f308)");
add(L"f310", L"0 - ?f309");
add(L"f311", L"?f310 * ?f11");
add(L"f312", L"sin(?f308)");
add(L"f313", L"0 - ?f312");
add(L"f314", L"?f313 * ?f32");
add(L"f315", L"sqrt(?f311 * ?f311 + ?f314 * ?f314 + 0 * 0)");
add(L"f316", L"?f11 * ?f32 / ?f315");
add(L"f317", L"?f313 * ?f316");
add(L"f318", L"?f299 + ?f317");
add(L"f319", L"?f310 * ?f316");
add(L"f320", L"?f301 + ?f319");
add(L"f321", L"if(?f285, ?f23, ?f302)");
add(L"f322", L"if(?f285, ?f33, ?f303)");
add(L"f323", L"if(?f285, ?f23, ?f304)");
add(L"f324", L"if(?f285, ?f33, ?f305)");
add(L"f325", L"if(?f285, ?f302, ?f318)");
add(L"f326", L"if(?f285, ?f303, ?f320)");
add(L"f327", L"if(?f285, ?f304, ?f318)");
add(L"f328", L"if(?f285, ?f305, ?f320)");
add(L"f329", L"?f21 - ?f51");
add(L"f330", L"?f329 - ?f11");
add(L"f331", L"?f329 + ?f11");
add(L"f332", L"?f329 + ?f70");
add(L"f333", L"?f88 + ?f72");
add(L"f334", L"if(?f38, ?f21, ?f330)");
add(L"f335", L"if(?f38, ?f27, ?f90)");
add(L"f336", L"if(?f38, ?f21, ?f331)");
add(L"f337", L"if(?f38, ?f27, ?f92)");
add(L"f338", L"if(?f38, ?f330, ?f332)");
add(L"f339", L"if(?f38, ?f90, ?f333)");
add(L"f340", L"if(?f38, ?f331, ?f332)");
add(L"f341", L"if(?f38, ?f92, ?f333)");
add(L"f342", L"?f18 - ?f298");
add(L"f343", L"?f32 - ?f300");
add(L"f344", L"?f342 - ?f11");
add(L"f345", L"?f343 - ?f32");
add(L"f346", L"?f342 + ?f11");
add(L"f347", L"?f343 + ?f32");
add(L"f348", L"?f342 + ?f317");
add(L"f349", L"?f343 + ?f319");
add(L"f350", L"if(?f285, ?f18, ?f344)");
add(L"f351", L"if(?f285, ?f32, ?f345)");
add(L"f352", L"if(?f285, ?f18, ?f346)");
add(L"f353", L"if(?f285, ?f32, ?f347)");
add(L"f354", L"if(?f285, ?f344, ?f348)");
add(L"f355", L"if(?f285, ?f345, ?f349)");
add(L"f356", L"if(?f285, ?f346, ?f348)");
add(L"f357", L"if(?f285, ?f347, ?f349)");
add(L"f358", L"?f0 + ?f285");
add(L"f359", L"?f358 + ?f2");
add(L"f360", L"?f359 * ?f13 / ?f1");
add(L"f361", L"0 - ?f360");
add(L"f362", L"cos(?f361)");
add(L"f363", L"0 - ?f362");
add(L"f364", L"?f363 * ?f11");
add(L"f365", L"sin(?f361)");
add(L"f366", L"0 - ?f365");
add(L"f367", L"?f366 * ?f32");
add(L"f368", L"sqrt(?f364 * ?f364 + ?f367 * ?f367 + 0 * 0)");
add(L"f369", L"?f11 * ?f32 / ?f368");
add(L"f370", L"?f366 * ?f369");
add(L"f371", L"?f129 + ?f370");
add(L"f372", L"?f363 * ?f369");
add(L"f373", L"?f238 + ?f372");
add(L"f374", L"if(?f285, ?f21, ?f132)");
add(L"f375", L"if(?f285, ?f5, ?f240)");
add(L"f376", L"if(?f285, ?f21, ?f134)");
add(L"f377", L"if(?f285, ?f5, ?f242)");
add(L"f378", L"if(?f285, ?f132, ?f371)");
add(L"f379", L"if(?f285, ?f240, ?f373)");
add(L"f380", L"if(?f285, ?f134, ?f371)");
add(L"f381", L"if(?f285, ?f242, ?f373)");
add(L"f382", L"?f25 - ?f51");
add(L"f383", L"?f382 - ?f11");
add(L"f384", L"?f382 + ?f11");
add(L"f385", L"?f382 + ?f104");
add(L"f386", L"?f54 + ?f106");
add(L"f387", L"if(?f85, ?f25, ?f383)");
add(L"f388", L"if(?f85, ?f6, ?f56)");
add(L"f389", L"if(?f85, ?f25, ?f384)");
add(L"f390", L"if(?f85, ?f6, ?f58)");
add(L"f391", L"if(?f85, ?f383, ?f385)");
add(L"f392", L"if(?f85, ?f56, ?f386)");
add(L"f393", L"if(?f85, ?f384, ?f385)");
add(L"f394", L"if(?f85, ?f58, ?f386)");
add(L"f395", L"?f237 + ?f177");
add(L"f396", L"?f131 + ?f179");
add(L"f397", L"if(?f38, ?f20, ?f239)");
add(L"f398", L"if(?f38, ?f29, ?f133)");
add(L"f399", L"if(?f38, ?f20, ?f241)");
add(L"f400", L"if(?f38, ?f29, ?f135)");
add(L"f401", L"if(?f38, ?f239, ?f395)");
add(L"f402", L"if(?f38, ?f133, ?f396)");
add(L"f403", L"if(?f38, ?f241, ?f395)");
add(L"f404", L"if(?f38, ?f135, ?f396)");
add(L"f405", L"?f24 - ?f128");
add(L"f406", L"?f405 - ?f11");
add(L"f407", L"?f405 + ?f11");
add(L"f408", L"?f405 + ?f147");
add(L"f409", L"?f161 + ?f149");
add(L"f410", L"if(?f85, ?f24, ?f406)");
add(L"f411", L"if(?f85, ?f27, ?f163)");
add(L"f412", L"if(?f85, ?f24, ?f407)");
add(L"f413", L"if(?f85, ?f27, ?f165)");
add(L"f414", L"if(?f85, ?f406, ?f408)");
add(L"f415", L"if(?f85, ?f163, ?f409)");
add(L"f416", L"if(?f85, ?f407, ?f408)");
add(L"f417", L"if(?f85, ?f165, ?f409)");
/////////////////////////////////////////////////////////
}
};
}

View File

@ -404,13 +404,17 @@ int draw_enhanced_geometry::parsing(_CP_OPT(std::wstring) val)
/// draw-enhanced_geometry_attlist
void draw_enhanced_geometry_attlist::serialize(CP_ATTR_NODE)
{
if (draw_modifiers_ && draw_modifiers_->empty())
{
draw_modifiers_ = boost::none;
}
CP_XML_ATTR_OPT(L"draw:type", draw_type_);
CP_XML_ATTR_OPT(L"drawooo:sub-view-size", draw_sub_view_size_);
CP_XML_ATTR_OPT(L"draw:text-areas", draw_text_areas_);
CP_XML_ATTR_OPT(L"draw:text-rotate-angle", draw_text_rotate_angle_);
CP_XML_ATTR_OPT(L"draw:modifiers", draw_modifiers_);
CP_XML_ATTR_OPT(L"drawooo:enhanced-path", draw_enhanced_path_);
//CP_XML_ATTR_OPT(L"draw:enhanced-path", draw_enhanced_path_);
//CP_XML_ATTR_OPT(L"drawooo:enhanced-path", draw_enhanced_path_);
CP_XML_ATTR_OPT(L"draw:enhanced-path", draw_enhanced_path_);
CP_XML_ATTR_OPT(L"draw:glue-points", draw_glue_points_);
CP_XML_ATTR_OPT(L"draw:mirror-vertical", draw_mirror_vertical_);
CP_XML_ATTR_OPT(L"draw:mirror-horizontal", draw_mirror_horizontal_);

View File

@ -708,8 +708,14 @@ office_element_ptr odf_drawing_context::Impl::create_draw_element(int type)
create_element(L"draw", L"polygon", element, odf_context_);
break;
case 9:
case 10:
{
create_element(L"draw", L"connector", element, odf_context_);
break;
draw_connector* connector = dynamic_cast<draw_connector*>(element.get());
if (type == 10) connector->draw_connector_attlist_.draw_type_ = L"curve";
else connector->draw_connector_attlist_.draw_type_ = L"standard";
}break;
case 5000:
create_element(L"draw", L"g", element, odf_context_);
break;
@ -1160,6 +1166,11 @@ bool odf_drawing_context::isLineShape()
case 49: //SimpleTypes::shapetypeCurvedConnector4:
case 50: //SimpleTypes::shapetypeCurvedConnector5:
case 31: //SimpleTypes::shapetypeBracketPair
case 30: //SimpleTypes::shapetypeBracePair
case 148: //SimpleTypes::shapetypeRightBracket
case 111: //SimpleTypes::shapetypeLeftBracket
case 147: //SimpleTypes::shapetypeRightBrace
case 110: //SimpleTypes::shapetypeLeftBrace
case 18: //SimpleTypes::shapetypeArc
return true;
case 1000:
@ -1267,10 +1278,14 @@ void odf_drawing_context::end_line_properties()
////////////////////////////////////////////////////////////////////
void odf_drawing_context::set_name(const std::wstring & name)
{
if (name.empty()) return;
impl_->current_drawing_state_.name_ = name;
}
void odf_drawing_context::set_description (const std::wstring & description)
{
if (description.empty()) return;
impl_->current_drawing_state_.description_ = description;
}
void odf_drawing_context::set_hidden (bool bVal)

View File

@ -83,12 +83,17 @@ oox_shape_ptr oox_shape::create(int ooxPrstGeomType)
case SimpleTypes::shapetypeStar12: return boost::make_shared<oox_shape_star12>();
case SimpleTypes::shapetypeStar16: return boost::make_shared<oox_shape_star16>();
case SimpleTypes::shapetypeStar32: return boost::make_shared<oox_shape_star32>();
case SimpleTypes::shapetypeSun: return boost::make_shared<oox_shape_sun>();
case SimpleTypes::shapetypeMoon: return boost::make_shared<oox_shape_moon>();
case SimpleTypes::shapetypeLightningBolt: return boost::make_shared<oox_shape_lightningBolt>();
case SimpleTypes::shapetypeHeart: return boost::make_shared<oox_shape_heart>();
case SimpleTypes::shapetypeCircularArrow: return boost::make_shared<oox_shape_CircularArrow>();
case SimpleTypes::shapetypeCurvedLeftArrow: return boost::make_shared<oox_shape_CurvedLeftArrow>();
case SimpleTypes::shapetypeCurvedRightArrow: return boost::make_shared<oox_shape_CurvedRightArrow>();
case SimpleTypes::shapetypeCurvedDownArrow: return boost::make_shared<oox_shape_CurvedDownArrow>();
case SimpleTypes::shapetypeCurvedUpArrow: return boost::make_shared<oox_shape_CurvedUpArrow>();
case SimpleTypes::shapetypeLeftCircularArrow: return boost::make_shared<oox_shape_LeftCircularArrow>();
case SimpleTypes::shapetypeSwooshArrow: return boost::make_shared<oox_shape_SwooshArrow>();
case SimpleTypes::shapetypeLeftArrow: return boost::make_shared<oox_shape_LeftArrow>();
@ -99,6 +104,7 @@ oox_shape_ptr oox_shape::create(int ooxPrstGeomType)
case SimpleTypes::shapetypeDownArrow: return boost::make_shared<oox_shape_DownArrow>();
case SimpleTypes::shapetypeUpArrow: return boost::make_shared<oox_shape_UpArrow>();
case SimpleTypes::shapetypeNotchedRightArrow: return boost::make_shared<oox_shape_NotchedRightArrow>();
case SimpleTypes::shapetypeQuadArrowCallout: return boost::make_shared<oox_shape_QuadArrowCallout>();
case SimpleTypes::shapetypeFunnel: return boost::make_shared<oox_shape_Funnel>();
case SimpleTypes::shapetypeGear6: return boost::make_shared<oox_shape_Gear6>();
@ -124,7 +130,8 @@ oox_shape_ptr oox_shape::create(int ooxPrstGeomType)
case SimpleTypes::shapetypeDonut: return boost::make_shared<oox_shape_Donut>();
case SimpleTypes::shapetypeLeftRightRibbon: return boost::make_shared<oox_shape_LeftRightRibbon>();
case SimpleTypes::shapetypeWave: return boost::make_shared<oox_shape_Wave>();
case SimpleTypes::shapetypeBracketPair: return boost::make_shared<oox_shape_bracketPair>();
case SimpleTypes::shapetypeFoldedCorner: return boost::make_shared<oox_shape_FoldedCorner>();
case SimpleTypes::shapetypeCan: return boost::make_shared<oox_shape_Can>();
case SimpleTypes::shapetypeFlowChartExtract: return boost::make_shared<oox_shape_FlowChartExtract>();
@ -138,6 +145,46 @@ oox_shape_ptr oox_shape::create(int ooxPrstGeomType)
case SimpleTypes::shapetypeStraightConnector1: return boost::make_shared<oox_shape_StraightConnector1>();
case SimpleTypes::shapetypeFrame: return boost::make_shared<oox_shape_Frame>();
case SimpleTypes::shapetypePentagon: return boost::make_shared<oox_shape_Pentagon>();
case SimpleTypes::shapetypeOctagon: return boost::make_shared<oox_shape_Octagon>();
case SimpleTypes::shapetypeHexagon: return boost::make_shared<oox_shape_Hexagon>();
case SimpleTypes::shapetypeHeptagon: return boost::make_shared<oox_shape_Heptagon>();
case SimpleTypes::shapetypeDecagon: return boost::make_shared<oox_shape_Decagon>();
case SimpleTypes::shapetypeDodecagon: return boost::make_shared<oox_shape_Dodecagon>();
case SimpleTypes::shapetypeCube: return boost::make_shared<oox_shape_Cube>();
case SimpleTypes::shapetypeCallout1: return boost::make_shared<oox_shape_Callout1>();
case SimpleTypes::shapetypeCallout2: return boost::make_shared<oox_shape_Callout2>();
// case SimpleTypes::shapetypeCallout3: return boost::make_shared<oox_shape_Callout3>();
case SimpleTypes::shapetypeAccentCallout1: return boost::make_shared<oox_shape_AccentCallout1>();
case SimpleTypes::shapetypeAccentCallout2: return boost::make_shared<oox_shape_AccentCallout2>();
case SimpleTypes::shapetypeAccentCallout3: return boost::make_shared<oox_shape_AccentCallout3>();
case SimpleTypes::shapetypeBorderCallout1: return boost::make_shared<oox_shape_BorderCallout1>();
case SimpleTypes::shapetypeBorderCallout2: return boost::make_shared<oox_shape_BorderCallout2>();
case SimpleTypes::shapetypeBorderCallout3: return boost::make_shared<oox_shape_BorderCallout3>();
case SimpleTypes::shapetypeAccentBorderCallout1: return boost::make_shared<oox_shape_AccentBorderCallout1>();
case SimpleTypes::shapetypeAccentBorderCallout2: return boost::make_shared<oox_shape_AccentBorderCallout2>();
case SimpleTypes::shapetypeAccentBorderCallout3: return boost::make_shared<oox_shape_AccentBorderCallout3>();
case SimpleTypes::shapetypeCloudCallout: return boost::make_shared<oox_shape_CloudCallout>();
case SimpleTypes::shapetypeWedgeRectCallout: return boost::make_shared<oox_shape_WedgeRectCallout>();
case SimpleTypes::shapetypeWedgeRoundRectCallout: return boost::make_shared<oox_shape_WedgeRoundRectCallout>();
case SimpleTypes::shapetypeWedgeEllipseCallout: return boost::make_shared<oox_shape_WedgeEllipseCallout>();
case SimpleTypes::shapetypeRibbon: return boost::make_shared<oox_shape_Ribbon>();
case SimpleTypes::shapetypeRibbon2: return boost::make_shared<oox_shape_Ribbon2>();
case SimpleTypes::shapetypeEllipseRibbon: return boost::make_shared<oox_shape_EllipseRibbon>();
case SimpleTypes::shapetypeEllipseRibbon2: return boost::make_shared<oox_shape_EllipseRibbon2>();
case SimpleTypes::shapetypeRightBrace: return boost::make_shared<oox_shape_RightBrace>();
case SimpleTypes::shapetypeLeftBrace: return boost::make_shared<oox_shape_LeftBrace>();
case SimpleTypes::shapetypeRightBracket: return boost::make_shared<oox_shape_RightBracket>();
case SimpleTypes::shapetypeLeftBracket: return boost::make_shared<oox_shape_LeftBracket>();
case SimpleTypes::shapetypeBracePair: return boost::make_shared<oox_shape_BracePair>();
case SimpleTypes::shapetypeBracketPair: return boost::make_shared<oox_shape_BracketPair>();
//case (2001 + SimpleTypes::textshapetypeTextArchDown):
//case (2001 + SimpleTypes::textshapetypeTextArchDownPour):
//case (2001 + SimpleTypes::textshapetypeTextArchUp):

View File

@ -666,7 +666,14 @@ namespace PPTX
std::wstring strValue = strParams.substr(nPosOld, nPosition - nPosOld);
m_mapSettings.insert(std::pair<std::wstring, std::wstring>(strName, strValue));
if (m_mapSettings.find(strName) == m_mapSettings.end())
{
m_mapSettings.insert(std::make_pair(strName, strValue));
}
else
{
m_mapSettings[strName] += L"," + strValue;
}
}
}
@ -733,8 +740,14 @@ namespace PPTX
if (pData[nPosOld] == WCHAR('.'))
strValue = (L"0" + strValue);
//добавляем через [], а не insert, потому что ключи могут дублироваться(а в предыдущей реализации использовалось последнее значение)
m_mapSettings[strName] = strValue;
if (m_mapSettings.find(strName) == m_mapSettings.end())
{
m_mapSettings.insert(std::make_pair(strName, strValue));
}
else
{
m_mapSettings[strName] += L"," + strValue;
}
}
}
@ -2864,7 +2877,8 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
pSpPr->xfrm->flipH = true;
else if (pFind->second == L"y")
pSpPr->xfrm->flipV = true;
else if ((pFind->second == L"xy") || (pFind->second == L"yx") || (pFind->second == L"x y") || (pFind->second == L"y x"))
else if ((pFind->second == L"xy") || (pFind->second == L"yx") || (pFind->second == L"x y") || (pFind->second == L"y x")
|| (pFind->second == L"y,x") || (pFind->second == L"x,y"))
{
pSpPr->xfrm->flipH = true;
pSpPr->xfrm->flipV = true;
@ -2898,7 +2912,8 @@ void CDrawingConverter::doc_LoadShape(PPTX::Logic::SpTreeElem *elem, XmlUtils::C
pSpPr->xfrm->flipH = true;
else if (pFind->second == L"y")
pSpPr->xfrm->flipV = true;
else if ((pFind->second == L"xy") || (pFind->second == L"yx") || (pFind->second == L"x y") || (pFind->second == L"y x"))
else if ((pFind->second == L"xy") || (pFind->second == L"yx") || (pFind->second == L"x y") || (pFind->second == L"y x")
|| (pFind->second == L"y,x") || (pFind->second == L"x,y"))
{
pSpPr->xfrm->flipH = true;
pSpPr->xfrm->flipV = true;
@ -3062,7 +3077,8 @@ void CDrawingConverter::doc_LoadGroup(PPTX::Logic::SpTreeElem *result, XmlUtils:
pTree->grpSpPr.xfrm->flipH = true;
else if (pFind->second == L"y")
pTree->grpSpPr.xfrm->flipV = true;
else if ((pFind->second == L"xy") || (pFind->second == L"yx") || (pFind->second == L"x y") || (pFind->second == L"y x"))
else if ((pFind->second == L"xy") || (pFind->second == L"yx") || (pFind->second == L"x y") || (pFind->second == L"y x")
|| (pFind->second == L"y,x") || (pFind->second == L"x,y"))
{
pTree->grpSpPr.xfrm->flipH = true;
pTree->grpSpPr.xfrm->flipV = true;
@ -3102,7 +3118,8 @@ void CDrawingConverter::doc_LoadGroup(PPTX::Logic::SpTreeElem *result, XmlUtils:
pTree->grpSpPr.xfrm->flipH = true;
else if (pFind->second == L"y")
pTree->grpSpPr.xfrm->flipV = true;
else if ((pFind->second == L"xy") || (pFind->second == L"yx") || (pFind->second == L"x y") || (pFind->second == L"y x"))
else if ((pFind->second == L"xy") || (pFind->second == L"yx") || (pFind->second == L"x y") || (pFind->second == L"y x")
|| (pFind->second == L"y,x") || (pFind->second == L"x,y"))
{
pTree->grpSpPr.xfrm->flipH = true;
pTree->grpSpPr.xfrm->flipV = true;

View File

@ -1,17 +0,0 @@
QMAKE_CXX.INCDIRS = \
"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE" \
"C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt" \
"C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\shared" \
"C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\um" \
"C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\winrt"
QMAKE_CXX.LIBDIRS = \
"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\LIB\\amd64" \
"C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.10240.0\\ucrt\\x64" \
"C:\\Program Files (x86)\\Windows Kits\\8.1\\lib\\winv6.3\\um\\x64"
QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
QMAKE_CXX.QMAKE_MSC_VER = 1900
QMAKE_CXX.QMAKE_MSC_FULL_VER = 190024210
QMAKE_CXX.COMPILER_MACROS = \
QT_COMPILER_STDCXX \
QMAKE_MSC_VER \
QMAKE_MSC_FULL_VER

View File

@ -26,7 +26,10 @@ core_linux {
core_mac {
LIBS += -L$$CORE_V8_PATH_LIBS -lv8_base -lv8_libplatform -lv8_libbase -lv8_snapshot -lv8_libsampler
LIBS += -L$$CORE_V8_PATH_LIBS/third_party/icu -licui18n -licuuc
#LIBS += -L$$CORE_V8_PATH_LIBS/third_party/icu -licui18n -licuuc
LIBS += $$CORE_V8_PATH_LIBS/third_party/icu/libicui18n.a
LIBS += $$CORE_V8_PATH_LIBS/third_party/icu/libicuuc.a
QMAKE_CXXFLAGS += -Wall -Wno-inconsistent-missing-override
QMAKE_CFLAGS += -Wall -Wno-inconsistent-missing-override

View File

@ -262,7 +262,7 @@ std::wstring COfficeFileFormatChecker::getDocumentID (const std::wstring & _file
}
else
{
if ( false == isOpenOfficeFormatFile(fileName, sDocumentID))
if ( false == isOpenOfficeFormatFile(fileName, documentID))
{
NSFile::CFileBinary file;
if (!file.OpenFile(fileName))
@ -275,12 +275,13 @@ std::wstring COfficeFileFormatChecker::getDocumentID (const std::wstring & _file
file.ReadFile(buffer, MIN_SIZE_BUFFER, dwReadBytes);
file.CloseFile();
if (isPdfFormatFile(buffer, (int)dwReadBytes, sDocumentID) )
if (isPdfFormatFile(buffer, (int)dwReadBytes, documentID) )
{
nFileType = AVS_OFFICESTUDIO_FILE_CROSSPLATFORM_PDF;
}
}
}
sDocumentID = documentID;
return documentID;
}

View File

@ -5,7 +5,7 @@ BUILD_NUMBER = $$(BUILD_NUMBER)
!isEmpty(PRODUCT_VERSION){
!isEmpty(BUILD_NUMBER){
VERSION = $$PRODUCT_VERSION.$$BUILD_NUMBER
VERSION = $${PRODUCT_VERSION}.$${BUILD_NUMBER}
}
}

View File

@ -1 +1 @@
2.4.554.0
2.4.556.0

View File

@ -177,47 +177,49 @@ namespace MetaFile
{
return m_lType;
}
void CMetaFile::GetBounds(double* pdX, double* pdY, double* pdW, double* pdH)
{
if (c_lMetaWmf == m_lType)
{
const TRectD& oRect = m_oWmfFile.GetBounds();
*pdX = oRect.dLeft;
*pdY = oRect.dTop;
*pdW = oRect.dRight - oRect.dLeft;
*pdH = oRect.dBottom - oRect.dTop;
}
else if (c_lMetaEmf == m_lType)
{
TEmfRectL* pRect = m_oEmfFile.GetBounds();
*pdX = pRect->lLeft;
*pdY = pRect->lTop;
*pdW = pRect->lRight - pRect->lLeft;
*pdH = pRect->lBottom - pRect->lTop;
}
else if (c_lMetaSvm == m_lType)
{
TRect* pRect = m_oSvmFile.GetBounds();
*pdX = pRect->nLeft;
*pdY = pRect->nTop;
*pdW = pRect->nRight - pRect->nLeft;
*pdH = pRect->nBottom - pRect->nTop;
void CMetaFile::GetBounds(double* pdX, double* pdY, double* pdW, double* pdH)
{
if (c_lMetaWmf == m_lType)
{
const TRectD& oRect = m_oWmfFile.GetBounds();
*pdX = oRect.dLeft;
*pdY = oRect.dTop;
*pdW = oRect.dRight - oRect.dLeft;
*pdH = oRect.dBottom - oRect.dTop;
}
else if (c_lMetaEmf == m_lType)
{
TEmfRectL* pRect = m_oEmfFile.GetBounds();
*pdX = pRect->lLeft;
*pdY = pRect->lTop;
*pdW = pRect->lRight - pRect->lLeft;
*pdH = pRect->lBottom - pRect->lTop;
}
else if (c_lMetaSvm == m_lType)
{
TRect* pRect = m_oSvmFile.GetBounds();
*pdX = pRect->nLeft;
*pdY = pRect->nTop;
*pdW = pRect->nRight - pRect->nLeft;
*pdH = pRect->nBottom - pRect->nTop;
if (*pdW > 10000 || *pdH > 10000)
{
*pdW /= 10;
*pdH /= 10;
}
}
else
{
*pdX = 0;
*pdY = 0;
*pdW = 0;
*pdH = 0;
}
};
void CMetaFile::ConvertToRaster(const wchar_t* wsOutFilePath, unsigned int unFileType, int nWidth, int nHeight)
if (*pdW > 10000 || *pdH > 10000)
{
*pdW /= 10;
*pdH /= 10;
}
}
else
{
*pdX = 0;
*pdY = 0;
*pdW = 0;
*pdH = 0;
}
if (*pdW < 0) *pdW = -*pdW;
if (*pdH < 0) *pdH = -*pdH;
};
void CMetaFile::ConvertToRaster(const wchar_t* wsOutFilePath, unsigned int unFileType, int nWidth, int nHeight)
{
CFontManager *pFontManager = (CFontManager*)m_pAppFonts->GenerateFontManager();
CFontsCache* pFontCache = new CFontsCache();

View File

@ -1,7 +1,7 @@
#include "./XmlSigner_openssl.h"
#include "../../../common/File.h"
#include "../../../common/String.h"
#include "../../../common/StringExt.h"
#include "../../../common/BigInteger.h"
#include <unistd.h>

View File

@ -12,7 +12,7 @@
#include <openssl/conf.h>
#include "../../../common/File.h"
#include "../../../common/String.h"
#include "../../../common/StringExt.h"
#include "opensslwrapper.h"
class COpenssl_library_private

View File

@ -602,6 +602,8 @@ void TestDocument7()
pPage->EndText();
oPdf.SetDocumentID(L"23193r09jscladjalj");
//oPdf.SetPasswords(L"123", L"qwe");
oPdf.SaveToFile(L"D:/test/_pdf/Test7.pdf");
oPdf.Close();
}
@ -800,7 +802,7 @@ void ConvertFolder(std::wstring wsFolderPath)
int _tmain(int argc, _TCHAR* argv[])
{
TestDocument3();
TestDocument7();
return S_OK;

View File

@ -285,15 +285,15 @@ namespace PdfWriter
memcpy(impl->m_anEncryptionKey, key.data(), key.size());
//-------------------------------------------------------------------
unsigned long long extended_perms = 0xffffffff00000000LL | m_unPermission;
for (int i = 0; i < 8; ++i)
{
m_anPermEncrypt[i] = static_cast<unsigned char>(extended_perms & 0xff);
extended_perms >>= 8;
}
m_anPermEncrypt[8] = /*m_bEncryptMetadata ? 'T' : */'F';
m_anPermEncrypt[9] = 'a';
m_anPermEncrypt[10] = 'd';
unsigned long long extended_perms = 0xffffffff00000000LL | m_unPermission;
for (int i = 0; i < 8; ++i)
{
m_anPermEncrypt[i] = static_cast<unsigned char>(extended_perms & 0xff);
extended_perms >>= 8;
}
m_anPermEncrypt[8] = /*m_bEncryptMetadata ? 'T' : */'F';
m_anPermEncrypt[9] = 'a';
m_anPermEncrypt[10] = 'd';
m_anPermEncrypt[11] = 'b';
CryptoPP::SecByteBlock p(4);
@ -320,35 +320,58 @@ namespace PdfWriter
impl->Reset();
}
#define PADDING_SIZE 16
unsigned int CEncrypt::CryptBuf(const BYTE* pSrc, BYTE* pDst, unsigned int unLen, bool bLast)
{
unsigned int unLenOut = unLen;
if (unLenOut % PADDING_SIZE != 0 && bLast)
unLenOut = (unLen / PADDING_SIZE + 1) * PADDING_SIZE;
unsigned int CEncrypt::CryptBuf(const BYTE* pSrc, BYTE* pDst, unsigned int unLen)
{
unsigned int unLenOut = unLen;
memcpy(pDst, impl->streamInitialization, 16);
CryptoPP::StreamTransformationFilter stfEncryption(*impl->streamEncryption, new CryptoPP::ArraySink( pDst + 16, unLenOut), CryptoPP::StreamTransformationFilter::NO_PADDING );
if (unLenOut % PADDING_SIZE != 0)
unLenOut = (unLen / PADDING_SIZE + 1) * PADDING_SIZE;
if (unLenOut != unLen)
{
stfEncryption.Put2(pSrc, unLen, 0, true);
unsigned char empty[16] = {};
stfEncryption.Put2(empty, unLenOut - unLen, 1, true);
}
else
{
stfEncryption.Put2(pSrc, unLen, bLast ? 1 : 0, true);
}
stfEncryption.MessageEnd();
memcpy(pDst, impl->streamInitialization, 16);
return unLenOut + 16;
}
void CEncrypt::SetPermission(unsigned int unPermission)
{
m_unPermission = unPermission;
}
CryptoPP::StreamTransformationFilter stfEncryption(*impl->streamEncryption, new CryptoPP::ArraySink( pDst + 16, unLenOut), CryptoPP::StreamTransformationFilter::NO_PADDING );
stfEncryption.Put2(pSrc, unLen, 0, true);
if (unLenOut != unLen)
{
unsigned char empty[16] = {};
stfEncryption.Put2(empty, unLenOut - unLen, 0, true);
}
stfEncryption.MessageEnd();
return unLenOut + 16;
}
//unsigned int CEncrypt::CryptBuf(const BYTE* pSrc, BYTE* pDst, unsigned int unLen, bool bFirst, bool bLast)
// {
// unsigned int unLenOut = unLen;
// if (unLenOut % PADDING_SIZE != 0 && bLast)
// unLenOut = (unLen / PADDING_SIZE + 1) * PADDING_SIZE;
// if(bFirst)
// memcpy(pDst, impl->streamInitialization, 16);
// CryptoPP::StreamTransformationFilter stfEncryption(*impl->streamEncryption, new CryptoPP::ArraySink( pDst + (bFirst ? 16 : 0), unLenOut), CryptoPP::StreamTransformationFilter::NO_PADDING );
// stfEncryption.Put2(pSrc, unLen, 0, true);
//
//if (unLenOut != unLen && bLast)
// {
// unsigned char empty[16] = {};
// stfEncryption.Put2(empty, unLenOut - unLen, 0, true);
// }
// if (bLast)
// {
// stfEncryption.MessageEnd();
// }
// return unLenOut + (bFirst ? 16 : 0);
// }
void CEncrypt::SetPermission(unsigned int unPermission)
{
m_unPermission = unPermission;
}
}

View File

@ -51,7 +51,7 @@ namespace PdfWriter
void CreateEncryptionKey();
void InitKey(unsigned int unObjectId, unsigned short unGenNo);
void Reset();
unsigned int CryptBuf(const BYTE* pSrc, BYTE* pDst, unsigned int unLen, bool bLast);
unsigned int CryptBuf(const BYTE* pSrc, BYTE* pDst, unsigned int unLen);
void SetPermission(unsigned int unPermission);
void SetPasswords(const std::string &sUserPassword, const std::string &sOwnerPassword);
private:

View File

@ -342,156 +342,183 @@ namespace PdfWriter
Write((BYTE*)sBuf, nIndex);
}
void CStream::WriteBinary(const BYTE* pData, unsigned int unLen, CEncrypt* pEncrypt)
{
char sBuf[TEXT_DEFAULT_LEN];
{
char sBuf[TEXT_DEFAULT_LEN];
BYTE* pBuf = NULL;
bool bDelete = false;
unsigned int nIndex = 0;
BYTE* pBuf = NULL;
bool bDelete = false;
unsigned int nIndex = 0;
const BYTE* pBuffer = NULL;
if (pEncrypt)
{
pBuf = new BYTE[unLen + 16 + 16]; // iv + padding
bDelete = true;
unLen = pEncrypt->CryptBuf(pData, pBuf, unLen, true);
pBuffer = pBuf;
}
else
{
pBuffer = pData;
}
const BYTE* pBuffer = NULL;
if (pEncrypt)
{
pBuf = new BYTE[unLen + 16 + 16]; // iv + padding
bDelete = true;
unLen = pEncrypt->CryptBuf(pData, pBuf, unLen);
pBuffer = pBuf;
}
else
{
pBuffer = pData;
}
for (int nCounter = 0; nCounter < unLen; nCounter++, pBuffer++)
{
Write((const BYTE*)c_pHexStrings[*pBuffer], 2);
}
for (int nCounter = 0; nCounter < unLen; nCounter++, pBuffer++)
{
Write((const BYTE*)c_pHexStrings[*pBuffer], 2);
}
if (nIndex > 0)
{
Write((BYTE*)sBuf, nIndex);
}
if (nIndex > 0)
{
Write((BYTE*)sBuf, nIndex);
}
if (bDelete)
delete[] pBuf;
}
if (bDelete)
delete[] pBuf;
}
void CStream::WriteStreamWithDeflate(CStream* pStream, CEncrypt* pEncrypt)
{
unsigned long nRet = OK;
{
unsigned long nRet = OK;
CDeflate ZStream;
BYTE inbuf[STREAM_BUF_SIZ];
BYTE otbuf[DEFLATE_BUF_SIZ];
BYTE ebuf[DEFLATE_BUF_SIZ];
// initialize input stream
pStream->Seek(0, SeekSet);
BYTE *otbuf_all = NULL;
// initialize decompression stream.
// initialize input stream
pStream->Seek(0, SeekSet);
unsigned long size = pStream->Size();
if (pEncrypt)
{
unsigned long size_out = (unsigned long)(size * 1.1 + 13 + 64);
otbuf_all = new BYTE[size_out];
}
// initialize decompression stream.
ZStream.SetOut(otbuf, DEFLATE_BUF_SIZ);
ZStream.Init(DEFLATE_DEFAULT_COMPRESSION, -1);
ZStream.SetIn(inbuf, 0);
for (;;)
{
unsigned int unSize = STREAM_BUF_SIZ;
pStream->Read(inbuf, &unSize);
unsigned long size_crypt = 0;
unsigned int offset = 0;
while(true)
{
unsigned int unSize = STREAM_BUF_SIZ;
pStream->Read(inbuf, &unSize);
ZStream.SetIn(inbuf, unSize);
if (0 == unSize)
break;
if (0 == unSize)
break;
while (ZStream.GetAvailIn() > 0)
{
{
ZStream.Process(DEFLATE_NO_FLUSH);
if (ZStream.GetAvailOut() == 0)
{
if (pEncrypt)
{
pEncrypt->CryptBuf(otbuf, ebuf, DEFLATE_BUF_SIZ, false);
Write(ebuf, DEFLATE_BUF_SIZ);
}
else
Write(otbuf, DEFLATE_BUF_SIZ);
{
if (pEncrypt)
{
memcpy(otbuf_all + offset, otbuf, DEFLATE_BUF_SIZ);
offset += DEFLATE_BUF_SIZ;
}
else
Write(otbuf, DEFLATE_BUF_SIZ);
ZStream.SetOut(otbuf, DEFLATE_BUF_SIZ);
}
}
}
}
}
}
bool bEnd = false;
for (;;)
{
bool bEnd = false;
while(true)
{
nRet = ZStream.Process(DEFLATE_FINISH);
if (DEFLATE_OK != nRet && DEFLATE_STREAM_END != nRet)
{
{
ZStream.End();
return;
}
return;
}
if (DEFLATE_STREAM_END == nRet)
bEnd = true;
bEnd = true;
if (ZStream.GetAvailOut() < DEFLATE_BUF_SIZ)
{
{
unsigned int osize = DEFLATE_BUF_SIZ - ZStream.GetAvailOut();
if (pEncrypt)
{
osize = pEncrypt->CryptBuf(otbuf, ebuf, osize, true);
Write(ebuf, osize);
}
else
Write(otbuf, osize);
if (pEncrypt)
{
memcpy(otbuf_all + offset, otbuf, osize);
offset += osize;
}
else
Write(otbuf, osize);
ZStream.SetOut(otbuf, DEFLATE_BUF_SIZ);
}
}
if (bEnd)
break;
}
if (bEnd)
break;
}
if (pEncrypt)
{
BYTE *etbuf_all = new BYTE[offset + 32];
unsigned int osize = pEncrypt->CryptBuf(otbuf_all, etbuf_all, offset);
delete []otbuf_all;
Write(etbuf_all, osize);
delete []etbuf_all;
}
ZStream.End();
}
}
void CStream::WriteStream(CStream* pStream, unsigned int unFilter, CEncrypt *pEncrypt)
{
if (pStream->Size() <= 0)
return;
{
if (pStream->Size() <= 0)
return;
#ifndef FILTER_FLATE_DECODE_DISABLED
if (unFilter & STREAM_FILTER_FLATE_DECODE)
return WriteStreamWithDeflate(pStream, pEncrypt);
if (unFilter & STREAM_FILTER_FLATE_DECODE)
return WriteStreamWithDeflate(pStream, pEncrypt);
#endif
BYTE pBuf[STREAM_BUF_SIZ];
BYTE pEBuf[STREAM_BUF_SIZ];
pStream->Seek(0, SeekSet);
for (;;)
if (pEncrypt)
{
unsigned int size = pStream->Size();
BYTE *pBuf = new BYTE[size];
BYTE *pEBuf = new BYTE[size + 32];
pStream->Read(pBuf, &size);
size = pEncrypt->CryptBuf(pBuf, pEBuf, size);
Write(pEBuf, size);
delete []pBuf;
delete []pEBuf;
}
else
{
unsigned int unSize = STREAM_BUF_SIZ;
pStream->Read(pBuf, &unSize);
BYTE pBuf[STREAM_BUF_SIZ];
if (0 == unSize)
break;
while(true)
{
unsigned int unSize = STREAM_BUF_SIZ;
pStream->Read(pBuf, &unSize);
if (pEncrypt)
{
unSize = pEncrypt->CryptBuf(pBuf, pEBuf, unSize, pStream->IsEof());
Write(pEBuf, unSize);
}
else
{
if (0 == unSize)
break;
Write(pBuf, unSize);
}
}
}
}
void CStream::Write(CNullObject* pNull)
{
}
{
}
void CStream::Write(CBoolObject* pBool)
{
if (pBool->Get())