mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-03-05 18:31:47 +08:00
Compare commits
29 Commits
core-win-3
...
core-linux
| Author | SHA1 | Date | |
|---|---|---|---|
| 945d43997a | |||
| b41170a233 | |||
| b64541e6bd | |||
| 5626963bdf | |||
| 5b7d637c78 | |||
| 643f117a92 | |||
| f6d38c1f1b | |||
| dd24ca837f | |||
| f555e3f821 | |||
| 503e87077b | |||
| 07a07a1abd | |||
| 30473ee9b7 | |||
| 73ef4140a2 | |||
| 8b6e5f17c8 | |||
| fcede43d99 | |||
| c37f011d6d | |||
| 52ec27a679 | |||
| a687e49a6a | |||
| 4d0e44c8b6 | |||
| 4dddc6d9bc | |||
| b6b79576a1 | |||
| 1c1223b148 | |||
| 9947f058a9 | |||
| 54f55ad2ac | |||
| e4edb9cca4 | |||
| aacea2f015 | |||
| 1475b2fef9 | |||
| 8e58975095 | |||
| 04550f06ad |
2
.gitignore
vendored
2
.gitignore
vendored
@ -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
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
#include "OfficeDrawing/GroupShapeBooleanProperties.h"
|
||||
#include "OfficeDrawing/MetafilePictBlip.h"
|
||||
|
||||
#include "../../DesktopEditor/common/String.h"
|
||||
#include "../../DesktopEditor/common/StringExt.h"
|
||||
#include "../../Common/DocxFormat/Source/DocxFormat/Document.h"
|
||||
|
||||
#include "../../DesktopEditor/common/File.h"
|
||||
|
||||
@ -55,7 +55,7 @@
|
||||
|
||||
#include "DrawingPrimitives.h"
|
||||
|
||||
#include "../../DesktopEditor/common/String.h"
|
||||
#include "../../DesktopEditor/common/StringExt.h"
|
||||
|
||||
#include "../Common/FormatUtils.h"
|
||||
|
||||
|
||||
@ -265,4 +265,11 @@ namespace BinXlsxRW{
|
||||
NSDirectory::DeleteDirectory(sTempDir);
|
||||
return res;
|
||||
}
|
||||
bool CXlsxSerializer::hasPivot(const std::wstring& sSrcPath)
|
||||
{
|
||||
//todo CXlsx
|
||||
std::wstring sData;
|
||||
NSFile::CFileBinary::ReadAllTextUtf8(sSrcPath + FILE_SEPARATOR_STR + L"[Content_Types].xml", sData);
|
||||
return std::wstring::npos != sData.find(OOX::Spreadsheet::FileTypes::PivotTable.OverrideType());
|
||||
}
|
||||
};
|
||||
|
||||
@ -74,6 +74,7 @@ namespace BinXlsxRW {
|
||||
void setIsNoBase64 (bool bIsNoBase64);
|
||||
|
||||
bool writeChartXlsx (const std::wstring& sDstFile ,const OOX::Spreadsheet::CChartSpace& oChart);
|
||||
bool hasPivot (const std::wstring& sSrcPath);
|
||||
};
|
||||
}
|
||||
#endif // #ifndef XLSX_SERIALIZER
|
||||
|
||||
@ -243,16 +243,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");
|
||||
|
||||
@ -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_);
|
||||
|
||||
|
||||
@ -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 },
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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,
|
||||
@ -66,14 +66,14 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
|
||||
{ L"" , 7}, // shapetypeBentUpArrow,
|
||||
{ L"quad-bevel" , 7}, // shapetypeBevel,
|
||||
{ L"" , 7}, // shapetypeBlockArc,
|
||||
{ L"mso-spt49" , 7}, // shapetypeBorderCallout1,
|
||||
{ L"mso-spt50" , 7}, // shapetypeBorderCallout2,
|
||||
{ L"mso-spt51" , 7}, // shapetypeBorderCallout3,
|
||||
{ L"" , 7}, // shapetypeBorderCallout1,
|
||||
{ L"" , 7}, // shapetypeBorderCallout2,
|
||||
{ L"" , 7}, // shapetypeBorderCallout3,
|
||||
{ L"brace-pair" , 7}, // shapetypeBracePair,
|
||||
{ L"" , 7}, // shapetypeBracketPair,
|
||||
{ L"mso-spt41" , 7}, // shapetypeCallout1,
|
||||
{ L"mso-spt42" , 7}, // shapetypeCallout2,
|
||||
{ L"mso-spt43" , 7}, // shapetypeCallout3,
|
||||
{ L"" , 7}, // shapetypeCallout1,
|
||||
{ L"" , 7}, // shapetypeCallout2,
|
||||
{ L"" , 7}, // shapetypeCallout3,
|
||||
{ L"can" , 7}, // shapetypeCan,
|
||||
{ L"" , 7}, // shapetypeChartPlus,
|
||||
{ L"" , 7}, // shapetypeChartStar,
|
||||
@ -82,10 +82,10 @@ 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"" , 7}, // shapetypeCube,
|
||||
{ L"mso-spt37" , 7}, // shapetypeCurvedConnector2,
|
||||
{ L"mso-spt38" , 7}, // shapetypeCurvedConnector3,
|
||||
{ L"mso-spt39" , 7}, // shapetypeCurvedConnector4,
|
||||
@ -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,
|
||||
@ -142,7 +142,7 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
|
||||
{ L"" , 7}, // shapetypeHalfFrame,
|
||||
{ L"heart" , 7}, // shapetypeHeart,
|
||||
{ L"" , 7}, // shapetypeHeptagon,
|
||||
{ L"hexagon" , 7}, // shapetypeHexagon,
|
||||
{ L"" , 7}, // shapetypeHexagon,
|
||||
{ L"" , 7}, // shapetypeHomePlate,
|
||||
{ L"horizontal-scroll" , 7}, // shapetypeHorizontalScroll,
|
||||
{ L"" , 7}, // shapetypeIrregularSeal1,
|
||||
@ -171,9 +171,9 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
|
||||
{ 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,
|
||||
@ -182,8 +182,8 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
|
||||
{ L"quad-arrow" , 7}, // shapetypeQuadArrow,
|
||||
{ L"quad-arrow-callout" , 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,
|
||||
@ -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,
|
||||
|
||||
@ -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");
|
||||
/////////////////////////////////////////////////////////
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
@ -35,6 +35,13 @@
|
||||
//+ shapetypeRightArrowCallout
|
||||
//+ shapetypeUpArrowCallout
|
||||
//+ shapetypeDownArrowCallout
|
||||
//+ shapetypeCallout1
|
||||
//+ shapetypeCallout2
|
||||
//- shapetypeCallout3
|
||||
//+ shapetypeWedgeRectCallout
|
||||
//+ shapetypeWedgeRoundRectCallout
|
||||
//+ shapetypeCloudCallout
|
||||
//+ shapetypeWedgeEllipseCallout
|
||||
|
||||
namespace cpdoccore
|
||||
{
|
||||
@ -277,5 +284,280 @@ 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);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -35,19 +35,23 @@
|
||||
//+ 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 +286,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 +339,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";
|
||||
@ -1623,4 +1624,311 @@ 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");
|
||||
/////////////////////////////////////////////////////////
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@ -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)");
|
||||
/////////////////////////////////////////////////////////
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
@ -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_);
|
||||
|
||||
@ -1267,10 +1267,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)
|
||||
|
||||
@ -585,7 +585,13 @@ void ods_conversion_context::end_drawings()
|
||||
{
|
||||
current_table().drawing_context()->clear();
|
||||
}
|
||||
void ods_conversion_context::add_external_reference(const std::wstring & ref)
|
||||
{
|
||||
ods_external_state external;
|
||||
|
||||
external.ref = ref;
|
||||
externals_.push_back(external);
|
||||
}
|
||||
double ods_conversion_context::convert_symbol_width(double val)
|
||||
{
|
||||
//width = ((int)((column_width * Digit_Width + 5) / Digit_Width * 256 )) / 256.;
|
||||
|
||||
@ -53,6 +53,11 @@ struct _font_metrix
|
||||
double approx_symbol_size;//in pt
|
||||
};
|
||||
|
||||
struct ods_external_state
|
||||
{
|
||||
std::wstring ref;
|
||||
};
|
||||
|
||||
class ods_conversion_context : public odf_conversion_context
|
||||
{
|
||||
public:
|
||||
@ -85,6 +90,8 @@ public:
|
||||
void add_text_content(const std::wstring & text);
|
||||
void end_cell_text();
|
||||
|
||||
void add_external_reference(const std::wstring & ref);
|
||||
|
||||
void add_merge_cells(const std::wstring & ref);
|
||||
void add_hyperlink(std::wstring & ref, std::wstring & link, std::wstring & display);
|
||||
|
||||
@ -120,16 +127,13 @@ public:
|
||||
void start_table_view(int view_id);
|
||||
void end_table_view();
|
||||
|
||||
std::vector<ods_external_state> externals_;
|
||||
private:
|
||||
_font_metrix font_metrix_;
|
||||
ods_table_context table_context_;
|
||||
|
||||
odf_text_context* current_text_context_;
|
||||
office_spreadsheet* root_spreadsheet_;
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -610,7 +610,7 @@ void ods_table_state::add_definded_expression(office_element_ptr & elm)
|
||||
{
|
||||
if (!table_defined_expressions_)
|
||||
{
|
||||
create_element(L"table", L"named-expressions",table_defined_expressions_,context_);
|
||||
create_element(L"table", L"named-expressions", table_defined_expressions_, context_);
|
||||
office_table_->add_child_element(table_defined_expressions_);
|
||||
}
|
||||
if (!table_defined_expressions_)return;
|
||||
@ -630,7 +630,7 @@ void ods_table_state::start_comment(int col, int row, std::wstring & author)
|
||||
ods_comment_state state;
|
||||
|
||||
state.row=row; state.col =col; state.author = author;
|
||||
create_element(L"office", L"annotation",state.elm,context_);
|
||||
create_element(L"office", L"annotation", state.elm, context_);
|
||||
|
||||
comments_.push_back(state);
|
||||
}
|
||||
@ -661,7 +661,7 @@ void ods_table_state::end_comment(odf_text_context *text_context)
|
||||
if (comments_.back().author.length() > 0 && comments_.back().elm)
|
||||
{
|
||||
office_element_ptr dc_elm;
|
||||
create_element(L"dc", L"creator",dc_elm,context_);
|
||||
create_element(L"dc", L"creator", dc_elm, context_);
|
||||
if (dc_elm)
|
||||
{
|
||||
dc_elm->add_text(comments_.back().author);
|
||||
@ -799,19 +799,52 @@ void ods_table_state::set_cell_spanned(int spanned_cols, int spanned_rows)
|
||||
}
|
||||
void ods_table_state::set_cell_formula(std::wstring & formula)
|
||||
{
|
||||
if (formula.length() < 1)return;
|
||||
if (formula.empty())return;
|
||||
|
||||
//test external link
|
||||
{
|
||||
boost::wregex re(L"([\[]\\d+\[\]])+");
|
||||
bool bExternal = true;
|
||||
boost::wregex re(L"([\[]\\d+[\]])+");
|
||||
|
||||
while(bExternal)
|
||||
{
|
||||
boost::wsmatch result;
|
||||
bool b = boost::regex_search(formula, result, re);
|
||||
if (b) return; //todoooo
|
||||
bExternal = boost::regex_search(formula, result, re);
|
||||
if (!bExternal) break;
|
||||
|
||||
ods_conversion_context* ods_context = dynamic_cast<ods_conversion_context*>(context_);
|
||||
|
||||
std::wstring refExternal = result[1].str();
|
||||
int idExternal = XmlUtils::GetInteger(refExternal.substr(1, refExternal.length() - 1)) - 1;
|
||||
|
||||
while(idExternal >= 0 && idExternal < ods_context->externals_.size())
|
||||
{
|
||||
size_t pos = formula.find(refExternal);
|
||||
if (pos == std::wstring::npos)
|
||||
break;
|
||||
|
||||
std::wstring new_formula;
|
||||
|
||||
if (pos > 0 && formula[pos - 1] == L'\'')
|
||||
{
|
||||
new_formula = formula.substr(0, pos - 1);
|
||||
new_formula += L"'EXTERNALREF" + ods_context->externals_[idExternal].ref + L"'#";
|
||||
new_formula += L"'";
|
||||
}
|
||||
else
|
||||
{
|
||||
new_formula = formula.substr(0, pos);
|
||||
new_formula += L"'EXTERNALREF" + ods_context->externals_[idExternal].ref + L"'#";
|
||||
}
|
||||
pos += refExternal.length();
|
||||
new_formula += formula.substr(pos, formula.length() - pos);
|
||||
formula = new_formula;
|
||||
}
|
||||
}
|
||||
|
||||
std::wstring odfFormula = formulas_converter_table.convert_formula(formula);
|
||||
|
||||
XmlUtils::replace_all(odfFormula, L"EXTERNALREF", L"file://");//снятие экранирования
|
||||
|
||||
if (std::wstring::npos != odfFormula.find(L"["))
|
||||
{
|
||||
for (size_t i = 0; i < table_parts_.size(); i++)
|
||||
@ -1338,7 +1371,7 @@ void ods_table_state::end_conditional_formats()
|
||||
void ods_table_state::start_conditional_format(std::wstring ref)
|
||||
{
|
||||
office_element_ptr elm;
|
||||
create_element(L"calcext", L"conditional-format",elm,context_);
|
||||
create_element(L"calcext", L"conditional-format", elm, context_);
|
||||
|
||||
current_level_.back()->add_child_element(elm);
|
||||
current_level_.push_back(elm);
|
||||
@ -1363,13 +1396,13 @@ void ods_table_state::start_conditional_rule(int rule_type)
|
||||
{
|
||||
office_element_ptr elm;
|
||||
|
||||
if (rule_type == 3) create_element(L"calcext", L"color-scale",elm,context_);
|
||||
else if (rule_type == 7)create_element(L"calcext", L"data-bar",elm,context_);
|
||||
else if (rule_type ==10)create_element(L"calcext", L"icon-set",elm,context_);
|
||||
else if (rule_type ==14)create_element(L"calcext", L"date-is",elm,context_);
|
||||
if (rule_type == 3) create_element(L"calcext", L"color-scale", elm, context_);
|
||||
else if (rule_type == 7)create_element(L"calcext", L"data-bar", elm ,context_);
|
||||
else if (rule_type ==10)create_element(L"calcext", L"icon-set", elm, context_);
|
||||
else if (rule_type ==14)create_element(L"calcext", L"date-is", elm, context_);
|
||||
else
|
||||
{
|
||||
create_element(L"calcext", L"condition",elm,context_);
|
||||
create_element(L"calcext", L"condition", elm, context_);
|
||||
calcext_condition* condition = dynamic_cast<calcext_condition*> (elm.get());
|
||||
|
||||
if (condition)
|
||||
|
||||
@ -138,6 +138,39 @@ 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 (2001 + SimpleTypes::textshapetypeTextArchDown):
|
||||
//case (2001 + SimpleTypes::textshapetypeTextArchDownPour):
|
||||
//case (2001 + SimpleTypes::textshapetypeTextArchUp):
|
||||
|
||||
@ -163,11 +163,35 @@ void XlsxConverter::convert_sheets()
|
||||
{
|
||||
if (!ods_context) return;
|
||||
|
||||
const OOX::Spreadsheet::CWorkbook *Workbook= xlsx_document->m_pWorkbook;
|
||||
OOX::Spreadsheet::CWorkbook *Workbook= xlsx_document->m_pWorkbook;
|
||||
if (!Workbook) return;
|
||||
|
||||
std::map<std::wstring, OOX::Spreadsheet::CWorksheet*> &mapWorksheets = xlsx_document->m_mapWorksheets;
|
||||
|
||||
xlsx_current_container = dynamic_cast<OOX::IFileContainer*>(Workbook);
|
||||
|
||||
if(Workbook->m_oExternalReferences.IsInit())
|
||||
{
|
||||
for (size_t i = 0; i < Workbook->m_oExternalReferences->m_arrItems.size(); i++)
|
||||
{
|
||||
OOX::Spreadsheet::CExternalReference *externalRef = dynamic_cast<OOX::Spreadsheet::CExternalReference*>(Workbook->m_oExternalReferences->m_arrItems[i]);
|
||||
if((externalRef) && (externalRef->m_oRid.IsInit()))
|
||||
{
|
||||
smart_ptr<OOX::File> file = find_file_by_id(externalRef->m_oRid->GetValue());
|
||||
|
||||
smart_ptr<OOX::External> fileExternal = file.smart_dynamic_cast<OOX::External>();
|
||||
if (fileExternal.IsInit())
|
||||
{
|
||||
ods_context->add_external_reference(fileExternal->Uri().GetPath());
|
||||
}
|
||||
else
|
||||
{
|
||||
smart_ptr<OOX::Spreadsheet::CExternalLink> externalLink = file.smart_dynamic_cast<OOX::Spreadsheet::CExternalLink>();
|
||||
convert(externalLink.operator->());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(Workbook->m_oBookViews.IsInit())
|
||||
{
|
||||
for (size_t i = 0; i < Workbook->m_oBookViews->m_arrItems.size(); i++)
|
||||
@ -729,9 +753,32 @@ void XlsxConverter::convert(OOX::Spreadsheet::CSi* oox_rtf_text)
|
||||
ods_context->end_cell_text();
|
||||
ods_context->current_table().set_cell_text( ods_context->text_context());
|
||||
}
|
||||
void XlsxConverter::convert(OOX::Spreadsheet::CExternalLink *oox_external_link)
|
||||
{
|
||||
if (!oox_external_link) return;
|
||||
|
||||
OOX::IFileContainer* old_container = xlsx_current_container;
|
||||
xlsx_current_container = dynamic_cast<OOX::IFileContainer*>(oox_external_link);
|
||||
|
||||
if (oox_external_link->m_oExternalBook.IsInit())
|
||||
{
|
||||
if (oox_external_link->m_oExternalBook->m_oRid.IsInit())
|
||||
{
|
||||
smart_ptr<OOX::File> file = find_file_by_id(oox_external_link->m_oExternalBook->m_oRid->GetValue());
|
||||
|
||||
smart_ptr<OOX::External> fileExternal = file.smart_dynamic_cast<OOX::External>();
|
||||
if (fileExternal.IsInit())
|
||||
{
|
||||
ods_context->add_external_reference(fileExternal->Uri().GetPath());
|
||||
}
|
||||
}
|
||||
}
|
||||
xlsx_current_container = old_container;
|
||||
}
|
||||
|
||||
void XlsxConverter::convert(OOX::Spreadsheet::WritingElement *oox_unknown)
|
||||
{
|
||||
if (oox_unknown == NULL)return;
|
||||
if (!oox_unknown)return;
|
||||
|
||||
switch(oox_unknown->getType())
|
||||
{
|
||||
|
||||
@ -93,6 +93,7 @@ namespace OOX
|
||||
class CHeaderFooter;
|
||||
class CSparklineGroups;
|
||||
class CAltTextTable;
|
||||
class CExternalLink;
|
||||
}
|
||||
}
|
||||
|
||||
@ -177,6 +178,7 @@ namespace Oox2Odf
|
||||
void convert(OOX::Spreadsheet::CPageSetup *oox_page);
|
||||
void convert(OOX::Spreadsheet::CPageMargins *oox_page);
|
||||
void convert(OOX::Spreadsheet::CWorkbookView *oox_book_views);
|
||||
void convert(OOX::Spreadsheet::CExternalLink *oox_external_link);
|
||||
|
||||
void convert(OOX::Spreadsheet::CFont *font, odf_writer::style_text_properties *text_properties);
|
||||
void convert(OOX::Spreadsheet::CBorder *border, odf_writer::style_table_cell_properties *cell_properties);
|
||||
|
||||
@ -613,7 +613,12 @@ namespace NSBinPptxRW
|
||||
AVSINLINE void WriteAttribute(const std::wstring& strName, const nullable_sizet& value)
|
||||
{
|
||||
if (value.IsInit())
|
||||
WriteAttribute(strName, *value);
|
||||
#ifdef __ANDROID__
|
||||
WriteAttribute(strName, (int)(*value));
|
||||
#else
|
||||
WriteAttribute(strName, *value);
|
||||
#endif
|
||||
|
||||
}
|
||||
AVSINLINE void WriteAttribute(const std::wstring& strName, const nullable_double& value)
|
||||
{
|
||||
|
||||
@ -70,7 +70,7 @@ HRESULT convert_single(std::wstring srcFileName)
|
||||
std::wstring dstPath;
|
||||
|
||||
bool bMacros = true;
|
||||
hr = ConvertXls2Xlsx(srcFileName, dstTempPath, L"2222", L"C:\\Windows\\Fonts", L"C:\\Windows\\Temp", NULL, bMacros);
|
||||
hr = ConvertXls2Xlsx(srcFileName, dstTempPath, L"password", L"C:\\Windows\\Fonts", L"C:\\Windows\\Temp", NULL, bMacros);
|
||||
|
||||
if (bMacros)
|
||||
{
|
||||
|
||||
@ -708,7 +708,7 @@ NAMESPACE_END
|
||||
// ***************** Miscellaneous ********************
|
||||
|
||||
// Nearly all Intel's and AMD's have SSE. Enable it independent of SSE ASM and intrinscs
|
||||
#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_PPC32 || CRYPTOPP_BOOL_PPC64) && !defined(CRYPTOPP_DISABLE_ASM) && !(defined(_IOS) || defined(__ANDROID__))
|
||||
#if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64 || CRYPTOPP_BOOL_PPC32 || CRYPTOPP_BOOL_PPC64) && !defined(CRYPTOPP_DISABLE_ASM) && !defined(_IOS) && !defined(__ANDROID__)
|
||||
#define CRYPTOPP_BOOL_ALIGN16 1
|
||||
#else
|
||||
#define CRYPTOPP_BOOL_ALIGN16 0
|
||||
|
||||
@ -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
|
||||
@ -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
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
*/
|
||||
//Generated code
|
||||
#include "ChartSerialize.h"
|
||||
#include "../../../../../DesktopEditor/common/String.h"
|
||||
#include "../../../../../DesktopEditor/common/StringExt.h"
|
||||
namespace OOX{
|
||||
namespace Spreadsheet{
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
#define OOX_TEXT_FILE_INCLUDE_H_
|
||||
|
||||
#include "../CommonInclude.h"
|
||||
#include "../../../../../DesktopEditor/common/String.h"
|
||||
#include "../../../../../DesktopEditor/common/StringExt.h"
|
||||
|
||||
namespace OOX
|
||||
{
|
||||
|
||||
@ -1,9 +1,31 @@
|
||||
|
||||
VERSION = $$cat(version.txt)
|
||||
|
||||
PRODUCT_VERSION = $$(PRODUCT_VERSION)
|
||||
BUILD_NUMBER = $$(BUILD_NUMBER)
|
||||
|
||||
!isEmpty(PRODUCT_VERSION){
|
||||
!isEmpty(BUILD_NUMBER){
|
||||
VERSION = $${PRODUCT_VERSION}.$${BUILD_NUMBER}
|
||||
}
|
||||
}
|
||||
|
||||
DEFINES += INTVER=$$VERSION
|
||||
|
||||
QMAKE_TARGET_COMPANY = $$cat(copyright.txt)
|
||||
QMAKE_TARGET_COPYRIGHT = $$cat(copyright.txt) (c) 2018
|
||||
PUBLISHER_NAME = $$(PUBLISHER_NAME)
|
||||
isEmpty(PUBLISHER_NAME){
|
||||
PUBLISHER_NAME = $$cat(copyright.txt)
|
||||
}
|
||||
|
||||
win32 {
|
||||
CURRENT_YEAR = $$system("echo %Date:~6,4%")
|
||||
}
|
||||
|
||||
!win32 {
|
||||
CURRENT_YEAR = $$system(date +%Y)
|
||||
}
|
||||
|
||||
QMAKE_TARGET_COMPANY = $$PUBLISHER_NAME
|
||||
QMAKE_TARGET_COPYRIGHT = Copyright (C) $${PUBLISHER_NAME} $${CURRENT_YEAR}. All rights reserved
|
||||
|
||||
# CONFIGURATION
|
||||
CONFIG(debug, debug|release) {
|
||||
|
||||
@ -86,8 +86,8 @@ SOURCES += ./../DesktopEditor/common/Path.cpp
|
||||
HEADERS += ./../DesktopEditor/common/StringBuilder.h
|
||||
SOURCES += ./../DesktopEditor/common/StringBuilder.cpp
|
||||
|
||||
HEADERS += ./../DesktopEditor/common/String.h
|
||||
SOURCES += ./../DesktopEditor/common/String.cpp
|
||||
HEADERS += ./../DesktopEditor/common/StringExt.h
|
||||
SOURCES += ./../DesktopEditor/common/StringExt.cpp
|
||||
|
||||
# BASE64
|
||||
HEADERS += ./../DesktopEditor/common/Base64.h
|
||||
|
||||
@ -1 +1 @@
|
||||
2.4.554.0
|
||||
2.4.555.0
|
||||
|
||||
@ -146,7 +146,7 @@ private:
|
||||
#else
|
||||
#include <stdlib.h>
|
||||
|
||||
#ifdef _IOS
|
||||
#if defined(_IOS) || defined(__ANDROID__)
|
||||
#include <new>
|
||||
#endif
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
*
|
||||
*/
|
||||
#include "CPEncodings/CodePage.h"
|
||||
#include "String.h"
|
||||
#include "StringExt.h"
|
||||
|
||||
namespace NSStringExt
|
||||
{
|
||||
@ -35,7 +35,7 @@
|
||||
#include "agg_math.h"
|
||||
|
||||
#if !defined(_WIN32) && !defined(_WIN64)
|
||||
#include "../common/String.h"
|
||||
#include "../common/StringExt.h"
|
||||
#endif
|
||||
|
||||
IMetafileToRenderter::IMetafileToRenderter(IRenderer* pRenderer)
|
||||
|
||||
@ -173,7 +173,7 @@
|
||||
17A7F02B1B13154500760AFB /* SvmPlayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 17A7F0221B13154500760AFB /* SvmPlayer.cpp */; };
|
||||
17DD67B71B7E2778000F800F /* lepton_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 17DD67B51B7E2778000F800F /* lepton_utils.cpp */; };
|
||||
697B72D41E3B78D90054C17C /* EmfFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 697B72D31E3B78D90054C17C /* EmfFile.cpp */; };
|
||||
8A404FD1208A00F100F2D5CF /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A404FCF208A00F000F2D5CF /* String.cpp */; };
|
||||
8AC2819D2195A582006FA3D7 /* StringExt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AC2819B2195A582006FA3D7 /* StringExt.cpp */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
@ -436,8 +436,8 @@
|
||||
17A7F0231B13154500760AFB /* SvmPlayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SvmPlayer.h; sourceTree = "<group>"; };
|
||||
17DD67B51B7E2778000F800F /* lepton_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lepton_utils.cpp; sourceTree = "<group>"; };
|
||||
697B72D31E3B78D90054C17C /* EmfFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EmfFile.cpp; sourceTree = "<group>"; };
|
||||
8A404FCF208A00F000F2D5CF /* String.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = String.cpp; path = ../../../common/String.cpp; sourceTree = "<group>"; };
|
||||
8A404FD0208A00F100F2D5CF /* String.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = String.h; path = ../../../common/String.h; sourceTree = "<group>"; };
|
||||
8AC2819B2195A582006FA3D7 /* StringExt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StringExt.cpp; path = ../../../common/StringExt.cpp; sourceTree = "<group>"; };
|
||||
8AC2819C2195A582006FA3D7 /* StringExt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StringExt.h; path = ../../../common/StringExt.h; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@ -478,8 +478,8 @@
|
||||
17A762EF1B0F36790046BC0B /* Wmf */,
|
||||
17A762EB1B0F366F0046BC0B /* MetaFile.cpp */,
|
||||
17A762EC1B0F366F0046BC0B /* MetaFile.h */,
|
||||
8A404FCF208A00F000F2D5CF /* String.cpp */,
|
||||
8A404FD0208A00F100F2D5CF /* String.h */,
|
||||
8AC2819B2195A582006FA3D7 /* StringExt.cpp */,
|
||||
8AC2819C2195A582006FA3D7 /* StringExt.h */,
|
||||
);
|
||||
path = metafile;
|
||||
sourceTree = "<group>";
|
||||
@ -914,6 +914,7 @@
|
||||
17A764131B0F39370046BC0B /* ccthin.cpp in Sources */,
|
||||
17A764091B0F39370046BC0B /* boxbasic.cpp in Sources */,
|
||||
17A764211B0F39370046BC0B /* colorseg.cpp in Sources */,
|
||||
8AC2819D2195A582006FA3D7 /* StringExt.cpp in Sources */,
|
||||
17A764F51B0F39370046BC0B /* tiffiostub.cpp in Sources */,
|
||||
17A764011B0F39370046BC0B /* blend1.cpp in Sources */,
|
||||
17A7641D1B0F39370046BC0B /* colorquant1.cpp in Sources */,
|
||||
@ -988,7 +989,6 @@
|
||||
17A764E51B0F39370046BC0B /* selgen.cpp in Sources */,
|
||||
17A7630E1B0F38480046BC0B /* EmfPath.cpp in Sources */,
|
||||
17A764831B0F39370046BC0B /* partition.cpp in Sources */,
|
||||
8A404FD1208A00F100F2D5CF /* String.cpp in Sources */,
|
||||
17A763FF1B0F39370046BC0B /* binreducelow.cpp in Sources */,
|
||||
17A764E31B0F39370046BC0B /* sel2.cpp in Sources */,
|
||||
17A764E91B0F39370046BC0B /* skew.cpp in Sources */,
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
#define _METAFILE_COMMON_METAFILETYPES_H
|
||||
|
||||
#include <string>
|
||||
#include "../../../common/String.h"
|
||||
#include "../../../common/StringExt.h"
|
||||
|
||||
#ifndef BYTE
|
||||
typedef unsigned char BYTE;
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "../../../common/String.h"
|
||||
#include "../../../common/StringExt.h"
|
||||
#include "../../../fontengine/FontManager.h"
|
||||
|
||||
#include "EmfFile.h"
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
#include "SvmObjects.h"
|
||||
#include "../../../common/String.h"
|
||||
#include "../../../common/StringExt.h"
|
||||
#include "../../../../UnicodeConverter/UnicodeConverter.h"
|
||||
|
||||
static const char* CodingCharsets[95] =
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#ifndef _METAFILE_WMF_WMFFILE_H
|
||||
#define _METAFILE_WMF_WMFFILE_H
|
||||
|
||||
#include "../../../common/String.h"
|
||||
#include "../../../common/StringExt.h"
|
||||
#include "../../../fontengine/FontManager.h"
|
||||
|
||||
#include "../Common/IOutputDevice.h"
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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
|
||||
|
||||
@ -40,7 +40,7 @@
|
||||
#include "../DesktopEditor/graphics/pro/Graphics.h"
|
||||
#include "../DesktopEditor/graphics/pro/Image.h"
|
||||
|
||||
#include "../DesktopEditor/common/String.h"
|
||||
#include "../DesktopEditor/common/StringExt.h"
|
||||
|
||||
#define VER_DPI 96
|
||||
#define HOR_DPI 96
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
#include <string>
|
||||
#include "windows.h"
|
||||
|
||||
#include "../../DesktopEditor/common/String.h"
|
||||
#include "../../DesktopEditor/common/StringExt.h"
|
||||
#include "../../DesktopEditor/fontengine/ApplicationFonts.h"
|
||||
#include <ctime>
|
||||
#include <iostream>
|
||||
|
||||
@ -38,7 +38,7 @@
|
||||
#include "../DesktopEditor/common/File.h"
|
||||
#include "../DesktopEditor/common/Directory.h"
|
||||
#include "../DesktopEditor/common/StringBuilder.h"
|
||||
#include "../DesktopEditor/common/String.h"
|
||||
#include "../DesktopEditor/common/StringExt.h"
|
||||
#include "../DesktopEditor/xml/include/xmlutils.h"
|
||||
#include "../DesktopEditor/fontengine/application_generate_fonts_common.h"
|
||||
|
||||
|
||||
9
Makefile
9
Makefile
@ -3,6 +3,8 @@ PRODUCT_VERSION ?= 0.0.0
|
||||
BUILD_NUMBER ?= 0
|
||||
PACKAGE_NAME := $(PRODUCT_NAME)
|
||||
|
||||
PUBLISHER_NAME ?= Ascensio System SIA
|
||||
|
||||
UNAME_M := $(shell uname -m)
|
||||
ifeq ($(UNAME_M),x86_64)
|
||||
ARCHITECTURE := 64
|
||||
@ -288,7 +290,12 @@ $(PDFREADER): $(PDFREADER_DEP)
|
||||
$(PDFWRITER): $(PDFWRITER_DEP)
|
||||
|
||||
%.build/Makefile: %.pro
|
||||
mkdir -p $(dir $@) && cd $(dir $@) && qmake -r $<
|
||||
mkdir -p $(dir $@) && \
|
||||
cd $(dir $@) && \
|
||||
PUBLISHER_NAME="$(PUBLISHER_NAME)" \
|
||||
PRODUCT_VERSION=$(PRODUCT_VERSION) \
|
||||
BUILD_NUMBER=$(BUILD_NUMBER) \
|
||||
qmake -r $<
|
||||
|
||||
$(ARCHIVE) :
|
||||
$(AR) $@ $(ARTIFACTS)
|
||||
|
||||
@ -586,7 +586,7 @@ bool ECMADecryptor::SetPassword(std::wstring _password)
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Decryption.SetKey(verifierInputKey.ptr, verifierInputKey.size);
|
||||
rc4Decryption.SetKey(verifierInputKey.ptr, cryptData.keySize);
|
||||
}
|
||||
//--------------------------------------------
|
||||
_buf decryptedVerifierHashInputBytes;
|
||||
@ -596,7 +596,7 @@ bool ECMADecryptor::SetPassword(std::wstring _password)
|
||||
//--------------------------------------------
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Decryption.SetKey(verifierHashKey.ptr, verifierHashKey.size);
|
||||
rc4Decryption.SetKey(verifierHashKey.ptr, cryptData.keySize);
|
||||
}
|
||||
_buf decryptedVerifierHashBytes;
|
||||
DecryptCipher(verifierHashKey, pSalt, pEncVerValue, decryptedVerifierHashBytes, cryptData.cipherAlgorithm);
|
||||
@ -609,7 +609,7 @@ bool ECMADecryptor::SetPassword(std::wstring _password)
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Decryption.SetKey(verifierKey.ptr, verifierKey.size);
|
||||
rc4Decryption.SetKey(verifierKey.ptr, cryptData.keySize);
|
||||
}
|
||||
//--------------------------------------------
|
||||
_buf decryptedVerifierHashInputBytes;
|
||||
@ -673,7 +673,7 @@ void ECMADecryptor::Decrypt(char* data , const size_t size, const unsigned long
|
||||
|
||||
_buf hashKey = GenerateHashKey(pSalt, pPassword, cryptData.hashSize, cryptData.keySize, cryptData.spinCount, cryptData.hashAlgorithm, block_index);
|
||||
|
||||
rc4Decryption.SetKey(hashKey.ptr, hashKey.size);
|
||||
rc4Decryption.SetKey(hashKey.ptr, cryptData.keySize);
|
||||
}
|
||||
|
||||
const long offset = nCurrPos % block_size;
|
||||
@ -764,7 +764,7 @@ void ECMADecryptor::Decrypt(unsigned char* data_inp, int size, unsigned char*&
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Decryption.SetKey(agileKey.ptr, agileKey.size);
|
||||
rc4Decryption.SetKey(agileKey.ptr, cryptData.keySize);
|
||||
}
|
||||
_buf pDecryptedKey;
|
||||
DecryptCipher( agileKey, pSalt, pKeyValue, pDecryptedKey, cryptData.cipherAlgorithm);
|
||||
@ -775,7 +775,7 @@ void ECMADecryptor::Decrypt(unsigned char* data_inp, int size, unsigned char*&
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Decryption.SetKey(pDecryptedKey.ptr, pDecryptedKey.size);
|
||||
rc4Decryption.SetKey(pDecryptedKey.ptr, cryptData.keySize);
|
||||
}
|
||||
while (pos < size)
|
||||
{
|
||||
@ -801,7 +801,7 @@ void ECMADecryptor::Decrypt(unsigned char* data_inp, int size, unsigned char*&
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Decryption.SetKey(hashKey.ptr, hashKey.size);
|
||||
rc4Decryption.SetKey(hashKey.ptr, cryptData.keySize);
|
||||
}
|
||||
|
||||
_buf pInp(data_inp, size, false);
|
||||
@ -860,7 +860,7 @@ void ECMAEncryptor::SetPassword(std::wstring _password)
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Encryption.SetKey(agileKey.ptr, agileKey.size);
|
||||
rc4Encryption.SetKey(agileKey.ptr, cryptData.keySize);
|
||||
}
|
||||
_buf pKeyValue;
|
||||
EncryptCipher( agileKey, pSalt, pDecryptedKey, pKeyValue, cryptData.cipherAlgorithm);
|
||||
@ -871,7 +871,7 @@ void ECMAEncryptor::SetPassword(std::wstring _password)
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Encryption.SetKey(verifierInputKey.ptr, verifierInputKey.size);
|
||||
rc4Encryption.SetKey(verifierInputKey.ptr, cryptData.keySize);
|
||||
}
|
||||
_buf pEncVerInput;
|
||||
EncryptCipher( verifierInputKey, pSalt, decryptedVerifierHashInputBytes, pEncVerInput, cryptData.cipherAlgorithm);
|
||||
@ -882,7 +882,7 @@ void ECMAEncryptor::SetPassword(std::wstring _password)
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Encryption.SetKey(verifierHashKey.ptr, verifierHashKey.size);
|
||||
rc4Encryption.SetKey(verifierHashKey.ptr, cryptData.keySize);
|
||||
}
|
||||
else if (decryptedVerifierHashBytes.size % PADDING_SIZE != 0)
|
||||
{
|
||||
@ -903,7 +903,7 @@ void ECMAEncryptor::SetPassword(std::wstring _password)
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Encryption.SetKey(verifierKey.ptr, verifierKey.size);
|
||||
rc4Encryption.SetKey(verifierKey.ptr, cryptData.keySize);
|
||||
}
|
||||
_buf decryptedVerInput(seed_verify.data(), seed_verify.size());
|
||||
|
||||
@ -955,7 +955,7 @@ void ECMAEncryptor::UpdateDataIntegrity(unsigned char* data, int size)
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Encryption.SetKey(agileKey.ptr, agileKey.size);
|
||||
rc4Encryption.SetKey(agileKey.ptr, cryptData.keySize);
|
||||
}
|
||||
|
||||
_buf secretKey;
|
||||
@ -981,7 +981,7 @@ void ECMAEncryptor::UpdateDataIntegrity(unsigned char* data, int size)
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Encryption.SetKey(secretKey.ptr, secretKey.size);
|
||||
rc4Encryption.SetKey(secretKey.ptr, cryptData.keySize);
|
||||
}
|
||||
if (pSaltHmac.size % PADDING_SIZE != 0)
|
||||
{
|
||||
@ -1033,14 +1033,14 @@ int ECMAEncryptor::Encrypt(unsigned char* data_inp_ptr, int size, unsigned char*
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Decryption.SetKey(agileKey.ptr, agileKey.size);
|
||||
rc4Decryption.SetKey(agileKey.ptr, cryptData.keySize);
|
||||
}
|
||||
_buf pDecryptedKey;
|
||||
DecryptCipher( agileKey, pSalt, pKeyValue, pDecryptedKey, cryptData.cipherAlgorithm);
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Encryption.SetKey(pDecryptedKey.ptr, agileKey.size);
|
||||
rc4Encryption.SetKey(pDecryptedKey.ptr, cryptData.keySize);
|
||||
}
|
||||
//-------------------------------------------------------------------------------------------------
|
||||
_buf iv(cryptData.blockSize, true);
|
||||
@ -1094,8 +1094,8 @@ int ECMAEncryptor::Encrypt(unsigned char* data_inp_ptr, int size, unsigned char*
|
||||
|
||||
if (cryptData.cipherAlgorithm == CRYPT_METHOD::RC4)
|
||||
{
|
||||
rc4Decryption.SetKey(hashKey.ptr, hashKey.size);
|
||||
rc4Encryption.SetKey(hashKey.ptr, hashKey.size);
|
||||
rc4Decryption.SetKey(hashKey.ptr, cryptData.keySize);
|
||||
rc4Encryption.SetKey(hashKey.ptr, cryptData.keySize);
|
||||
}
|
||||
|
||||
_buf pInp(data_inp, size, false);
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <string>
|
||||
#include "../../DesktopEditor/common/String.h"
|
||||
#include "../../DesktopEditor/common/StringExt.h"
|
||||
#include <string.h>
|
||||
|
||||
namespace PdfReader
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
#include "../DesktopEditor/common/File.h"
|
||||
#include "../DesktopEditor/common/Directory.h"
|
||||
#include "../DesktopEditor/common/Base64.h"
|
||||
#include "../DesktopEditor/common/String.h"
|
||||
#include "../DesktopEditor/common/StringExt.h"
|
||||
|
||||
#include "../DesktopEditor/graphics/MetafileToRenderer.h"
|
||||
#include "../DesktopEditor/raster/BgraFrame.h"
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -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:
|
||||
|
||||
@ -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())
|
||||
|
||||
@ -72,6 +72,13 @@
|
||||
- (int)sdk_xlst2csv:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
|
||||
- (int)sdk_xlsx2csv:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
|
||||
|
||||
- (int)sdk_xls2xlsx:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
|
||||
- (int)sdk_xls2xlsx_dir:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
|
||||
- (int)sdk_xls2xlst:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
|
||||
- (int)sdk_xls2xlst_bin:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
|
||||
- (int)sdk_xls2xlsm:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
|
||||
- (int)sdk_xls2xlsm_dir:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
|
||||
|
||||
- (int)txt2doct_bin:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath;
|
||||
|
||||
- (int)sdk_dir2zip:(NSString*)nsFrom nsTo:(NSString*)nsTo;
|
||||
|
||||
@ -100,7 +100,7 @@ static std::wstring nsstring_to_wstring(NSString* nsstring)
|
||||
oInputParams.m_sSavePassword = new std::wstring(nsstring_to_wstring(self.password));
|
||||
|
||||
std::wstring sResultDecryptFile = temp + FILE_SEPARATOR_STR + L"uncrypt_file.docx";
|
||||
|
||||
|
||||
if ((int)AVS_FILEUTILS_ERROR_CONVERT != NExtractTools::doct_bin2docx(from, sResultDecryptFile, temp, bFromChanges, themeDir, oInputParams)) {
|
||||
return oox2mscrypt(sResultDecryptFile, to, temp, oInputParams);
|
||||
}
|
||||
@ -175,7 +175,7 @@ static std::wstring nsstring_to_wstring(NSString* nsstring)
|
||||
oInputParams.m_sSavePassword = new std::wstring(nsstring_to_wstring(self.password));
|
||||
|
||||
std::wstring sResultDecryptFile = temp + FILE_SEPARATOR_STR + L"uncrypt_file.xlsx";
|
||||
|
||||
|
||||
if ((int)AVS_FILEUTILS_ERROR_CONVERT != NExtractTools::xlst_bin2xlsx(from, sResultDecryptFile, temp, bFromChanges, themeDir, oInputParams)) {
|
||||
return oox2mscrypt(sResultDecryptFile, to, temp, oInputParams);
|
||||
}
|
||||
@ -349,6 +349,109 @@ static std::wstring nsstring_to_wstring(NSString* nsstring)
|
||||
return NExtractTools::xlsx2csv(from, to, temp, oInputParams);
|
||||
}
|
||||
|
||||
- (int)sdk_xls2xlsx:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
|
||||
std::wstring from = nsstring_to_wstring(nsFrom);
|
||||
std::wstring to = nsstring_to_wstring(nsTo);
|
||||
std::wstring temp = nsstring_to_wstring(nsTemp);
|
||||
|
||||
// TODO: extract xml options
|
||||
|
||||
NExtractTools::InputParams oInputParams;
|
||||
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
|
||||
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
|
||||
|
||||
if (self.password) {
|
||||
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
|
||||
}
|
||||
|
||||
return NExtractTools::xls2xlsx(from, to, temp, oInputParams);
|
||||
}
|
||||
- (int)sdk_xls2xlsx_dir:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
|
||||
std::wstring from = nsstring_to_wstring(nsFrom);
|
||||
std::wstring to = nsstring_to_wstring(nsTo);
|
||||
std::wstring temp = nsstring_to_wstring(nsTemp);
|
||||
|
||||
// TODO: extract xml options
|
||||
|
||||
NExtractTools::InputParams oInputParams;
|
||||
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
|
||||
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
|
||||
|
||||
if (self.password) {
|
||||
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
|
||||
}
|
||||
|
||||
return NExtractTools::xls2xlsx_dir(from, to, temp, oInputParams);
|
||||
}
|
||||
- (int)sdk_xls2xlst:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
|
||||
std::wstring from = nsstring_to_wstring(nsFrom);
|
||||
std::wstring to = nsstring_to_wstring(nsTo);
|
||||
std::wstring temp = nsstring_to_wstring(nsTemp);
|
||||
|
||||
// TODO: extract xml options
|
||||
|
||||
NExtractTools::InputParams oInputParams;
|
||||
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
|
||||
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
|
||||
|
||||
if (self.password) {
|
||||
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
|
||||
}
|
||||
|
||||
return NExtractTools::xls2xlst(from, to, temp, oInputParams);
|
||||
}
|
||||
- (int)sdk_xls2xlst_bin:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
|
||||
std::wstring from = nsstring_to_wstring(nsFrom);
|
||||
std::wstring to = nsstring_to_wstring(nsTo);
|
||||
std::wstring temp = nsstring_to_wstring(nsTemp);
|
||||
|
||||
// TODO: extract xml options
|
||||
|
||||
NExtractTools::InputParams oInputParams;
|
||||
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
|
||||
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
|
||||
|
||||
if (self.password) {
|
||||
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
|
||||
}
|
||||
|
||||
return NExtractTools::xls2xlst_bin(from, to, temp, oInputParams);
|
||||
}
|
||||
- (int)sdk_xls2xlsm:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
|
||||
std::wstring from = nsstring_to_wstring(nsFrom);
|
||||
std::wstring to = nsstring_to_wstring(nsTo);
|
||||
std::wstring temp = nsstring_to_wstring(nsTemp);
|
||||
|
||||
// TODO: extract xml options
|
||||
|
||||
NExtractTools::InputParams oInputParams;
|
||||
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
|
||||
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
|
||||
|
||||
if (self.password) {
|
||||
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
|
||||
}
|
||||
|
||||
return NExtractTools::xls2xlsm(from, to, temp, oInputParams);
|
||||
}
|
||||
- (int)sdk_xls2xlsm_dir:(NSString*)nsFrom nsTo:(NSString*)nsTo xmlOptions:(NSString*)xmlOptions nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
|
||||
std::wstring from = nsstring_to_wstring(nsFrom);
|
||||
std::wstring to = nsstring_to_wstring(nsTo);
|
||||
std::wstring temp = nsstring_to_wstring(nsTemp);
|
||||
|
||||
// TODO: extract xml options
|
||||
|
||||
NExtractTools::InputParams oInputParams;
|
||||
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
|
||||
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
|
||||
|
||||
if (self.password) {
|
||||
oInputParams.m_sPassword = new std::wstring(nsstring_to_wstring(self.password));
|
||||
}
|
||||
|
||||
return NExtractTools::xls2xlsm_dir(from, to, temp, oInputParams);
|
||||
}
|
||||
|
||||
- (int)txt2doct_bin:(NSString*)nsFrom nsTo:(NSString*)nsTo nsTemp:(NSString*)nsTemp nsFontPath:(NSString*)nsFontPath {
|
||||
std::wstring from = nsstring_to_wstring(nsFrom);
|
||||
std::wstring to = nsstring_to_wstring(nsTo);
|
||||
@ -357,7 +460,7 @@ static std::wstring nsstring_to_wstring(NSString* nsstring)
|
||||
NExtractTools::InputParams oInputParams;
|
||||
oInputParams.m_sFontDir = new std::wstring(nsstring_to_wstring(nsFontPath));
|
||||
oInputParams.m_bIsNoBase64 = new bool(self.isNoBase64);
|
||||
|
||||
|
||||
if (self.encoding != nil) {
|
||||
oInputParams.m_nCsvTxtEncoding = new int(self.encoding.intValue);
|
||||
}
|
||||
|
||||
@ -522,21 +522,23 @@ namespace NExtractTools
|
||||
}
|
||||
_UINT32 xlsx_dir2xlst_bin (const std::wstring &sXlsxDir, const std::wstring &sTo, InputParams& params, bool bXmlOptions, const std::wstring &sXlsxFile)
|
||||
{
|
||||
//save Editor.xlsx for pivot
|
||||
std::wstring sToDir = NSDirectory::GetFolderPath(sTo);
|
||||
std::wstring sEditorXLSX = sToDir + FILE_SEPARATOR_STR + _T("Editor.xlsx");
|
||||
if(sXlsxFile.empty())
|
||||
BinXlsxRW::CXlsxSerializer m_oCXlsxSerializer;
|
||||
if (m_oCXlsxSerializer.hasPivot(sXlsxDir))
|
||||
{
|
||||
dir2zip(sXlsxDir, sEditorXLSX);
|
||||
}
|
||||
else
|
||||
{
|
||||
NSFile::CFileBinary::Copy(sXlsxFile, sEditorXLSX);
|
||||
//save Editor.xlsx for pivot
|
||||
std::wstring sEditorXLSX = sToDir + FILE_SEPARATOR_STR + _T("Editor.xlsx");
|
||||
if(sXlsxFile.empty())
|
||||
{
|
||||
dir2zip(sXlsxDir, sEditorXLSX);
|
||||
}
|
||||
else
|
||||
{
|
||||
NSFile::CFileBinary::Copy(sXlsxFile, sEditorXLSX);
|
||||
}
|
||||
}
|
||||
|
||||
// Save to file (from temp dir)
|
||||
BinXlsxRW::CXlsxSerializer m_oCXlsxSerializer;
|
||||
|
||||
m_oCXlsxSerializer.setIsNoBase64(params.getIsNoBase64());
|
||||
m_oCXlsxSerializer.setFontDir(params.getFontPath());
|
||||
|
||||
|
||||
@ -520,21 +520,23 @@ namespace NExtractTools
|
||||
}
|
||||
_UINT32 xlsx_dir2xlst_bin (const std::wstring &sXlsxDir, const std::wstring &sTo, InputParams& params, bool bXmlOptions, const std::wstring &sXlsxFile)
|
||||
{
|
||||
//save Editor.xlsx for pivot
|
||||
std::wstring sToDir = NSDirectory::GetFolderPath(sTo);
|
||||
std::wstring sEditorXLSX = sToDir + FILE_SEPARATOR_STR + _T("Editor.xlsx");
|
||||
if(sXlsxFile.empty())
|
||||
BinXlsxRW::CXlsxSerializer m_oCXlsxSerializer;
|
||||
if (m_oCXlsxSerializer.hasPivot(sXlsxDir))
|
||||
{
|
||||
dir2zip(sXlsxDir, sEditorXLSX);
|
||||
}
|
||||
else
|
||||
{
|
||||
NSFile::CFileBinary::Copy(sXlsxFile, sEditorXLSX);
|
||||
//save Editor.xlsx for pivot
|
||||
std::wstring sEditorXLSX = sToDir + FILE_SEPARATOR_STR + _T("Editor.xlsx");
|
||||
if(sXlsxFile.empty())
|
||||
{
|
||||
dir2zip(sXlsxDir, sEditorXLSX);
|
||||
}
|
||||
else
|
||||
{
|
||||
NSFile::CFileBinary::Copy(sXlsxFile, sEditorXLSX);
|
||||
}
|
||||
}
|
||||
|
||||
// Save to file (from temp dir)
|
||||
BinXlsxRW::CXlsxSerializer m_oCXlsxSerializer;
|
||||
|
||||
m_oCXlsxSerializer.setIsNoBase64(params.getIsNoBase64());
|
||||
m_oCXlsxSerializer.setFontDir(params.getFontPath());
|
||||
|
||||
@ -3560,77 +3562,95 @@ namespace NExtractTools
|
||||
// xls -> xlsx
|
||||
_UINT32 xls2xlsx (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
|
||||
{
|
||||
std::wstring sResultDocxDir = sTemp + FILE_SEPARATOR_STR + _T("xlsx_unpacked");
|
||||
|
||||
NSDirectory::CreateDirectory(sResultDocxDir);
|
||||
|
||||
_UINT32 nRes = xls2xlsx_dir(sFrom, sResultDocxDir, sTemp, params);
|
||||
if(SUCCEEDED_X2T(nRes))
|
||||
{
|
||||
COfficeUtils oCOfficeUtils(NULL);
|
||||
if(S_OK == oCOfficeUtils.CompressFileOrDirectory(sResultDocxDir, sTo, true))
|
||||
return 0;
|
||||
}
|
||||
// std::wstring sResultDocxDir = sTemp + FILE_SEPARATOR_STR + _T("xlsx_unpacked");
|
||||
//
|
||||
// NSDirectory::CreateDirectory(sResultDocxDir);
|
||||
//
|
||||
// _UINT32 nRes = xls2xlsx_dir(sFrom, sResultDocxDir, sTemp, params);
|
||||
// if(SUCCEEDED_X2T(nRes))
|
||||
// {
|
||||
// COfficeUtils oCOfficeUtils(NULL);
|
||||
// if(S_OK == oCOfficeUtils.CompressFileOrDirectory(sResultDocxDir, sTo, true))
|
||||
// return 0;
|
||||
// }
|
||||
return AVS_FILEUTILS_ERROR_CONVERT;
|
||||
}
|
||||
_UINT32 xls2xlsx_dir (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
|
||||
{
|
||||
// long hRes = ConvertXls2Xlsx( sFrom, sTo, params.getPassword(), params.getFontPath(), NULL);
|
||||
// if (AVS_ERROR_DRM == hRes)
|
||||
// {
|
||||
// if(!params.getDontSaveAdditional())
|
||||
// {
|
||||
// copyOrigin(sFrom, *params.m_sFileTo);
|
||||
// }
|
||||
// return AVS_FILEUTILS_ERROR_CONVERT_DRM;
|
||||
// }
|
||||
// else if (AVS_ERROR_PASSWORD == hRes)
|
||||
// {
|
||||
// return AVS_FILEUTILS_ERROR_CONVERT_PASSWORD;
|
||||
// }
|
||||
// return 0 == hRes ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
|
||||
return AVS_FILEUTILS_ERROR_CONVERT;
|
||||
}
|
||||
|
||||
{return 0;
|
||||
// bool bMacros = false;
|
||||
//
|
||||
// _UINT32 nRes = ConvertXls2Xlsx( sFrom, sTo, params.getPassword(), params.getFontPath(), sTemp, NULL, bMacros);
|
||||
//
|
||||
// nRes = processEncryptionError(nRes, sFrom, params);
|
||||
// return nRes;
|
||||
}
|
||||
// xls -> xlsm
|
||||
_UINT32 xls2xlsm (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
|
||||
{
|
||||
// std::wstring sResultXlsmDir = sTemp + FILE_SEPARATOR_STR + _T("xlsm_unpacked");
|
||||
//
|
||||
// NSDirectory::CreateDirectory(sResultXlsmDir);
|
||||
//
|
||||
// _UINT32 nRes = xls2xlsm_dir(sFrom, sResultXlsmDir, sTemp, params);
|
||||
//
|
||||
// if(SUCCEEDED_X2T(nRes))
|
||||
// {
|
||||
// COfficeUtils oCOfficeUtils(NULL);
|
||||
// if(S_OK == oCOfficeUtils.CompressFileOrDirectory(sResultXlsmDir, sTo, true))
|
||||
return 0;
|
||||
// }
|
||||
// return nRes;
|
||||
}
|
||||
_UINT32 xls2xlsm_dir (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
|
||||
{return 0;
|
||||
// bool bMacros = true;
|
||||
//
|
||||
// _UINT32 nRes = ConvertXls2Xlsx( sFrom, sTo, params.getPassword(), params.getFontPath(), sTemp, NULL, bMacros);
|
||||
//
|
||||
// nRes = processEncryptionError(nRes, sFrom, params);
|
||||
// return nRes;
|
||||
}
|
||||
// xls -> xlst
|
||||
_UINT32 xls2xlst (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
|
||||
{
|
||||
{ return 0;
|
||||
// Extract xlsx to temp directory
|
||||
std::wstring sResultDoctDir = sTemp + FILE_SEPARATOR_STR + _T("xlst_unpacked");
|
||||
std::wstring sResultDoctFileEditor = sResultDoctDir + FILE_SEPARATOR_STR + _T("Editor.bin");
|
||||
|
||||
NSDirectory::CreateDirectory(sResultDoctDir);
|
||||
|
||||
_UINT32 nRes = xls2xlst_bin(sFrom, sResultDoctFileEditor, sTemp, params);
|
||||
|
||||
if (SUCCEEDED_X2T(nRes))
|
||||
{
|
||||
COfficeUtils oCOfficeUtils(NULL);
|
||||
nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sResultDoctDir, sTo)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
|
||||
}
|
||||
|
||||
return nRes;
|
||||
// std::wstring sResultDoctDir = sTemp + FILE_SEPARATOR_STR + _T("xlst_unpacked");
|
||||
// std::wstring sResultDoctFileEditor = sResultDoctDir + FILE_SEPARATOR_STR + _T("Editor.bin");
|
||||
//
|
||||
// NSDirectory::CreateDirectory(sResultDoctDir);
|
||||
//
|
||||
// _UINT32 nRes = xls2xlst_bin(sFrom, sResultDoctFileEditor, sTemp, params);
|
||||
//
|
||||
// if (SUCCEEDED_X2T(nRes))
|
||||
// {
|
||||
// COfficeUtils oCOfficeUtils(NULL);
|
||||
// nRes = (S_OK == oCOfficeUtils.CompressFileOrDirectory(sResultDoctDir, sTo)) ? nRes : AVS_FILEUTILS_ERROR_CONVERT;
|
||||
// }
|
||||
//
|
||||
// return nRes;
|
||||
}
|
||||
|
||||
// xls -> xlst_bin
|
||||
_UINT32 xls2xlst_bin (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
|
||||
{
|
||||
// std::wstring sResultXlsxDir = sTemp + FILE_SEPARATOR_STR + L"xlsx_unpacked";
|
||||
// xls -> xlst_bin
|
||||
_UINT32 xls2xlst_bin (const std::wstring &sFrom, const std::wstring &sTo, const std::wstring &sTemp, InputParams& params)
|
||||
{return 0;
|
||||
// std::wstring sResultXlsxDir = sTemp + FILE_SEPARATOR_STR + _T("xlsx_unpacked");
|
||||
//
|
||||
// NSDirectory::CreateDirectory(sResultXlsxDir);
|
||||
//
|
||||
// if (ConvertXls2Xlsx( sFrom, sResultXlsxDir, params.getPassword(), params.getFontPath(), NULL)== S_OK)
|
||||
// bool bMacros = true;
|
||||
// _UINT32 nRes = ConvertXls2Xlsx( sFrom, sResultXlsxDir, params.getPassword(), params.getFontPath(), sTemp, NULL, bMacros);
|
||||
//
|
||||
// nRes = processEncryptionError(nRes, sFrom, params);
|
||||
// if (SUCCEEDED_X2T(nRes))
|
||||
// {
|
||||
// BinXlsxRW::CXlsxSerializer m_oCXlsxSerializer;
|
||||
//
|
||||
// m_oCXlsxSerializer.setFontDir(params.getFontPath());
|
||||
//
|
||||
// int res = m_oCXlsxSerializer.saveToFile (sTo, sResultXlsxDir, params.getXmlOptions()) ? 0 : AVS_FILEUTILS_ERROR_CONVERT;
|
||||
//
|
||||
// return res;
|
||||
//
|
||||
// return m_oCXlsxSerializer.saveToFile (sTo, sResultXlsxDir, params.getXmlOptions());
|
||||
// }
|
||||
return AVS_FILEUTILS_ERROR_CONVERT;
|
||||
}
|
||||
// return nRes;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
2
X2tConverter/test/androidTest/.gitignore
vendored
2
X2tConverter/test/androidTest/.gitignore
vendored
@ -9,9 +9,11 @@ keystore-release.properties
|
||||
/build
|
||||
/captures
|
||||
/gradle
|
||||
/android-ndk*
|
||||
/extra-builds/native/libs
|
||||
/extra-builds/native/toolchain
|
||||
/extra-builds/native/src/iconv
|
||||
.zip
|
||||
.gradle
|
||||
.idea
|
||||
.DS_Store
|
||||
|
||||
@ -1,3 +1,11 @@
|
||||
# README #
|
||||
|
||||
New android Documents app...
|
||||
Android x2t app example.
|
||||
|
||||
For run app you must:
|
||||
|
||||
1) Download all 3party libraries from folder ../core/Common/3dParty
|
||||
2) Once! Run gradle task preBuildTask().
|
||||
That task download last NDK 17c with deprecated GCC.
|
||||
Build all 3d party dependencies with that NDK
|
||||
3) Build app
|
||||
@ -10,11 +10,14 @@ apply from: "$rootProject.projectDir/extra-builds/gradle/common.gradle"
|
||||
|
||||
// Common native libs path
|
||||
def TOOLCHAIN_VERSION = 4.9
|
||||
def HOST_PLATFORM = "linux-x86_64"
|
||||
def PATH_NDK = getBackSlash(android.ndkDirectory.path)
|
||||
def NDK_VERSION = "android-ndk-r17c"
|
||||
def HOST_PLATFORM = getHostName()
|
||||
def PATH_NDK = "${project.rootDir.path}/${NDK_VERSION}"
|
||||
def PATH_TOOLCHAIN = "$PATH_NDK/toolchains/\$1/prebuilt/$HOST_PLATFORM/bin"
|
||||
def PATH_STANDALONE_SCRIPT = "$PATH_NDK/build/tools"
|
||||
def PATH_3PARTY = "$project.ext.SRC_CORE/Common/3dParty"
|
||||
def NDK_URL = "https://dl.google.com/android/repository/${NDK_VERSION}-${HOST_PLATFORM}.zip"
|
||||
def NDK_DOWNLOAD = "${PATH_NDK}.zip"
|
||||
|
||||
// Keys for constant
|
||||
def MASK_LIB = 'lib*.*'
|
||||
@ -302,6 +305,34 @@ task unpackingLibs(type: Copy) {
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Download NDK ver.17c with deprecated support of GCC
|
||||
* */
|
||||
task downloadNdk() {
|
||||
doLast {
|
||||
if (!file(PATH_NDK).exists()) {
|
||||
if (!file(NDK_DOWNLOAD).exists()) {
|
||||
download {
|
||||
println "\nDownload NDK..."
|
||||
src NDK_URL
|
||||
dest NDK_DOWNLOAD
|
||||
overwrite false
|
||||
onlyIfModified true
|
||||
quiet false
|
||||
}
|
||||
}
|
||||
|
||||
copy {
|
||||
println "\nUnpack NDK..."
|
||||
eachFile { println it.file }
|
||||
from zipTree(NDK_DOWNLOAD)
|
||||
into project.rootDir.path
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* https://wiki.openssl.org/index.php/Android
|
||||
* Success for: OpenSSL 1.1.1-pre10-dev
|
||||
@ -353,7 +384,7 @@ task buildOpenSsl() {
|
||||
environment "PATH", PATH
|
||||
commandLine "./Configure", "--prefix=$OPENSSL_LIBS_INSTALL", "--openssldir=$OPENSSL_LIBS_INSTALL", \
|
||||
"android-" + value.TCN, "-D__ANDROID_API__=$project.ext.SDK_MIN", \
|
||||
"no-shared", "no-ssl2", "no-ssl3", "no-comp", "no-hw", "no-engine"
|
||||
"no-shared", "no-ssl3", "no-comp", "no-hw", "no-engine"
|
||||
}
|
||||
|
||||
// Clean build files
|
||||
@ -878,15 +909,13 @@ task buildBoost() {
|
||||
/*
|
||||
* Add here pre build tasks
|
||||
* */
|
||||
task build3dPArty() {
|
||||
buildOpenSsl.execute()
|
||||
buildCurl.execute()
|
||||
buildIconv.execute()
|
||||
buildIcu.execute()
|
||||
buildBoost.execute()
|
||||
task preBuildTask() {
|
||||
doLast {
|
||||
downloadNdk.execute()
|
||||
buildOpenSsl.execute()
|
||||
buildCurl.execute()
|
||||
buildIconv.execute()
|
||||
buildIcu.execute()
|
||||
buildBoost.execute()
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Add task for run before build
|
||||
* */
|
||||
preBuild.dependsOn build3dPArty
|
||||
@ -9,7 +9,6 @@ set(CMAKE_VERBOSE_MAKEFILE on)
|
||||
# Set global definition
|
||||
add_definitions(
|
||||
-D__ANDROID__
|
||||
-D_LINUX
|
||||
)
|
||||
|
||||
# Add checks arguments here
|
||||
|
||||
@ -162,7 +162,8 @@ target_include_directories(${LIB_NAME_CRYPTOPP} PUBLIC ${CRYPTOPP_DIR})
|
||||
|
||||
# Set target definition
|
||||
target_compile_definitions(${LIB_NAME_CRYPTOPP}
|
||||
PRIVATE
|
||||
PUBLIC
|
||||
_LINUX
|
||||
UNICODE
|
||||
CRYPTOPPLIB_LIBRARY
|
||||
CRYPTOPP_DISABLE_ASM
|
||||
|
||||
@ -12,39 +12,39 @@ if (NOT DEFINED LIB_NAME_OFFICE_UTILS)
|
||||
message(FATAL_ERROR "You must set library name in \"LIB_NAME_OFFICE_UTILS\"!")
|
||||
endif()
|
||||
|
||||
# Zlib name
|
||||
set(ZLIB_NAME zlib-1.2.11)
|
||||
|
||||
# Library source .h .cpp
|
||||
file(GLOB OFFICE_UTILS_CPP
|
||||
${OFFICE_UTILS_DIR}src/*.cpp
|
||||
${OFFICE_UTILS_DIR}src/zlib-1.2.3/*.c
|
||||
${OFFICE_UTILS_DIR}src/zlib-1.2.3/contrib/minizip/*.c
|
||||
${OFFICE_UTILS_DIR}src/${ZLIB_NAME}/*.c
|
||||
${OFFICE_UTILS_DIR}src/${ZLIB_NAME}/contrib/minizip/*.c
|
||||
)
|
||||
|
||||
# Exclude sources
|
||||
list(REMOVE_ITEM OFFICE_UTILS_CPP
|
||||
${OFFICE_UTILS_DIR}src/zlib-1.2.3/contrib/minizip/iowin32.c
|
||||
${OFFICE_UTILS_DIR}src/${ZLIB_NAME}/contrib/minizip/iowin32.c
|
||||
)
|
||||
|
||||
# Set targer as static library
|
||||
add_library(${LIB_NAME_OFFICE_UTILS} STATIC ${OFFICE_UTILS_CPP})
|
||||
|
||||
# Add dependency library
|
||||
#target_link_libraries(${LIB_NAME_OFFICE_UTILS}
|
||||
# PRIVATE
|
||||
# ${LIB_NAME_EDITOR_COMMON}
|
||||
#)
|
||||
|
||||
# Add include files .h
|
||||
target_include_directories(${LIB_NAME_OFFICE_UTILS}
|
||||
PUBLIC
|
||||
${OFFICE_UTILS_DIR}
|
||||
${OFFICE_UTILS_DIR}zlib-1.2.3/
|
||||
${OFFICE_UTILS_DIR}${ZLIB_NAME}/
|
||||
PRIVATE
|
||||
${OFFICE_UTILS_DIR}zlib-1.2.3/contrib/minizip/
|
||||
${OFFICE_UTILS_DIR}${ZLIB_NAME}/contrib/minizip/
|
||||
)
|
||||
|
||||
# Set target definition
|
||||
target_compile_definitions(${LIB_NAME_OFFICE_UTILS}
|
||||
PRIVATE
|
||||
_LINUX
|
||||
USE_FILE32API
|
||||
NOCRYPT
|
||||
NOUNCRYPT
|
||||
BUILD_ZLIB_AS_SOURCES
|
||||
)
|
||||
@ -102,4 +102,10 @@ target_compile_options(${LIB_NAME_FONT_ENGINE}
|
||||
PUBLIC
|
||||
-Wno-register
|
||||
-Wno-c++11-narrowing
|
||||
)
|
||||
|
||||
# Set target definition
|
||||
target_compile_definitions(${LIB_NAME_FONT_ENGINE}
|
||||
PRIVATE
|
||||
_LINUX
|
||||
)
|
||||
@ -40,6 +40,7 @@ target_include_directories(${LIB_NAME_PDF_WRITER}
|
||||
# Set target definition
|
||||
target_compile_definitions(${LIB_NAME_PDF_WRITER}
|
||||
PRIVATE
|
||||
_LINUX
|
||||
PDFWRITER_USE_DYNAMIC_LIBRARY
|
||||
)
|
||||
|
||||
|
||||
@ -102,6 +102,37 @@ def getDirNameExt(String path) {
|
||||
return countFolders == 1? nameFolder : ''
|
||||
}
|
||||
|
||||
def getHostNameExt() {
|
||||
final String value = System.getProperty("os.name").toLowerCase();
|
||||
println "System: ${value}"
|
||||
|
||||
if (value.contains("linux")) {
|
||||
return ("linux");
|
||||
} else if (value.contains("mac os x") || value.contains("darwin") || value.contains("osx")) {
|
||||
return ("darwin");
|
||||
} else if (value.contains("windows")) {
|
||||
return ("windows");
|
||||
}
|
||||
|
||||
throw new GradleException("UNKNOWN SYSTEM FOR ANDROID NDK: ${value}!")
|
||||
}
|
||||
|
||||
def getHostArchExt() {
|
||||
final String value = System.getProperty("os.arch");
|
||||
println "Architecture: ${value}"
|
||||
|
||||
if ("x86" == value) {
|
||||
return value
|
||||
} else if ("amd64" == value || "x86_64" == value) {
|
||||
return "x86_64"
|
||||
}
|
||||
|
||||
throw new GradleException("UNKNOWN ARCHITECTRE FOR ANDROID NDK: ${value}!")
|
||||
}
|
||||
|
||||
def getHostNameFullExt() {
|
||||
return "${getHostNameExt()}-${getHostArchExt()}"
|
||||
}
|
||||
|
||||
/*
|
||||
* Add methods/values here for export
|
||||
@ -141,5 +172,6 @@ ext {
|
||||
isFolderNotEmpty = this.&isFolderNotEmptyCheck
|
||||
getBackSlash = this.&getBackSlashExt
|
||||
getDirName = this.&getDirNameExt
|
||||
getHostName = this.&getHostNameFullExt
|
||||
}
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@
|
||||
#include <string>
|
||||
#include "windows.h"
|
||||
|
||||
#include "../../DesktopEditor/common/String.h"
|
||||
#include "../../DesktopEditor/common/StringExt.h"
|
||||
#include "../../DesktopEditor/fontengine/ApplicationFonts.h"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
*/
|
||||
#include "Page.h"
|
||||
#include <stdio.h>
|
||||
#include "../../DesktopEditor/common/String.h"
|
||||
#include "../../DesktopEditor/common/StringExt.h"
|
||||
#include "../../DesktopEditor/graphics/structures.h"
|
||||
#include "../../PdfWriter/PdfRenderer.h"
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
*
|
||||
*/
|
||||
#include "Utils.h"
|
||||
#include "../../DesktopEditor/common/String.h"
|
||||
#include "../../DesktopEditor/common/StringExt.h"
|
||||
#include "../../DesktopEditor/common/Types.h"
|
||||
#include "../../DesktopEditor/xml/include/xmlutils.h"
|
||||
#include "../../DesktopEditor/graphics/IRenderer.h"
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
#include "WString.h"
|
||||
#include "Utils.h"
|
||||
|
||||
#include "../../DesktopEditor/common/String.h"
|
||||
#include "../../DesktopEditor/common/StringExt.h"
|
||||
#include "../../DesktopEditor/common/Types.h"
|
||||
|
||||
#define MAX_STRING_LEN 2147483648
|
||||
|
||||
Reference in New Issue
Block a user