Compare commits

..

39 Commits

Author SHA1 Message Date
ec2344ccd5 OdfFormat - fix bug #40149 2019-02-10 16:02:20 +03:00
0494882541 Fix previous commit 2019-02-08 18:41:05 +03:00
07b0ba71d9 Add WriteData method & add feature to send js variables to builder native methods 2019-02-08 17:14:23 +03:00
299ef4873f XlsFormat - .. 2019-02-08 14:58:52 +03:00
93c7819106 OdfFormat - .. 2019-02-08 14:56:15 +03:00
16c3f81dee OdfFormat - fix bug #40505 2019-02-08 14:20:28 +03:00
7fc67bdadf DocxFormat - fix bug #40505 2019-02-08 13:30:17 +03:00
31deb60343 Merge branch 'develop' of https://github.com/ONLYOFFICE/core into develop 2019-02-07 19:30:26 +03:00
7e83e168db PptFormat - fix bug #40114 2019-02-07 19:29:51 +03:00
a4c0fbe4ea Fix bug #40340
Add support of a GM_COMPATIBLE mode for a text. Also fixed the problem with clipping by the path with specified a world-transform
2019-02-07 19:05:00 +03:00
ae0f5867dd [ios][x2t] up formats 2019-02-07 18:44:52 +03:00
0dd4fc9c14 x2t - doc/ppt/xls format - small refactoring (rename namespaces) 2019-02-07 18:23:41 +03:00
3a92ef2395 Merge branch 'develop' of https://github.com/ONLYOFFICE/core into develop 2019-02-06 18:11:35 +03:00
23c9a65fcb PptFormat - fix bug #40482 2019-02-06 18:10:39 +03:00
ba55f1436d [ios][x2t] up formats 2019-02-06 18:02:00 +03:00
f1c1d62a4d [x2t] Fix writing corrupted pptx 2019-02-06 13:03:11 +03:00
c2bdec6bde Merge branch 'develop' of https://github.com/ONLYOFFICE/core into develop 2019-02-05 20:39:34 +03:00
93d0ebfa09 . 2019-02-05 20:39:24 +03:00
6f881e2066 XlsFormat - fix bugs #40461, #40459 2019-02-05 20:36:11 +03:00
8be0d7f2b3 [x2t] Add "created", "MODIFIED" environments to rev:8f332c3c09437f0d89b8d0a843655b6b02eb1329 2019-02-05 15:45:18 +03:00
cbbb4c19de . 2019-02-05 12:23:10 +03:00
f4e0ce53b4 [x2t] For linux build 8f332c3c09 2019-02-05 11:24:36 +03:00
8f332c3c09 [x2t] Add app.xml, core.xml to Editor.bin 2019-02-04 20:04:37 +03:00
4721a4a96b [ios][x2t] up 2019-02-04 15:43:57 +03:00
44a0c65637 [ios][x2t] boost.framework build and odf_file projects 2019-02-02 15:05:44 +03:00
4de7090c78 [x2t] Fix writing corrupted xlsx
Change firstHeader firstFooter order
2019-01-31 13:47:34 +03:00
6f09ec71f9 . 2019-01-30 12:18:25 +03:00
b122d75f34 DocFormat - fix bug #40363 2019-01-29 19:58:40 +03:00
ed613f7ec1 x2t - fix bug #39977 2019-01-25 15:12:38 +03:00
e0bc06d3db OdfFormatReader - ... 2019-01-25 14:29:47 +03:00
366f16aa4f Merge remote-tracking branch 'origin/hotfix/v5.2.8' into develop 2019-01-25 13:35:27 +03:00
662c687520 . 2019-01-25 13:33:35 +03:00
efc70421e2 [ios] up 2019-01-25 11:05:14 +03:00
7522ad9167 Fix bug 40283 2019-01-25 10:28:43 +03:00
f7922fcea8 . 2019-01-24 19:32:23 +03:00
19dabff8e6 Refactoring 2019-01-24 16:19:42 +03:00
84bd16951f Fix bug #39966
Fix the problem with embedding non-bolded fonts. Improve check whether the font is bold
2019-01-24 15:39:42 +03:00
8996935a10 XlsFormat - fix bug #40178 2019-01-23 18:47:25 +03:00
87c999474d XlsFormat - write default theme 2019-01-23 17:16:42 +03:00
563 changed files with 10595 additions and 5059 deletions

2
.gitignore vendored
View File

@ -3,6 +3,8 @@ dictionaries/
LicenceManager/
Common/boost_1_58_0
Common/3dParty/boost/boost_1_58_0
Common/3dParty/boost/ios
Common/3dParty/boost/osx
Common/3dParty/icu/win_64
Common/3dParty/icu/win_32
Common/3dParty/icu/linux_64

View File

@ -31,7 +31,6 @@
*/
#include "MainDocumentMapping.h"
#include "OfficeDrawing/FillStyleBooleanProperties.h"
namespace DocFileFormat
{
@ -88,10 +87,11 @@ namespace DocFileFormat
m_document->DocProperties->bDisplayBackgroundShape = true;
ShapeContainer* pShape = m_document->GetOfficeArt()->GetShapeBackgound();
OptionEntryPtr boolFill = pShape->ExtractOption(fillStyleBooleanProperties);
ODRAW::OfficeArtFOPTEPtr boolFill = pShape->ExtractOption(fillStyleBooleanProperties);
FillStyleBooleanProperties booleans(boolFill ? boolFill->op : 0);
if (booleans.fUsefFilled && !booleans.fFilled)
ODRAW::FillStyleBooleanProperties* booleans = dynamic_cast<ODRAW::FillStyleBooleanProperties*>(boolFill.get());
if (booleans && (booleans->fUsefFilled && !booleans->fFilled))
{
bFilled = false;
}

View File

@ -1,80 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace DocFileFormat
{
// 2.3.7.43 Fill Style Boolean Properties - [MS-ODRAW] — v20130726
class FillStyleBooleanProperties
{
public:
FillStyleBooleanProperties(unsigned int op)
{
fNoFillHitTest = FormatUtils::BitmaskToBool(op, 0x1);
fillUseRect = FormatUtils::BitmaskToBool(op, 0x1 << 1);
fillShape = FormatUtils::BitmaskToBool(op, 0x1 << 2);
fHitTestFill = FormatUtils::BitmaskToBool(op, 0x1 << 3);
fFilled = FormatUtils::BitmaskToBool(op, 0x1 << 4);
fUseShapeAnchor = FormatUtils::BitmaskToBool(op, 0x1 << 5);
fRecolorFillAsPicture = FormatUtils::BitmaskToBool(op, 0x1 << 6);
// 0x1 << 7-15 is ununsed
fUsefNoFillHitTest = FormatUtils::BitmaskToBool(op, 0x1 << 16);
fUsefillUseRect = FormatUtils::BitmaskToBool(op, 0x1 << 17);
fUsefillShape = FormatUtils::BitmaskToBool(op, 0x1 << 18);
fUseHitTestFill = FormatUtils::BitmaskToBool(op, 0x1 << 19);
fUsefFilled = FormatUtils::BitmaskToBool(op, 0x1 << 20);
fUsefUseShapeAnchor = FormatUtils::BitmaskToBool(op, 0x1 << 21);
fUsefRecolorFillAsPicture = FormatUtils::BitmaskToBool(op, 0x1 << 22);
}
public:
bool fNoFillHitTest;
bool fillUseRect;
bool fillShape;
bool fHitTestFill;
bool fFilled;
bool fUseShapeAnchor;
bool fRecolorFillAsPicture;
bool fUsefNoFillHitTest;
bool fUsefillUseRect;
bool fUsefillShape;
bool fUseHitTestFill;
bool fUsefFilled;
bool fUsefUseShapeAnchor;
bool fUsefRecolorFillAsPicture;
};
}

View File

@ -1,72 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace DocFileFormat
{
// 2.3.6.31 Geometry Boolean Properties - [MS-ODRAW] — v20130726
class GeometryBooleanProperties
{
public:
GeometryBooleanProperties(unsigned int op)
{
fUsefShadowOK = GETBIT(op, 8);
fUsef3DOK = GETBIT(op, 9);
fUsefLineOK = GETBIT(op, 10);
fUsefGtextOK = GETBIT(op, 11);
fUsefFillShadeShapeOK = GETBIT(op, 12);
fUsefFillOK = GETBIT(op, 13);
fShadowOK = GETBIT(op, 22);
f3DOK = GETBIT(op, 23);
fLineOK = GETBIT(op, 24);
fGtextOK = GETBIT(op, 25);
fFillShadeShapeOK = GETBIT(op, 26);
fFillOK = GETBIT(op, 27);
}
bool fFillOK;
bool fFillShadeShapeOK;
bool fGtextOK;
bool fLineOK;
bool f3DOK;
bool fShadowOK;
bool fUsefFillOK;
bool fUsefFillShadeShapeOK;
bool fUsefGtextOK;
bool fUsefLineOK;
bool fUsef3DOK;
bool fUsefShadowOK;
};
}

View File

@ -1,114 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace DocFileFormat
{
// 2.3.6.31 Geometry Boolean Properties - [MS-ODRAW] — v20130726
class GeometryTextBooleanProperties
{
public:
GeometryTextBooleanProperties(unsigned int op)
{
gtextFStrikethrough = FormatUtils::BitmaskToBool(op, 0x1);
gtextFSmallcaps = FormatUtils::BitmaskToBool(op, 0x1 << 1);
gtextFShadow = FormatUtils::BitmaskToBool(op, 0x1 << 2);
gtextFUnderline = FormatUtils::BitmaskToBool(op, 0x1 << 3);
gtextFItalic = FormatUtils::BitmaskToBool(op, 0x1 << 4);
gtextFBold = FormatUtils::BitmaskToBool(op, 0x1 << 5);
gtextFDxMeasure = FormatUtils::BitmaskToBool(op, 0x1 << 6);
gtextFNormalize = FormatUtils::BitmaskToBool(op, 0x1 << 7);
gtextFBestFit = FormatUtils::BitmaskToBool(op, 0x1 << 8);
gtextFShrinkFit = FormatUtils::BitmaskToBool(op, 0x1 << 9);
gtextFStretch = FormatUtils::BitmaskToBool(op, 0x1 << 10);
gtextFTight = FormatUtils::BitmaskToBool(op, 0x1 << 11);
gtextFKern = FormatUtils::BitmaskToBool(op, 0x1 << 12);
gtextFVertical = FormatUtils::BitmaskToBool(op, 0x1 << 13);
fGtext = FormatUtils::BitmaskToBool(op, 0x1 << 14);
gtextFReverseRows = FormatUtils::BitmaskToBool(op, 0x1 << 15);
fUsegtextFSStrikeThrough = FormatUtils::BitmaskToBool(op, 0x1 << 16);
fUsegtextFSmallcaps = FormatUtils::BitmaskToBool(op, 0x1 << 17);
fUsegtextFShadow = FormatUtils::BitmaskToBool(op, 0x1 << 18);
fUsegtextFUnderline = FormatUtils::BitmaskToBool(op, 0x1 << 19);
fUsegtextFItalic = FormatUtils::BitmaskToBool(op, 0x1 << 20);
fUsegtextFBold = FormatUtils::BitmaskToBool(op, 0x1 << 21);
fUsegtextFDxMeasure = FormatUtils::BitmaskToBool(op, 0x1 << 22);
fUsegtextFNormalize = FormatUtils::BitmaskToBool(op, 0x1 << 23);
fUsegtextFBestFit = FormatUtils::BitmaskToBool(op, 0x1 << 24);
fUsegtextFShrinkFit = FormatUtils::BitmaskToBool(op, 0x1 << 25);
fUsegtextFStretch = FormatUtils::BitmaskToBool(op, 0x1 << 26);
fUsegtextFTight = FormatUtils::BitmaskToBool(op, 0x1 << 27);
fUsegtextFKern = FormatUtils::BitmaskToBool(op, 0x1 << 28);
fUsegtextFVertical = FormatUtils::BitmaskToBool(op, 0x1 << 29);
fUsefGtext = FormatUtils::BitmaskToBool(op, 0x1 << 30);
fUsegtextFReverseRows = FormatUtils::BitmaskToBool(op, 0x40000000);
}
public:
bool gtextFStrikethrough;
bool gtextFSmallcaps;
bool gtextFShadow;
bool gtextFUnderline;
bool gtextFItalic;
bool gtextFBold;
bool gtextFDxMeasure;
bool gtextFNormalize;
bool gtextFBestFit;
bool gtextFShrinkFit;
bool gtextFStretch;
bool gtextFTight;
bool gtextFKern;
bool gtextFVertical;
bool fGtext;
bool gtextFReverseRows;
bool fUsegtextFSStrikeThrough;
bool fUsegtextFSmallcaps;
bool fUsegtextFShadow;
bool fUsegtextFUnderline;
bool fUsegtextFItalic;
bool fUsegtextFBold;
bool fUsegtextFDxMeasure;
bool fUsegtextFNormalize;
bool fUsegtextFBestFit;
bool fUsegtextFShrinkFit;
bool fUsegtextFStretch;
bool fUsegtextFTight;
bool fUsegtextFKern;
bool fUsegtextFVertical;
bool fUsefGtext;
bool fUsegtextFReverseRows;
};
}

View File

@ -1,126 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace DocFileFormat
{
// 2.3.4.44 Group Shape Boolean Properties - [MS-ODRAW] — v20130726
class GroupShapeBooleanProperties
{
public:
GroupShapeBooleanProperties(unsigned int op)
{
fPrint = FormatUtils::BitmaskToBool(op, 0x1);
fHidden = FormatUtils::BitmaskToBool(op, 0x2);
fOneD = FormatUtils::BitmaskToBool(op, 0x4);
fIsButton = FormatUtils::BitmaskToBool(op, 0x8);
fOnDblClickNotify = FormatUtils::BitmaskToBool(op, 0x10);
fBehindDocument = FormatUtils::BitmaskToBool(op, 0x20);
fEditedWrap = FormatUtils::BitmaskToBool(op, 0x40);
fScriptAnchor = FormatUtils::BitmaskToBool(op, 0x80);
fReallyHidden = FormatUtils::BitmaskToBool(op, 0x100);
fAllowOverlap = FormatUtils::BitmaskToBool(op, 0x200);
fUserDrawn = FormatUtils::BitmaskToBool(op, 0x400);
fHorizRule = FormatUtils::BitmaskToBool(op, 0x800);
fNoshadeHR = FormatUtils::BitmaskToBool(op, 0x1000);
fStandardHR = FormatUtils::BitmaskToBool(op, 0x2000);
fIsBullet = FormatUtils::BitmaskToBool(op, 0x4000);
fLayoutInCell = FormatUtils::BitmaskToBool(op, 0x8000);
fUsefPrint = FormatUtils::BitmaskToBool(op, 0x10000);
fUsefHidden = FormatUtils::BitmaskToBool(op, 0x20000);
fUsefOneD = FormatUtils::BitmaskToBool(op, 0x40000);
fUsefIsButton = FormatUtils::BitmaskToBool(op, 0x80000);
fUsefOnDblClickNotify = FormatUtils::BitmaskToBool(op, 0x100000);
fUsefBehindDocument = FormatUtils::BitmaskToBool(op, 0x200000);
fUsefEditedWrap = FormatUtils::BitmaskToBool(op, 0x400000);
fUsefScriptAnchor = FormatUtils::BitmaskToBool(op, 0x800000);
fUsefReallyHidden = FormatUtils::BitmaskToBool(op, 0x1000000);
fUsefAllowOverlap = FormatUtils::BitmaskToBool(op, 0x2000000);
fUsefUserDrawn = FormatUtils::BitmaskToBool(op, 0x4000000);
fUsefHorizRule = FormatUtils::BitmaskToBool(op, 0x8000000);
fUsefNoshadeHR = FormatUtils::BitmaskToBool(op, 0x10000000);
fUsefStandardHR = FormatUtils::BitmaskToBool(op, 0x20000000);
fUsefIsBullet = FormatUtils::BitmaskToBool(op, 0x40000000);
fUsefLayoutInCell = FormatUtils::BitmaskToBool(op, 0x80000000);
}
public:
bool fPrint;
bool fHidden;
bool fOneD;
bool fIsButton;
bool fOnDblClickNotify;
bool fBehindDocument;
bool fEditedWrap;
bool fScriptAnchor;
bool fReallyHidden;
bool fAllowOverlap;
bool fUserDrawn;
bool fHorizRule;
bool fNoshadeHR;
bool fStandardHR;
bool fIsBullet;
bool fLayoutInCell;
bool fUsefPrint;
bool fUsefHidden;
bool fUsefOneD;
bool fUsefIsButton;
bool fUsefOnDblClickNotify;
bool fUsefBehindDocument;
bool fUsefEditedWrap;
bool fUsefScriptAnchor;
bool fUsefReallyHidden;
bool fUsefAllowOverlap;
bool fUsefUserDrawn;
bool fUsefHorizRule;
bool fUsefNoshadeHR;
bool fUsefStandardHR;
bool fUsefIsBullet;
bool fUsefLayoutInCell;
};
}

View File

@ -1,91 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace DocFileFormat
{
// 2.3.8.38 Line Style Boolean Properties - [MS-ODRAW] — v20130726
class LineStyleBooleanProperties
{
public:
LineStyleBooleanProperties(unsigned int op)
{
fNoLineDrawDash = FormatUtils::BitmaskToBool(op, 0x1);
fLineFillShape = FormatUtils::BitmaskToBool(op, 0x2);
fHitTestLine = FormatUtils::BitmaskToBool(op, 0x4);
fLine = FormatUtils::BitmaskToBool(op, 0x8);
fArrowheadsOK = FormatUtils::BitmaskToBool(op, 0x10);
fInsetPenOK = FormatUtils::BitmaskToBool(op, 0x20);
fInsetPen = FormatUtils::BitmaskToBool(op, 0x40);
//Reserved 0x80 0x100
fLineOpaqueBackColor = FormatUtils::BitmaskToBool(op, 0x200);
//Unused 0x400 0x800 0x1000 0x2000 0x4000 0x8000
fUsefNoLineDrawDash = FormatUtils::BitmaskToBool(op, 0x10000);
fUsefLineFillShape = FormatUtils::BitmaskToBool(op, 0x20000);
fUsefHitTestLine = FormatUtils::BitmaskToBool(op, 0x40000);
fUsefLine = FormatUtils::BitmaskToBool(op, 0x80000);
fUsefArrowheadsOK = FormatUtils::BitmaskToBool(op, 0x100000);
fUsefInsetPenOK = FormatUtils::BitmaskToBool(op, 0x200000);
fUsefInsetPen = FormatUtils::BitmaskToBool(op, 0x400000);
//Reserved 0x800000 0x1000000
fUsefLineOpaqueBackColor = FormatUtils::BitmaskToBool(op, 0x2000000);
}
public:
bool fNoLineDrawDash;
bool fLineFillShape;
bool fHitTestLine;
bool fLine;
bool fArrowheadsOK;
bool fInsetPenOK;
bool fInsetPen;
bool fLineOpaqueBackColor;
bool fUsefNoLineDrawDash;
bool fUsefLineFillShape;
bool fUsefHitTestLine;
bool fUsefLine;
bool fUsefArrowheadsOK;
bool fUsefInsetPenOK;
bool fUsefInsetPen;
bool fUsefLineOpaqueBackColor;
};
}

View File

@ -1,280 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "PathSegment.h"
namespace DocFileFormat
{
struct _guides
{
unsigned char type;
unsigned char param_type1;
unsigned char param_type2;
unsigned char param_type3;
WORD param1;
WORD param2;
WORD param3;
};
class PathParser
{
public:
PathParser (const unsigned char* pSegmentInfo, unsigned int pSegmentInfoSize, const unsigned char* pVertices, unsigned int pVerticesSize, std::vector<_guides> & guides)
{
if ((pSegmentInfo != NULL) && (pSegmentInfoSize > 0))
{
unsigned short nElems = FormatUtils::BytesToUInt16(pSegmentInfo, 0, pSegmentInfoSize);
unsigned short nElemsAlloc = FormatUtils::BytesToUInt16(pSegmentInfo, 2, pSegmentInfoSize);
unsigned short cb = FormatUtils::BytesToUInt16(pSegmentInfo, 4, pSegmentInfoSize);
unsigned short cbElement = 4;
int offset = 6;
if (cb == 0xfff0)
cbElement = 2;
if (nElems == 0)
{
nElems = (pSegmentInfoSize - offset) / cbElement;
}
for (unsigned short i = 0; i < nElems; ++i)
{
PathSegment oSegment = PathSegment(FormatUtils::BytesToInt32(pSegmentInfo + offset, (i * cbElement), pSegmentInfoSize - offset));
m_arSegments.push_back (oSegment);
}
if ((long)pSegmentInfoSize < (long)(cb * nElems)) // Есть несколько файлов с мусором вместо данных
m_arSegments.clear();
}
if ((NULL != pVertices) && (pVerticesSize > 0))
{
unsigned short nElems = FormatUtils::BytesToUInt16(pVertices, 0, pVerticesSize);
unsigned short nElemsAlloc = FormatUtils::BytesToUInt16(pVertices, 2, pVerticesSize);
unsigned short cb = FormatUtils::BytesToUInt16(pVertices, 4, pVerticesSize);
unsigned short cbElement = 4;
if (cb == 0xfff0)
cbElement = 2;
int offset = 6;
for (unsigned short i = 0; i < nElems; ++i)
{
POINT point;
if (cbElement == 4)
{
point.x = FormatUtils::BytesToInt32(pVertices + offset, 0, pVerticesSize - offset);
point.y = FormatUtils::BytesToInt32(pVertices + offset + cbElement, 0 , pVerticesSize - offset);
}
else
{
point.x = FormatUtils::BytesToInt16(pVertices + offset, 0, pVerticesSize - offset);
point.y = FormatUtils::BytesToInt16(pVertices + offset + cbElement, 0 , pVerticesSize - offset);
}
offset += cbElement * 2;
LONG lMinF = (LONG)0x80000000;
if (lMinF <= point.x)
{
int index = (DWORD)point.x - 0x80000000;
if (index >= 0 && index < (int)guides.size())
{
point.x = guides[index].param3;
}
}
if (lMinF <= point.y)
{
int index = (DWORD)point.y - 0x80000000;
if (index >= 0 && index < (int)guides.size())
{
point.y = guides[index].param3;
}
}
if ((size_t)point.y > 0xffff)
{
point.y &= 0xffff;
}
if ((size_t)point.x > 0xffff)
{
point.x &= 0xffff;
}
m_arPoints.push_back(point);
}
}
}
inline std::wstring GetVmlPath () const
{
if ((0 == m_arSegments.size()) && (0 == m_arPoints.size()))
return std::wstring(L"");
std::wstring strVmlPath;
int valuePointer = 0;
if (0 == m_arSegments.size())
{
for (size_t i = 0; i < m_arPoints.size(); ++i)
{
strVmlPath += L"l";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[i].x);
strVmlPath += L",";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[i].y);
++valuePointer;
}
strVmlPath += L"xe";
return strVmlPath;
}
int cc = 0;
std::vector<PathSegment>::const_iterator end = m_arSegments.end();
for (std::vector<PathSegment>::const_iterator iter = m_arSegments.begin(); iter != end; ++iter, cc++)
{
switch (iter->Type)
{
case PathSegment::msopathLineTo:
{
for (int i = 0; i < iter->Count; ++i)
{
if (valuePointer + 1 > (int)m_arPoints.size())
{
break;
strVmlPath += L"l";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[0].x);
strVmlPath += L",";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[0].y);
++valuePointer;
//break;
}
else
{
strVmlPath += L"l";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[valuePointer].x );
strVmlPath += L",";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[valuePointer].y );
++valuePointer;
}
}
}
break;
case PathSegment::msopathCurveTo:
{
for (int i = 0; i < iter->Count; ++i)
{
if (valuePointer + 3 > (int)m_arPoints.size())
break;
strVmlPath += L"c";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[valuePointer].x );
strVmlPath += L",";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[valuePointer].y );
strVmlPath += L",";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[valuePointer + 1].x );
strVmlPath += L",";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[valuePointer + 1].y );
strVmlPath += L",";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[valuePointer + 2].x );
strVmlPath += L",";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[valuePointer + 2].y );
valuePointer += 3;
}
}
break;
case PathSegment::msopathMoveTo:
{
if (valuePointer < (int)m_arPoints.size())
{
strVmlPath += L"m";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[valuePointer].x );
strVmlPath += L",";
strVmlPath += FormatUtils::IntToWideString(m_arPoints[valuePointer].y );
++valuePointer;
}
}
break;
case PathSegment::msopathClose:
{
strVmlPath += L"x";
}
break;
case PathSegment::msopathEnd:
{
strVmlPath += L"e";
}
break;
case PathSegment::msopathEscape:
{
if (PathSegment::msopathEscapeNoFill == iter->EscapeCode)
strVmlPath += L"nf";
if (PathSegment::msopathEscapeNoLine == iter->EscapeCode)
strVmlPath += L"ns";
}
case PathSegment::msopathClientEscape:
case PathSegment::msopathInvalid:
{
//ignore escape segments and invalid segments
}
break;
}
}
// end the path
if ( !strVmlPath.empty() && ( strVmlPath[strVmlPath.size() - 1] != L'e' ) )
strVmlPath +=L"e";
return strVmlPath;
}
private:
std::vector<POINT> m_arPoints;
std::vector<PathSegment> m_arSegments;
};
}

View File

@ -1,101 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace DocFileFormat
{
class PathSegment
{
public:
enum MSOPATHTYPE
{
msopathLineTo,
msopathCurveTo,
msopathMoveTo,
msopathClose,
msopathEnd,
msopathEscape,
msopathClientEscape,
msopathInvalid
};
enum MSOPATHESCAPE
{
msopathEscapeExtension = 0x00000000,
msopathEscapeAngleEllipseTo = 0x00000001,
msopathEscapeAngleEllipse = 0x00000002,
msopathEscapeArcTo = 0x00000003,
msopathEscapeArc = 0x00000004,
msopathEscapeClockwiseArcTo = 0x00000005,
msopathEscapeClockwiseArc = 0x00000006,
msopathEscapeEllipticalQuadrantX = 0x00000007,
msopathEscapeEllipticalQuadrantY = 0x00000008,
msopathEscapeQuadraticBezier = 0x00000009,
msopathEscapeNoFill = 0x0000000A,
msopathEscapeNoLine = 0x0000000B,
msopathEscapeAutoLine = 0x0000000C,
msopathEscapeAutoCurve = 0x0000000D,
msopathEscapeCornerLine = 0x0000000E,
msopathEscapeCornerCurve = 0x0000000F,
msopathEscapeSmoothLine = 0x00000010,
msopathEscapeSmoothCurve = 0x00000011,
msopathEscapeSymmetricLine = 0x00000012,
msopathEscapeSymmetricCurve = 0x00000013,
msopathEscapeFreeform = 0x00000014,
msopathEscapeFillColor = 0x00000015,
msopathEscapeLineColor = 0x00000016
};
PathSegment (unsigned short segment): Type(msopathInvalid), Count(0), EscapeCode(msopathEscapeExtension), VertexCount(0)
{
Type = (MSOPATHTYPE)FormatUtils::BitmaskToInt (segment, 0xE000);
if (msopathEscape == Type)
{
EscapeCode = (MSOPATHESCAPE)FormatUtils::BitmaskToInt (segment, 0x1F00);
VertexCount = FormatUtils::BitmaskToInt (segment, 0x00FF);
}
else
{
Count = FormatUtils::BitmaskToInt (segment, 0x1FFF);
}
}
public:
MSOPATHTYPE Type;
int Count;
int VertexCount;
MSOPATHESCAPE EscapeCode;
};
}

View File

@ -1,97 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../../Common/FormatUtils.h"
namespace DocFileFormat
{
// 2.3.20.1 Protection Boolean Properties - [MS-ODRAW] — v20130726
class ProtectionBooleanProperties
{
public:
ProtectionBooleanProperties(unsigned int op)
{
fLockAgainstGrouping = FormatUtils::BitmaskToBool(op,0x1);
fLockAdjustHandles = FormatUtils::BitmaskToBool(op,0x2);
fLockText = FormatUtils::BitmaskToBool(op,0x4);
fLockVertices = FormatUtils::BitmaskToBool(op,0x8);
fLockCropping = FormatUtils::BitmaskToBool(op,0x10);
fLockAgainstSelect = FormatUtils::BitmaskToBool(op,0x20);
fLockPosition = FormatUtils::BitmaskToBool(op,0x30);
fLockAspectRatio = FormatUtils::BitmaskToBool(op,0x40);
fLockRotation = FormatUtils::BitmaskToBool(op,0x100);
fLockAgainstUngrouping = FormatUtils::BitmaskToBool(op,0x200);
//unused 0x400 0x800 0x1000 0x2000 0x4000 0x8000
fUsefLockAgainstGrouping = FormatUtils::BitmaskToBool(op,0x10000);
fUsefLockAdjustHandles = FormatUtils::BitmaskToBool(op,0x20000);
fUsefLockText = FormatUtils::BitmaskToBool(op,0x40000);
fUsefLockVertices = FormatUtils::BitmaskToBool(op,0x80000);
fUsefLockCropping = FormatUtils::BitmaskToBool(op,0x100000);
fUsefLockAgainstSelect = FormatUtils::BitmaskToBool(op,0x200000);
fUsefLockPosition = FormatUtils::BitmaskToBool(op,0x400000);
fUsefLockAspectRatio = FormatUtils::BitmaskToBool(op,0x800000);
fUsefLockRotation = FormatUtils::BitmaskToBool(op,0x1000000);
fUsefLockAgainstUngrouping = FormatUtils::BitmaskToBool(op,0x2000000);
}
bool fLockAgainstGrouping;
bool fLockAdjustHandles;
bool fLockText;
bool fLockVertices;
bool fLockCropping;
bool fLockAgainstSelect;
bool fLockPosition;
bool fLockAspectRatio;
bool fLockRotation;
bool fLockAgainstUngrouping;
bool fUsefLockAgainstGrouping;
bool fUsefLockAdjustHandles;
bool fUsefLockText;
bool fUsefLockVertices;
bool fUsefLockCropping;
bool fUsefLockAgainstSelect;
bool fUsefLockPosition;
bool fUsefLockAspectRatio;
bool fUsefLockRotation;
bool fUsefLockAgainstUngrouping;
};
}

View File

@ -75,9 +75,9 @@ namespace DocFileFormat
}
else
{
for ( std::vector<Record*>::const_iterator iter1 = this->Children.begin(); iter1 != this->Children.end(); iter1++ )
for ( size_t j = 0; j < this->Children.size(); ++j)
{
ShapeOptions* sh_options = dynamic_cast<ShapeOptions*>( *iter1 );
ShapeOptions* sh_options = dynamic_cast<ShapeOptions*>( this->Children[j] );
if (sh_options)
{
if (sh_options->OptionsByID.end() != sh_options->OptionsByID.find(Pib))
@ -101,16 +101,17 @@ namespace DocFileFormat
return new ShapeContainer( _reader, bodySize, typeCode, version, instance );
}
OptionEntryPtr ExtractOption(const PropertyId & prop) const
ODRAW::OfficeArtFOPTEPtr ExtractOption(const PropertyId & prop) const
{
OptionEntryPtr ret;
ODRAW::OfficeArtFOPTEPtr ret;
for ( size_t i = 0; i < this->Children.size(); ++i )
{
ShapeOptions* opt = dynamic_cast<ShapeOptions*>( this->Children[i] );
if ( opt == NULL ) continue;
std::map<PropertyId, OptionEntryPtr>::iterator pFind = opt->OptionsByID.find(prop);
std::map<PropertyId, ODRAW::OfficeArtFOPTEPtr>::iterator pFind = opt->OptionsByID.find(prop);
if (pFind != opt->OptionsByID.end())
{
ret = pFind->second;
@ -119,9 +120,9 @@ namespace DocFileFormat
return ret;
}
std::vector<OptionEntryPtr> ExtractOptions() const
std::vector<ODRAW::OfficeArtFOPTEPtr> ExtractOptions() const
{
std::vector<OptionEntryPtr> ret;
std::vector<ODRAW::OfficeArtFOPTEPtr> ret;
//build the list of all option entries of this shape
for ( size_t i = 0; i < this->Children.size(); ++i )

View File

@ -32,6 +32,7 @@
#pragma once
#include "Record.h"
#include "../../../ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ODRAW/OfficeArtRGFOPTE.h"
namespace DocFileFormat
{
@ -526,21 +527,6 @@ namespace DocFileFormat
LineDashing_LongDashDotDotGEL
} LineDashing;
struct OptionEntry
{
OptionEntry() : pid(PropertyId_left), fBid(false), fComplex(false), op(0)
{
}
PropertyId pid;
bool fBid;
bool fComplex;
unsigned int op;
std::shared_ptr<unsigned char> opComplex;
};
typedef std::shared_ptr<OptionEntry> OptionEntryPtr;
class ShapeOptions: public Record
{
public:
@ -548,9 +534,9 @@ namespace DocFileFormat
static const unsigned short TYPE_CODE_0xF121 = 0xF121;
static const unsigned short TYPE_CODE_0xF122 = 0xF122;
std::vector<OptionEntryPtr> Options;
std::map<PropertyId, OptionEntryPtr> OptionsByID;
std::vector<ODRAW::OfficeArtFOPTEPtr> Options;
std::map<PropertyId, ODRAW::OfficeArtFOPTEPtr> OptionsByID;
ShapeOptions() : Record()
{
}
@ -563,41 +549,24 @@ namespace DocFileFormat
{
long pos = Reader->GetPosition();
//parse the flags and the simple values
// parse the flags and the simple values
for (unsigned int i = 0; i < instance; ++i)
{
OptionEntryPtr entry = std::shared_ptr<OptionEntry>(new OptionEntry());
unsigned short flag = Reader->ReadUInt16();
ODRAW::OfficeArtFOPTEPtr fopte = ODRAW::OfficeArtFOPTE::load_and_create(Reader);
if (!fopte)continue;
entry->pid = (PropertyId)FormatUtils::BitmaskToInt (flag, 0x3FFF);
entry->fBid = FormatUtils::BitmaskToBool (flag, 0x4000);
entry->fComplex = FormatUtils::BitmaskToBool (flag, 0x8000);
entry->op = Reader->ReadUInt32();
Options.push_back( entry );
Options.push_back(fopte);
}
// complex load
//parse the complex values & sorted by pid
for (unsigned int i = 0; i < instance; ++i)
for(size_t i = 0; i < Options.size(); ++i)
{
if (Options[i]->fComplex && Options[i]->op > 0)
{
unsigned int size = Options[i]->op;
if (Options[i]->pid == 0x0145 ||
Options[i]->pid == 0x0146 ||
Options[i]->pid == 0x0197 ||
Options[i]->pid == 0x0156 ||
Options[i]->pid == 0x0155 ||
Options[i]->pid == 0x0151 ||
Options[i]->pid == 0x0152 ||
Options[i]->pid == 0x0157 ||
Options[i]->pid == 0x0158)//mso arrays
size += 6;
Options[i]->opComplex = std::shared_ptr<unsigned char>(Reader->ReadBytes( size, true ));
if(Options[i]->fComplex && Options[i]->op > 0)
{
Options[i]->ReadComplexData(Reader);
}
OptionsByID.insert(std::make_pair(Options[i]->pid, Options[i]));
OptionsByID.insert(std::make_pair((PropertyId)Options[i]->opid, Options[i]));
}
Reader->Seek(( pos + size ), 0/*STREAM_SEEK_SET*/);

View File

@ -31,13 +31,15 @@
*/
#pragma once
#include "ProtectionBooleanProperties.h"
#include "../IVisitable.h"
#include "../../Common/XmlTools.h"
#include <boost/shared_ptr.hpp>
#include <list>
namespace ODRAW
{
class OfficeArtFOPTE;
typedef boost::shared_ptr<OfficeArtFOPTE> OfficeArtFOPTEPtr;
}
namespace DocFileFormat
{
enum MSOSPT
@ -274,9 +276,6 @@ namespace DocFileFormat
position = pos;
xrange = xRange;
}
public:
std::wstring position;
std::wstring xrange;
std::wstring switchHandle;
@ -289,7 +288,7 @@ namespace DocFileFormat
{
public:
ShapeType (unsigned int typeCode) : Filled(true), Stroked(true), Lock(0), TypeCode(typeCode), Joins(miter), ShapeConcentricFill(false)
ShapeType (unsigned int typeCode) : Filled(true), Stroked(true), TypeCode(typeCode), Joins(miter), ShapeConcentricFill(false)
{
}
@ -301,8 +300,7 @@ namespace DocFileFormat
{
return TypeCode;
}
public:
/// This string describes a sequence of commands that define the shapes path.
/// This string describes both the pSegmentInfo array and pVertices array in the shapes geometry properties.
std::wstring Path;
@ -344,7 +342,7 @@ namespace DocFileFormat
bool Stroked;
/// Speicfies the locked properties of teh shape.
/// By default nothing is locked.
ProtectionBooleanProperties Lock;
ODRAW::OfficeArtFOPTEPtr Lock;
///
std::wstring Textpath;

View File

@ -60,9 +60,9 @@ namespace DocFileFormat
this->Filled = false;
this->Stroked = false;
//pictures have a lock on the aspect ratio by default
this->Lock.fUsefLockAspectRatio = true;
this->Lock.fLockAspectRatio = true;
// //pictures have a lock on the aspect ratio by default
//this->Lock.fUsefLockAspectRatio = true;
// this->Lock.fLockAspectRatio = true;
}
void SetType(unsigned int nType)
{

View File

@ -1,92 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace DocFileFormat
{
class ThreeDStyleBooleanProperties
{
public:
ThreeDStyleBooleanProperties(unsigned int op)
{
fUsefc3DConstrainRotation = GETBIT(op, 0);
fUsefc3DRotationCenterAuto = GETBIT(op, 1);
fUsefc3DParallel = GETBIT(op, 2);
fUsefc3DKeyHarsh = GETBIT(op, 3);
fUsefc3DFillHarsh = GETBIT(op, 4);
fc3DConstrainRotation = GETBIT(op, 16);
fc3DRotationCenterAuto = GETBIT(op, 17);
fc3DParallel = GETBIT(op, 18);
fc3DKeyHarsh = GETBIT(op, 19);
fc3DFillHarsh = GETBIT(op, 20);
}
bool fUsefc3DConstrainRotation;
bool fUsefc3DRotationCenterAuto;
bool fUsefc3DParallel;
bool fUsefc3DKeyHarsh;
bool fUsefc3DFillHarsh;
bool fc3DConstrainRotation;
bool fc3DRotationCenterAuto;
bool fc3DParallel;
bool fc3DKeyHarsh;
bool fc3DFillHarsh;
};
class ThreeDObjectBooleanProperties
{
public:
ThreeDObjectBooleanProperties(unsigned int op)
{
fUsef3D = GETBIT(op, 0);
fUsefc3DMetallic = GETBIT(op, 1);
fUsefc3DUseExtrusionColor = GETBIT(op, 2);
fUsefc3DLightFace = GETBIT(op, 3);
// 12 unused
f3D = GETBIT(op, 16);
fc3DMetallic = GETBIT(op, 17);
fc3DUseExtrusionColor = GETBIT(op, 18);
fc3DLightFace = GETBIT(op, 19);
}
bool fUsef3D;
bool fUsefc3DMetallic;
bool fUsefc3DUseExtrusionColor;
bool fUsefc3DLightFace;
bool f3D;
bool fc3DMetallic;
bool fc3DUseExtrusionColor;
bool fc3DLightFace;
};
}

View File

@ -33,9 +33,6 @@
#include "VMLPictureMapping.h"
#include "VMLShapeMapping.h"
#include "OfficeDrawing/GeometryBooleanProperties.h"
#include "OfficeDrawing/GeometryTextBooleanProperties.h"
#include "OfficeDrawing/GroupShapeBooleanProperties.h"
#include "OfficeDrawing/MetafilePictBlip.h"
#include "../../DesktopEditor/common/StringExt.h"
@ -44,30 +41,10 @@
#include "../../DesktopEditor/common/File.h"
#include "../../DesktopEditor/raster/BgraFrame.h"
#include "../../ASCOfficePPTFile/PPTFormatLib/Reader/ReadStructures.h"
using namespace DocFileFormat;
typedef struct
{
DWORD iType; // Record type EMR_HEADER
DWORD nSize; // Record size in bytes. This may be greater
// than the sizeof(ENHMETAHEADER).
RECT rclBounds; // Inclusive-inclusive bounds in device units
RECT rclFrame; // Inclusive-inclusive Picture Frame .01mm unit
DWORD dSignature; // Signature. Must be ENHMETA_SIGNATURE.
DWORD nVersion; // Version number
DWORD nBytes; // Size of the metafile in bytes
DWORD nRecords; // Number of records in the metafile
WORD nHandles; // Number of handles in the handle table
// Handle index zero is reserved.
WORD sReserved; // Reserved. Must be zero.
DWORD nDescription; // Number of chars in the unicode desc string
// This is 0 if there is no description string
DWORD offDescription; // Offset to the metafile description record.
// This is 0 if there is no description string
DWORD nPalEntries; // Number of entries in the metafile palette.
SIZE szlDevice; // Size of the reference device in pels
SIZE szlMillimeters; // Size of the reference device in millimeters
} ENHMETAHEADER3;
namespace DocFileFormat
{
@ -302,7 +279,7 @@ namespace DocFileFormat
std::wstring strHeight = FormatUtils::DoubleToWideString( height.ToPoints() );
std::wstring strStyle;
std::vector<OptionEntryPtr> options;
std::vector<ODRAW::OfficeArtFOPTEPtr> options;
PictureFrameType type;
Shape* pShape = NULL;
@ -342,33 +319,37 @@ namespace DocFileFormat
for (size_t i = 0; i < options.size(); i++)
{
OptionEntryPtr & iter = options[i];
switch ( iter->pid )
ODRAW::OfficeArtFOPTEPtr & iter = options[i];
switch ( iter->opid )
{
case wzEquationXML:
{
m_isEquation = true;
m_isEmbedded = true;
m_embeddedData = std::string((char*)iter->opComplex.get(), iter->op);
if (ParseEmbeddedEquation( m_embeddedData, m_equationXml))
ODRAW::XmlString *pXml = dynamic_cast<ODRAW::XmlString*>(iter.get());
if (pXml)
{
m_isEmbedded = false;
m_isEquation = true;
m_isEmbedded = true;
m_embeddedData = pXml->data;
if (ParseEmbeddedEquation( m_embeddedData, m_equationXml))
{
m_isEmbedded = false;
}
}
}break;
case metroBlob:
{
//встроенная неведомая хуйня
m_isBlob = true;
m_isEmbedded = true;
m_embeddedData = std::string((char*)iter->opComplex.get(), iter->op);
//if (ParseEmbeddedBlob( m_embeddedData, m_blobXml)) // todoooo
//{
// m_isEmbedded = false;
//}
{//встроенная неведомая хуйня
ODRAW::MetroBlob* blob = dynamic_cast<ODRAW::MetroBlob*>(iter.get());
if (blob)
{
m_isBlob = true;
m_isEmbedded = true;
//if (ParseEmbeddedBlob( blob->data.first, blob->data.second)) // todoooo
//{
// m_isEmbedded = false;
//}
}
}break;
//BORDERS
case borderBottomColor:
@ -459,9 +440,9 @@ namespace DocFileFormat
}break;
case groupShapeBooleans:
{
GroupShapeBooleanProperties groupShapeBooleans(iter->op);
ODRAW::GroupShapeBooleanProperties* booleans = dynamic_cast<ODRAW::GroupShapeBooleanProperties*>(iter.get());
if (groupShapeBooleans.fUsefBehindDocument && groupShapeBooleans.fBehindDocument)
if (booleans->fUsefBehindDocument && booleans->fBehindDocument)
{
//The shape is behind the text, so the z-index must be negative.
appendStyleProperty(&strStyle, L"z-index", L"-1" );
@ -471,7 +452,7 @@ namespace DocFileFormat
// appendStyleProperty( &strStyle, L"z-index", FormatUtils::IntToWideString(zIndex + 0x7ffff));
//}
if (groupShapeBooleans.fHidden && groupShapeBooleans.fUsefHidden)
if (booleans->fHidden && booleans->fUsefHidden)
{
appendStyleProperty(&strStyle, L"visibility", L"hidden");
}

View File

@ -38,20 +38,7 @@
#include "OfficeDrawing/Shapetypes/OvalType.h"
#include "OfficeDrawing/Shapetypes/RectangleType.h"
#include "OfficeDrawing/Shapetypes/RoundedRectangleType.h"
#include "OfficeDrawing/threeDBooleanProperties.h"
#include "OfficeDrawing/OfficeArtClientTextbox.h"
#include "OfficeDrawing/DiagramBooleanProperties.h"
#include "OfficeDrawing/GeometryBooleanProperties.h"
#include "OfficeDrawing/ShadowStyleBooleanProperties.h"
#include "OfficeDrawing/GeometryBooleanProperties.h"
#include "OfficeDrawing/FillStyleBooleanProperties.h"
#include "OfficeDrawing/GeometryBooleanProperties.h"
#include "OfficeDrawing/FillStyleBooleanProperties.h"
#include "OfficeDrawing/LineStyleBooleanProperties.h"
#include "OfficeDrawing/GeometryTextBooleanProperties.h"
#include "OfficeDrawing/GroupShapeBooleanProperties.h"
#include "OfficeDrawing/ProtectionBooleanProperties.h"
#include "DrawingPrimitives.h"
@ -141,12 +128,13 @@ namespace DocFileFormat
{
if ((container != NULL) && (!container->Children.empty()))
{
ShapeContainer* groupShape = static_cast<ShapeContainer*>(container->Children[0]);
GroupShapeRecord* gsr = static_cast<GroupShapeRecord*>(groupShape->Children[0]);
Shape* shape = static_cast<Shape*>(groupShape->Children[1]);
ShapeContainer* groupShape = static_cast<ShapeContainer*>(container->Children[0]);
GroupShapeRecord* gsr = static_cast<GroupShapeRecord*>(groupShape->Children[0]);
Shape* shape = static_cast<Shape*>(groupShape->Children[1]);
ChildAnchor* anchor = groupShape->FirstChildWithType<ChildAnchor>();
std::vector<OptionEntryPtr> options = groupShape->ExtractOptions();
ChildAnchor* anchor = groupShape->FirstChildWithType<ChildAnchor>();
std::vector<ODRAW::OfficeArtFOPTEPtr> options = groupShape->ExtractOptions();
m_shapeId = GetShapeID(shape);
@ -159,12 +147,12 @@ namespace DocFileFormat
// Write wrap coords
for (size_t i = 0; i < options.size(); i++)
{
switch (options[i]->pid)
switch (options[i]->opid)
{
case pWrapPolygonVertices:
{
std::wstring wrapCoords = GetWrapCoords(options[i]);
if (wrapCoords.length())
if (!wrapCoords.empty())
m_pXmlWriter->WriteAttribute(L"wrapcoords", wrapCoords);
}
break;
@ -229,9 +217,10 @@ namespace DocFileFormat
bool freeform = true;
std::wstring sShapeId;
std::vector<OptionEntryPtr> options = pContainer->ExtractOptions();
ChildAnchor* pAnchor = pContainer->FirstChildWithType<ChildAnchor>();
ClientAnchor* clientAnchor = pContainer->FirstChildWithType<ClientAnchor>();
std::vector<ODRAW::OfficeArtFOPTEPtr> options = pContainer->ExtractOptions();
ChildAnchor* pAnchor = pContainer->FirstChildWithType<ChildAnchor>();
ClientAnchor* clientAnchor = pContainer->FirstChildWithType<ClientAnchor>();
WriteBeginShapeNode (pShape);
@ -267,20 +256,20 @@ namespace DocFileFormat
}
}
EmuValue ShadowOffsetX;
EmuValue ShadowOffsetY;
EmuValue SecondShadowOffsetX;
EmuValue SecondShadowOffsetY;
EmuValue ViewPointX;
EmuValue ViewPointY;
EmuValue ViewPointZ;
boost::optional<EmuValue> ShadowOffsetX;
boost::optional<EmuValue> ShadowOffsetY;
boost::optional<EmuValue> SecondShadowOffsetX;
boost::optional<EmuValue> SecondShadowOffsetY;
boost::optional<EmuValue> ViewPointX;
boost::optional<EmuValue> ViewPointY;
boost::optional<EmuValue> ViewPointZ;
double viewPointOriginX = 0;
double viewPointOriginY = 0;
double ShadowOriginX = 0;
double ShadowOriginY = 0;
unsigned int xCoord = 0;
unsigned int yCoord = 0;
boost::optional<double> viewPointOriginX;
boost::optional<double> viewPointOriginY;
boost::optional<double> ShadowOriginX;
boost::optional<double> ShadowOriginY;
boost::optional<unsigned int> xCoord;
boost::optional<unsigned int> yCoord;
bool bStroked = true;
bool bFilled = true;
@ -301,36 +290,34 @@ namespace DocFileFormat
std::wstring sTextboxStyle;
OptionEntryPtr opSegmentInfo;
OptionEntryPtr opVerticles;
OptionEntryPtr opInscribe;
OptionEntryPtr opConnectAngles;
OptionEntryPtr opConnectLocs;
ThreeDStyleBooleanProperties threeDStyleProps_(0);
ODRAW::OfficeArtFOPTEPtr opSegmentInfo;
ODRAW::OfficeArtFOPTEPtr opVerticles;
ODRAW::OfficeArtFOPTEPtr opInscribe;
ODRAW::OfficeArtFOPTEPtr opConnectAngles;
ODRAW::OfficeArtFOPTEPtr opConnectLocs;
for (size_t i = 0; i < options.size(); i++)
{
OptionEntryPtr & iter = options[i];
switch (iter->pid)
ODRAW::OfficeArtFOPTEPtr & iter = options[i];
switch (iter->opid)
{
//BOOLEANS
case geometryBooleans:
{
GeometryBooleanProperties booleans(iter->op);
if (booleans.fUsefLineOK && !booleans.fLineOK)
ODRAW::GeometryBooleanProperties *booleans = dynamic_cast<ODRAW::GeometryBooleanProperties*>(iter.get());
if (booleans->fUsefLineOK && !booleans->fLineOK)
{
bStroked = false;
}
if (booleans.fUsefFillOK && !booleans.fFillOK)
if (booleans->fUsefFillOK && !booleans->fFillOK)
{
bFilled = false;
}
if (booleans.fUsef3DOK && booleans.f3DOK)
if (booleans->fUsef3DOK && booleans->f3DOK)
{
b3D = true;
}
if (booleans.fUsefShadowOK && booleans.fShadowOK)
if (booleans->fUsefShadowOK && booleans->fShadowOK)
{
bShadow = true;
}
@ -338,21 +325,21 @@ namespace DocFileFormat
break;
case fillStyleBooleanProperties:
{
FillStyleBooleanProperties booleans(iter->op);
if (booleans.fUsefFilled && !booleans.fFilled)
ODRAW::FillStyleBooleanProperties *booleans = dynamic_cast<ODRAW::FillStyleBooleanProperties *>(iter.get());
if (booleans->fUsefFilled && !booleans->fFilled)
{
bFilled = false;
}
if (booleans.fUsefUseShapeAnchor && booleans.fUseShapeAnchor)
if (booleans->fUsefUseShapeAnchor && booleans->fUseShapeAnchor)
{
appendValueAttribute(&m_fill, L"rotate", L"t");
}
}break;
case lineStyleBooleans:
{
LineStyleBooleanProperties booleans(iter->op);
if (booleans.fUsefLine && !booleans.fLine)
ODRAW::LineStyleBooleanProperties *booleans = dynamic_cast<ODRAW::LineStyleBooleanProperties *>(iter.get());
if (booleans->fUsefLine && !booleans->fLine)
{
bStroked = false;
}
@ -360,20 +347,19 @@ namespace DocFileFormat
break;
case protectionBooleans:
{
ProtectionBooleanProperties booleans(iter->op);
//ProtectionBooleanProperties booleans(iter->op);
}
break;
case diagramBooleans:
{
DiagramBooleanProperties booleans(iter->op);
}
break;
case groupShapeBooleans:
{
GroupShapeBooleanProperties booleans(iter->op);
if (booleans.fUsefLayoutInCell)
ODRAW::GroupShapeBooleanProperties *booleans = dynamic_cast<ODRAW::GroupShapeBooleanProperties *>(iter.get());
if (booleans->fUsefLayoutInCell)
{
layoutInCell = booleans.fLayoutInCell;
layoutInCell = booleans->fLayoutInCell;
}
}
break;
@ -541,8 +527,8 @@ namespace DocFileFormat
}break;
case fillAngle:
{
FixedPointNumber fllAngl( iter->op );
appendValueAttribute(&m_fill, L"angle", FormatUtils::DoubleToWideString( fllAngl.ToAngle() ));
ODRAW::FixedPoint* point = dynamic_cast<ODRAW::FixedPoint*>(iter.get());
if (point) appendValueAttribute(&m_fill, L"angle", FormatUtils::DoubleToWideString( point->dVal ));
}break;
case fillShadeType:
{
@ -550,7 +536,7 @@ namespace DocFileFormat
}break;
case fillShadeColors:
{
appendValueAttribute(&m_fill, L"colors", getFillColorString( iter->opComplex.get(), iter->op ));
appendValueAttribute(&m_fill, L"colors", getFillColorString( iter ));
}break;
case fillFocus:
{
@ -582,11 +568,11 @@ namespace DocFileFormat
}break;
case fillBlipName:
{
std::wstring name;
FormatUtils::GetSTLCollectionFromBytes<std::wstring>(&name, iter->opComplex.get(), iter->op, ENCODING_UTF16);
if (!name.empty())
appendValueAttribute(&m_fill, L"o:title", FormatUtils::XmlEncode(name));
ODRAW::AnyString* str = dynamic_cast<ODRAW::AnyString*>(iter.get());
if ((str) && (!str->string_.empty()))
{
appendValueAttribute(&m_fill, L"o:title", FormatUtils::XmlEncode(str->string_));
}
}break;
case fillOpacity:
{
@ -640,7 +626,7 @@ namespace DocFileFormat
}break;
case shadowStyleBooleanProperties:
{
ShadowStyleBooleanProperties props(iter->op);
//ODRAW::ShadowStyleBooleanProperties
}break;
// OLE
@ -664,21 +650,23 @@ namespace DocFileFormat
}break;
case pibName:
{
std::wstring name;
FormatUtils::GetSTLCollectionFromBytes<std::wstring>(&name, iter->opComplex.get(), iter->op, ENCODING_UTF16);
if (!name.empty())
appendValueAttribute(&m_imagedata, L"o:title", FormatUtils::XmlEncode(name));
ODRAW::AnyString* str = dynamic_cast<ODRAW::AnyString*>(iter.get());
if ((str) && (!str->string_.empty()))
{
appendValueAttribute(&m_imagedata, L"o:title", FormatUtils::XmlEncode(str->string_));
}
}break;
// 3D STYLE
case threeDStyleBooleanProperties:
{
threeDStyleProps_ = ThreeDStyleBooleanProperties(iter->op);
ODRAW::ThreeDStyleBooleanProperties* booleans = dynamic_cast<ODRAW::ThreeDStyleBooleanProperties*>(iter.get());
}break;
case threeDObjectBooleanProperties:
{
ThreeDObjectBooleanProperties booleans(iter->op);
ODRAW::ThreeDObjectBooleanProperties* booleans = dynamic_cast<ODRAW::ThreeDObjectBooleanProperties*>(iter.get());
if (booleans.fUsef3D && !booleans.f3D) b3D = false;
if (booleans->fUsef3D && !booleans->f3D)
b3D = false;
}break;
case c3DRenderMode:
{
@ -715,37 +703,34 @@ namespace DocFileFormat
appendValueAttribute(&m_3dstyle, L"color", color);
}break;
case c3DSkewAngle:
if (threeDStyleProps_.fUsefc3DParallel && threeDStyleProps_.fc3DParallel)
{
FixedPointNumber skewAngle( iter->op );
appendValueAttribute(&m_3dstyle, L"skewangle", FormatUtils::DoubleToWideString( skewAngle.ToAngle() ));
ODRAW::FixedPoint* point = dynamic_cast<ODRAW::FixedPoint*>(iter.get());
if (point) appendValueAttribute(&m_3dstyle, L"skewangle", FormatUtils::DoubleToWideString( point->dVal ));
}break;
case c3DXViewpoint:
if (threeDStyleProps_.fUsefc3DParallel && !threeDStyleProps_.fc3DParallel)
{
ViewPointX = EmuValue( FixedPointNumber( iter->op ).Integral );
}break;
ODRAW::FixedPoint* point = dynamic_cast<ODRAW::FixedPoint*>(iter.get());
if (point) ViewPointX = EmuValue( (int)point->dVal );
}break;
case c3DYViewpoint:
if (threeDStyleProps_.fUsefc3DParallel && !threeDStyleProps_.fc3DParallel)
{
ViewPointY = EmuValue( FixedPointNumber( iter->op ).Integral );
ODRAW::FixedPoint* point = dynamic_cast<ODRAW::FixedPoint*>(iter.get());
if (point) ViewPointY = EmuValue( (int)point->dVal );
}break;
case c3DZViewpoint:
if (threeDStyleProps_.fUsefc3DParallel && !threeDStyleProps_.fc3DParallel)
{
ViewPointZ = EmuValue( FixedPointNumber( iter->op ).Integral );
ODRAW::FixedPoint* point = dynamic_cast<ODRAW::FixedPoint*>(iter.get());
if (point) ViewPointZ = EmuValue( (int)point->dVal );
}break;
case c3DOriginX:
if (threeDStyleProps_.fUsefc3DParallel && !threeDStyleProps_.fc3DParallel)
{
FixedPointNumber dOriginX( iter->op );
viewPointOriginX = ( dOriginX.Integral / 65536.0 );
ODRAW::FixedPoint* point = dynamic_cast<ODRAW::FixedPoint*>(iter.get());
if (point) viewPointOriginX = point->dVal;
}break;
case c3DOriginY:
if (threeDStyleProps_.fUsefc3DParallel && !threeDStyleProps_.fc3DParallel)
{
FixedPointNumber dOriginY( iter->op );
viewPointOriginY = (dOriginY.Integral / 65536.0 );
ODRAW::FixedPoint* point = dynamic_cast<ODRAW::FixedPoint*>(iter.get());
if (point) viewPointOriginY = point->dVal;
}break;
// TEXTBOX
case lTxid:
@ -777,30 +762,35 @@ namespace DocFileFormat
// Word Art
case gtextUNICODE:
{
std::wstring text = NSStringExt::CConverter::GetUnicodeFromUTF16((unsigned short*)iter->opComplex.get(), (iter->op)/2);
text = FormatUtils::XmlEncode(text);
if (std::wstring::npos != text.find(L"\n"))
ODRAW::AnyString* str = dynamic_cast<ODRAW::AnyString*>(iter.get());
if ((str) && (!str->string_.empty()))
{
m_textpath.AppendText(text);
std::wstring text = FormatUtils::XmlEncode(str->string_);
if (std::wstring::npos != text.find(L"\n"))
{
m_textpath.AppendText(text);
}
text = ReplaceString(text, L"\n", L"&#xA;");
appendValueAttribute(&m_textpath, L"string", text);
}
text = ReplaceString(text, L"\n", L"&#xA;");
appendValueAttribute(&m_textpath, L"string", text);
}break;
case gtextFont:
{
std::wstring font = NSStringExt::CConverter::GetUnicodeFromUTF16((unsigned short*)iter->opComplex.get(), (iter->op)/2);
size_t i = font.size();
while (i > 0)
ODRAW::AnyString* str = dynamic_cast<ODRAW::AnyString*>(iter.get());
if ((str) && (!str->string_.empty()))
{
if (font[i-1] != 0) break;
i--;
}
if (i < font.size()) font.erase(font.begin() + i, font.end());
std::wstring font = str->string_;
size_t i = font.size();
while (i > 0)
{
if (font[i-1] != 0) break;
i--;
}
if (i < font.size()) font.erase(font.begin() + i, font.end());
font = std::wstring(L"\"") + font + std::wstring(L"\"");
appendStyleProperty(&m_textPathStyle, L"font-family", font);
font = std::wstring(L"\"") + font + std::wstring(L"\"");
appendStyleProperty(&m_textPathStyle, L"font-family", font);
}
}break;
case gtextSize:
{
@ -814,29 +804,29 @@ namespace DocFileFormat
}break;
case geometryTextBooleanProperties:
{
GeometryTextBooleanProperties props(iter->op);
if (props.fUsegtextFBestFit && props.gtextFBestFit)
ODRAW::GeometryTextBooleanProperties *props = dynamic_cast<ODRAW::GeometryTextBooleanProperties*>(iter.get());
if (props->fUsegFBestFit && props->fBestFit)
{
appendValueAttribute(&m_textpath, L"fitshape", L"t");
}
if (props.fUsegtextFShrinkFit && props.gtextFShrinkFit)
if (props->fUsegFShrinkFit && props->fShrinkFit)
{
appendValueAttribute(&m_textpath, L"trim", L"t");
}
if (props.fUsegtextFVertical && props.gtextFVertical)
if (props->fUsegFVertical && props->fVertical)
{
appendStyleProperty(&m_textPathStyle, L"v-rotate-letters", L"t");
//_twistDimension = true;
}
if (props.fUsegtextFKern && props.gtextFKern)
if (props->fUsegFKern && props->fKern)
{
appendStyleProperty(&m_textPathStyle, L"v-text-kern", L"t");
}
if (props.fUsegtextFItalic && props.gtextFItalic)
if (props->fUsegFItalic && props->fItalic)
{
appendStyleProperty(&m_textPathStyle, L"font-style", L"italic");
}
if (props.fUsegtextFBold && props.gtextFBold)
if (props->fUsegFBold && props->fBold)
{
appendStyleProperty(&m_textPathStyle, L"font-weight", L"bold");
}
@ -848,20 +838,17 @@ namespace DocFileFormat
}
}
if (opVerticles && opSegmentInfo)
{
const unsigned char* pVP = opVerticles->opComplex.get();
unsigned int nVP = opVerticles->op;
const unsigned char* pSI = opSegmentInfo->opComplex.get();
unsigned int nSI = opSegmentInfo->op;
PathParser oParser (pSI, nSI, pVP, nVP, m_arrGuides);
std::wstring path = oParser.GetVmlPath();
ODRAW::PVertices* pVP = dynamic_cast<ODRAW::PVertices*>(opVerticles.get());
ODRAW::PSegmentInfo* pSI = dynamic_cast<ODRAW::PSegmentInfo*>(opSegmentInfo.get());
if (pVP && pSI)
{
ODRAW::PathParser oParser (pSI->complex.data, pVP->complex.data, m_arrGuides);
std::wstring path = oParser.GetVmlPath();
if (false == path.empty())
m_pXmlWriter->WriteAttribute (L"path", path);
}
if (freeform && (xCoord == 0 || yCoord == 0 ))
if (freeform && (!xCoord || !yCoord ))
{
xCoord = 21600;
yCoord = 21600;
@ -881,9 +868,9 @@ namespace DocFileFormat
m_pXmlWriter->WriteAttribute(L"o:allowincell", L"f");
}
if ( xCoord > 0 && yCoord > 0 )
if ( xCoord && yCoord )
{
m_pXmlWriter->WriteAttribute( L"coordsize", ( FormatUtils::IntToWideString( xCoord ) + L"," + FormatUtils::IntToWideString( yCoord ) ));
m_pXmlWriter->WriteAttribute( L"coordsize", ( FormatUtils::IntToWideString( *xCoord ) + L"," + FormatUtils::IntToWideString( *yCoord ) ));
}
int nCode = 0;
@ -917,15 +904,15 @@ namespace DocFileFormat
//build shadow offsets
std::wstring offset;
if ( ShadowOffsetX != 0 )
if ( ShadowOffsetX)
{
offset += FormatUtils::DoubleToWideString( ShadowOffsetX.ToPoints() );
offset += FormatUtils::DoubleToWideString( ShadowOffsetX->ToPoints() );
offset += L"pt";
}
if ( ShadowOffsetY != 0 )
if ( ShadowOffsetY )
{
offset += L",";
offset += FormatUtils::DoubleToWideString( ShadowOffsetY.ToPoints() );
offset += FormatUtils::DoubleToWideString( ShadowOffsetY->ToPoints() );
offset += L"pt";
}
if ( !offset.empty() )
@ -935,16 +922,16 @@ namespace DocFileFormat
std::wstring offset2;
if ( SecondShadowOffsetX != 0 )
if ( SecondShadowOffsetX)
{
offset2 += FormatUtils::DoubleToWideString( SecondShadowOffsetX.ToPoints() );
offset2 += FormatUtils::DoubleToWideString( SecondShadowOffsetX->ToPoints() );
offset2 += L"pt";
}
if ( SecondShadowOffsetY != 0 )
if ( SecondShadowOffsetY)
{
offset2 += L",";
offset2 += FormatUtils::DoubleToWideString(SecondShadowOffsetY.ToPoints());
offset2 += FormatUtils::DoubleToWideString(SecondShadowOffsetY->ToPoints());
offset2 += L"pt";
}
@ -954,9 +941,9 @@ namespace DocFileFormat
}
//build shadow origin
if ( ( ShadowOriginX != 0 ) && ( ShadowOriginY != 0 ) )
if ( ShadowOriginX && ShadowOriginY)
{
appendValueAttribute(&m_shadow, L"origin", (FormatUtils::DoubleToWideString(shadowOriginX) + std::wstring(L"," ) + FormatUtils::DoubleToWideString(shadowOriginY)));
appendValueAttribute(&m_shadow, L"origin", FormatUtils::DoubleToWideString(*ShadowOriginX) + std::wstring(L"," ) + FormatUtils::DoubleToWideString(*ShadowOriginY));
}
// write shadow
@ -967,41 +954,41 @@ namespace DocFileFormat
}
//write the viewpoint
if ( ( ViewPointX != 0 ) || ( ViewPointY != 0 ) || ( ViewPointZ != 0 ) )
if ( ViewPointX || ViewPointY || ViewPointZ )
{
std::wstring viewPoint;
if ( ViewPointX != 0 )
if ( ViewPointX )
{
viewPoint += FormatUtils::IntToWideString( ViewPointX ) + L"pt";
viewPoint += FormatUtils::IntToWideString( *ViewPointX ) + L"pt";
}
viewPoint += L",";
if ( ViewPointY != 0 )
if ( ViewPointY)
{
viewPoint += FormatUtils::IntToWideString( ViewPointY ) + L"pt";
viewPoint += FormatUtils::IntToWideString( *ViewPointY ) + L"pt";
}
viewPoint += L",";
if ( ViewPointZ != 0 )
if ( ViewPointZ)
{
viewPoint += FormatUtils::IntToWideString( ViewPointZ ) + L"pt";
viewPoint += FormatUtils::IntToWideString( *ViewPointZ ) + L"pt";
}
appendValueAttribute(&m_3dstyle, L"viewpoint", viewPoint);
}
// write the viewpointorigin
if ( ( viewPointOriginX != 0 ) || ( viewPointOriginY != 0 ) )
if ( viewPointOriginX || viewPointOriginY)
{
std::wstring viewPointOrigin;
if ( viewPointOriginX != 0 )
if ( viewPointOriginX )
{
viewPointOrigin += FormatUtils::DoubleToFormattedWideString( viewPointOriginX, L"%.2f" );
viewPointOrigin += FormatUtils::DoubleToFormattedWideString( *viewPointOriginX, L"%.2f" );
}
if ( viewPointOriginY != 0 )
if ( viewPointOriginY )
{
viewPointOrigin += L",";
viewPointOrigin += FormatUtils::DoubleToFormattedWideString( viewPointOriginY, L"%.2f" );
viewPointOrigin += FormatUtils::DoubleToFormattedWideString( *viewPointOriginY, L"%.2f" );
}
appendValueAttribute(&m_3dstyle, L"viewpointorigin", viewPointOrigin);
@ -1272,37 +1259,23 @@ namespace DocFileFormat
}
/// Build the VML wrapcoords string for a given pWrapPolygonVertices
std::wstring VMLShapeMapping::GetWrapCoords(const OptionEntryPtr& pWrapPolygonVertices) const
std::wstring VMLShapeMapping::GetWrapCoords(const ODRAW::OfficeArtFOPTEPtr& pOpt) const
{
ODRAW::PWrapPolygonVertices* pWrapPolygonVertices = dynamic_cast<ODRAW::PWrapPolygonVertices*>(pOpt.get());
if (!pWrapPolygonVertices) return L"";
std::wstring coords;
MemoryStream oStream(pWrapPolygonVertices->opComplex.get(), pWrapPolygonVertices->op);
std::list<int> arrVertices;
unsigned short nElems = oStream.ReadUInt16();
unsigned short nElemsAlloc = oStream.ReadUInt16();
unsigned short cbElem = oStream.ReadUInt16();
if ( ( nElems > 0 ) && ( cbElem > 0 ) && ( nElems <= nElemsAlloc ) )
for (size_t i = 0; i < pWrapPolygonVertices->complex.data.size(); ++i)
{
//!!!TODO: read the Int32 coordinates!!!
while (oStream.GetPosition() < oStream.GetSize())
{
arrVertices.push_back(oStream.ReadInt32());
}
std::list<int>::const_iterator end = arrVertices.end();
for (std::list<int>::const_iterator iter = arrVertices.begin(); iter != end; ++iter)
{
coords += FormatUtils::IntToWideString(*iter);
coords += L",";
}
coords.erase(coords.size() - 1);
coords += FormatUtils::IntToWideString(pWrapPolygonVertices->complex.data[i++].x);
coords += L",";
coords += FormatUtils::IntToWideString(pWrapPolygonVertices->complex.data[i].y);
coords += L",";
}
coords.erase(coords.size() - 1);
return coords;
}
@ -1594,7 +1567,7 @@ namespace DocFileFormat
}
}
void VMLShapeMapping::AppendOptionsToStyle (std::wstring* oStyle, const std::vector<OptionEntryPtr>& options, int zIndex) const
void VMLShapeMapping::AppendOptionsToStyle (std::wstring* oStyle, const std::vector<ODRAW::OfficeArtFOPTEPtr>& options, int zIndex) const
{
bool bRelH = false;
bool bRelV = false;
@ -1606,8 +1579,8 @@ namespace DocFileFormat
for (size_t i = 0; i < options.size(); i++)
{
const OptionEntryPtr & iter = options[i];
switch (iter->pid)
const ODRAW::OfficeArtFOPTEPtr & iter = options[i];
switch (iter->opid)
{
// POSITIONING
case posh:
@ -1633,9 +1606,9 @@ namespace DocFileFormat
// BOOLEANS
case groupShapeBooleans:
{
GroupShapeBooleanProperties groupShapeBooleans(iter->op);
ODRAW::GroupShapeBooleanProperties* booleans = dynamic_cast<ODRAW::GroupShapeBooleanProperties*>(iter.get());
if (groupShapeBooleans.fUsefBehindDocument && groupShapeBooleans.fBehindDocument && !bZIndex)
if (booleans->fUsefBehindDocument && booleans->fBehindDocument && !bZIndex)
{
//The shape is behind the text, so the z-index must be negative.
appendStyleProperty(oStyle, L"z-index", L"-1" );
@ -1647,7 +1620,7 @@ namespace DocFileFormat
bZIndex = true;
}
if (groupShapeBooleans.fHidden && groupShapeBooleans.fUsefHidden)
if (booleans->fHidden && booleans->fUsefHidden)
{
appendStyleProperty(oStyle, L"visibility", L"hidden" );
}
@ -1714,7 +1687,7 @@ namespace DocFileFormat
}
//
std::wstring VMLShapeMapping::buildStyle (const Shape* shape, const ChildAnchor* anchor, const std::vector<OptionEntryPtr>& options, int zIndex) const
std::wstring VMLShapeMapping::buildStyle (const Shape* shape, const ChildAnchor* anchor, const std::vector<ODRAW::OfficeArtFOPTEPtr>& options, int zIndex) const
{
std::wstring style;
@ -1722,19 +1695,19 @@ namespace DocFileFormat
for (size_t i = 0; i < options.size(); i++)
{
const OptionEntryPtr & iter = options[i];
const ODRAW::OfficeArtFOPTEPtr & iter = options[i];
if (geometryTextBooleanProperties == iter->pid)
if (geometryTextBooleanProperties == iter->opid)
{
GeometryTextBooleanProperties props(iter->op);
ODRAW::GeometryTextBooleanProperties* booleans = dynamic_cast<ODRAW::GeometryTextBooleanProperties*>(iter.get());
if (props.fUsegtextFVertical && props.gtextFVertical)
if (booleans->fUsegFVertical && booleans->fVertical)
{
twistDimensions = true;
}
}
if (PropertyId_rotation == iter->pid)
else if (PropertyId_rotation == iter->opid)
{
double dAngle = (double)((int)iter->op) / 65535.0;
@ -1867,29 +1840,18 @@ namespace DocFileFormat
}
}
std::wstring VMLShapeMapping::getFillColorString(const unsigned char* p, unsigned int size) const
std::wstring VMLShapeMapping::getFillColorString(const ODRAW::OfficeArtFOPTEPtr& pOpt) const
{
ODRAW::FillShadeColors* pColors = dynamic_cast<ODRAW::FillShadeColors*>(pOpt.get());
if (!pColors) return L"";
std::wstring result;
if ( ( p != NULL ) && ( size > 0 ) )
for (size_t i = 0; i < pColors->complex.data.size(); ++i)
{
// parse the IMsoArray
unsigned short nElems = FormatUtils::BytesToUInt16(p, 0, size);
unsigned short nElemsAlloc = FormatUtils::BytesToUInt16(p, 2, size);
unsigned short cb = FormatUtils::BytesToUInt16(p, 4, size);
for ( unsigned short i = 0; i < nElems; i++ )
{
int pos = ( 6 + ( i * cb ) );
RGBColor color(FormatUtils::BytesToInt32(p, pos, size ), RedFirst);
int colorPos = FormatUtils::BytesToInt32(p, ( pos + 4 ), size);
result += FormatUtils::IntToWideString(colorPos);
result += L"f #";
result += color.SixDigitHexCode;
result += L";";
}
result += FormatUtils::IntToWideString((int)pColors->complex.data[i].dPosition);
result += L"f #";
result += pColors->complex.data[i].color.sColorRGB;
result += L";";
}
return result;
@ -1959,41 +1921,15 @@ namespace DocFileFormat
return wrapType;
}
std::wstring VMLShapeMapping::GetConnectAngles(const OptionEntryPtr& opAngles) const
std::wstring VMLShapeMapping::GetConnectAngles(const ODRAW::OfficeArtFOPTEPtr& pOpt) const
{
if (!opAngles) return L"";
if (!opAngles->opComplex) return L"";
ODRAW::PConnectionSitesDir* pAngles = dynamic_cast<ODRAW::PConnectionSitesDir*>(pOpt.get());
if (!pAngles) return L"";
MemoryStream reader(opAngles->opComplex.get(), opAngles->op);
unsigned short nElems = reader.ReadUInt16();
unsigned short nElemsAlloc = reader.ReadUInt16();
unsigned short nElemSize = reader.ReadUInt16();
bool bTruncated = false;
if (0xFFF0 == nElemSize)
{
nElemSize = 4;
bTruncated = true;
}
long dwSize = nElems * nElemSize;
if (opAngles->op - 6 != (dwSize))
{
bool b = false;
}
if (nElemSize < 1) return L"";
int count = dwSize / nElemSize;
std::wstring angles;
for (int i = 0; i < count; ++i)
for (size_t i = 0; i < pAngles->complex.data.size(); ++i)
{
DWORD v = reader.ReadUInt32();
double val = (double)((WORD)(v >> 16) + ((WORD)(v) / 65536.0));
angles += std::to_wstring((int)val) + (i < (count - 1) ? L"," : L"");
angles += std::to_wstring((int)pAngles->complex.data[i].dVal) + (i < (pAngles->complex.data.size() - 1) ? L"," : L"");
}
return angles;
}
@ -2007,180 +1943,74 @@ namespace DocFileFormat
if (index >= 0 && index < (int)m_arrGuides.size())
{
new_val = m_arrGuides[index].param3;
new_val = m_arrGuides[index].m_param_value3;
}
}
return new_val;
}
void VMLShapeMapping::GetGuides( const OptionEntryPtr& opGuides )
void VMLShapeMapping::GetGuides( const ODRAW::OfficeArtFOPTEPtr& pOpt )
{
if (!opGuides) return;
if (!opGuides->opComplex) return;
MemoryStream reader(opGuides->opComplex.get(), opGuides->op);
ODRAW::PGuides* pGuides = dynamic_cast<ODRAW::PGuides*>(pOpt.get());
if (!pGuides) return;
unsigned short nElems = reader.ReadUInt16();
unsigned short nElemsAlloc = reader.ReadUInt16();
unsigned short nElemSize = reader.ReadUInt16();
m_arrGuides = pGuides->complex.data;
//for (size_t i = 0; i < pGuides->complex.data.size(); ++i)
//{
// _guides g;
bool bTruncated = false;
// g.type = pGuides->complex.data[i].type;
if (0xFFF0 == nElemSize)
{
nElemSize = 4;
bTruncated = true;
}
if (nElemSize == 0)
{
nElemSize = 2; //enredobar.doc
}
long dwSize = nElems * nElemSize;
// g.param_type1 = pGuides->complex.data[i].param_type1;
// g.param_type2 = pGuides->complex.data[i].param_type2;
// g.param_type3 = pGuides->complex.data[i].param_type3;
if (opGuides->op - 6 != (dwSize))
{
bool b = false;
if (nElems > 0x7fff)
{
dwSize = (opGuides->op - 6);
}
}
int count = dwSize / nElemSize; //1x (int or short)
for (int i = 0; i < count; ++i)
{
_guides g;
WORD flags = reader.ReadUInt16();
// g.param1 = pGuides->complex.data[i].param1;
// g.param2 = pGuides->complex.data[i].param2;
// g.param3 = pGuides->complex.data[i].param3;
g.type = flags & 0x1FFF;
g.param_type1 = (unsigned char)(flags & 0x04);
g.param_type2 = (unsigned char)(flags & 0x02);
g.param_type3 = (unsigned char)(flags & 0x01);
g.param1 = reader.ReadUInt16();
g.param2 = reader.ReadUInt16();
g.param3 = reader.ReadUInt16();
m_arrGuides.push_back(g);
}
// m_arrGuides.push_back(g);
//}
}
std::wstring VMLShapeMapping::GetConnectLocs( const OptionEntryPtr& opLocs ) const
std::wstring VMLShapeMapping::GetConnectLocs( const ODRAW::OfficeArtFOPTEPtr& pOpt ) const
{
if (!opLocs) return L"";
if (!opLocs->opComplex) return L"";
ODRAW::PConnectionSites* pConnection = dynamic_cast<ODRAW::PConnectionSites*>(pOpt.get());
if (!pConnection) return L"";
MemoryStream reader(opLocs->opComplex.get(), opLocs->op);
unsigned short nElems = reader.ReadUInt16();
unsigned short nElemsAlloc = reader.ReadUInt16();
unsigned short nElemSize = reader.ReadUInt16();
bool bTruncated = false;
if (0xFFF0 == nElemSize)
{
nElemSize = 4;
bTruncated = true;
}
if (nElemSize == 0)
{
nElemSize = 2; //enredobar.doc
}
long dwSize = nElems * nElemSize;
if (opLocs->op - 6 != (dwSize))
{
bool b = false;
if (nElems > 0x7fff)
{
dwSize = (opLocs->op - 6);
}
}
int count = dwSize / nElemSize; //2x (int or short)
std::wstring locs;
for (int i = 0; i < count; ++i)
for (size_t i = 0; i < pConnection->complex.data.size(); ++i)
{
POINT pt;
if (bTruncated)
{
pt.x = reader.ReadInt16();
pt.y = reader.ReadInt16();
}
else
{
pt.x = reader.ReadInt32();
pt.y = reader.ReadInt32();
}
pt.x = UpdateFromGuides(pt.x);
pt.y = UpdateFromGuides(pt.y);
pt.x = UpdateFromGuides(pConnection->complex.data[i].x);
pt.y = UpdateFromGuides(pConnection->complex.data[i].y);
locs += std::to_wstring(pt.x) + L"," + std::to_wstring(pt.y) + (i < (count - 1) ? L";" : L"");
locs += std::to_wstring(pt.x) + L"," + std::to_wstring(pt.y) + (i < (pConnection->complex.data.size() - 1) ? L";" : L"");
}
return locs;
}
std::vector<std::wstring> VMLShapeMapping::GetTextRectangles( const OptionEntryPtr& opInscribe ) const
std::vector<std::wstring> VMLShapeMapping::GetTextRectangles( const ODRAW::OfficeArtFOPTEPtr& pOpt ) const
{
std::vector<std::wstring> rectangles;
if (!opInscribe) return rectangles;
if (!opInscribe->opComplex) return rectangles;
MemoryStream reader(opInscribe->opComplex.get(), opInscribe->op);
unsigned short nElems = reader.ReadUInt16();
unsigned short nElemsAlloc = reader.ReadUInt16();
unsigned short nElemSize = reader.ReadUInt16();
bool bTruncated = false;
if (0xFFF0 == nElemSize)
{
nElemSize = 4;
bTruncated = true;
}
else nElemSize = 2;
long dwSize = nElems * nElemSize;
if (opInscribe->op - 6 != (dwSize))
{
bool b = false;
}
int count = dwSize / nElemSize; //4x (int or short)
ODRAW::PInscribe* pInscribe = dynamic_cast<ODRAW::PInscribe*>(pOpt.get());
if (!pInscribe) return rectangles;
for (int i = 0; i < count; ++i)
for (size_t i = 0; i < pInscribe->complex.data.size(); ++i)
{
RECT rc;
if (bTruncated)
{
rc.top = reader.ReadInt16();
rc.left = reader.ReadInt16();
rc.right = reader.ReadInt16();
rc.bottom = reader.ReadInt16();
}
else
{
rc.top = reader.ReadInt32();
rc.left = reader.ReadInt32();
rc.right = reader.ReadInt32();
rc.bottom = reader.ReadInt32();
}
rc.top = UpdateFromGuides(rc.top);
rc.left = UpdateFromGuides(rc.left);
rc.right = UpdateFromGuides(rc.right);
rc.bottom = UpdateFromGuides(rc.bottom);
rc.top = UpdateFromGuides(pInscribe->complex.data[i].t);
rc.left = UpdateFromGuides(pInscribe->complex.data[i].l);
rc.right = UpdateFromGuides(pInscribe->complex.data[i].r);
rc.bottom = UpdateFromGuides(pInscribe->complex.data[i].b);
rectangles.push_back( std::to_wstring(rc.top) + L"," + std::to_wstring(rc.left) + L"," +
std::to_wstring(rc.right) + L"," + std::to_wstring(rc.bottom));
}
return rectangles;
}
//------------------------------------------------------------------------------------------------------

View File

@ -48,7 +48,6 @@
#include "OfficeDrawing/ChildAnchor.h"
#include "OfficeDrawing/ClientAnchor.h"
#include "OfficeDrawing/Shapetypes/LineType.h"
#include "OfficeDrawing/PathParser.h"
#include "OfficeDrawing/MetafilePictBlip.h"
#include "OfficeDrawing/BitmapBlip.h"
@ -90,8 +89,8 @@ namespace DocFileFormat
std::wstring getTextboxAnchor( unsigned int anchor ) const;
std::wstring buildStyle ( const Shape* shape, const ChildAnchor* anchor, const std::vector<OptionEntryPtr>& options, int zIndex ) const;
void AppendOptionsToStyle ( std::wstring* style, const std::vector<OptionEntryPtr>& options, int zIndex ) const;
std::wstring buildStyle ( const Shape* shape, const ChildAnchor* anchor, const std::vector<ODRAW::OfficeArtFOPTEPtr>& options, int zIndex ) const;
void AppendOptionsToStyle ( std::wstring* style, const std::vector<ODRAW::OfficeArtFOPTEPtr>& options, int zIndex ) const;
int UpdateFromGuides(const int val) const;
@ -100,7 +99,7 @@ namespace DocFileFormat
std::wstring getArrowLength ( unsigned int op ) const;
std::wstring getArrowWidth ( unsigned int op ) const;
std::wstring getFillMethod ( unsigned int p ) const;
std::wstring getFillColorString( const unsigned char* p, unsigned int size ) const;
std::wstring getFillColorString( const ODRAW::OfficeArtFOPTEPtr& pOpt ) const;
std::wstring getFillType ( unsigned int p ) const;
std::wstring getShadowType ( unsigned int p ) const;
@ -114,14 +113,14 @@ namespace DocFileFormat
std::wstring GetLineFrom (const ChildAnchor* pAnchor) const;
std::wstring GetLineTo (const ChildAnchor* pAnchor) const;
std::wstring GetWrapCoords ( const OptionEntryPtr& pOpt ) const;
std::vector<std::wstring> GetTextRectangles ( const OptionEntryPtr& pOpt ) const;
std::wstring GetConnectAngles ( const OptionEntryPtr& pOpt ) const;
std::wstring GetConnectLocs ( const OptionEntryPtr& pOpt ) const;
void GetGuides ( const OptionEntryPtr& pOpt );
std::wstring GetWrapCoords ( const ODRAW::OfficeArtFOPTEPtr& pOpt ) const;
std::vector<std::wstring> GetTextRectangles ( const ODRAW::OfficeArtFOPTEPtr& pOpt ) const;
std::wstring GetConnectAngles ( const ODRAW::OfficeArtFOPTEPtr& pOpt ) const;
std::wstring GetConnectLocs ( const ODRAW::OfficeArtFOPTEPtr& pOpt ) const;
void GetGuides ( const ODRAW::OfficeArtFOPTEPtr& pOpt );
int m_nAdjValues[8];
std::vector<_guides> m_arrGuides;
std::vector<ODRAW::MSOSG> m_arrGuides;
bool m_isInlineShape;
Spa* m_pSpa;

View File

@ -33,6 +33,7 @@
#include "VMLShapeTypeMapping.h"
#include "OfficeDrawing/Shapetypes/OvalType.h"
#include "OfficeDrawing/Shapetypes/WordArtText.h"
#include "../../ASCOfficeXlsFile2/source/XlsFormat/Logic/Biff_structures/ODRAW/OfficeArtFOPTE.h"
namespace DocFileFormat
{
@ -170,8 +171,9 @@ namespace DocFileFormat
m_pXmlWriter->WriteNodeEnd( L"", true );
//Lock
if ( ( pShape->Lock.fUsefLockAspectRatio ) && ( pShape->Lock.fLockAspectRatio ) )
//Lock ???
ODRAW::ProtectionBooleanProperties *prot = dynamic_cast<ODRAW::ProtectionBooleanProperties*>(pShape->Lock.get());
if ((prot) && (prot->fUsefLockAspectRatio && prot->fLockAspectRatio))
{
appendValueAttribute( _lock, L"aspectratio", L"t" );
}

View File

@ -208,28 +208,19 @@ HEADERS += \
../../DocDocxConverter/OfficeDrawing/ChildAnchor.h \
../../DocDocxConverter/OfficeDrawing/ClientAnchor.h \
../../DocDocxConverter/OfficeDrawing/ClientData.h \
../../DocDocxConverter/OfficeDrawing/DiagramBooleanProperties.h \
../../DocDocxConverter/OfficeDrawing/DrawingContainer.h \
../../DocDocxConverter/OfficeDrawing/DrawingGroup.h \
../../DocDocxConverter/OfficeDrawing/DrawingGroupRecord.h \
../../DocDocxConverter/OfficeDrawing/DrawingRecord.h \
../../DocDocxConverter/OfficeDrawing/FillStyleBooleanProperties.h \
../../DocDocxConverter/OfficeDrawing/GeometryBooleanProperties.h \
../../DocDocxConverter/OfficeDrawing/GeometryTextBooleanProperties.h \
../../DocDocxConverter/OfficeDrawing/GroupContainer.h \
../../DocDocxConverter/OfficeDrawing/GroupShapeBooleanProperties.h \
../../DocDocxConverter/OfficeDrawing/GroupShapeRecord.h \
../../DocDocxConverter/OfficeDrawing/LineStyleBooleanProperties.h \
../../DocDocxConverter/OfficeDrawing/MetafilePictBlip.h \
../../DocDocxConverter/OfficeDrawing/OfficeArtClientTextbox.h \
../../DocDocxConverter/OfficeDrawing/PathParser.h \
../../DocDocxConverter/OfficeDrawing/PathSegment.h \
../../DocDocxConverter/OfficeDrawing/ProtectionBooleanProperties.h \
../../DocDocxConverter/OfficeDrawing/Record.h \
../../DocDocxConverter/OfficeDrawing/RecordFactory.h \
../../DocDocxConverter/OfficeDrawing/RegularContainer.h \
../../DocDocxConverter/OfficeDrawing/ShadowStyleBooleanProperties.h \
../../DocDocxConverter/OfficeDrawing/threeDBooleanProperties.h \
../../DocDocxConverter/OfficeDrawing/Shape.h \
../../DocDocxConverter/OfficeDrawing/ShapeContainer.h \
../../DocDocxConverter/OfficeDrawing/ShapeOptions.h \

View File

@ -775,10 +775,6 @@
RelativePath="..\..\DocDocxConverter\OfficeDrawing\ClientData.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\DiagramBooleanProperties.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\DrawingContainer.h"
>
@ -795,34 +791,14 @@
RelativePath="..\..\DocDocxConverter\OfficeDrawing\DrawingRecord.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\FillStyleBooleanProperties.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\GeometryBooleanProperties.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\GeometryTextBooleanProperties.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\GroupContainer.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\GroupShapeBooleanProperties.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\GroupShapeRecord.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\LineStyleBooleanProperties.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\MetafilePictBlip.h"
>
@ -831,18 +807,6 @@
RelativePath="..\..\DocDocxConverter\OfficeDrawing\OfficeArtClientTextbox.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\PathParser.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\PathSegment.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\ProtectionBooleanProperties.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\Record.cpp"
>
@ -863,10 +827,6 @@
RelativePath="..\..\DocDocxConverter\OfficeDrawing\RegularContainer.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\ShadowStyleBooleanProperties.h"
>
</File>
<File
RelativePath="..\..\DocDocxConverter\OfficeDrawing\Shape.h"
>

View File

@ -58,6 +58,11 @@ namespace NSBinPptxRW
{
class CDrawingConverter;
}
namespace OOX
{
class CApp;
class CCore;
}
namespace Writers
{
@ -87,6 +92,8 @@ namespace Writers
std::wstring m_sThemePath;
int m_nDocPrIndex;
BinDocxRW::CComments* m_pComments;
OOX::CApp* m_pApp;
OOX::CCore* m_pCore;
FileWriter (std::wstring sDirOutput,std::wstring sFontDir, bool bNoFontDir, int nVersion, bool bSaveChartAsImg, NSBinPptxRW::CDrawingConverter* pDrawingConverter, std::wstring sThemePath)
: m_pDrawingConverter(pDrawingConverter), m_sThemePath(sThemePath), m_bSaveChartAsImg(bSaveChartAsImg),
@ -105,9 +112,16 @@ namespace Writers
m_oWebSettingsWriter (sDirOutput),
m_nDocPrIndex(0),
m_pComments(NULL),
m_oCustomXmlWriter (sDirOutput, pDrawingConverter)
m_oCustomXmlWriter (sDirOutput, pDrawingConverter),
m_pApp (NULL),
m_pCore (NULL)
{
}
~FileWriter()
{
RELEASEOBJECT(m_pApp);
RELEASEOBJECT(m_pCore);
}
int getNextDocPr()
{
m_nDocPrIndex++;

View File

@ -38,6 +38,9 @@
#include "../BinWriter/BinReaderWriterDefines.h"
#include "../../XlsxSerializerCom/Writer/BinaryReader.h"
#include "../../ASCOfficePPTXFile/PPTXFormat/App.h"
#include "../../ASCOfficePPTXFile/PPTXFormat/Core.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Docx.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Document.h"
#include "../../Common/DocxFormat/Source/DocxFormat/FontTable.h"
@ -47,6 +50,8 @@
#include "../../Common/DocxFormat/Source/DocxFormat/Footnote.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Endnote.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Settings/Settings.h"
#include "../../Common/DocxFormat/Source/DocxFormat/App.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Core.h"
#include "../DocWrapper/XlsxSerializer.h"
@ -8798,6 +8803,26 @@ public:
//case c_oSerTableTypes::Document:
// res = Binary_DocumentTableReader(m_oBufferedStream, m_oFileWriter, m_oFileWriter.m_oDocumentWriter).Read();
// break;
case c_oSerTableTypes::App:
{
PPTX::App oApp(NULL);
oApp.fromPPTY(&m_oBufferedStream);
OOX::CApp* pApp = new OOX::CApp(NULL);
pApp->FromPptxApp(&oApp);
pApp->SetRequiredDefaults();
m_oFileWriter.m_pApp = pApp;
}
break;
case c_oSerTableTypes::Core:
{
PPTX::Core oCore(NULL);
oCore.fromPPTY(&m_oBufferedStream);
OOX::CCore* pCore = new OOX::CCore(NULL);
pCore->FromPptxCore(&oCore);
pCore->SetRequiredDefaults();
m_oFileWriter.m_pCore = pCore;
}
break;
case c_oSerTableTypes::HdrFtr:
res = Binary_HdrFtrTableReader(m_oBufferedStream, m_oFileWriter, m_oFileWriter.m_pComments).Read();
break;

View File

@ -4266,10 +4266,10 @@ namespace BinDocxRW
if ( pSSub->m_oSSubPr.IsInit() )
WriteMathSSubPr(pSSub->m_oSSubPr.get());
if ( pSSub->m_oSub.IsInit() )
WriteMathSub(pSSub->m_oSub.get());
if ( pSSub->m_oElement.IsInit() )
WriteMathElement(pSSub->m_oElement.get());
if ( pSSub->m_oSub.IsInit() )
WriteMathSub(pSSub->m_oSub.get());
m_oBcw.WriteItemEnd(nCurPos);
break;
@ -4281,12 +4281,12 @@ namespace BinDocxRW
if ( pSSubSup->m_oSSubSupPr.IsInit() )
WriteMathSSubSupPr(pSSubSup->m_oSSubSupPr.get());
if ( pSSubSup->m_oElement.IsInit() )
WriteMathElement(pSSubSup->m_oElement.get());
if ( pSSubSup->m_oSub.IsInit() )
WriteMathSub(pSSubSup->m_oSub.get());
if ( pSSubSup->m_oSup.IsInit() )
WriteMathSup(pSSubSup->m_oSup.get());
if ( pSSubSup->m_oElement.IsInit() )
WriteMathElement(pSSubSup->m_oElement.get());
m_oBcw.WriteItemEnd(nCurPos);
break;

View File

@ -260,8 +260,7 @@ namespace BinXlsxRW{
{
OOX::Spreadsheet::CTableFile* pTable = new OOX::Spreadsheet::CTableFile(NULL);
pTable->m_oTable.Init();
pTable->m_oTable->m_oDisplayName.Init();
pTable->m_oTable->m_oDisplayName->append(L"Table1");
pTable->m_oTable->m_oDisplayName = L"Table1";
pTable->m_oTable->m_oRef.Init();
pTable->m_oTable->m_oRef->SetValue(OOX::Spreadsheet::CCell::combineRef(m_nRow1 - 1, m_nCol1 - 1) + L":" + OOX::Spreadsheet::CCell::combineRef(m_nRow2 - 1, m_nCol2 - 1));
pTable->m_oTable->m_oTotalsRowCount.Init();

View File

@ -296,33 +296,28 @@ bool BinDocxRW::CDocxSerializer::loadFromFile(const std::wstring& sSrcFileName,
OOX::CPath DocProps = std::wstring(_T("docProps"));
OOX::CApp* pApp = new OOX::CApp(NULL);
if (pApp)
if (NULL != m_pCurFileWriter->m_pApp)
{
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
pApp->SetApplication(sApplication);
#if defined(INTVER)
pApp->SetAppVersion(VALUE2STR(INTVER));
#endif
pApp->SetDocSecurity(0);
pApp->SetScaleCrop(false);
pApp->SetLinksUpToDate(false);
pApp->SetSharedDoc(false);
pApp->SetHyperlinksChanged(false);
pApp->write(pathDocProps + FILE_SEPARATOR_STR + _T("app.xml"), DocProps, *pContentTypes);
delete pApp;
}
OOX::CCore* pCore = new OOX::CCore(NULL);
if (pCore)
m_pCurFileWriter->m_pApp->write(pathDocProps + FILE_SEPARATOR_STR + _T("app.xml"), DocProps, *pContentTypes);
}
else
{
pCore->SetCreator(_T(""));
pCore->SetLastModifiedBy(_T(""));
pCore->write(pathDocProps + FILE_SEPARATOR_STR + _T("core.xml"), DocProps, *pContentTypes);
delete pCore;
}
OOX::CApp pApp(NULL);
pApp.SetDefaults();
pApp.write(pathDocProps + FILE_SEPARATOR_STR + _T("app.xml"), DocProps, *pContentTypes);
}
if (NULL != m_pCurFileWriter->m_pCore)
{
m_pCurFileWriter->m_pCore->write(pathDocProps + FILE_SEPARATOR_STR + _T("core.xml"), DocProps, *pContentTypes);
}
else
{
OOX::CCore pCore(NULL);
pCore.SetDefaults();
pCore.write(pathDocProps + FILE_SEPARATOR_STR + _T("core.xml"), DocProps, *pContentTypes);
}
/////////////////////////////////////////////////////////////////////////////////////
m_pCurFileWriter->Write();
pContentTypes->Write(sDstPath);

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:ASCOfficeOdfFile.xcodeproj">
</FileRef>
</Workspace>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1 @@
DO NOT REMOVE FOLDER FOR XCODE

View File

@ -852,9 +852,12 @@ namespace
}
}
std::wstring StyleDisplayName(const std::wstring & Name, odf_types::style_family::type Type)
std::wstring StyleDisplayName(const std::wstring & Name, const std::wstring & DisplayName, odf_types::style_family::type Type)
{
if (!Name.empty())
if (!DisplayName.empty())
return DisplayName;
if (!Name.empty())
return Name;
else
{
@ -930,8 +933,8 @@ mc:Ignorable=\"w14 wp14\">";
for (size_t i = 0; i < numIds.size(); i++)
{
strm << L"<w:num w:numId=\"" << numIds[i] << L"\" >";
strm << L"<w:abstractNumId w:val=\"" << numIds[i] << "\" />";
strm << L"<w:num w:numId=\"" << numIds[i] << L"\">";
strm << L"<w:abstractNumId w:val=\"" << numIds[i] << "\"/>";
strm << L"</w:num>";
}
@ -957,19 +960,19 @@ void docx_conversion_context::process_fonts()
if (!arFonts[i]) continue;
if (arFonts[i]->name().empty()) continue;
strm << L"<w:font w:name=\"" << arFonts[i]->name() << L"\" >";
strm << L"<w:font w:name=\"" << arFonts[i]->name() << L"\">";
if (!arFonts[i]->charset().empty())
strm << L"<w:charset w:val=\"" << arFonts[i]->charset() <<"\" />";
strm << L"<w:charset w:val=\"" << arFonts[i]->charset() <<"\"/>";
if (!arFonts[i]->family().empty())
strm << L"<w:family w:val=\"" << arFonts[i]->family() << "\" />";
strm << L"<w:family w:val=\"" << arFonts[i]->family() << "\"/>";
if (!arFonts[i]->pitch().empty())
strm << L"<w:pitch w:val=\"" << arFonts[i]->pitch() << "\" />";
strm << L"<w:pitch w:val=\"" << arFonts[i]->pitch() << "\"/>";
if (!arFonts[i]->alt_name().empty())
strm << L"<w:altName w:val=\"" << arFonts[i]->alt_name() << "\" />";
strm << L"<w:altName w:val=\"" << arFonts[i]->alt_name() << "\"/>";
strm << L"</w:font>";
}
@ -992,7 +995,7 @@ void docx_conversion_context::process_styles()
_Wostream << L"xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" ";
_Wostream << L"xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" ";
_Wostream << L"xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" ";
_Wostream << L"mc:Ignorable=\"w14\"> ";
_Wostream << L"mc:Ignorable=\"w14\">";
if (odf_reader::odf_document * doc = root())
{
@ -1062,30 +1065,34 @@ void docx_conversion_context::process_styles()
}
_Wostream << L">";
const std::wstring displayName = StyleDisplayName(arStyles[i]->name(), arStyles[i]->type());
const std::wstring displayName = StyleDisplayName(arStyles[i]->name(), arStyles[i]->display_name(), arStyles[i]->type());
_Wostream << L"<w:name w:val=\"" << displayName << L"\" />";
_Wostream << L"<w:name w:val=\"" << displayName << L"\"/>";
if (odf_reader::style_instance * baseOn = arStyles[i]->parent())
{
const std::wstring basedOnId = styles_map_.get(baseOn->name(), baseOn->type());
_Wostream << L"<w:basedOn w:val=\"" << basedOnId << "\" />";
_Wostream << L"<w:basedOn w:val=\"" << basedOnId << "\"/>";
}
else if (!arStyles[i]->is_default() && styles_map_.check(L"", arStyles[i]->type()))
{
const std::wstring basedOnId = styles_map_.get(L"", arStyles[i]->type());
_Wostream << L"<w:basedOn w:val=\"" << basedOnId << "\" />";
_Wostream << L"<w:basedOn w:val=\"" << basedOnId << "\"/>";
}
else
{
_Wostream << L"<w:qFormat/>";
}
if (odf_reader::style_instance * next = arStyles[i]->next())
{
const std::wstring nextId = styles_map_.get(next->name(), next->type());
_Wostream << L"<w:next w:val=\"" << nextId << "\" />";
_Wostream << L"<w:next w:val=\"" << nextId << "\"/>";
}
else if (arStyles[i]->is_default())
{
// self
_Wostream << L"<w:next w:val=\"" << id << "\" />";
_Wostream << L"<w:next w:val=\"" << id << "\"/>";
}
if (odf_reader::style_content * content = arStyles[i]->content())
@ -1555,7 +1562,8 @@ int docx_conversion_context::process_paragraph_attr(odf_reader::text::paragraph_
)
{
process_page_break_after(styleInst);
if (styleInst->is_automatic())
if (styleInst->is_automatic())
{
if (odf_reader::style_content * styleContent = styleInst->content())
{
@ -1593,9 +1601,13 @@ int docx_conversion_context::process_paragraph_attr(odf_reader::text::paragraph_
}
}
set_margin_left(properties.fo_margin_left_? 20.0 * properties.fo_margin_left_->get_length().get_value_unit(odf_types::length::pt) : 0);
styleContent->docx_convert(*this);
if ((Attr->outline_level_) && (*Attr->outline_level_ > 0))
{
std::wstringstream & _pPr = get_styles_context().paragraph_nodes();
_pPr << L"<w:outlineLvl w:val=\"" << *Attr->outline_level_ - 1 << L"\"/>";
}
end_automatic_style();
push_text_properties(styleContent->get_style_text_properties());
@ -1632,12 +1644,6 @@ int docx_conversion_context::process_paragraph_attr(odf_reader::text::paragraph_
output_stream() << L"</w:pPr>";
}
}
else if ((Attr->outline_level_) && (*Attr->outline_level_ > 0))
{
output_stream() << L"<w:pPr>";
output_stream() << L"<w:outlineLvl w:val=\"" << *Attr->outline_level_ - 1 << L"\"/>";
output_stream() << L"</w:pPr>";
}
return 1;
}
}

View File

@ -375,10 +375,9 @@ void _oox_drawing::serialize_bodyPr(std::wostream & strm, const std::wstring & n
{
CP_XML_NODE(L"a:spAutoFit");
}
else if ((bFitToSize) && (*bFitToSize))
if ((bFitToSize) && (*bFitToSize))
{
CP_XML_NODE(L"a:noAutofit");
//CP_XML_NODE(L"a:spAutoFit")
CP_XML_NODE(L"a:normAutofit");
//{
// CP_XML_ATTR(L"lnSpcReduction", 10000);
//}

View File

@ -42,11 +42,11 @@ namespace odf_reader {
const wchar_t * abstract_xml::ns = L"";
const wchar_t * abstract_xml::name = L"abstract-xml";
std::wostream & abstract_xml::text_to_stream(std::wostream & _Wostream) const
std::wostream & abstract_xml::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
for (size_t i = 0; i < xml_content_.size(); i++)
{
xml_content_[i]->text_to_stream(_Wostream);
xml_content_[i]->text_to_stream(_Wostream, bXmlEncode);
}
return _Wostream;
}

View File

@ -47,7 +47,7 @@ public:
CPDOCCORE_DEFINE_VISITABLE();
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
virtual std::wostream & xml_to_stream(std::wostream & _Wostream) const;
public:

View File

@ -34,6 +34,8 @@
#include "serialize_elements.h"
#include <odf/odf_document.h>
#include <xml/utils.h>
#include "../formulasconvert/formulasconvert.h"
#include "style_graphic_properties.h"
@ -735,7 +737,7 @@ void process_build_object::visit(chart_title& val)
if (val.text_p_)
{
std::wstringstream v;
val.text_p_->text_to_stream(v);
val.text_p_->text_to_stream(v, false);
t.content_ = v.str();
}
ApplyTextProperties(val.attlist_.common_attlist_.chart_style_name_.get_value_or(L""), t.text_properties_);
@ -762,7 +764,7 @@ void process_build_object::visit(chart_subtitle & val)
{
title t;
std::wstringstream v;
val.text_p_->text_to_stream(v);
val.text_p_->text_to_stream(v, false);
t.content_ = v.str();
if (val.attlist_.common_draw_position_attlist_.svg_x_)
@ -1036,7 +1038,8 @@ void process_build_object::visit(table_table_cell& val)
for (size_t i = 0 ; i < val.content_.elements_.size(); i++)
{
std::wstringstream wstream_temp;
val.content_.elements_[i]->text_to_stream(wstream_temp);
val.content_.elements_[i]->text_to_stream(wstream_temp, false);
if (val.content_.elements_[i]->get_type() == typeTextP)
{
cell_cash += wstream_temp.str();

View File

@ -106,7 +106,7 @@ void draw_image::add_child_element( xml::sax * Reader, const std::wstring & Ns,
//CP_NOT_APPLICABLE_ELM();
}
}
std::wostream & draw_image::text_to_stream(std::wostream & _Wostream) const
std::wostream & draw_image::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -115,7 +115,7 @@ std::wostream & draw_image::text_to_stream(std::wostream & _Wostream) const
const wchar_t * draw_chart::ns = L"draw";
const wchar_t * draw_chart::name = L"chart";
std::wostream & draw_chart::text_to_stream(std::wostream & _Wostream) const
std::wostream & draw_chart::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -225,9 +225,9 @@ void draw_g::add_child_element( xml::sax * Reader, const std::wstring & Ns, cons
}
}
std::wostream & draw_g::text_to_stream(std::wostream & _Wostream) const
std::wostream & draw_g::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(content_);
CP_SERIALIZE_TEXT(content_, bXmlEncode);
return _Wostream;
}
@ -236,9 +236,9 @@ std::wostream & draw_g::text_to_stream(std::wostream & _Wostream) const
const wchar_t * draw_frame::ns = L"draw";
const wchar_t * draw_frame::name = L"frame";
std::wostream & draw_frame::text_to_stream(std::wostream & _Wostream) const
std::wostream & draw_frame::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(content_);
CP_SERIALIZE_TEXT(content_, bXmlEncode);
return _Wostream;
}
@ -308,9 +308,9 @@ void draw_text_box_attlist::add_attributes( const xml::attributes_wc_ptr & Attri
const wchar_t * draw_text_box::ns = L"draw";
const wchar_t * draw_text_box::name = L"text-box";
std::wostream & draw_text_box::text_to_stream(std::wostream & _Wostream) const
std::wostream & draw_text_box::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(content_);
CP_SERIALIZE_TEXT(content_, bXmlEncode);
return _Wostream;
}

View File

@ -70,7 +70,7 @@ public:
static const ElementType type = typeDrawImage;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
virtual void docx_convert(oox::docx_conversion_context & Context);
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
@ -114,7 +114,7 @@ public:
virtual void pptx_convert(oox::pptx_conversion_context & Context);
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
@ -160,7 +160,7 @@ public:
virtual void pptx_convert(oox::pptx_conversion_context & Context);
virtual void pptx_convert_placeHolder(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
int idx_in_owner ;
@ -211,7 +211,7 @@ public:
draw_g() : position_child_x1(0x7fffffff), position_child_y1(0x7fffffff), position_child_x2(0x7fffffff), position_child_y2(0x7fffffff) {}
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
virtual void docx_convert(oox::docx_conversion_context & Context);
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
@ -263,7 +263,7 @@ public:
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
virtual void pptx_convert(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
draw_text_box_attlist draw_text_box_attlist_;
office_element_ptr_array content_;

View File

@ -145,8 +145,11 @@ void draw_frame::pptx_convert(oox::pptx_conversion_context & Context)
{
style_instance * defaultStyle = Context.root()->odf_context().styleContainer().style_default_by_type(odf_types::style_family::Presentation);
if (defaultStyle)instances.push_back(defaultStyle);
instances.push_back(baseStyleInst);
instances.push_back(baseStyleInst);
}
else if (common_presentation_attlist_.presentation_class_)
{
instances.push_back(baseStyleInst);
}
if (grStyleInst)//обычная векторная фигура
{

View File

@ -44,7 +44,7 @@ namespace odf_reader {
const wchar_t * svg_desc::ns = L"svg";
const wchar_t * svg_desc::name = L"desc";
std::wostream & svg_desc::text_to_stream(std::wostream & _Wostream) const
std::wostream & svg_desc::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
_Wostream << text_ ;
return _Wostream;
@ -60,7 +60,7 @@ void svg_desc::add_text(const std::wstring & Text)
const wchar_t * svg_font_face_uri::ns = L"svg";
const wchar_t * svg_font_face_uri::name = L"font-face-uri";
std::wostream & svg_font_face_uri::text_to_stream(std::wostream & _Wostream) const
std::wostream & svg_font_face_uri::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -88,7 +88,7 @@ void svg_font_face_uri::add_text(const std::wstring & Text)
const wchar_t * svg_font_face_format::ns = L"svg";
const wchar_t * svg_font_face_format::name = L"font-face-format";
std::wostream & svg_font_face_format::text_to_stream(std::wostream & _Wostream) const
std::wostream & svg_font_face_format::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -111,7 +111,7 @@ void svg_font_face_format::add_text(const std::wstring & Text)
const wchar_t * svg_font_face_name::ns = L"svg";
const wchar_t * svg_font_face_name::name = L"font-face-name";
std::wostream & svg_font_face_name::text_to_stream(std::wostream & _Wostream) const
std::wostream & svg_font_face_name::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}

View File

@ -69,7 +69,7 @@ public:
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
common_svg_font_face_xlink_attlist common_svg_font_face_xlink_attlist_;
office_element_ptr_array svg_font_face_format_;
@ -92,7 +92,7 @@ public:
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
std::wstring text_;
@ -114,7 +114,7 @@ public:
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
optional<std::wstring>::Type svg_string_;
@ -136,7 +136,7 @@ public:
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
optional<std::wstring>::Type name_;
private:

View File

@ -87,9 +87,9 @@ void common_style_header_footer_attlist::add_attributes( const xml::attributes_w
}
// header-footer-content
std::wostream & header_footer_content::text_to_stream(std::wostream & _Wostream) const
std::wostream & header_footer_content::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
serialize_elements_text(_Wostream, content_);
serialize_elements_text(_Wostream, content_, bXmlEncode);
return _Wostream;
}

View File

@ -100,7 +100,7 @@ private:
class header_footer_content
{
public:
std::wostream & text_to_stream(std::wostream & _Wostream) const;
std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name, document_context * Context);
office_element_ptr tracked_changes_;

View File

@ -48,9 +48,9 @@ namespace text {
const wchar_t * number::ns = L"text";
const wchar_t * number::name = L"number";
std::wostream & number::text_to_stream(std::wostream & _Wostream) const
std::wostream & number::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
_Wostream << xml::utils::replace_xml_to_text( string_ );
_Wostream << (bXmlEncode ? xml::utils::replace_xml_to_text( string_ ) : string_);
return _Wostream;
}
@ -64,11 +64,11 @@ void number::add_text(const std::wstring & Text)
const wchar_t * list_item::ns = L"text";
const wchar_t * list_item::name = L"list-item";
std::wostream & list_item::text_to_stream(std::wostream & _Wostream) const
std::wostream & list_item::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->text_to_stream(_Wostream);
content_[i]->text_to_stream(_Wostream, bXmlEncode);
}
return _Wostream;
}
@ -161,11 +161,11 @@ void list_header::pptx_convert(oox::pptx_conversion_context & Context)
}
std::wostream & list_header::text_to_stream(std::wostream & _Wostream) const
std::wostream & list_header::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->text_to_stream(_Wostream);
content_[i]->text_to_stream(_Wostream, bXmlEncode);
}
return _Wostream;
}

View File

@ -52,7 +52,7 @@ public:
CPDOCCORE_DEFINE_VISITABLE();
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
public:
number() {}
@ -90,7 +90,7 @@ public:
void pptx_convert(oox::pptx_conversion_context & Context);
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
public:
list_item() {}
@ -128,7 +128,7 @@ public:
void pptx_convert(oox::pptx_conversion_context & Context);
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
public:
list_header() {}

View File

@ -65,7 +65,7 @@ void math_mi::add_text(const std::wstring & Text)
text_ = Text;
}
std::wostream & math_mi::text_to_stream(std::wostream & _strm) const
std::wostream & math_mi::text_to_stream(std::wostream & _strm, bool bXmlEncode) const
{
if (text_)
_strm << *text_;
@ -143,7 +143,7 @@ void math_mo::add_text(const std::wstring & Text)
text_ = Text;
}
std::wostream & math_mo::text_to_stream(std::wostream & _strm) const
std::wostream & math_mo::text_to_stream(std::wostream & _strm, bool bXmlEncode) const
{
if (text_)
_strm << *text_;

View File

@ -48,7 +48,7 @@ public:
virtual void oox_convert(oox::math_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes ( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element ( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
@ -73,7 +73,7 @@ public:
virtual void oox_convert(oox::math_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
_CP_OPT(bool) fence_;
_CP_OPT(bool) stretchy_;

View File

@ -48,14 +48,14 @@ namespace text {
const wchar_t * note_citation::ns = L"text";
const wchar_t * note_citation::name = L"note-citation";
std::wostream & note_citation::text_to_stream(std::wostream & _Wostream) const
std::wostream & note_citation::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
if (!text_label_.empty())
_Wostream << text_label_;
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->text_to_stream(_Wostream);
content_[i]->text_to_stream(_Wostream, bXmlEncode);
}
return _Wostream;
}
@ -89,11 +89,11 @@ void note_citation::docx_convert(oox::docx_conversion_context & Context)
const wchar_t * note_body::ns = L"text";
const wchar_t * note_body::name = L"note-body";
std::wostream & note_body::text_to_stream(std::wostream & _Wostream) const
std::wostream & note_body::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->text_to_stream(_Wostream);
content_[i]->text_to_stream(_Wostream, bXmlEncode);
}
return _Wostream;
}

View File

@ -53,7 +53,7 @@ public:
virtual void docx_convert(oox::docx_conversion_context & Context) ;
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
public:
note_citation() {}
@ -84,7 +84,7 @@ public:
virtual void docx_convert(oox::docx_conversion_context & Context) ;
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
public:
note_body() {}

View File

@ -57,6 +57,7 @@ namespace odf_reader {
style_instance::style_instance(
styles_container *Container,
const std::wstring &Name,
const std::wstring &DisplayName,
style_family::type Type,
style_content *Content,
bool IsAutomatic,
@ -68,6 +69,7 @@ style_instance::style_instance(
) :
container_ (Container),
name_ (Name),
display_name_ (DisplayName),
style_type_ (Type),
content_ (Content),
is_automatic_ (IsAutomatic),
@ -110,7 +112,7 @@ void styles_container::add_style( const std::wstring & Name,
{
ParentStyleName = L"";//иначе в коде возможно зацикливание.
}
style_instance_ptr newStyle = style_instance_ptr( new style_instance(this, Name, Type, Content, IsAutomatic, IsDefault,
style_instance_ptr newStyle = style_instance_ptr( new style_instance(this, Name, DisplayName, Type, Content, IsAutomatic, IsDefault,
ParentStyleName, NextStyleName, DataStyleName, StyleClass));
instances_.push_back(newStyle);
@ -143,7 +145,10 @@ const std::wstring & style_instance::name() const
{
return name_;
}
const std::wstring & style_instance::display_name() const
{
return display_name_;
}
style_family::type style_instance::type() const
{
return style_type_;

View File

@ -61,6 +61,7 @@ public:
style_instance(
styles_container * Container,
const std::wstring & Name,
const std::wstring & DisplayName,
odf_types::style_family::type Type,
style_content * Content,
bool IsAutomatic,
@ -71,8 +72,8 @@ public:
const std::wstring & StyleClass
);
const std::wstring & name() const;
const std::wstring & display_name()const;
const std::wstring & name() const;
odf_types::style_family::type type() const;
style_content * content() const;
style_instance * parent() const;
@ -88,7 +89,10 @@ public:
private:
styles_container * container_;
std::wstring name_;
std::wstring display_name_;
odf_types::style_family::type style_type_;
style_content * content_;

View File

@ -45,7 +45,7 @@ namespace odf_reader {
const wchar_t * office_binary_data::ns = L"office";
const wchar_t * office_binary_data::name = L"binary-data";
std::wostream & office_binary_data::text_to_stream(std::wostream & _Wostream) const
std::wostream & office_binary_data::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}

View File

@ -53,7 +53,7 @@ public:
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
std::wstring write_to(const std::wstring & path);
private:

View File

@ -55,10 +55,10 @@ namespace odf_reader {
const wchar_t * office_body::ns = L"office";
const wchar_t * office_body::name = L"body";
std::wostream & office_body::text_to_stream(std::wostream & _Wostream) const
std::wostream & office_body::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
if (content_)
content_->text_to_stream(_Wostream);
content_->text_to_stream(_Wostream, bXmlEncode);
return _Wostream;
}

View File

@ -62,7 +62,7 @@ public:
virtual void pptx_convert(oox::pptx_conversion_context & Context);
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
public:
office_body();

View File

@ -43,9 +43,9 @@ namespace odf_reader {
std::wostream & office_document_base::text_to_stream(std::wostream & _Wostream) const
std::wostream & office_document_base::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
office_body_->text_to_stream(_Wostream);
office_body_->text_to_stream(_Wostream, bXmlEncode);
return _Wostream;
}

View File

@ -44,7 +44,7 @@ namespace odf_reader {
class office_document_base : public office_element
{
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
CPDOCCORE_DEFINE_VISITABLE();

View File

@ -112,7 +112,7 @@ public:
_CP_OPT(std::wstring) element_style_name;
_CP_OPT(std::wstring) next_element_style_name; //for master page
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const
{
_CP_LOG << L"[warning] use base text_to_stream\n";
return _Wostream;

View File

@ -120,9 +120,9 @@ void paragraph_content_element<ElementT>::docx_serialize_run(office_element_ptr
const wchar_t * text::ns = L"";
const wchar_t * text::name = L"";
std::wostream & text::text_to_stream(std::wostream & _Wostream) const
std::wostream & text::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
_Wostream << xml::utils::replace_text_to_xml( text_, true );
_Wostream << (bXmlEncode ? xml::utils::replace_text_to_xml( text_, true ) : text_);
return _Wostream;
}
@ -202,7 +202,7 @@ office_element_ptr text::create(const std::wstring & Text)
const wchar_t * s::ns = L"text";
const wchar_t * s::name = L"s";
std::wostream & s::text_to_stream(std::wostream & _Wostream) const
std::wostream & s::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
if (text_c_)
{
@ -259,7 +259,7 @@ void s::pptx_convert(oox::pptx_conversion_context & Context)
const wchar_t * tab::ns = L"text";
const wchar_t * tab::name = L"tab";
std::wostream & tab::text_to_stream(std::wostream & _Wostream) const
std::wostream & tab::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
_Wostream << std::wstring(L"\t");
return _Wostream;
@ -291,7 +291,7 @@ void tab::pptx_convert(oox::pptx_conversion_context & Context)
const wchar_t * line_break::ns = L"text";
const wchar_t * line_break::name = L"line-break";
std::wostream & line_break::text_to_stream(std::wostream & _Wostream) const
std::wostream & line_break::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
_Wostream << std::wstring(L"\r\n");
return _Wostream;
@ -332,7 +332,7 @@ void bookmark::add_attributes( const xml::attributes_wc_ptr & Attributes )
{
CP_APPLY_ATTR(L"text:name", text_name_, std::wstring(L""));
}
std::wostream & bookmark::text_to_stream(std::wostream & _Wostream) const
std::wostream & bookmark::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -348,7 +348,7 @@ void bookmark_start::docx_convert(oox::docx_conversion_context & Context)
{
Context.start_bookmark(name_);
}
std::wostream & bookmark_start::text_to_stream(std::wostream & _Wostream) const
std::wostream & bookmark_start::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -364,7 +364,7 @@ void bookmark_end::docx_convert(oox::docx_conversion_context & Context)
{
Context.end_bookmark(name_);
}
std::wostream & bookmark_end::text_to_stream(std::wostream & _Wostream) const
std::wostream & bookmark_end::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -461,11 +461,11 @@ void hidden_text::docx_convert(oox::docx_conversion_context & Context)
const wchar_t * span::ns = L"text";
const wchar_t * span::name = L"span";
std::wostream & span::text_to_stream(std::wostream & _Wostream) const
std::wostream & span::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->text_to_stream(_Wostream);
content_[i]->text_to_stream(_Wostream, bXmlEncode);
}
return _Wostream;
}
@ -574,11 +574,11 @@ void span::pptx_convert(oox::pptx_conversion_context & Context)
const wchar_t * a::ns = L"text";
const wchar_t * a::name = L"a";
std::wostream & a::text_to_stream(std::wostream & _Wostream) const
std::wostream & a::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
for (size_t i = 0; i < content_.size(); i++)
{
content_[i]->text_to_stream(_Wostream);
content_[i]->text_to_stream(_Wostream, bXmlEncode);
}
return _Wostream;
}
@ -712,13 +712,13 @@ const wchar_t * note::name = L"note";
note::note()
{}
std::wostream & note::text_to_stream(std::wostream & _Wostream) const
std::wostream & note::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
if (text_note_citation_)
text_note_citation_->text_to_stream(_Wostream);
text_note_citation_->text_to_stream(_Wostream, bXmlEncode);
if (text_note_body_)
text_note_body_->text_to_stream(_Wostream);
text_note_body_->text_to_stream(_Wostream, bXmlEncode);
return _Wostream;
}
@ -806,13 +806,13 @@ void note::docx_convert(oox::docx_conversion_context & Context)
const wchar_t * ruby::ns = L"text";
const wchar_t * ruby::name = L"ruby";
std::wostream & ruby::text_to_stream(std::wostream & _Wostream) const
std::wostream & ruby::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
if (text_ruby_base_)
text_ruby_base_->text_to_stream(_Wostream);
text_ruby_base_->text_to_stream(_Wostream, bXmlEncode);
if (text_ruby_text_)
text_ruby_text_->text_to_stream(_Wostream);
text_ruby_text_->text_to_stream(_Wostream, bXmlEncode);
return _Wostream;
}
@ -846,9 +846,9 @@ void ruby::add_text(const std::wstring & Text)
const wchar_t * title::ns = L"text";
const wchar_t * title::name = L"title";
std::wostream & title::text_to_stream(std::wostream & _Wostream) const
std::wostream & title::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
@ -883,9 +883,9 @@ void title::pptx_convert(oox::pptx_conversion_context & Context)
const wchar_t * subject::ns = L"text";
const wchar_t * subject::name = L"subject";
std::wostream & subject::text_to_stream(std::wostream & _Wostream) const
std::wostream & subject::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
@ -919,9 +919,9 @@ void subject::pptx_convert(oox::pptx_conversion_context & Context)
const wchar_t * chapter::ns = L"text";
const wchar_t * chapter::name = L"chapter";
std::wostream & chapter::text_to_stream(std::wostream & _Wostream) const
std::wostream & chapter::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
@ -955,9 +955,9 @@ void chapter::pptx_convert(oox::pptx_conversion_context & Context)
const wchar_t * text_placeholder::ns = L"text";
const wchar_t * text_placeholder::name = L"placeholder";
std::wostream & text_placeholder::text_to_stream(std::wostream & _Wostream) const
std::wostream & text_placeholder::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
@ -986,9 +986,9 @@ void text_placeholder::pptx_convert(oox::pptx_conversion_context & Context)
const wchar_t * text_page_number::ns = L"text";
const wchar_t * text_page_number::name = L"page-number";
std::wostream & text_page_number::text_to_stream(std::wostream & _Wostream) const
std::wostream & text_page_number::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
@ -1024,9 +1024,9 @@ void text_page_number::pptx_convert(oox::pptx_conversion_context & Context)
const wchar_t * text_page_count::ns = L"text";
const wchar_t * text_page_count::name = L"page-count";
std::wostream & text_page_count::text_to_stream(std::wostream & _Wostream) const
std::wostream & text_page_count::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
@ -1059,9 +1059,9 @@ void text_page_count::pptx_convert(oox::pptx_conversion_context & Context)
const wchar_t * text_date::ns = L"text";
const wchar_t * text_date::name = L"date";
std::wostream & text_date::text_to_stream(std::wostream & _Wostream) const
std::wostream & text_date::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
@ -1120,9 +1120,9 @@ void text_modification_date::pptx_convert(oox::pptx_conversion_context & Context
const wchar_t * text_time::ns = L"text";
const wchar_t * text_time::name = L"time";
std::wostream & text_time::text_to_stream(std::wostream & _Wostream) const
std::wostream & text_time::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
@ -1180,9 +1180,9 @@ void text_modification_time::pptx_convert(oox::pptx_conversion_context & Context
const wchar_t * text_file_name::ns = L"text";
const wchar_t * text_file_name::name = L"file-name";
std::wostream & text_file_name::text_to_stream(std::wostream & _Wostream) const
std::wostream & text_file_name::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
void text_file_name::add_attributes( const xml::attributes_wc_ptr & Attributes )
@ -1245,9 +1245,9 @@ void sequence::add_attributes( const xml::attributes_wc_ptr & Attributes )
CP_APPLY_ATTR(L"text:ref-name", ref_name_);
CP_APPLY_ATTR(L"text:name", name_);
}
std::wostream & sequence::text_to_stream(std::wostream & _Wostream) const
std::wostream & sequence::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
void sequence::add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name)
@ -1332,9 +1332,9 @@ void expression::add_attributes( const xml::attributes_wc_ptr & Attributes )
CP_APPLY_ATTR(L"text:formula", text_formula_);
}
std::wostream & expression::text_to_stream(std::wostream & _Wostream) const
std::wostream & expression::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
_Wostream << xml::utils::replace_text_to_xml( text_ );
_Wostream << (bXmlEncode ? xml::utils::replace_text_to_xml( text_ ) : text_);
return _Wostream;
}
void expression::add_text(const std::wstring & Text)
@ -1361,9 +1361,9 @@ void text_input::add_attributes( const xml::attributes_wc_ptr & Attributes )
CP_APPLY_ATTR(L"text:description", text_description_);
}
std::wostream & text_input::text_to_stream(std::wostream & _Wostream) const
std::wostream & text_input::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
_Wostream << xml::utils::replace_text_to_xml( text_ );
_Wostream << (bXmlEncode ? xml::utils::replace_text_to_xml( text_ ) : text_);
return _Wostream;
}
void text_input::add_text(const std::wstring & Text)
@ -1405,9 +1405,9 @@ void text_drop_down::add_text(const std::wstring & Text)
{
text_ = Text;
}
std::wostream & text_drop_down::text_to_stream(std::wostream & _Wostream) const
std::wostream & text_drop_down::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
_Wostream << xml::utils::replace_text_to_xml( text_ );
_Wostream << (bXmlEncode ? xml::utils::replace_text_to_xml( text_ ) : text_);
return _Wostream;
}
@ -1570,9 +1570,9 @@ void sender_company::docx_convert(oox::docx_conversion_context & Context)
const wchar_t * sender_postal_code::ns = L"text";
const wchar_t * sender_postal_code::name = L"sender-postal-code";
std::wostream & sender_postal_code::text_to_stream(std::wostream & _Wostream) const
std::wostream & sender_postal_code::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
@ -1722,9 +1722,9 @@ void bibliography_mark::add_text(const std::wstring & Text)
text_ = text::create(Text) ;
}
std::wostream & bibliography_mark::text_to_stream(std::wostream & _Wostream) const
std::wostream & bibliography_mark::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(text_);
CP_SERIALIZE_TEXT(text_, bXmlEncode);
return _Wostream;
}
void bibliography_mark::serialize(std::wostream & strm)

View File

@ -79,7 +79,7 @@ public:
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
virtual void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
bool preserve_;
@ -112,7 +112,7 @@ public:
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
virtual void pptx_convert(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
s(unsigned int c) : text_c_(c) {};
s() {};
@ -146,7 +146,7 @@ public:
virtual void xlsx_convert(oox::xlsx_conversion_context & Context) ;
virtual void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
_CP_OPT(unsigned int) text_tab_ref_;
@ -174,7 +174,7 @@ public:
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
virtual void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes ) {}
@ -196,7 +196,7 @@ public:
static const ElementType type = typeTextBookmark;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
std::wstring text_name_;
@ -220,7 +220,7 @@ public:
static const ElementType type = typeTextBookmarkStart;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
virtual void docx_convert(oox::docx_conversion_context & Context);
std::wstring name_;
@ -244,7 +244,7 @@ public:
static const ElementType type = typeTextBookmarkEnd;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
virtual void docx_convert(oox::docx_conversion_context & Context);
std::wstring name_;
@ -382,7 +382,7 @@ public:
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
virtual void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
span() {}
@ -414,7 +414,7 @@ public:
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
virtual void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
a() {}
@ -450,7 +450,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
note();
private:
@ -477,7 +477,7 @@ public:
static const ElementType type = typeTextRuby;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -502,7 +502,7 @@ public:
static const ElementType type = typeTextTitle;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
virtual void docx_convert(oox::docx_conversion_context & Context);
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
@ -530,7 +530,7 @@ public:
static const ElementType type = typeTextChapter;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
virtual void docx_convert(oox::docx_conversion_context & Context);
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
virtual void pptx_convert(oox::pptx_conversion_context & Context) ;
@ -556,7 +556,7 @@ public:
static const ElementType type = typeTextSubject;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
virtual void docx_convert(oox::docx_conversion_context & Context);
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
virtual void pptx_convert(oox::pptx_conversion_context & Context) ;
@ -584,7 +584,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
_CP_OPT(std::wstring) text_description_;
_CP_OPT(std::wstring) text_placeholder_type_;
@ -611,7 +611,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -643,7 +643,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
_CP_OPT(odf_types::style_numformat) style_num_format_;
_CP_OPT(odf_types::Bool) style_num_letter_sync_;
@ -672,7 +672,7 @@ public:
virtual void docx_convert(oox::docx_conversion_context & Context);
virtual void pptx_convert(oox::pptx_conversion_context & Context);
std::wostream & text_to_stream(std::wostream & _Wostream) const;
std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
_CP_OPT(std::wstring) style_data_style_name_;
_CP_OPT(odf_types::Bool) text_fixed_;
@ -727,7 +727,7 @@ public:
virtual void docx_convert(oox::docx_conversion_context & Context);
virtual void pptx_convert(oox::pptx_conversion_context & Context);
std::wostream & text_to_stream(std::wostream & _Wostream) const;
std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
_CP_OPT(std::wstring) style_data_style_name_;
_CP_OPT(odf_types::Bool)text_fixed_;
@ -782,7 +782,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -858,7 +858,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
_CP_OPT(odf_types::style_numformat) style_num_format_;
_CP_OPT(std::wstring) style_num_letter_sync_;
@ -888,7 +888,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
_CP_OPT(std::wstring) style_data_style_name_;
_CP_OPT(std::wstring) text_display_;
@ -916,7 +916,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
_CP_OPT(std::wstring) text_description_;
std::wstring text_;
@ -965,7 +965,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -1099,7 +1099,7 @@ public:
static const ElementType type = typeTextSenderPostalCode;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
virtual void docx_convert(oox::docx_conversion_context & Context);
private:
@ -1316,7 +1316,7 @@ public:
void serialize(std::wostream & strm);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
std::wstring identifier_;
odf_types::bibliography bibliography_type_;

View File

@ -50,9 +50,9 @@ namespace text {
const wchar_t * ruby_base::ns = L"text";
const wchar_t * ruby_base::name = L"ruby-base";
std::wostream & ruby_base::text_to_stream(std::wostream & _Wostream) const
std::wostream & ruby_base::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
serialize_elements_text(_Wostream, content_);
serialize_elements_text(_Wostream, content_, bXmlEncode);
return _Wostream;
}
@ -76,9 +76,9 @@ void ruby_base::add_text(const std::wstring & Text)
const wchar_t * ruby_text::ns = L"text";
const wchar_t * ruby_text::name = L"ruby-text";
std::wostream & ruby_text::text_to_stream(std::wostream & _Wostream) const
std::wostream & ruby_text::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(content_);
CP_SERIALIZE_TEXT(content_, bXmlEncode);
return _Wostream;
}

View File

@ -53,9 +53,7 @@ public:
static const ElementType type = typeTextRubyBase;
CPDOCCORE_DEFINE_VISITABLE();
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
ruby_base() {}
private:
@ -63,7 +61,6 @@ private:
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
virtual void add_text(const std::wstring & Text);
private:
office_element_ptr_array content_;
};
@ -82,10 +79,8 @@ public:
static const ElementType type = typeTextRubyText;
CPDOCCORE_DEFINE_VISITABLE();
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
public:
ruby_text() {}
private:
@ -93,7 +88,6 @@ private:
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
virtual void add_text(const std::wstring & Text);
private:
odf_types::style_ref text_style_name_;
office_element_ptr_array content_;

View File

@ -36,40 +36,23 @@
namespace cpdoccore {
namespace odf_reader {
inline std::wostream & serialize_elements(std::wostream & _Wostream, const office_element_ptr & elm)
inline std::wostream & serialize_elements_text(std::wostream & _Wostream, const office_element_ptr & elm, bool bXmlEncode = true)
{
if (elm)
elm->xml_to_stream(_Wostream);
elm->text_to_stream(_Wostream, bXmlEncode);
return _Wostream;
}
inline std::wostream & serialize_elements(std::wostream & _Wostream, const office_element_ptr_array & elms)
inline std::wostream & serialize_elements_text(std::wostream & _Wostream, const office_element_ptr_array & elms, bool bXmlEncode = true)
{
for (size_t i = 0; i < elms.size(); i++)
{
serialize_elements(_Wostream, elms[i]);
serialize_elements_text(_Wostream, elms[i], bXmlEncode);
}
return _Wostream;
}
inline std::wostream & serialize_elements_text(std::wostream & _Wostream, const office_element_ptr & elm)
{
if (elm)
elm->text_to_stream(_Wostream);
return _Wostream;
}
inline std::wostream & serialize_elements_text(std::wostream & _Wostream, const office_element_ptr_array & elms)
{
for (size_t i = 0; i < elms.size(); i++)
{
serialize_elements_text(_Wostream, elms[i]);
}
return _Wostream;
}
#define CP_SERIALIZE_XML(ELEMENT) serialize_elements(_Wostream, (ELEMENT))
#define CP_SERIALIZE_TEXT(ELEMENT) serialize_elements_text(_Wostream, (ELEMENT))
#define CP_SERIALIZE_TEXT(ELEMENT, bXmlEncode) serialize_elements_text(_Wostream, (ELEMENT), bXmlEncode)
}

View File

@ -55,6 +55,8 @@ void graphic_format_properties::add_attributes( const xml::attributes_wc_ptr & A
CP_APPLY_ATTR(L"draw:auto-grow-width", draw_auto_grow_width_);
CP_APPLY_ATTR(L"draw:fit-to-size", draw_fit_to_size_);
CP_APPLY_ATTR(L"draw:fit-to-contour", draw_fit_to_contour_);
CP_APPLY_ATTR(L"style:shrink-to-fit", style_shrink_to_fit_);
CP_APPLY_ATTR(L"draw:fit-to-size", draw_fit_to_size_str_);
CP_APPLY_ATTR(L"draw:stroke", draw_stroke_);
CP_APPLY_ATTR(L"draw:stroke-dash", draw_stroke_dash_);
@ -99,7 +101,12 @@ void graphic_format_properties::add_attributes( const xml::attributes_wc_ptr & A
common_padding_attlist_.add_attributes(Attributes);
common_shadow_attlist_.add_attributes(Attributes);
common_background_color_attlist_.add_attributes(Attributes);
if (draw_fit_to_size_str_ && !style_shrink_to_fit_)
{//https://bugs.documentfoundation.org/show_bug.cgi?id=97630
if (*draw_fit_to_size_str_ == L"shrink-to-fit")
style_shrink_to_fit_ = true;
}
}
void graphic_format_properties::apply_to(std::vector<_property> & properties)
@ -134,8 +141,10 @@ void graphic_format_properties::apply_to(std::vector<_property> & properties)
if (draw_auto_grow_height_) properties.push_back(_property(L"auto-grow-height", *draw_auto_grow_height_));
if (draw_auto_grow_width_) properties.push_back(_property(L"auto-grow-width", *draw_auto_grow_width_));
if (draw_fit_to_size_) properties.push_back(_property(L"fit-to-size", *draw_fit_to_size_));
if (draw_fit_to_contour_) properties.push_back(_property(L"fit-to-contour", *draw_fit_to_contour_));
if (style_shrink_to_fit_) properties.push_back(_property(L"fit-to-size", true));
else if (draw_fit_to_size_) properties.push_back(_property(L"fit-to-size", *draw_fit_to_size_));
if (common_draw_fill_attlist_.draw_color_mode_)
{
@ -183,6 +192,7 @@ void graphic_format_properties::apply_from(const graphic_format_properties * Oth
_CP_APPLY_PROP3(draw_auto_grow_width_);
_CP_APPLY_PROP3(draw_fit_to_size_);
_CP_APPLY_PROP3(draw_fit_to_contour_);
_CP_APPLY_PROP3(style_shrink_to_fit_);
_CP_APPLY_PROP3(svg_stroke_color_);
_CP_APPLY_PROP3(svg_stroke_width_);

View File

@ -94,7 +94,9 @@ public:
_CP_OPT(bool) draw_auto_grow_height_;
_CP_OPT(bool) draw_auto_grow_width_;
_CP_OPT(bool) draw_fit_to_size_;
_CP_OPT(bool) style_shrink_to_fit_;
_CP_OPT(std::wstring) draw_fit_to_size_str_;
_CP_OPT(bool) draw_fit_to_size_; // draw:fit-to-size="shrink-to-fit" style:shrink-to-fit="true" - cebre_1.odp
_CP_OPT(bool) draw_fit_to_contour_;
_CP_OPT(std::wstring) draw_wrap_influence_on_position_;

View File

@ -53,7 +53,7 @@ namespace odf_reader {
const wchar_t * style_tab_stop::ns = L"style";
const wchar_t * style_tab_stop::name = L"tab-stop";
std::wostream & style_tab_stop::text_to_stream(std::wostream & _Wostream) const
std::wostream & style_tab_stop::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -84,7 +84,7 @@ void style_tab_stop::add_text(const std::wstring & Text)
const wchar_t * style_tab_stops::ns = L"style";
const wchar_t * style_tab_stops::name = L"tab-stops";
std::wostream & style_tab_stops::text_to_stream(std::wostream & _Wostream) const
std::wostream & style_tab_stops::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -104,7 +104,7 @@ void style_tab_stops::add_child_element( xml::sax * Reader, const std::wstring &
const wchar_t * style_drop_cap::ns = L"style";
const wchar_t * style_drop_cap::name = L"drop-cap";
std::wostream & style_drop_cap::text_to_stream(std::wostream & _Wostream) const
std::wostream & style_drop_cap::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -129,7 +129,7 @@ void style_drop_cap::add_text(const std::wstring & Text)
const wchar_t * style_background_image::ns = L"style";
const wchar_t * style_background_image::name = L"background-image";
std::wostream & style_background_image::text_to_stream(std::wostream & _Wostream) const
std::wostream & style_background_image::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -267,7 +267,7 @@ bool paragraph_format_properties::add_child_element( xml::sax * Reader, const st
const wchar_t * style_paragraph_properties::ns = L"style";
const wchar_t * style_paragraph_properties::name = L"paragraph-properties";
std::wostream & style_paragraph_properties::text_to_stream(std::wostream & _Wostream) const
std::wostream & style_paragraph_properties::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}

View File

@ -92,7 +92,7 @@ public:
void pptx_convert(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
@ -129,7 +129,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
office_element_ptr_array content_;
private:
@ -152,7 +152,7 @@ public:
CPDOCCORE_DEFINE_VISITABLE();
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
odf_types::drop_cap_length style_length_;
unsigned int style_lines_;
@ -179,7 +179,7 @@ public:
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name);
@ -294,7 +294,7 @@ public:
paragraph_format_properties content_;
public:
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );

View File

@ -296,7 +296,7 @@ void style_content::add_child_element( xml::sax * Reader, const std::wstring & N
const wchar_t * default_style::ns = L"style";
const wchar_t * default_style::name = L"default-style";
std::wostream & default_style::text_to_stream(std::wostream & _Wostream) const
std::wostream & default_style::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -440,7 +440,7 @@ void draw_opacity::add_child_element( xml::sax * Reader, const std::wstring & Ns
const wchar_t * style::ns = L"style";
const wchar_t * style::name = L"style";
std::wostream & style::text_to_stream(std::wostream & _Wostream) const
std::wostream & style::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -559,7 +559,7 @@ void draw_styles::add_child_element( xml::sax * Reader, const std::wstring & Ns,
const wchar_t * office_automatic_styles::ns = L"office";
const wchar_t * office_automatic_styles::name = L"automatic-styles";
std::wostream & office_automatic_styles::text_to_stream(std::wostream & _Wostream) const
std::wostream & office_automatic_styles::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -587,7 +587,7 @@ void office_automatic_styles::add_text(const std::wstring & Text)
const wchar_t * office_master_styles::ns = L"office";
const wchar_t * office_master_styles::name = L"master-styles";
std::wostream & office_master_styles::text_to_stream(std::wostream & _Wostream) const
std::wostream & office_master_styles::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -849,7 +849,7 @@ void style_section_properties::add_child_element( xml::sax * Reader, const std::
const wchar_t * style_header_style::ns = L"style";
const wchar_t * style_header_style::name = L"header-style";
std::wostream & style_header_style::text_to_stream(std::wostream & _Wostream) const
std::wostream & style_header_style::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -874,7 +874,7 @@ void style_header_style::add_child_element( xml::sax * Reader, const std::wstrin
const wchar_t * style_footer_style::ns = L"style";
const wchar_t * style_footer_style::name = L"footer-style";
std::wostream & style_footer_style::text_to_stream(std::wostream & _Wostream) const
std::wostream & style_footer_style::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -900,7 +900,7 @@ void style_footer_style::add_child_element( xml::sax * Reader, const std::wstrin
const wchar_t * style_page_layout::ns = L"style";
const wchar_t * style_page_layout::name = L"page-layout";
std::wostream & style_page_layout::text_to_stream(std::wostream & _Wostream) const
std::wostream & style_page_layout::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -1529,7 +1529,7 @@ void style_master_page_attlist::add_attributes( const xml::attributes_wc_ptr & A
const wchar_t * style_master_page::ns = L"style";
const wchar_t * style_master_page::name = L"master-page";
std::wostream & style_master_page::text_to_stream(std::wostream & _Wostream) const
std::wostream & style_master_page::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}
@ -1786,7 +1786,7 @@ void text_notes_configuration::add_text(const std::wstring & Text)
const wchar_t * style_presentation_page_layout::ns = L"style";
const wchar_t * style_presentation_page_layout::name = L"presentation-page-layout";
std::wostream & style_presentation_page_layout::text_to_stream(std::wostream & _Wostream) const
std::wostream & style_presentation_page_layout::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return _Wostream;
}

View File

@ -129,7 +129,7 @@ public:
static const ElementType type = typeStyleDefaultStyle;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
default_style() {};
@ -350,7 +350,7 @@ public:
static const ElementType type = typeStyleStyle;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
style() : style_auto_update_(false) { }
@ -442,7 +442,7 @@ public:
static const ElementType type = typeOfficeAutomaticStyles;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
styles styles_; ///< styles
office_element_ptr_array style_page_layout_;
@ -467,7 +467,7 @@ public:
static const ElementType type = typeOfficeMasterStyles;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
office_element_ptr_array style_master_page_; // разметки тем
office_element_ptr style_handout_master_; // разметки для принтера - .. второстепенно
@ -512,7 +512,7 @@ public:
CPDOCCORE_DEFINE_VISITABLE();
virtual void pptx_convert(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -843,7 +843,7 @@ public:
static const ElementType type = typeStyleHeaderStyle;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
office_element_ptr style_header_footer_properties_;
@ -864,7 +864,7 @@ public:
static const ElementType type = typeStyleFooterStyle;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
office_element_ptr style_header_footer_properties_;
@ -885,7 +885,7 @@ public:
static const ElementType type = typeStylePageLayout;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
std::wstring style_name_;
odf_types::page_usage style_page_usage_; // default All
@ -1082,7 +1082,7 @@ public:
virtual void pptx_convert(oox::pptx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
_CP_OPT(std::wstring) style_name_;
office_element_ptr_array content_;

View File

@ -369,9 +369,9 @@ void table_columns_and_groups::add_child_element( xml::sax * Reader, const std::
//////////////////////////////////////////////////////////////////////////////////////////////////
std::wostream & table_table_cell_content::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_table_cell_content::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return CP_SERIALIZE_TEXT(elements_);
return CP_SERIALIZE_TEXT(elements_, bXmlEncode);
}
void table_table_cell_content::add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name, document_context * Context)
@ -384,9 +384,9 @@ void table_table_cell_content::add_child_element( xml::sax * Reader, const std::
const wchar_t * table_table_cell::ns = L"table";
const wchar_t * table_table_cell::name = L"table-cell";
std::wostream & table_table_cell::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_table_cell::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return content_.text_to_stream(_Wostream);
return content_.text_to_stream(_Wostream, bXmlEncode);
}
void table_table_cell::add_attributes( const xml::attributes_wc_ptr & Attributes )
@ -420,9 +420,9 @@ bool table_table_cell::empty(bool bWithStyle)
const wchar_t * table_covered_table_cell::ns = L"table";
const wchar_t * table_covered_table_cell::name = L"covered-table-cell";
std::wostream & table_covered_table_cell::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_covered_table_cell::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return content_.text_to_stream(_Wostream);
return content_.text_to_stream(_Wostream, bXmlEncode);
}
void table_covered_table_cell::add_attributes( const xml::attributes_wc_ptr & Attributes )
@ -451,9 +451,9 @@ bool table_covered_table_cell::empty()
const wchar_t * table_table_row::ns = L"table";
const wchar_t * table_table_row::name = L"table-row";
std::wostream & table_table_row::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_table_row::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return CP_SERIALIZE_TEXT(content_);
return CP_SERIALIZE_TEXT(content_, bXmlEncode);
}
void table_table_row::add_attributes( const xml::attributes_wc_ptr & Attributes )
@ -508,9 +508,9 @@ bool table_table_row::empty_content_cells(bool bWithCellStyle)
const wchar_t * table_table_rows::ns = L"table";
const wchar_t * table_table_rows::name = L"table-rows";
std::wostream & table_table_rows::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_table_rows::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return CP_SERIALIZE_TEXT(table_table_row_);
return CP_SERIALIZE_TEXT(table_table_row_, bXmlEncode);
}
void table_table_rows::add_attributes( const xml::attributes_wc_ptr & Attributes )
@ -527,9 +527,9 @@ void table_table_rows::add_child_element( xml::sax * Reader, const std::wstring
const wchar_t * table_table_header_rows::ns = L"table";
const wchar_t * table_table_header_rows::name = L"table-header-rows";
std::wostream & table_table_header_rows::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_table_header_rows::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return serialize_elements_text(_Wostream, table_table_row_);
return serialize_elements_text(_Wostream, table_table_row_, bXmlEncode);
}
void table_table_header_rows::add_attributes( const xml::attributes_wc_ptr & Attributes )
@ -552,12 +552,12 @@ void table_table_header_rows::add_text(const std::wstring & Text)
//////////////////////////////////////////////////////////////////////////////////////////////////
// table:rows
std::wostream & table_rows::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_rows::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
if (table_table_rows_)
CP_SERIALIZE_TEXT(table_table_rows_);
CP_SERIALIZE_TEXT(table_table_rows_, bXmlEncode);
else
CP_SERIALIZE_TEXT(table_table_row_);
CP_SERIALIZE_TEXT(table_table_row_, bXmlEncode);
return _Wostream;
}
@ -628,10 +628,10 @@ table_rows_no_group::table_rows_no_group() : was_header_(false)
{
};
std::wostream & table_rows_no_group::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_rows_no_group::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
table_rows_1_.text_to_stream(_Wostream);
CP_SERIALIZE_TEXT(table_table_header_rows_);
CP_SERIALIZE_TEXT(table_table_header_rows_, bXmlEncode);
table_rows_2_.text_to_stream(_Wostream);
return _Wostream;
}
@ -663,9 +663,9 @@ table_rows_and_groups::table_rows_and_groups()
{
}
std::wostream & table_rows_and_groups::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_rows_and_groups::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(content_);
CP_SERIALIZE_TEXT(content_, bXmlEncode);
return _Wostream;
}
@ -706,9 +706,9 @@ void table_rows_and_groups::add_child_element( xml::sax * Reader, const std::wst
const wchar_t * table_table_row_group::ns = L"table";
const wchar_t * table_table_row_group::name = L"table-row-group";
std::wostream & table_table_row_group::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_table_row_group::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return table_rows_and_groups_.text_to_stream(_Wostream);
return table_rows_and_groups_.text_to_stream(_Wostream, bXmlEncode);
}
void table_table_row_group::add_attributes( const xml::attributes_wc_ptr & Attributes )

View File

@ -356,7 +356,7 @@ public:
virtual void xlsx_convert(oox::xlsx_conversion_context & Context);
virtual void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -375,7 +375,7 @@ CP_REGISTER_OFFICE_ELEMENT2(table_table_row);
class table_table_cell_content
{
public:
std::wostream & text_to_stream(std::wostream & _Wostream) const;
std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name, document_context * Context);
bool docx_convert(oox::docx_conversion_context & Context) ;
@ -404,7 +404,7 @@ public:
virtual void xlsx_convert(oox::xlsx_conversion_context & Context) ;
virtual void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -439,7 +439,7 @@ public:
virtual void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual void xlsx_convert(oox::xlsx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -475,7 +475,7 @@ public:
table_table_rows()
{
}
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -501,7 +501,7 @@ public:
virtual void xlsx_convert(oox::xlsx_conversion_context & Context) ;
virtual void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -517,7 +517,7 @@ CP_REGISTER_OFFICE_ELEMENT2(table_table_header_rows);
class table_rows
{
public:
std::wostream & text_to_stream(std::wostream & _Wostream) const;
std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name, document_context * Context);
void docx_convert(oox::docx_conversion_context & Context);
@ -549,7 +549,7 @@ public:
table_rows_no_group();
std::wostream & text_to_stream(std::wostream & _Wostream) const;
std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name, document_context * Context);
void docx_convert(oox::docx_conversion_context & Context);
@ -568,7 +568,7 @@ class table_rows_and_groups
{
public:
table_rows_and_groups();
std::wostream & text_to_stream(std::wostream & _Wostream) const;
std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name, document_context * Context);
@ -606,7 +606,7 @@ public:
{
}
virtual void xlsx_convert(oox::xlsx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );

View File

@ -122,9 +122,9 @@ void process_paragraph_index(const paragraph_attrs & Attr, oox::docx_conversion_
}
std::wostream & paragraph::text_to_stream(std::wostream & _Wostream) const
std::wostream & paragraph::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(content_);
CP_SERIALIZE_TEXT(content_, bXmlEncode);
//_Wostream << L"\n";
return _Wostream;
}
@ -255,7 +255,7 @@ void paragraph::docx_convert(oox::docx_conversion_context & Context)
if (sequence_)
{
std::wstringstream _Wostream;
CP_SERIALIZE_TEXT(content_);///todooo
CP_SERIALIZE_TEXT(content_, true);///todooo
Context.get_drawing_context().set_next_object_caption(_Wostream.str());
}
@ -431,9 +431,9 @@ void soft_page_break::docx_convert(oox::docx_conversion_context & Context)
//////////////////////////////////////////////
std::wostream & h::text_to_stream(std::wostream & _Wostream) const
std::wostream & h::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return paragraph_.text_to_stream(_Wostream);
return paragraph_.text_to_stream(_Wostream, bXmlEncode);
}
void h::add_attributes( const xml::attributes_wc_ptr & Attributes )
@ -485,9 +485,9 @@ void h::pptx_convert(oox::pptx_conversion_context & Context)
const wchar_t * p::ns = L"text";
const wchar_t * p::name = L"p";
std::wostream & p::text_to_stream(std::wostream & _Wostream) const
std::wostream & p::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return paragraph_.text_to_stream(_Wostream);
return paragraph_.text_to_stream(_Wostream, bXmlEncode);
}
void p::add_attributes( const xml::attributes_wc_ptr & Attributes )
@ -531,11 +531,11 @@ void p::afterReadContent()
const wchar_t * list::ns = L"text";
const wchar_t * list::name = L"list";
std::wostream & list::text_to_stream(std::wostream & _Wostream) const
std::wostream & list::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
for (size_t i = 0; i < list_items_.size(); i++)
{
list_items_[i]->text_to_stream(_Wostream);
list_items_[i]->text_to_stream(_Wostream, bXmlEncode);
}
return _Wostream;
}
@ -599,7 +599,7 @@ void list::pptx_convert(oox::pptx_conversion_context & Context)
const wchar_t * soft_page_break::ns = L"text";
const wchar_t * soft_page_break::name = L"soft-page-break";
std::wostream & soft_page_break::text_to_stream(std::wostream & _Wostream) const
std::wostream & soft_page_break::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
_Wostream << L"\n";
return _Wostream;
@ -618,9 +618,9 @@ void soft_page_break::add_child_element( xml::sax * Reader, const std::wstring &
const wchar_t * section::ns = L"text";
const wchar_t * section::name = L"section";
std::wostream & section::text_to_stream(std::wostream & _Wostream) const
std::wostream & section::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
return serialize_elements_text(_Wostream, content_);
return serialize_elements_text(_Wostream, content_, bXmlEncode);
}
void section::afterCreate()
@ -768,9 +768,9 @@ void section_source::add_child_element( xml::sax * Reader, const std::wstring &
const wchar_t * index_body::ns = L"text";
const wchar_t * index_body::name = L"index-body";
std::wostream & index_body::text_to_stream(std::wostream & _Wostream) const
std::wostream & index_body::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(content_);
CP_SERIALIZE_TEXT(content_, bXmlEncode);
return _Wostream;
}
@ -829,9 +829,9 @@ void index_title::pptx_convert(oox::pptx_conversion_context & Context)
content_[i]->pptx_convert(Context);
}
}
std::wostream & index_title::text_to_stream(std::wostream & _Wostream) const
std::wostream & index_title::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(content_);
CP_SERIALIZE_TEXT(content_, bXmlEncode);
return _Wostream;
}
@ -914,9 +914,9 @@ void table_of_content::pptx_convert(oox::pptx_conversion_context & Context)
}
std::wostream & table_of_content::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_of_content::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(index_body_);
CP_SERIALIZE_TEXT(index_body_, bXmlEncode);
return _Wostream;
}
// text:table-of-content-source
@ -1032,9 +1032,9 @@ void table_index::pptx_convert(oox::pptx_conversion_context & Context)
if (index_body_)
index_body_->pptx_convert(Context);
}
std::wostream & table_index::text_to_stream(std::wostream & _Wostream) const
std::wostream & table_index::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(index_body_);
CP_SERIALIZE_TEXT(index_body_, bXmlEncode);
return _Wostream;
}
void table_index::add_attributes( const xml::attributes_wc_ptr & Attributes )
@ -1155,9 +1155,9 @@ void illustration_index::pptx_convert(oox::pptx_conversion_context & Context)
index_body_->pptx_convert(Context);
}
std::wostream & illustration_index::text_to_stream(std::wostream & _Wostream) const
std::wostream & illustration_index::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(index_body_);
CP_SERIALIZE_TEXT(index_body_, bXmlEncode);
return _Wostream;
}
@ -1307,9 +1307,9 @@ void alphabetical_index::pptx_convert(oox::pptx_conversion_context & Context)
if (index_body_)
index_body_->pptx_convert(Context);
}
std::wostream & alphabetical_index::text_to_stream(std::wostream & _Wostream) const
std::wostream & alphabetical_index::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(index_body_);
CP_SERIALIZE_TEXT(index_body_, bXmlEncode);
return _Wostream;
}
//----------------------------------------------------------------------------------------
@ -1418,9 +1418,9 @@ void object_index::pptx_convert(oox::pptx_conversion_context & Context)
if (index_body_)
index_body_->pptx_convert(Context);
}
std::wostream & object_index::text_to_stream(std::wostream & _Wostream) const
std::wostream & object_index::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(index_body_);
CP_SERIALIZE_TEXT(index_body_, bXmlEncode);
return _Wostream;
}
void object_index::add_attributes( const xml::attributes_wc_ptr & Attributes )
@ -1531,9 +1531,9 @@ void user_index::pptx_convert(oox::pptx_conversion_context & Context)
if (index_body_)
index_body_->pptx_convert(Context);
}
std::wostream & user_index::text_to_stream(std::wostream & _Wostream) const
std::wostream & user_index::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(index_body_);
CP_SERIALIZE_TEXT(index_body_, bXmlEncode);
return _Wostream;
}
void user_index::add_attributes( const xml::attributes_wc_ptr & Attributes )
@ -1692,9 +1692,9 @@ void bibliography::pptx_convert(oox::pptx_conversion_context & Context)
}
}
std::wostream & bibliography::text_to_stream(std::wostream & _Wostream) const
std::wostream & bibliography::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
CP_SERIALIZE_TEXT(index_body_);
CP_SERIALIZE_TEXT(index_body_, bXmlEncode);
return _Wostream;
}
@ -1949,9 +1949,9 @@ void variable_input::add_text(const std::wstring & Text)
{
text_ = Text;
}
std::wostream & variable_input::text_to_stream(std::wostream & _Wostream) const
std::wostream & variable_input::text_to_stream(std::wostream & _Wostream, bool bXmlEncode) const
{
_Wostream << xml::utils::replace_text_to_xml( text_ );
_Wostream << xml::utils::replace_text_to_xml( text_, bXmlEncode );
return _Wostream;
}

View File

@ -53,7 +53,7 @@ class paragraph
public:
paragraph() : next_section_(false), next_end_section_(false), is_header_(false) {}
std::wostream & text_to_stream(std::wostream & _Wostream) const;
std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
void add_attributes ( const xml::attributes_wc_ptr & Attributes );
void add_child_element ( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name, document_context * Context);
@ -110,7 +110,7 @@ public:
virtual void afterReadContent();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
paragraph paragraph_;
@ -146,7 +146,7 @@ public:
virtual void afterReadContent();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
p(){};
paragraph paragraph_;
@ -169,7 +169,7 @@ public:
static const ElementType type = typeTextList;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
list(){};
@ -200,7 +200,7 @@ public:
static const ElementType type = typeTextSoftPageBreak;
CPDOCCORE_DEFINE_VISITABLE();
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
void docx_convert(oox::docx_conversion_context & Context);
private:
@ -222,7 +222,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
virtual void afterCreate();
virtual void afterReadContent();
@ -306,7 +306,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -336,7 +336,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -368,7 +368,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -400,7 +400,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -432,7 +432,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -464,7 +464,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -496,7 +496,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -565,7 +565,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
void pptx_convert(oox::pptx_conversion_context & Context) ;
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
office_element_ptr index_title_;
office_element_ptr_array content_;
@ -588,7 +588,7 @@ public:
void pptx_convert(oox::pptx_conversion_context & Context) ;
void docx_convert(oox::docx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
@ -814,7 +814,7 @@ public:
void docx_convert(oox::docx_conversion_context & Context);
virtual std::wostream & text_to_stream(std::wostream & _Wostream) const;
virtual std::wostream & text_to_stream(std::wostream & _Wostream, bool bXmlEncode = true) const;
private:
virtual void add_attributes( const xml::attributes_wc_ptr & Attributes );
virtual void add_child_element( xml::sax * Reader, const std::wstring & Ns, const std::wstring & Name){}

View File

@ -306,38 +306,18 @@
>
</File>
</Filter>
<Filter
Name="include"
>
<File
RelativePath="..\include\cpdoccore\xml\attributes.h"
>
</File>
<File
RelativePath="..\include\cpdoccore\xml\nodetype.h"
>
</File>
<File
RelativePath="..\include\cpdoccore\xml\sax.h"
>
</File>
<File
RelativePath="..\include\cpdoccore\xml\simple_xml_writer.h"
>
</File>
<File
RelativePath="..\include\cpdoccore\xml\xmlchar.h"
>
</File>
<File
RelativePath="..\include\cpdoccore\xml\xmlelement.h"
>
</File>
</Filter>
<File
RelativePath="..\src\xml\attributes.cpp"
>
</File>
<File
RelativePath="..\include\xml\attributes.h"
>
</File>
<File
RelativePath="..\include\xml\nodetype.h"
>
</File>
<File
RelativePath="..\src\xml\sax.cpp"
>
@ -350,6 +330,14 @@
/>
</FileConfiguration>
</File>
<File
RelativePath="..\include\xml\sax.h"
>
</File>
<File
RelativePath="..\include\xml\simple_xml_writer.h"
>
</File>
<File
RelativePath="..\src\xml\utils.cpp"
>
@ -363,13 +351,21 @@
</FileConfiguration>
</File>
<File
RelativePath="..\include\cpdoccore\xml\utils.h"
RelativePath="..\include\xml\utils.h"
>
</File>
<File
RelativePath="..\src\xml\xmlchar.cpp"
>
</File>
<File
RelativePath="..\include\xml\xmlchar.h"
>
</File>
<File
RelativePath="..\include\xml\xmlelement.h"
>
</File>
</Files>
<Globals>
</Globals>

View File

@ -0,0 +1,841 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
8AF8AAF522048F9F004BDAC2 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA4622048F9E004BDAC2 /* utils.cpp */; };
8AF8AAF622048F9F004BDAC2 /* text_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA4822048F9E004BDAC2 /* text_elements.cpp */; };
8AF8AAF722048F9F004BDAC2 /* office_annotation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA4922048F9E004BDAC2 /* office_annotation.cpp */; };
8AF8AAF822048F9F004BDAC2 /* style_table_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5022048F9E004BDAC2 /* style_table_properties.cpp */; };
8AF8AAF922048F9F004BDAC2 /* svg_creator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5122048F9E004BDAC2 /* svg_creator.cpp */; };
8AF8AAFA22048F9F004BDAC2 /* ods_table_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5322048F9E004BDAC2 /* ods_table_state.cpp */; };
8AF8AAFB22048F9F004BDAC2 /* style_chart_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5522048F9E004BDAC2 /* style_chart_properties.cpp */; };
8AF8AAFC22048F9F004BDAC2 /* oox_shape_defines.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5622048F9E004BDAC2 /* oox_shape_defines.cpp */; };
8AF8AAFD22048F9F004BDAC2 /* odf_chart_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5822048F9E004BDAC2 /* odf_chart_context.cpp */; };
8AF8AAFE22048F9F004BDAC2 /* style_text_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5A22048F9E004BDAC2 /* style_text_properties.cpp */; };
8AF8AAFF22048F9F004BDAC2 /* logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA5C22048F9E004BDAC2 /* logging.cpp */; };
8AF8AB0022048F9F004BDAC2 /* table.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6122048F9E004BDAC2 /* table.cpp */; };
8AF8AB0122048F9F004BDAC2 /* office_chart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6222048F9E004BDAC2 /* office_chart.cpp */; };
8AF8AB0222048F9F004BDAC2 /* odf_table_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6322048F9E004BDAC2 /* odf_table_context.cpp */; };
8AF8AB0322048F9F004BDAC2 /* style_map.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6522048F9E004BDAC2 /* style_map.cpp */; };
8AF8AB0422048F9F004BDAC2 /* office_scripts.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6822048F9E004BDAC2 /* office_scripts.cpp */; };
8AF8AB0522048F9F004BDAC2 /* styles_list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6922048F9E004BDAC2 /* styles_list.cpp */; };
8AF8AB0622048F9F004BDAC2 /* styles_lite_container.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6C22048F9E004BDAC2 /* styles_lite_container.cpp */; };
8AF8AB0722048F9F004BDAC2 /* style_paragraph_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA6E22048F9E004BDAC2 /* style_paragraph_properties.cpp */; };
8AF8AB0822048F9F004BDAC2 /* office_document.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7022048F9E004BDAC2 /* office_document.cpp */; };
8AF8AB0922048F9F004BDAC2 /* anim_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7122048F9E004BDAC2 /* anim_elements.cpp */; };
8AF8AB0A22048F9F004BDAC2 /* odf_rels.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7422048F9E004BDAC2 /* odf_rels.cpp */; };
8AF8AB0B22048F9F004BDAC2 /* style_section_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7522048F9E004BDAC2 /* style_section_properties.cpp */; };
8AF8AB0C22048F9F004BDAC2 /* office_elements_create.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7622048F9E004BDAC2 /* office_elements_create.cpp */; };
8AF8AB0D22048F9F004BDAC2 /* odf_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA7822048F9E004BDAC2 /* odf_conversion_context.cpp */; };
8AF8AB0E22048F9F004BDAC2 /* odf_text_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA8F22048F9F004BDAC2 /* odf_text_context.cpp */; };
8AF8AB0F22048F9F004BDAC2 /* mediaitems.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9122048F9F004BDAC2 /* mediaitems.cpp */; };
8AF8AB1022048F9F004BDAC2 /* office_settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9322048F9F004BDAC2 /* office_settings.cpp */; };
8AF8AB1122048F9F004BDAC2 /* style_presentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9422048F9F004BDAC2 /* style_presentation.cpp */; };
8AF8AB1222048F9F004BDAC2 /* office_text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9722048F9F004BDAC2 /* office_text.cpp */; };
8AF8AB1322048F9F004BDAC2 /* odp_page_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9B22048F9F004BDAC2 /* odp_page_state.cpp */; };
8AF8AB1422048F9F004BDAC2 /* ods_table_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9C22048F9F004BDAC2 /* ods_table_context.cpp */; };
8AF8AB1522048F9F004BDAC2 /* calcext_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AA9F22048F9F004BDAC2 /* calcext_elements.cpp */; };
8AF8AB1622048F9F004BDAC2 /* odf_page_layout_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA122048F9F004BDAC2 /* odf_page_layout_state.cpp */; };
8AF8AB1722048F9F004BDAC2 /* odf_settings_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA222048F9F004BDAC2 /* odf_settings_context.cpp */; };
8AF8AB1822048F9F004BDAC2 /* style_page_layout_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA322048F9F004BDAC2 /* style_page_layout_properties.cpp */; };
8AF8AB1922048F9F004BDAC2 /* odf_page_layout_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA522048F9F004BDAC2 /* odf_page_layout_context.cpp */; };
8AF8AB1A22048F9F004BDAC2 /* abstract_xml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA622048F9F004BDAC2 /* abstract_xml.cpp */; };
8AF8AB1B22048F9F004BDAC2 /* table_named_expressions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA722048F9F004BDAC2 /* table_named_expressions.cpp */; };
8AF8AB1C22048F9F004BDAC2 /* odf_notes_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAA822048F9F004BDAC2 /* odf_notes_context.cpp */; };
8AF8AB1D22048F9F004BDAC2 /* draw_page.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAB22048F9F004BDAC2 /* draw_page.cpp */; };
8AF8AB1E22048F9F004BDAC2 /* number_style.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAC22048F9F004BDAC2 /* number_style.cpp */; };
8AF8AB1F22048F9F004BDAC2 /* odp_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAE22048F9F004BDAC2 /* odp_conversion_context.cpp */; };
8AF8AB2022048F9F004BDAC2 /* odf_drawing_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAAF22048F9F004BDAC2 /* odf_drawing_context.cpp */; };
8AF8AB2122048F9F004BDAC2 /* odf_comment_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB122048F9F004BDAC2 /* odf_comment_context.cpp */; };
8AF8AB2222048F9F004BDAC2 /* list.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB222048F9F004BDAC2 /* list.cpp */; };
8AF8AB2322048F9F004BDAC2 /* odf_style_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB322048F9F004BDAC2 /* odf_style_context.cpp */; };
8AF8AB2422048F9F004BDAC2 /* ods_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB522048F9F004BDAC2 /* ods_conversion_context.cpp */; };
8AF8AB2522048F9F004BDAC2 /* styles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB622048F9F004BDAC2 /* styles.cpp */; };
8AF8AB2622048F9F004BDAC2 /* office_presentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB822048F9F004BDAC2 /* office_presentation.cpp */; };
8AF8AB2722048F9F004BDAC2 /* odf_table_styles_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAB922048F9F004BDAC2 /* odf_table_styles_context.cpp */; };
8AF8AB2822048F9F004BDAC2 /* odt_conversion_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABA22048F9F004BDAC2 /* odt_conversion_context.cpp */; };
8AF8AB2922048F9F004BDAC2 /* odp_slide_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABC22048F9F004BDAC2 /* odp_slide_context.cpp */; };
8AF8AB2A22048F9F004BDAC2 /* paragraph_elements.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABD22048F9F004BDAC2 /* paragraph_elements.cpp */; };
8AF8AB2B22048F9F004BDAC2 /* draw_frame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AABF22048F9F004BDAC2 /* draw_frame.cpp */; };
8AF8AB2C22048F9F004BDAC2 /* object_package.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAC722048F9F004BDAC2 /* object_package.cpp */; };
8AF8AB2D22048F9F004BDAC2 /* odf_number_styles_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAC822048F9F004BDAC2 /* odf_number_styles_context.cpp */; };
8AF8AB2E22048F9F004BDAC2 /* office_body.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AACA22048F9F004BDAC2 /* office_body.cpp */; };
8AF8AB2F22048F9F004BDAC2 /* header_footer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AACD22048F9F004BDAC2 /* header_footer.cpp */; };
8AF8AB3022048F9F004BDAC2 /* office_event_listeners.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD022048F9F004BDAC2 /* office_event_listeners.cpp */; };
8AF8AB3122048F9F004BDAC2 /* draw_shapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD122048F9F004BDAC2 /* draw_shapes.cpp */; };
8AF8AB3222048F9F004BDAC2 /* odf_lists_styles_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD222048F9F004BDAC2 /* odf_lists_styles_context.cpp */; };
8AF8AB3322048F9F004BDAC2 /* style_graphic_properties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD322048F9F004BDAC2 /* style_graphic_properties.cpp */; };
8AF8AB3422048F9F004BDAC2 /* office_spreadsheet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD622048F9F004BDAC2 /* office_spreadsheet.cpp */; };
8AF8AB3522048F9F004BDAC2 /* mediaitems_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAD922048F9F004BDAC2 /* mediaitems_utils.cpp */; };
8AF8AB3622048F9F004BDAC2 /* draw_base.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AADA22048F9F004BDAC2 /* draw_base.cpp */; };
8AF8AB3722048F9F004BDAC2 /* table_database_ranges.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AADD22048F9F004BDAC2 /* table_database_ranges.cpp */; };
8AF8AB3822048F9F004BDAC2 /* odf_style_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE022048F9F004BDAC2 /* odf_style_state.cpp */; };
8AF8AB3922048F9F004BDAC2 /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE422048F9F004BDAC2 /* Converter.cpp */; };
8AF8AB3A22048F9F004BDAC2 /* ConverterChart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE522048F9F004BDAC2 /* ConverterChart.cpp */; };
8AF8AB3B22048F9F004BDAC2 /* XlsxConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE722048F9F004BDAC2 /* XlsxConverter.cpp */; };
8AF8AB3C22048F9F004BDAC2 /* DocxConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAE922048F9F004BDAC2 /* DocxConverter.cpp */; };
8AF8AB3D22048F9F004BDAC2 /* PptxConverter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAEA22048F9F004BDAC2 /* PptxConverter.cpp */; };
8AF8AB3E22048F9F004BDAC2 /* ConvertVml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAEC22048F9F004BDAC2 /* ConvertVml.cpp */; };
8AF8AB3F22048F9F004BDAC2 /* ConvertDrawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8AF8AAEE22048F9F004BDAC2 /* ConvertDrawing.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
8AF8AA3622048F12004BDAC2 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
8AC4E6EC220587220044119A /* regex.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = regex.hpp; path = ../../../../Common/3dParty/boost/boost_1_58_0/boost/regex.hpp; sourceTree = "<group>"; };
8AC4E6ED220587530044119A /* regex.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = regex.hpp; path = ../../../../Common/3dParty/boost/boost_1_58_0/boost/regex/v4/regex.hpp; sourceTree = "<group>"; };
8AF8AA3822048F12004BDAC2 /* libASCOfficeOdfFileW.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libASCOfficeOdfFileW.a; sourceTree = BUILT_PRODUCTS_DIR; };
8AF8AA4522048F9E004BDAC2 /* utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utils.h; sourceTree = "<group>"; };
8AF8AA4622048F9E004BDAC2 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = utils.cpp; sourceTree = "<group>"; };
8AF8AA4822048F9E004BDAC2 /* text_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = text_elements.cpp; sourceTree = "<group>"; };
8AF8AA4922048F9E004BDAC2 /* office_annotation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_annotation.cpp; sourceTree = "<group>"; };
8AF8AA4A22048F9E004BDAC2 /* draw_frame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_frame.h; sourceTree = "<group>"; };
8AF8AA4B22048F9E004BDAC2 /* styles_lite_container.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = styles_lite_container.h; sourceTree = "<group>"; };
8AF8AA4C22048F9E004BDAC2 /* ods_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ods_conversion_context.h; sourceTree = "<group>"; };
8AF8AA4D22048F9E004BDAC2 /* office_scripts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_scripts.h; sourceTree = "<group>"; };
8AF8AA4E22048F9E004BDAC2 /* draw_page.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_page.h; sourceTree = "<group>"; };
8AF8AA4F22048F9E004BDAC2 /* anim_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = anim_elements.h; sourceTree = "<group>"; };
8AF8AA5022048F9E004BDAC2 /* style_table_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_table_properties.cpp; sourceTree = "<group>"; };
8AF8AA5122048F9E004BDAC2 /* svg_creator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = svg_creator.cpp; sourceTree = "<group>"; };
8AF8AA5222048F9E004BDAC2 /* style_page_layout_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_page_layout_properties.h; sourceTree = "<group>"; };
8AF8AA5322048F9E004BDAC2 /* ods_table_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ods_table_state.cpp; sourceTree = "<group>"; };
8AF8AA5422048F9E004BDAC2 /* ods_table_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ods_table_context.h; sourceTree = "<group>"; };
8AF8AA5522048F9E004BDAC2 /* style_chart_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_chart_properties.cpp; sourceTree = "<group>"; };
8AF8AA5622048F9E004BDAC2 /* oox_shape_defines.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = oox_shape_defines.cpp; sourceTree = "<group>"; };
8AF8AA5722048F9E004BDAC2 /* oox_shape_defines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shape_defines.h; sourceTree = "<group>"; };
8AF8AA5822048F9E004BDAC2 /* odf_chart_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_chart_context.cpp; sourceTree = "<group>"; };
8AF8AA5922048F9E004BDAC2 /* style_section_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_section_properties.h; sourceTree = "<group>"; };
8AF8AA5A22048F9E004BDAC2 /* style_text_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_text_properties.cpp; sourceTree = "<group>"; };
8AF8AA5B22048F9E004BDAC2 /* odf_table_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_table_context.h; sourceTree = "<group>"; };
8AF8AA5C22048F9E004BDAC2 /* logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = logging.cpp; sourceTree = "<group>"; };
8AF8AA5D22048F9E004BDAC2 /* calcext_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = calcext_elements.h; sourceTree = "<group>"; };
8AF8AA5E22048F9E004BDAC2 /* office_elements_type.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_elements_type.h; sourceTree = "<group>"; };
8AF8AA5F22048F9E004BDAC2 /* odf_style_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_style_state.h; sourceTree = "<group>"; };
8AF8AA6022048F9E004BDAC2 /* odf_rels.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_rels.h; sourceTree = "<group>"; };
8AF8AA6122048F9E004BDAC2 /* table.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table.cpp; sourceTree = "<group>"; };
8AF8AA6222048F9E004BDAC2 /* office_chart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_chart.cpp; sourceTree = "<group>"; };
8AF8AA6322048F9E004BDAC2 /* odf_table_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_table_context.cpp; sourceTree = "<group>"; };
8AF8AA6422048F9E004BDAC2 /* odp_slide_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odp_slide_context.h; sourceTree = "<group>"; };
8AF8AA6522048F9E004BDAC2 /* style_map.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_map.cpp; sourceTree = "<group>"; };
8AF8AA6622048F9E004BDAC2 /* style_paragraph_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_paragraph_properties.h; sourceTree = "<group>"; };
8AF8AA6722048F9E004BDAC2 /* table_database_ranges.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table_database_ranges.h; sourceTree = "<group>"; };
8AF8AA6822048F9E004BDAC2 /* office_scripts.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_scripts.cpp; sourceTree = "<group>"; };
8AF8AA6922048F9E004BDAC2 /* styles_list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = styles_list.cpp; sourceTree = "<group>"; };
8AF8AA6A22048F9E004BDAC2 /* odf_text_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_text_context.h; sourceTree = "<group>"; };
8AF8AA6B22048F9E004BDAC2 /* odf_notes_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_notes_context.h; sourceTree = "<group>"; };
8AF8AA6C22048F9E004BDAC2 /* styles_lite_container.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = styles_lite_container.cpp; sourceTree = "<group>"; };
8AF8AA6D22048F9E004BDAC2 /* office_annotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_annotation.h; sourceTree = "<group>"; };
8AF8AA6E22048F9E004BDAC2 /* style_paragraph_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_paragraph_properties.cpp; sourceTree = "<group>"; };
8AF8AA6F22048F9E004BDAC2 /* office_chart.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_chart.h; sourceTree = "<group>"; };
8AF8AA7022048F9E004BDAC2 /* office_document.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_document.cpp; sourceTree = "<group>"; };
8AF8AA7122048F9E004BDAC2 /* anim_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = anim_elements.cpp; sourceTree = "<group>"; };
8AF8AA7222048F9E004BDAC2 /* office_event_listeners.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_event_listeners.h; sourceTree = "<group>"; };
8AF8AA7322048F9E004BDAC2 /* style_table_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_table_properties.h; sourceTree = "<group>"; };
8AF8AA7422048F9E004BDAC2 /* odf_rels.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_rels.cpp; sourceTree = "<group>"; };
8AF8AA7522048F9E004BDAC2 /* style_section_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_section_properties.cpp; sourceTree = "<group>"; };
8AF8AA7622048F9E004BDAC2 /* office_elements_create.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_elements_create.cpp; sourceTree = "<group>"; };
8AF8AA7722048F9E004BDAC2 /* office_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_elements.h; sourceTree = "<group>"; };
8AF8AA7822048F9E004BDAC2 /* odf_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AA7922048F9E004BDAC2 /* office_settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_settings.h; sourceTree = "<group>"; };
8AF8AA7B22048F9E004BDAC2 /* oox_shapePrimitives.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapePrimitives.h; sourceTree = "<group>"; };
8AF8AA7C22048F9E004BDAC2 /* oox_shapeBents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeBents.h; sourceTree = "<group>"; };
8AF8AA7D22048F9E004BDAC2 /* oox_shapeConnectors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeConnectors.h; sourceTree = "<group>"; };
8AF8AA7E22048F9E004BDAC2 /* oox_shapeCallouts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCallouts.h; sourceTree = "<group>"; };
8AF8AA7F22048F9E004BDAC2 /* oox_shapeCharts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCharts.h; sourceTree = "<group>"; };
8AF8AA8022048F9E004BDAC2 /* oox_shapeArrows.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeArrows.h; sourceTree = "<group>"; };
8AF8AA8122048F9E004BDAC2 /* oox_shapeWordArt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeWordArt.h; sourceTree = "<group>"; };
8AF8AA8222048F9E004BDAC2 /* oox_shapeCurvedArrows.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCurvedArrows.h; sourceTree = "<group>"; };
8AF8AA8322048F9E004BDAC2 /* oox_shapeStars.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeStars.h; sourceTree = "<group>"; };
8AF8AA8422048F9F004BDAC2 /* oox_shapeActionButtons.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeActionButtons.h; sourceTree = "<group>"; };
8AF8AA8522048F9F004BDAC2 /* oox_shapeCustoms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCustoms.h; sourceTree = "<group>"; };
8AF8AA8622048F9F004BDAC2 /* oox_shapeSnipRoundRects.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeSnipRoundRects.h; sourceTree = "<group>"; };
8AF8AA8722048F9F004BDAC2 /* odf_shape_mapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_shape_mapping.h; sourceTree = "<group>"; };
8AF8AA8822048F9F004BDAC2 /* oox_shapeCurvedConnectors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeCurvedConnectors.h; sourceTree = "<group>"; };
8AF8AA8922048F9F004BDAC2 /* oox_shapeMaths.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeMaths.h; sourceTree = "<group>"; };
8AF8AA8A22048F9F004BDAC2 /* oox_shapeRibbons.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeRibbons.h; sourceTree = "<group>"; };
8AF8AA8B22048F9F004BDAC2 /* oox_shapeAccentCallouts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = oox_shapeAccentCallouts.h; sourceTree = "<group>"; };
8AF8AA8C22048F9F004BDAC2 /* mediaitems.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mediaitems.h; sourceTree = "<group>"; };
8AF8AA8D22048F9F004BDAC2 /* style_presentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_presentation.h; sourceTree = "<group>"; };
8AF8AA8E22048F9F004BDAC2 /* style_graphic_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_graphic_properties.h; sourceTree = "<group>"; };
8AF8AA8F22048F9F004BDAC2 /* odf_text_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_text_context.cpp; sourceTree = "<group>"; };
8AF8AA9022048F9F004BDAC2 /* draw_shapes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_shapes.h; sourceTree = "<group>"; };
8AF8AA9122048F9F004BDAC2 /* mediaitems.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mediaitems.cpp; sourceTree = "<group>"; };
8AF8AA9222048F9F004BDAC2 /* odf_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_conversion_context.h; sourceTree = "<group>"; };
8AF8AA9322048F9F004BDAC2 /* office_settings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_settings.cpp; sourceTree = "<group>"; };
8AF8AA9422048F9F004BDAC2 /* style_presentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_presentation.cpp; sourceTree = "<group>"; };
8AF8AA9522048F9F004BDAC2 /* visitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = visitor.h; sourceTree = "<group>"; };
8AF8AA9622048F9F004BDAC2 /* styles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = styles.h; sourceTree = "<group>"; };
8AF8AA9722048F9F004BDAC2 /* office_text.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_text.cpp; sourceTree = "<group>"; };
8AF8AA9822048F9F004BDAC2 /* odf_comment_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_comment_context.h; sourceTree = "<group>"; };
8AF8AA9922048F9F004BDAC2 /* odf_page_layout_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_page_layout_state.h; sourceTree = "<group>"; };
8AF8AA9A22048F9F004BDAC2 /* style_map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_map.h; sourceTree = "<group>"; };
8AF8AA9B22048F9F004BDAC2 /* odp_page_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odp_page_state.cpp; sourceTree = "<group>"; };
8AF8AA9C22048F9F004BDAC2 /* ods_table_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ods_table_context.cpp; sourceTree = "<group>"; };
8AF8AA9D22048F9F004BDAC2 /* mediaitems_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mediaitems_utils.h; sourceTree = "<group>"; };
8AF8AA9E22048F9F004BDAC2 /* odf_chart_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_chart_context.h; sourceTree = "<group>"; };
8AF8AA9F22048F9F004BDAC2 /* calcext_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = calcext_elements.cpp; sourceTree = "<group>"; };
8AF8AAA022048F9F004BDAC2 /* odf_page_layout_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_page_layout_context.h; sourceTree = "<group>"; };
8AF8AAA122048F9F004BDAC2 /* odf_page_layout_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_page_layout_state.cpp; sourceTree = "<group>"; };
8AF8AAA222048F9F004BDAC2 /* odf_settings_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_settings_context.cpp; sourceTree = "<group>"; };
8AF8AAA322048F9F004BDAC2 /* style_page_layout_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_page_layout_properties.cpp; sourceTree = "<group>"; };
8AF8AAA422048F9F004BDAC2 /* list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = list.h; sourceTree = "<group>"; };
8AF8AAA522048F9F004BDAC2 /* odf_page_layout_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_page_layout_context.cpp; sourceTree = "<group>"; };
8AF8AAA622048F9F004BDAC2 /* abstract_xml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = abstract_xml.cpp; sourceTree = "<group>"; };
8AF8AAA722048F9F004BDAC2 /* table_named_expressions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table_named_expressions.cpp; sourceTree = "<group>"; };
8AF8AAA822048F9F004BDAC2 /* odf_notes_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_notes_context.cpp; sourceTree = "<group>"; };
8AF8AAA922048F9F004BDAC2 /* style_chart_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_chart_properties.h; sourceTree = "<group>"; };
8AF8AAAA22048F9F004BDAC2 /* styles_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = styles_list.h; sourceTree = "<group>"; };
8AF8AAAB22048F9F004BDAC2 /* draw_page.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_page.cpp; sourceTree = "<group>"; };
8AF8AAAC22048F9F004BDAC2 /* number_style.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = number_style.cpp; sourceTree = "<group>"; };
8AF8AAAD22048F9F004BDAC2 /* office_elements_create.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_elements_create.h; sourceTree = "<group>"; };
8AF8AAAE22048F9F004BDAC2 /* odp_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odp_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AAAF22048F9F004BDAC2 /* odf_drawing_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_drawing_context.cpp; sourceTree = "<group>"; };
8AF8AAB022048F9F004BDAC2 /* abstract_xml.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = abstract_xml.h; sourceTree = "<group>"; };
8AF8AAB122048F9F004BDAC2 /* odf_comment_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_comment_context.cpp; sourceTree = "<group>"; };
8AF8AAB222048F9F004BDAC2 /* list.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = list.cpp; sourceTree = "<group>"; };
8AF8AAB322048F9F004BDAC2 /* odf_style_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_style_context.cpp; sourceTree = "<group>"; };
8AF8AAB422048F9F004BDAC2 /* odt_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odt_conversion_context.h; sourceTree = "<group>"; };
8AF8AAB522048F9F004BDAC2 /* ods_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ods_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AAB622048F9F004BDAC2 /* styles.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = styles.cpp; sourceTree = "<group>"; };
8AF8AAB722048F9F004BDAC2 /* office_body.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_body.h; sourceTree = "<group>"; };
8AF8AAB822048F9F004BDAC2 /* office_presentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_presentation.cpp; sourceTree = "<group>"; };
8AF8AAB922048F9F004BDAC2 /* odf_table_styles_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_table_styles_context.cpp; sourceTree = "<group>"; };
8AF8AABA22048F9F004BDAC2 /* odt_conversion_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odt_conversion_context.cpp; sourceTree = "<group>"; };
8AF8AABB22048F9F004BDAC2 /* office_spreadsheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_spreadsheet.h; sourceTree = "<group>"; };
8AF8AABC22048F9F004BDAC2 /* odp_slide_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odp_slide_context.cpp; sourceTree = "<group>"; };
8AF8AABD22048F9F004BDAC2 /* paragraph_elements.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = paragraph_elements.cpp; sourceTree = "<group>"; };
8AF8AABE22048F9F004BDAC2 /* table.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table.h; sourceTree = "<group>"; };
8AF8AABF22048F9F004BDAC2 /* draw_frame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_frame.cpp; sourceTree = "<group>"; };
8AF8AAC022048F9F004BDAC2 /* style_text_properties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = style_text_properties.h; sourceTree = "<group>"; };
8AF8AAC122048F9F004BDAC2 /* header_footer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = header_footer.h; sourceTree = "<group>"; };
8AF8AAC222048F9F004BDAC2 /* paragraph_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = paragraph_elements.h; sourceTree = "<group>"; };
8AF8AAC322048F9F004BDAC2 /* text_elements.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = text_elements.h; sourceTree = "<group>"; };
8AF8AAC422048F9F004BDAC2 /* ods_table_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ods_table_state.h; sourceTree = "<group>"; };
8AF8AAC522048F9F004BDAC2 /* odf_number_styles_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_number_styles_context.h; sourceTree = "<group>"; };
8AF8AAC622048F9F004BDAC2 /* office_text.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_text.h; sourceTree = "<group>"; };
8AF8AAC722048F9F004BDAC2 /* object_package.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = object_package.cpp; sourceTree = "<group>"; };
8AF8AAC822048F9F004BDAC2 /* odf_number_styles_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_number_styles_context.cpp; sourceTree = "<group>"; };
8AF8AAC922048F9F004BDAC2 /* number_style.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = number_style.h; sourceTree = "<group>"; };
8AF8AACA22048F9F004BDAC2 /* office_body.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_body.cpp; sourceTree = "<group>"; };
8AF8AACB22048F9F004BDAC2 /* table_named_expressions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = table_named_expressions.h; sourceTree = "<group>"; };
8AF8AACC22048F9F004BDAC2 /* odf_drawing_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_drawing_context.h; sourceTree = "<group>"; };
8AF8AACD22048F9F004BDAC2 /* header_footer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = header_footer.cpp; sourceTree = "<group>"; };
8AF8AACE22048F9F004BDAC2 /* object_package.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = object_package.h; sourceTree = "<group>"; };
8AF8AACF22048F9F004BDAC2 /* svg_creator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = svg_creator.h; sourceTree = "<group>"; };
8AF8AAD022048F9F004BDAC2 /* office_event_listeners.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_event_listeners.cpp; sourceTree = "<group>"; };
8AF8AAD122048F9F004BDAC2 /* draw_shapes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_shapes.cpp; sourceTree = "<group>"; };
8AF8AAD222048F9F004BDAC2 /* odf_lists_styles_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_lists_styles_context.cpp; sourceTree = "<group>"; };
8AF8AAD322048F9F004BDAC2 /* style_graphic_properties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = style_graphic_properties.cpp; sourceTree = "<group>"; };
8AF8AAD422048F9F004BDAC2 /* odf_settings_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_settings_context.h; sourceTree = "<group>"; };
8AF8AAD522048F9F004BDAC2 /* odp_page_state.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odp_page_state.h; sourceTree = "<group>"; };
8AF8AAD622048F9F004BDAC2 /* office_spreadsheet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = office_spreadsheet.cpp; sourceTree = "<group>"; };
8AF8AAD722048F9F004BDAC2 /* office_document.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_document.h; sourceTree = "<group>"; };
8AF8AAD822048F9F004BDAC2 /* odf_lists_styles_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_lists_styles_context.h; sourceTree = "<group>"; };
8AF8AAD922048F9F004BDAC2 /* mediaitems_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mediaitems_utils.cpp; sourceTree = "<group>"; };
8AF8AADA22048F9F004BDAC2 /* draw_base.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = draw_base.cpp; sourceTree = "<group>"; };
8AF8AADB22048F9F004BDAC2 /* odf_table_styles_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_table_styles_context.h; sourceTree = "<group>"; };
8AF8AADC22048F9F004BDAC2 /* odp_conversion_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odp_conversion_context.h; sourceTree = "<group>"; };
8AF8AADD22048F9F004BDAC2 /* table_database_ranges.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = table_database_ranges.cpp; sourceTree = "<group>"; };
8AF8AADE22048F9F004BDAC2 /* office_presentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = office_presentation.h; sourceTree = "<group>"; };
8AF8AADF22048F9F004BDAC2 /* odf_style_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = odf_style_context.h; sourceTree = "<group>"; };
8AF8AAE022048F9F004BDAC2 /* odf_style_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = odf_style_state.cpp; sourceTree = "<group>"; };
8AF8AAE122048F9F004BDAC2 /* draw_base.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = draw_base.h; sourceTree = "<group>"; };
8AF8AAE322048F9F004BDAC2 /* DocxConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocxConverter.h; sourceTree = "<group>"; };
8AF8AAE422048F9F004BDAC2 /* Converter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Converter.cpp; sourceTree = "<group>"; };
8AF8AAE522048F9F004BDAC2 /* ConverterChart.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConverterChart.cpp; sourceTree = "<group>"; };
8AF8AAE622048F9F004BDAC2 /* Converter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Converter.h; sourceTree = "<group>"; };
8AF8AAE722048F9F004BDAC2 /* XlsxConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XlsxConverter.cpp; sourceTree = "<group>"; };
8AF8AAE822048F9F004BDAC2 /* PptxConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PptxConverter.h; sourceTree = "<group>"; };
8AF8AAE922048F9F004BDAC2 /* DocxConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocxConverter.cpp; sourceTree = "<group>"; };
8AF8AAEA22048F9F004BDAC2 /* PptxConverter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PptxConverter.cpp; sourceTree = "<group>"; };
8AF8AAEB22048F9F004BDAC2 /* VmlShapeTypes2Oox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VmlShapeTypes2Oox.h; sourceTree = "<group>"; };
8AF8AAEC22048F9F004BDAC2 /* ConvertVml.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvertVml.cpp; sourceTree = "<group>"; };
8AF8AAED22048F9F004BDAC2 /* Oox2OdfConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Oox2OdfConverter.h; sourceTree = "<group>"; };
8AF8AAEE22048F9F004BDAC2 /* ConvertDrawing.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ConvertDrawing.cpp; sourceTree = "<group>"; };
8AF8AAEF22048F9F004BDAC2 /* XlsxConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XlsxConverter.h; sourceTree = "<group>"; };
8AF8AAF022048F9F004BDAC2 /* progressCallback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = progressCallback.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8AF8AA3522048F12004BDAC2 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
8AF8AA2F22048F12004BDAC2 = {
isa = PBXGroup;
children = (
8AF8AA3A22048F12004BDAC2 /* ASCOfficeOdfFileW */,
8AF8AA3922048F12004BDAC2 /* Products */,
);
sourceTree = "<group>";
};
8AF8AA3922048F12004BDAC2 /* Products */ = {
isa = PBXGroup;
children = (
8AF8AA3822048F12004BDAC2 /* libASCOfficeOdfFileW.a */,
);
name = Products;
sourceTree = "<group>";
};
8AF8AA3A22048F12004BDAC2 /* ASCOfficeOdfFileW */ = {
isa = PBXGroup;
children = (
8AC4E6EC220587220044119A /* regex.hpp */,
8AC4E6ED220587530044119A /* regex.hpp */,
8AF8AA4422048F9E004BDAC2 /* source */,
);
path = ASCOfficeOdfFileW;
sourceTree = "<group>";
};
8AF8AA4422048F9E004BDAC2 /* source */ = {
isa = PBXGroup;
children = (
8AF8AA4522048F9E004BDAC2 /* utils.h */,
8AF8AA4622048F9E004BDAC2 /* utils.cpp */,
8AF8AA4722048F9E004BDAC2 /* OdfFormat */,
8AF8AAE222048F9F004BDAC2 /* Oox2OdfConverter */,
8AF8AAF022048F9F004BDAC2 /* progressCallback.h */,
);
name = source;
path = ../../../source;
sourceTree = "<group>";
};
8AF8AA4722048F9E004BDAC2 /* OdfFormat */ = {
isa = PBXGroup;
children = (
8AF8AA4822048F9E004BDAC2 /* text_elements.cpp */,
8AF8AA4922048F9E004BDAC2 /* office_annotation.cpp */,
8AF8AA4A22048F9E004BDAC2 /* draw_frame.h */,
8AF8AA4B22048F9E004BDAC2 /* styles_lite_container.h */,
8AF8AA4C22048F9E004BDAC2 /* ods_conversion_context.h */,
8AF8AA4D22048F9E004BDAC2 /* office_scripts.h */,
8AF8AA4E22048F9E004BDAC2 /* draw_page.h */,
8AF8AA4F22048F9E004BDAC2 /* anim_elements.h */,
8AF8AA5022048F9E004BDAC2 /* style_table_properties.cpp */,
8AF8AA5122048F9E004BDAC2 /* svg_creator.cpp */,
8AF8AA5222048F9E004BDAC2 /* style_page_layout_properties.h */,
8AF8AA5322048F9E004BDAC2 /* ods_table_state.cpp */,
8AF8AA5422048F9E004BDAC2 /* ods_table_context.h */,
8AF8AA5522048F9E004BDAC2 /* style_chart_properties.cpp */,
8AF8AA5622048F9E004BDAC2 /* oox_shape_defines.cpp */,
8AF8AA5722048F9E004BDAC2 /* oox_shape_defines.h */,
8AF8AA5822048F9E004BDAC2 /* odf_chart_context.cpp */,
8AF8AA5922048F9E004BDAC2 /* style_section_properties.h */,
8AF8AA5A22048F9E004BDAC2 /* style_text_properties.cpp */,
8AF8AA5B22048F9E004BDAC2 /* odf_table_context.h */,
8AF8AA5C22048F9E004BDAC2 /* logging.cpp */,
8AF8AA5D22048F9E004BDAC2 /* calcext_elements.h */,
8AF8AA5E22048F9E004BDAC2 /* office_elements_type.h */,
8AF8AA5F22048F9E004BDAC2 /* odf_style_state.h */,
8AF8AA6022048F9E004BDAC2 /* odf_rels.h */,
8AF8AA6122048F9E004BDAC2 /* table.cpp */,
8AF8AA6222048F9E004BDAC2 /* office_chart.cpp */,
8AF8AA6322048F9E004BDAC2 /* odf_table_context.cpp */,
8AF8AA6422048F9E004BDAC2 /* odp_slide_context.h */,
8AF8AA6522048F9E004BDAC2 /* style_map.cpp */,
8AF8AA6622048F9E004BDAC2 /* style_paragraph_properties.h */,
8AF8AA6722048F9E004BDAC2 /* table_database_ranges.h */,
8AF8AA6822048F9E004BDAC2 /* office_scripts.cpp */,
8AF8AA6922048F9E004BDAC2 /* styles_list.cpp */,
8AF8AA6A22048F9E004BDAC2 /* odf_text_context.h */,
8AF8AA6B22048F9E004BDAC2 /* odf_notes_context.h */,
8AF8AA6C22048F9E004BDAC2 /* styles_lite_container.cpp */,
8AF8AA6D22048F9E004BDAC2 /* office_annotation.h */,
8AF8AA6E22048F9E004BDAC2 /* style_paragraph_properties.cpp */,
8AF8AA6F22048F9E004BDAC2 /* office_chart.h */,
8AF8AA7022048F9E004BDAC2 /* office_document.cpp */,
8AF8AA7122048F9E004BDAC2 /* anim_elements.cpp */,
8AF8AA7222048F9E004BDAC2 /* office_event_listeners.h */,
8AF8AA7322048F9E004BDAC2 /* style_table_properties.h */,
8AF8AA7422048F9E004BDAC2 /* odf_rels.cpp */,
8AF8AA7522048F9E004BDAC2 /* style_section_properties.cpp */,
8AF8AA7622048F9E004BDAC2 /* office_elements_create.cpp */,
8AF8AA7722048F9E004BDAC2 /* office_elements.h */,
8AF8AA7822048F9E004BDAC2 /* odf_conversion_context.cpp */,
8AF8AA7922048F9E004BDAC2 /* office_settings.h */,
8AF8AA7A22048F9E004BDAC2 /* Shapes */,
8AF8AA8C22048F9F004BDAC2 /* mediaitems.h */,
8AF8AA8D22048F9F004BDAC2 /* style_presentation.h */,
8AF8AA8E22048F9F004BDAC2 /* style_graphic_properties.h */,
8AF8AA8F22048F9F004BDAC2 /* odf_text_context.cpp */,
8AF8AA9022048F9F004BDAC2 /* draw_shapes.h */,
8AF8AA9122048F9F004BDAC2 /* mediaitems.cpp */,
8AF8AA9222048F9F004BDAC2 /* odf_conversion_context.h */,
8AF8AA9322048F9F004BDAC2 /* office_settings.cpp */,
8AF8AA9422048F9F004BDAC2 /* style_presentation.cpp */,
8AF8AA9522048F9F004BDAC2 /* visitor.h */,
8AF8AA9622048F9F004BDAC2 /* styles.h */,
8AF8AA9722048F9F004BDAC2 /* office_text.cpp */,
8AF8AA9822048F9F004BDAC2 /* odf_comment_context.h */,
8AF8AA9922048F9F004BDAC2 /* odf_page_layout_state.h */,
8AF8AA9A22048F9F004BDAC2 /* style_map.h */,
8AF8AA9B22048F9F004BDAC2 /* odp_page_state.cpp */,
8AF8AA9C22048F9F004BDAC2 /* ods_table_context.cpp */,
8AF8AA9D22048F9F004BDAC2 /* mediaitems_utils.h */,
8AF8AA9E22048F9F004BDAC2 /* odf_chart_context.h */,
8AF8AA9F22048F9F004BDAC2 /* calcext_elements.cpp */,
8AF8AAA022048F9F004BDAC2 /* odf_page_layout_context.h */,
8AF8AAA122048F9F004BDAC2 /* odf_page_layout_state.cpp */,
8AF8AAA222048F9F004BDAC2 /* odf_settings_context.cpp */,
8AF8AAA322048F9F004BDAC2 /* style_page_layout_properties.cpp */,
8AF8AAA422048F9F004BDAC2 /* list.h */,
8AF8AAA522048F9F004BDAC2 /* odf_page_layout_context.cpp */,
8AF8AAA622048F9F004BDAC2 /* abstract_xml.cpp */,
8AF8AAA722048F9F004BDAC2 /* table_named_expressions.cpp */,
8AF8AAA822048F9F004BDAC2 /* odf_notes_context.cpp */,
8AF8AAA922048F9F004BDAC2 /* style_chart_properties.h */,
8AF8AAAA22048F9F004BDAC2 /* styles_list.h */,
8AF8AAAB22048F9F004BDAC2 /* draw_page.cpp */,
8AF8AAAC22048F9F004BDAC2 /* number_style.cpp */,
8AF8AAAD22048F9F004BDAC2 /* office_elements_create.h */,
8AF8AAAE22048F9F004BDAC2 /* odp_conversion_context.cpp */,
8AF8AAAF22048F9F004BDAC2 /* odf_drawing_context.cpp */,
8AF8AAB022048F9F004BDAC2 /* abstract_xml.h */,
8AF8AAB122048F9F004BDAC2 /* odf_comment_context.cpp */,
8AF8AAB222048F9F004BDAC2 /* list.cpp */,
8AF8AAB322048F9F004BDAC2 /* odf_style_context.cpp */,
8AF8AAB422048F9F004BDAC2 /* odt_conversion_context.h */,
8AF8AAB522048F9F004BDAC2 /* ods_conversion_context.cpp */,
8AF8AAB622048F9F004BDAC2 /* styles.cpp */,
8AF8AAB722048F9F004BDAC2 /* office_body.h */,
8AF8AAB822048F9F004BDAC2 /* office_presentation.cpp */,
8AF8AAB922048F9F004BDAC2 /* odf_table_styles_context.cpp */,
8AF8AABA22048F9F004BDAC2 /* odt_conversion_context.cpp */,
8AF8AABB22048F9F004BDAC2 /* office_spreadsheet.h */,
8AF8AABC22048F9F004BDAC2 /* odp_slide_context.cpp */,
8AF8AABD22048F9F004BDAC2 /* paragraph_elements.cpp */,
8AF8AABE22048F9F004BDAC2 /* table.h */,
8AF8AABF22048F9F004BDAC2 /* draw_frame.cpp */,
8AF8AAC022048F9F004BDAC2 /* style_text_properties.h */,
8AF8AAC122048F9F004BDAC2 /* header_footer.h */,
8AF8AAC222048F9F004BDAC2 /* paragraph_elements.h */,
8AF8AAC322048F9F004BDAC2 /* text_elements.h */,
8AF8AAC422048F9F004BDAC2 /* ods_table_state.h */,
8AF8AAC522048F9F004BDAC2 /* odf_number_styles_context.h */,
8AF8AAC622048F9F004BDAC2 /* office_text.h */,
8AF8AAC722048F9F004BDAC2 /* object_package.cpp */,
8AF8AAC822048F9F004BDAC2 /* odf_number_styles_context.cpp */,
8AF8AAC922048F9F004BDAC2 /* number_style.h */,
8AF8AACA22048F9F004BDAC2 /* office_body.cpp */,
8AF8AACB22048F9F004BDAC2 /* table_named_expressions.h */,
8AF8AACC22048F9F004BDAC2 /* odf_drawing_context.h */,
8AF8AACD22048F9F004BDAC2 /* header_footer.cpp */,
8AF8AACE22048F9F004BDAC2 /* object_package.h */,
8AF8AACF22048F9F004BDAC2 /* svg_creator.h */,
8AF8AAD022048F9F004BDAC2 /* office_event_listeners.cpp */,
8AF8AAD122048F9F004BDAC2 /* draw_shapes.cpp */,
8AF8AAD222048F9F004BDAC2 /* odf_lists_styles_context.cpp */,
8AF8AAD322048F9F004BDAC2 /* style_graphic_properties.cpp */,
8AF8AAD422048F9F004BDAC2 /* odf_settings_context.h */,
8AF8AAD522048F9F004BDAC2 /* odp_page_state.h */,
8AF8AAD622048F9F004BDAC2 /* office_spreadsheet.cpp */,
8AF8AAD722048F9F004BDAC2 /* office_document.h */,
8AF8AAD822048F9F004BDAC2 /* odf_lists_styles_context.h */,
8AF8AAD922048F9F004BDAC2 /* mediaitems_utils.cpp */,
8AF8AADA22048F9F004BDAC2 /* draw_base.cpp */,
8AF8AADB22048F9F004BDAC2 /* odf_table_styles_context.h */,
8AF8AADC22048F9F004BDAC2 /* odp_conversion_context.h */,
8AF8AADD22048F9F004BDAC2 /* table_database_ranges.cpp */,
8AF8AADE22048F9F004BDAC2 /* office_presentation.h */,
8AF8AADF22048F9F004BDAC2 /* odf_style_context.h */,
8AF8AAE022048F9F004BDAC2 /* odf_style_state.cpp */,
8AF8AAE122048F9F004BDAC2 /* draw_base.h */,
);
path = OdfFormat;
sourceTree = "<group>";
};
8AF8AA7A22048F9E004BDAC2 /* Shapes */ = {
isa = PBXGroup;
children = (
8AF8AA7B22048F9E004BDAC2 /* oox_shapePrimitives.h */,
8AF8AA7C22048F9E004BDAC2 /* oox_shapeBents.h */,
8AF8AA7D22048F9E004BDAC2 /* oox_shapeConnectors.h */,
8AF8AA7E22048F9E004BDAC2 /* oox_shapeCallouts.h */,
8AF8AA7F22048F9E004BDAC2 /* oox_shapeCharts.h */,
8AF8AA8022048F9E004BDAC2 /* oox_shapeArrows.h */,
8AF8AA8122048F9E004BDAC2 /* oox_shapeWordArt.h */,
8AF8AA8222048F9E004BDAC2 /* oox_shapeCurvedArrows.h */,
8AF8AA8322048F9E004BDAC2 /* oox_shapeStars.h */,
8AF8AA8422048F9F004BDAC2 /* oox_shapeActionButtons.h */,
8AF8AA8522048F9F004BDAC2 /* oox_shapeCustoms.h */,
8AF8AA8622048F9F004BDAC2 /* oox_shapeSnipRoundRects.h */,
8AF8AA8722048F9F004BDAC2 /* odf_shape_mapping.h */,
8AF8AA8822048F9F004BDAC2 /* oox_shapeCurvedConnectors.h */,
8AF8AA8922048F9F004BDAC2 /* oox_shapeMaths.h */,
8AF8AA8A22048F9F004BDAC2 /* oox_shapeRibbons.h */,
8AF8AA8B22048F9F004BDAC2 /* oox_shapeAccentCallouts.h */,
);
path = Shapes;
sourceTree = "<group>";
};
8AF8AAE222048F9F004BDAC2 /* Oox2OdfConverter */ = {
isa = PBXGroup;
children = (
8AF8AAE322048F9F004BDAC2 /* DocxConverter.h */,
8AF8AAE422048F9F004BDAC2 /* Converter.cpp */,
8AF8AAE522048F9F004BDAC2 /* ConverterChart.cpp */,
8AF8AAE622048F9F004BDAC2 /* Converter.h */,
8AF8AAE722048F9F004BDAC2 /* XlsxConverter.cpp */,
8AF8AAE822048F9F004BDAC2 /* PptxConverter.h */,
8AF8AAE922048F9F004BDAC2 /* DocxConverter.cpp */,
8AF8AAEA22048F9F004BDAC2 /* PptxConverter.cpp */,
8AF8AAEB22048F9F004BDAC2 /* VmlShapeTypes2Oox.h */,
8AF8AAEC22048F9F004BDAC2 /* ConvertVml.cpp */,
8AF8AAED22048F9F004BDAC2 /* Oox2OdfConverter.h */,
8AF8AAEE22048F9F004BDAC2 /* ConvertDrawing.cpp */,
8AF8AAEF22048F9F004BDAC2 /* XlsxConverter.h */,
);
path = Oox2OdfConverter;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
8AF8AA3722048F12004BDAC2 /* ASCOfficeOdfFileW */ = {
isa = PBXNativeTarget;
buildConfigurationList = 8AF8AA4122048F12004BDAC2 /* Build configuration list for PBXNativeTarget "ASCOfficeOdfFileW" */;
buildPhases = (
8AF8AA3422048F12004BDAC2 /* Sources */,
8AF8AA3522048F12004BDAC2 /* Frameworks */,
8AF8AA3622048F12004BDAC2 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = ASCOfficeOdfFileW;
productName = ASCOfficeOdfFileW;
productReference = 8AF8AA3822048F12004BDAC2 /* libASCOfficeOdfFileW.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
8AF8AA3022048F12004BDAC2 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1010;
ORGANIZATIONNAME = "Alexey Musinov";
TargetAttributes = {
8AF8AA3722048F12004BDAC2 = {
CreatedOnToolsVersion = 10.1;
};
};
};
buildConfigurationList = 8AF8AA3322048F12004BDAC2 /* Build configuration list for PBXProject "ASCOfficeOdfFileW" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 8AF8AA2F22048F12004BDAC2;
productRefGroup = 8AF8AA3922048F12004BDAC2 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
8AF8AA3722048F12004BDAC2 /* ASCOfficeOdfFileW */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
8AF8AA3422048F12004BDAC2 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8AF8AB3C22048F9F004BDAC2 /* DocxConverter.cpp in Sources */,
8AF8AAF522048F9F004BDAC2 /* utils.cpp in Sources */,
8AF8AB2522048F9F004BDAC2 /* styles.cpp in Sources */,
8AF8AB0B22048F9F004BDAC2 /* style_section_properties.cpp in Sources */,
8AF8AAFD22048F9F004BDAC2 /* odf_chart_context.cpp in Sources */,
8AF8AB2222048F9F004BDAC2 /* list.cpp in Sources */,
8AF8AB1C22048F9F004BDAC2 /* odf_notes_context.cpp in Sources */,
8AF8AB3622048F9F004BDAC2 /* draw_base.cpp in Sources */,
8AF8AB0022048F9F004BDAC2 /* table.cpp in Sources */,
8AF8AB1022048F9F004BDAC2 /* office_settings.cpp in Sources */,
8AF8AB0E22048F9F004BDAC2 /* odf_text_context.cpp in Sources */,
8AF8AB2922048F9F004BDAC2 /* odp_slide_context.cpp in Sources */,
8AF8AAFC22048F9F004BDAC2 /* oox_shape_defines.cpp in Sources */,
8AF8AB1322048F9F004BDAC2 /* odp_page_state.cpp in Sources */,
8AF8AB2B22048F9F004BDAC2 /* draw_frame.cpp in Sources */,
8AF8AB3F22048F9F004BDAC2 /* ConvertDrawing.cpp in Sources */,
8AF8AB0222048F9F004BDAC2 /* odf_table_context.cpp in Sources */,
8AF8AB3122048F9F004BDAC2 /* draw_shapes.cpp in Sources */,
8AF8AB3922048F9F004BDAC2 /* Converter.cpp in Sources */,
8AF8AB1B22048F9F004BDAC2 /* table_named_expressions.cpp in Sources */,
8AF8AAFE22048F9F004BDAC2 /* style_text_properties.cpp in Sources */,
8AF8AB3222048F9F004BDAC2 /* odf_lists_styles_context.cpp in Sources */,
8AF8AB0722048F9F004BDAC2 /* style_paragraph_properties.cpp in Sources */,
8AF8AB1922048F9F004BDAC2 /* odf_page_layout_context.cpp in Sources */,
8AF8AB0422048F9F004BDAC2 /* office_scripts.cpp in Sources */,
8AF8AB0622048F9F004BDAC2 /* styles_lite_container.cpp in Sources */,
8AF8AAF722048F9F004BDAC2 /* office_annotation.cpp in Sources */,
8AF8AB0822048F9F004BDAC2 /* office_document.cpp in Sources */,
8AF8AB3B22048F9F004BDAC2 /* XlsxConverter.cpp in Sources */,
8AF8AB2722048F9F004BDAC2 /* odf_table_styles_context.cpp in Sources */,
8AF8AB0322048F9F004BDAC2 /* style_map.cpp in Sources */,
8AF8AB3D22048F9F004BDAC2 /* PptxConverter.cpp in Sources */,
8AF8AB3022048F9F004BDAC2 /* office_event_listeners.cpp in Sources */,
8AF8AB1F22048F9F004BDAC2 /* odp_conversion_context.cpp in Sources */,
8AF8AB2322048F9F004BDAC2 /* odf_style_context.cpp in Sources */,
8AF8AAF622048F9F004BDAC2 /* text_elements.cpp in Sources */,
8AF8AB0D22048F9F004BDAC2 /* odf_conversion_context.cpp in Sources */,
8AF8AB1522048F9F004BDAC2 /* calcext_elements.cpp in Sources */,
8AF8AB2C22048F9F004BDAC2 /* object_package.cpp in Sources */,
8AF8AAFA22048F9F004BDAC2 /* ods_table_state.cpp in Sources */,
8AF8AB2F22048F9F004BDAC2 /* header_footer.cpp in Sources */,
8AF8AB3522048F9F004BDAC2 /* mediaitems_utils.cpp in Sources */,
8AF8AB3822048F9F004BDAC2 /* odf_style_state.cpp in Sources */,
8AF8AB2422048F9F004BDAC2 /* ods_conversion_context.cpp in Sources */,
8AF8AB3722048F9F004BDAC2 /* table_database_ranges.cpp in Sources */,
8AF8AB2D22048F9F004BDAC2 /* odf_number_styles_context.cpp in Sources */,
8AF8AB2022048F9F004BDAC2 /* odf_drawing_context.cpp in Sources */,
8AF8AB1622048F9F004BDAC2 /* odf_page_layout_state.cpp in Sources */,
8AF8AB3322048F9F004BDAC2 /* style_graphic_properties.cpp in Sources */,
8AF8AB3A22048F9F004BDAC2 /* ConverterChart.cpp in Sources */,
8AF8AB3E22048F9F004BDAC2 /* ConvertVml.cpp in Sources */,
8AF8AAF922048F9F004BDAC2 /* svg_creator.cpp in Sources */,
8AF8AB1D22048F9F004BDAC2 /* draw_page.cpp in Sources */,
8AF8AB3422048F9F004BDAC2 /* office_spreadsheet.cpp in Sources */,
8AF8AB2122048F9F004BDAC2 /* odf_comment_context.cpp in Sources */,
8AF8AB1E22048F9F004BDAC2 /* number_style.cpp in Sources */,
8AF8AB2E22048F9F004BDAC2 /* office_body.cpp in Sources */,
8AF8AAFB22048F9F004BDAC2 /* style_chart_properties.cpp in Sources */,
8AF8AAFF22048F9F004BDAC2 /* logging.cpp in Sources */,
8AF8AB0122048F9F004BDAC2 /* office_chart.cpp in Sources */,
8AF8AB1422048F9F004BDAC2 /* ods_table_context.cpp in Sources */,
8AF8AB1A22048F9F004BDAC2 /* abstract_xml.cpp in Sources */,
8AF8AB2A22048F9F004BDAC2 /* paragraph_elements.cpp in Sources */,
8AF8AB1822048F9F004BDAC2 /* style_page_layout_properties.cpp in Sources */,
8AF8AAF822048F9F004BDAC2 /* style_table_properties.cpp in Sources */,
8AF8AB1122048F9F004BDAC2 /* style_presentation.cpp in Sources */,
8AF8AB2822048F9F004BDAC2 /* odt_conversion_context.cpp in Sources */,
8AF8AB0F22048F9F004BDAC2 /* mediaitems.cpp in Sources */,
8AF8AB0522048F9F004BDAC2 /* styles_list.cpp in Sources */,
8AF8AB0922048F9F004BDAC2 /* anim_elements.cpp in Sources */,
8AF8AB1722048F9F004BDAC2 /* odf_settings_context.cpp in Sources */,
8AF8AB0C22048F9F004BDAC2 /* office_elements_create.cpp in Sources */,
8AF8AB2622048F9F004BDAC2 /* office_presentation.cpp in Sources */,
8AF8AB1222048F9F004BDAC2 /* office_text.cpp in Sources */,
8AF8AB0A22048F9F004BDAC2 /* odf_rels.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
8AF8AA3F22048F12004BDAC2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
};
name = Debug;
};
8AF8AA4022048F12004BDAC2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_IDENTITY = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 12.1;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
8AF8AA4222048F12004BDAC2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 2WH24U26GJ;
GCC_PREPROCESSOR_DEFINITIONS = (
UNICODE,
_UNICODE,
DONT_WRITE_EMBEDDED_FONTS,
MAC,
unix,
_IOS,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/../../../Common/3dParty/boost/boost_1_58_0",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/include",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/src/odf/datatypes",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
8AF8AA4322048F12004BDAC2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 2WH24U26GJ;
GCC_PREPROCESSOR_DEFINITIONS = (
UNICODE,
_UNICODE,
DONT_WRITE_EMBEDDED_FONTS,
MAC,
unix,
_IOS,
_XCODE,
);
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/../../../Common/3dParty/boost/boost_1_58_0",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/include",
"$(PROJECT_DIR)/../../../ASCOfficeOdfFile/src/odf/datatypes",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
8AF8AA3322048F12004BDAC2 /* Build configuration list for PBXProject "ASCOfficeOdfFileW" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8AF8AA3F22048F12004BDAC2 /* Debug */,
8AF8AA4022048F12004BDAC2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
8AF8AA4122048F12004BDAC2 /* Build configuration list for PBXNativeTarget "ASCOfficeOdfFileW" */ = {
isa = XCConfigurationList;
buildConfigurations = (
8AF8AA4222048F12004BDAC2 /* Debug */,
8AF8AA4322048F12004BDAC2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 8AF8AA3022048F12004BDAC2 /* Project object */;
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:ASCOfficeOdfFileW.xcodeproj">
</FileRef>
</Workspace>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@ -0,0 +1 @@
DO NOT REMOVE FOLDER FOR XCODE

View File

@ -119,7 +119,7 @@ _UINT32 COfficePPTFile::LoadFromFile(std::wstring sSrcFileName, std::wstring sDs
}
if (!((CPPTFileReader*)m_pReader)->m_oDocumentInfo.m_arUsers.empty())
{
NSPresentationEditor::CPPTXWriter oPPTXWriter;
PPT_FORMAT::CPPTXWriter oPPTXWriter;
oPPTXWriter.m_strTempDirectory = sDstPath;

View File

@ -48,7 +48,7 @@
#include "Converter.h"
namespace NSPresentationEditor
namespace PPT_FORMAT
{
namespace NSPPTXWriterConst
{
@ -68,7 +68,7 @@ namespace NSPresentationEditor
}
NSPresentationEditor::CPPTXWriter::CPPTXWriter()
PPT_FORMAT::CPPTXWriter::CPPTXWriter()
{
m_strTempDirectory = NSDirectory::GetTempPath() + FILE_SEPARATOR_STR + _T("TempPPTX");
m_strDstFileName = NSDirectory::GetTempPath() + FILE_SEPARATOR_STR + _T("Test.pptx");
@ -79,12 +79,12 @@ NSPresentationEditor::CPPTXWriter::CPPTXWriter()
m_pShapeWriter = new CShapeWriter();
}
NSPresentationEditor::CPPTXWriter::~CPPTXWriter()
PPT_FORMAT::CPPTXWriter::~CPPTXWriter()
{
RELEASEOBJECT(m_pShapeWriter);
}
void NSPresentationEditor::CPPTXWriter::CreateFile(CPPTUserInfo* pUserInfo )
void PPT_FORMAT::CPPTXWriter::CreateFile(CPPTUserInfo* pUserInfo )
{
m_pUserInfo = pUserInfo;
@ -131,7 +131,7 @@ void NSPresentationEditor::CPPTXWriter::CreateFile(CPPTUserInfo* pUserInfo )
WriteAll();
}
void NSPresentationEditor::CPPTXWriter::CreateFile(CDocument* pDocument)
void PPT_FORMAT::CPPTXWriter::CreateFile(CDocument* pDocument)
{
m_pDocument = pDocument;
m_oManager.Clear();
@ -175,13 +175,13 @@ void NSPresentationEditor::CPPTXWriter::CreateFile(CDocument* pDocument)
WriteAll();
}
void NSPresentationEditor::CPPTXWriter::CloseFile()
void PPT_FORMAT::CPPTXWriter::CloseFile()
{
m_oManager.Clear();
}
void NSPresentationEditor::CPPTXWriter::WriteContentTypes()
void PPT_FORMAT::CPPTXWriter::WriteContentTypes()
{
std::wstring strContentTypes = L"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?>\
<Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\">\
@ -273,7 +273,7 @@ void NSPresentationEditor::CPPTXWriter::WriteContentTypes()
}
void NSPresentationEditor::CPPTXWriter::WriteApp(CFile& oFile)
void PPT_FORMAT::CPPTXWriter::WriteApp(CFile& oFile)
{
std::wstringstream strm;
@ -413,7 +413,7 @@ void NSPresentationEditor::CPPTXWriter::WriteApp(CFile& oFile)
oFile.WriteStringUTF8(strm.str());
}
void NSPresentationEditor::CPPTXWriter::WritePresInfo()
void PPT_FORMAT::CPPTXWriter::WritePresInfo()
{
CFile oFile;
@ -551,7 +551,7 @@ void NSPresentationEditor::CPPTXWriter::WritePresInfo()
oFile.CloseFile();
}
void NSPresentationEditor::CPPTXWriter::WriteAll()
void PPT_FORMAT::CPPTXWriter::WriteAll()
{
std::wstring strPptDirectory = m_strTempDirectory + FILE_SEPARATOR_STR + _T("ppt") + FILE_SEPARATOR_STR ;
@ -585,7 +585,7 @@ void NSPresentationEditor::CPPTXWriter::WriteAll()
WriteNotes();
}
void NSPresentationEditor::CPPTXWriter::WriteThemes()
void PPT_FORMAT::CPPTXWriter::WriteThemes()
{
int nStartLayout = 0, nIndexTheme = 0;
@ -600,7 +600,7 @@ void NSPresentationEditor::CPPTXWriter::WriteThemes()
WriteTheme(m_pDocument->m_pHandoutMaster, nIndexTheme, nStartLayout);
}
void NSPresentationEditor::CPPTXWriter::WriteTheme(CThemePtr pTheme, int & nIndexTheme, int & nStartLayout)
void PPT_FORMAT::CPPTXWriter::WriteTheme(CThemePtr pTheme, int & nIndexTheme, int & nStartLayout)
{
if (!pTheme) return;
@ -612,7 +612,7 @@ void NSPresentationEditor::CPPTXWriter::WriteTheme(CThemePtr pTheme, int & nInde
CFile oFile;
oFile.CreateFile(strThemeFile);
NSPresentationEditor::CStringWriter oStringWriter;
PPT_FORMAT::CStringWriter oStringWriter;
oStringWriter.WriteString(std::wstring(L"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\" ?><a:theme xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" name=\""));
oStringWriter.WriteStringXML(pTheme->m_sThemeName);
@ -854,7 +854,7 @@ void NSPresentationEditor::CPPTXWriter::WriteTheme(CThemePtr pTheme, int & nInde
nIndexTheme++;
}
void NSPresentationEditor::CPPTXWriter::WriteColorScheme(CStringWriter& oStringWriter, const std::wstring & name, const std::vector<CColor> & colors, bool extra)
void PPT_FORMAT::CPPTXWriter::WriteColorScheme(CStringWriter& oStringWriter, const std::wstring & name, const std::vector<CColor> & colors, bool extra)
{
if (colors.size() < 1)
{
@ -908,7 +908,7 @@ accent2=\"accent2\" accent3=\"accent3\" accent4=\"accent4\" accent5=\"accent5\"
}
}
void NSPresentationEditor::CPPTXWriter::WriteBackground(CStringWriter& oWriter, CRelsGenerator& oRels, CBrush& oBackground)
void PPT_FORMAT::CPPTXWriter::WriteBackground(CStringWriter& oWriter, CRelsGenerator& oRels, CBrush& oBackground)
{
oWriter.WriteString(std::wstring(L"<p:bg><p:bgPr>"));
@ -918,7 +918,7 @@ void NSPresentationEditor::CPPTXWriter::WriteBackground(CStringWriter& oWriter,
}
oWriter.WriteString(std::wstring(L"</p:bgPr></p:bg>"));
}
void NSPresentationEditor::CPPTXWriter::WriteGroup(CStringWriter& oWriter, CRelsGenerator& oRels, CElementPtr pElement, CLayout* pLayout)
void PPT_FORMAT::CPPTXWriter::WriteGroup(CStringWriter& oWriter, CRelsGenerator& oRels, CElementPtr pElement, CLayout* pLayout)
{
CGroupElement *pGroupElement = dynamic_cast<CGroupElement*>(pElement.get());
@ -931,7 +931,7 @@ void NSPresentationEditor::CPPTXWriter::WriteGroup(CStringWriter& oWriter, CRels
}
oWriter.WriteString(L"</p:grpSp>");
}
void NSPresentationEditor::CPPTXWriter::WriteElement(CStringWriter& oWriter, CRelsGenerator& oRels, CElementPtr pElement, CLayout* pLayout)
void PPT_FORMAT::CPPTXWriter::WriteElement(CStringWriter& oWriter, CRelsGenerator& oRels, CElementPtr pElement, CLayout* pLayout)
{
if (!pElement) return;
@ -986,7 +986,7 @@ void NSPresentationEditor::CPPTXWriter::WriteElement(CStringWriter& oWriter, CRe
}
}
void NSPresentationEditor::CPPTXWriter::WriteLayout(CLayoutPtr pLayout, int nIndexLayout, int nStartLayout, int nIndexTheme)
void PPT_FORMAT::CPPTXWriter::WriteLayout(CLayoutPtr pLayout, int nIndexLayout, int nStartLayout, int nIndexTheme)
{
if (!pLayout) return;
@ -1055,7 +1055,7 @@ void NSPresentationEditor::CPPTXWriter::WriteLayout(CLayoutPtr pLayout, int nInd
strFile = L"slideLayout" + std::to_wstring(nIndexLayout + nStartLayout + 1) + L".xml.rels";
oRels.SaveRels(strFileLayoutPath + _T("_rels") + FILE_SEPARATOR_STR + strFile);
}
void NSPresentationEditor::CPPTXWriter::WriteSlide(int nIndexSlide)
void PPT_FORMAT::CPPTXWriter::WriteSlide(int nIndexSlide)
{
CStringWriter oWriter;
CRelsGenerator oRels(&m_oManager);
@ -1140,7 +1140,7 @@ void NSPresentationEditor::CPPTXWriter::WriteSlide(int nIndexSlide)
oRels.SaveRels(strFileSlidePath + _T("_rels") + FILE_SEPARATOR_STR + strFile);
}
void NSPresentationEditor::CPPTXWriter::WriteTransition(CStringWriter& oWriter, CTransition& transition)
void PPT_FORMAT::CPPTXWriter::WriteTransition(CStringWriter& oWriter, CTransition& transition)
{
if (transition.m_nEffectType == 0xFF) return;
@ -1327,7 +1327,7 @@ void NSPresentationEditor::CPPTXWriter::WriteTransition(CStringWriter& oWriter,
oWriter.WriteString(std::wstring(L"</p:transition>"));
}
void NSPresentationEditor::CPPTXWriter::WriteNotes(int nIndexNotes)
void PPT_FORMAT::CPPTXWriter::WriteNotes(int nIndexNotes)
{
CStringWriter oWriter;
CRelsGenerator oRels(&m_oManager);
@ -1391,14 +1391,14 @@ void NSPresentationEditor::CPPTXWriter::WriteNotes(int nIndexNotes)
oRels.SaveRels(strFileSlidePath + _T("_rels") + FILE_SEPARATOR_STR + strFile);
}
void NSPresentationEditor::CPPTXWriter::WriteSlides()
void PPT_FORMAT::CPPTXWriter::WriteSlides()
{
for (size_t nIndexS = 0; nIndexS < m_pDocument->m_arSlides.size(); ++nIndexS)
{
WriteSlide((int)nIndexS);
}
}
void NSPresentationEditor::CPPTXWriter::WriteNotes()
void PPT_FORMAT::CPPTXWriter::WriteNotes()
{
for (size_t nIndexS = 0; nIndexS < m_pDocument->m_arNotes.size(); ++nIndexS)
{

View File

@ -37,7 +37,7 @@
class CStylesWriter;
class CPPTUserInfo;
namespace NSPresentationEditor
namespace PPT_FORMAT
{
class CDocument;
class CShapeWriter;

View File

@ -35,7 +35,7 @@
#include "../../../Common/FileDownloader/FileDownloader.h"
#endif
namespace NSPresentationEditor
namespace PPT_FORMAT
{
class CMediaManager
{
@ -170,7 +170,7 @@ namespace NSPresentationEditor
class CRelsGenerator
{
private:
NSPresentationEditor::CStringWriter m_oWriter;
PPT_FORMAT::CStringWriter m_oWriter;
int m_lNextRelsID;
std::map<std::wstring, int> m_mapMediaRelsID;
CMediaManager* m_pManager;

File diff suppressed because it is too large Load Diff

View File

@ -35,7 +35,7 @@
#include "ImageManager.h"
namespace NSPresentationEditor
namespace PPT_FORMAT
{
static inline LONG GetPPTXPlaceHolderType(const int & lType)
{
@ -64,7 +64,6 @@ namespace NSPresentationEditor
return 13; // subtitle
case PT_Object:
case PT_VerticalObject:
return 9; // object
case PT_MasterNotesSlideImage:
@ -86,9 +85,6 @@ namespace NSPresentationEditor
case PT_Media:
return 8; // media
case PT_Picture:
return 10; // picture
case PT_MasterDate:
return 5; // date
@ -138,15 +134,15 @@ namespace NSPresentationEditor
class CShapeWriter
{
private:
NSPresentationEditor::CStringWriter m_oWriterPath;
NSPresentationEditor::CStringWriter m_oWriterVML;
NSPresentationEditor::CStringWriter m_oWriter;
PPT_FORMAT::CStringWriter m_oWriterPath;
PPT_FORMAT::CStringWriter m_oWriterVML;
PPT_FORMAT::CStringWriter m_oWriter;
NSPresentationEditor::CElementPtr m_pElement;
PPT_FORMAT::CElementPtr m_pElement;
NSPresentationEditor::CRelsGenerator* m_pRels;
PPT_FORMAT::CRelsGenerator* m_pRels;
NSPresentationEditor::CTheme* m_pTheme;
PPT_FORMAT::CTheme* m_pTheme;
LONG m_lNextShapeID;

View File

@ -31,19 +31,19 @@
*/
#pragma once
namespace NSPresentationEditor
namespace PPT_FORMAT
{
class CTheme;
}
class CStylesWriter
{
public:
CStylesWriter(NSPresentationEditor::CTheme* m_pTheme);
CStylesWriter(PPT_FORMAT::CTheme* m_pTheme);
CStylesWriter();
NSPresentationEditor::CTheme* m_pTheme;
PPT_FORMAT::CTheme* m_pTheme;
void ConvertStyles(NSPresentationEditor::CTextStyles& oStyles, NSPresentationEditor::CStringWriter& oWriter, int nCount = 10)
void ConvertStyles(PPT_FORMAT::CTextStyles& oStyles, PPT_FORMAT::CStringWriter& oWriter, int nCount = 10)
{
for (int i = 0; i < nCount; ++i)
{
@ -51,19 +51,19 @@ public:
ConvertStyleLevel(oStyles.m_pLevels[i].get(), oWriter, i);
}
}
std::wstring ConvertStyleLevel(NSPresentationEditor::CTextStyleLevel& oLevel, const int& nLevel)
std::wstring ConvertStyleLevel(PPT_FORMAT::CTextStyleLevel& oLevel, const int& nLevel)
{
NSPresentationEditor::CStringWriter oWriter;
PPT_FORMAT::CStringWriter oWriter;
ConvertStyleLevel(oLevel, oWriter, nLevel);
return oWriter.GetData();
}
void ConvertStyleLevel(NSPresentationEditor::CTextStyleLevel& oLevel,
NSPresentationEditor::CStringWriter& oWriter, const int& nLevel);
void ConvertStyleLevel(PPT_FORMAT::CTextStyleLevel& oLevel,
PPT_FORMAT::CStringWriter& oWriter, const int& nLevel);
std::wstring ConvertStyles(NSPresentationEditor::CTextStyles& oStyles, int nCount = 10)
std::wstring ConvertStyles(PPT_FORMAT::CTextStyles& oStyles, int nCount = 10)
{
NSPresentationEditor::CStringWriter oWriter;
PPT_FORMAT::CStringWriter oWriter;
ConvertStyles(oStyles, oWriter, nCount);
return oWriter.GetData();
}

View File

@ -33,7 +33,7 @@
#include "../Records/CurrentUserAtom.h"
using namespace NSOfficePPT;
//using namespace NSOfficePPT;
class CUserEdit
{

View File

@ -42,6 +42,7 @@
#include "../Records/SoundCollectionContainer.h"
#include "../Records/SoundContainer.h"
CPPTUserInfo::CPPTUserInfo() : CDocument(),
m_oUser(),
m_mapOffsetInPIDs(),
@ -446,7 +447,7 @@ void CPPTUserInfo::ReadExtenalObjects(std::wstring strFolderMem)
// так... теперь берем всю инфу о ExObject -----------------------------
m_oExMedia.m_strPresentationDirectory = strFolderMem;
NSPresentationEditor::CExFilesInfo oInfo;
PPT_FORMAT::CExFilesInfo oInfo;
oInfo.m_strFilePath = m_oExMedia.m_strPresentationDirectory;
oInfo.m_dwID = 0xFFFFFFFF;
@ -475,10 +476,10 @@ void CPPTUserInfo::ReadExtenalObjects(std::wstring strFolderMem)
for (size_t nIndex = 0; nIndex < oArrayFonts.size(); ++nIndex)
{
CFont oFont;
CFontProperty oFont;
oFont.Name = oArrayFonts[nIndex]->m_strFaceName;
oFont.Charset = oArrayFonts[nIndex]->m_lfCharSet;
oFont.PitchFamily = oArrayFonts[nIndex]->m_lfPitchAndFamily;
m_arrFonts.push_back(oFont);
@ -510,7 +511,7 @@ void CPPTUserInfo::FromDocument()
oArrayInfo[0]->GetRecordsByType(&oStyles, false, false);
if (0 != oStyles.size())
m_oDefaultTextStyle.SetStyles((NSPresentationEditor::CTextStyles*)oStyles[0]);
m_oDefaultTextStyle.SetStyles((PPT_FORMAT::CTextStyles*)oStyles[0]);
std::vector<CRecordTextSIExceptionAtom*> oSI;
oArrayInfo[0]->GetRecordsByType(&oSI, false, false);
@ -674,7 +675,7 @@ void CPPTUserInfo::LoadNotes(_UINT32 dwNoteID, CSlide* pNotes)
CLayout* pLayout = NULL;
//-----------------------------------------------------
std::vector<NSPresentationEditor::CColor>* pArrayColorScheme = pTheme ? &pTheme->m_arColorScheme : NULL;
std::vector<ODRAW::CColor>* pArrayColorScheme = pTheme ? &pTheme->m_arColorScheme : NULL;
// читаем цветовую схему -----------------------------------------------------------
pNotes->m_bUseLayoutColorScheme = true;
@ -800,7 +801,7 @@ void CPPTUserInfo::LoadSlide(_UINT32 dwSlideID, CSlide* pSlide)
pTransition->m_bAudioPresent = pAtom->m_bSound;
NSPresentationEditor::CExFilesInfo* pInfo = m_oExMedia.LockAudioFromCollection(pAtom->m_nSoundRef);
PPT_FORMAT::CExFilesInfo* pInfo = m_oExMedia.LockAudioFromCollection(pAtom->m_nSoundRef);
if (NULL != pInfo)
{
pTransition->m_oAudio.m_strAudioFileName = pInfo->m_strFilePath;
@ -818,7 +819,7 @@ void CPPTUserInfo::LoadSlide(_UINT32 dwSlideID, CSlide* pSlide)
CSlideShowSlideInfoAtom* pAtom = &pRecordSlide->m_oSlideShowSlideInfoAtom;
if (pAtom->m_bSound)
{
NSPresentationEditor::CExFilesInfo* pInfo = m_oExMedia.LockAudioFromCollection(pAtom->m_nSoundRef);
PPT_FORMAT::CExFilesInfo* pInfo = m_oExMedia.LockAudioFromCollection(pAtom->m_nSoundRef);
if (NULL != pInfo)
AddAudioTransition (dwSlideID, pTransition, pInfo->m_strFilePath);
}
@ -897,7 +898,7 @@ void CPPTUserInfo::LoadSlide(_UINT32 dwSlideID, CSlide* pSlide)
}
}
std::vector<NSPresentationEditor::CColor>* pArrayColorScheme = &pTheme->m_arColorScheme;
std::vector<ODRAW::CColor>* pArrayColorScheme = &pTheme->m_arColorScheme;
if (!pLayout->m_bUseThemeColorScheme)
pArrayColorScheme = &pLayout->m_arColorScheme;
@ -1024,16 +1025,16 @@ void CPPTUserInfo::LoadSlide(_UINT32 dwSlideID, CSlide* pSlide)
}
std::multimap<int, int>::iterator it;
if (bHasSlideNumber) AddLayoutSlidePlaceholder(pSlide, MasterSlideNumber, pLayout, true);
if (bHasSlideNumber) AddLayoutSlidePlaceholder(pSlide, PT_MasterSlideNumber, pLayout, true);
if (bHasDate)
{
CElementPtr pElement = AddLayoutSlidePlaceholder(pSlide, MasterDate, pLayout, true);
CElementPtr pElement = AddLayoutSlidePlaceholder(pSlide, PT_MasterDate, pLayout, true);
if (pElement) pElement->m_nFormatDate = nFormatDate;
}
if (bHasFooter) AddLayoutSlidePlaceholder(pSlide, MasterFooter, pLayout, true);
if (bHasFooter) AddLayoutSlidePlaceholder(pSlide, PT_MasterFooter, pLayout, true);
}
void CPPTUserInfo::LoadGroupShapeContainer(CRecordGroupShapeContainer* pGroupContainer, std::vector<CElementPtr>* pParentElements, CTheme* pTheme, CLayout* pLayout,
@ -1101,9 +1102,9 @@ void CPPTUserInfo::LoadGroupShapeContainer(CRecordGroupShapeContainer* pGroupCon
{
if (pElement->m_lPlaceholderID >= 0)
{
if (pElement->m_lPlaceholderType == MasterSlideNumber) pLayout->m_bHasSlideNumber = true;
if (pElement->m_lPlaceholderType == MasterDate) pLayout->m_bHasDate = true;
if (pElement->m_lPlaceholderType == MasterFooter) pLayout->m_bHasFooter = true;
if (pElement->m_lPlaceholderType == PT_MasterSlideNumber) pLayout->m_bHasSlideNumber = true;
if (pElement->m_lPlaceholderType == PT_MasterDate) pLayout->m_bHasDate = true;
if (pElement->m_lPlaceholderType == PT_MasterFooter) pLayout->m_bHasFooter = true;
}
pLayout->m_mapPlaceholders.insert(std::make_pair(pElement->m_lPlaceholderType, pElement));
}
@ -1230,7 +1231,7 @@ int CPPTUserInfo::AddNewLayout(CTheme* pTheme, CRecordSlide* pRecordSlide, bool
int ind = pTheme->m_arLayouts.size();
pTheme->m_arLayouts.push_back(boost::make_shared<NSPresentationEditor::CLayout>());
pTheme->m_arLayouts.push_back(boost::make_shared<PPT_FORMAT::CLayout>());
CLayout *pLayout = pTheme->m_arLayouts.back().get();
pLayout->m_bUseThemeColorScheme = true;
@ -1270,16 +1271,16 @@ int CPPTUserInfo::AddNewLayout(CTheme* pTheme, CRecordSlide* pRecordSlide, bool
switch(layoutRecord.m_pPlaceHolderID[i])
{
case NSOfficePPT::MasterTitle :
case NSOfficePPT::MasterBody :
case NSOfficePPT::MasterCenteredTitle :
case NSOfficePPT::MasterSubtitle :
case NSOfficePPT::MasterNotesSlideImage :
case NSOfficePPT::MasterNotesBody:
case NSOfficePPT::MasterSlideNumber:
case NSOfficePPT::MasterDate:
case NSOfficePPT::MasterHeader:
case NSOfficePPT::MasterFooter:
case PT_MasterTitle:
case PT_MasterBody:
case PT_MasterCenterTitle:
case PT_MasterSubTitle:
case PT_MasterNotesSlideImage:
case PT_MasterNotesBody:
case PT_MasterDate:
case PT_MasterSlideNumber:
case PT_MasterFooter:
case PT_MasterHeader:
{
int usualType = layoutRecord.m_pPlaceHolderID[i];
CorrectPlaceholderType(usualType);
@ -1331,9 +1332,9 @@ int CPPTUserInfo::AddNewLayout(CTheme* pTheme, CRecordSlide* pRecordSlide, bool
for (int i = 0; i < 3; i++) pLayout->m_PlaceholdersReplaceString[i] = pTheme->m_PlaceholdersReplaceString[i];
if (pLayout->m_bHasSlideNumber) AddThemeLayoutPlaceholder(pLayout, MasterSlideNumber, pTheme, true);
if (pLayout->m_bHasDate) AddThemeLayoutPlaceholder(pLayout, MasterDate, pTheme, true);
if (pLayout->m_bHasFooter) AddThemeLayoutPlaceholder(pLayout, MasterFooter, pTheme, true);
if (pLayout->m_bHasSlideNumber) AddThemeLayoutPlaceholder(pLayout, PT_MasterSlideNumber, pTheme, true);
if (pLayout->m_bHasDate) AddThemeLayoutPlaceholder(pLayout, PT_MasterDate, pTheme, true);
if (pLayout->m_bHasFooter) AddThemeLayoutPlaceholder(pLayout, PT_MasterFooter, pTheme, true);
return ind;
}
@ -1387,7 +1388,7 @@ void CPPTUserInfo::LoadMainMaster(_UINT32 dwMasterID)
if (0 == oArraySlideAtoms.size())
return;
_UINT32 dwID = (_UINT32)oArraySlideAtoms[0]->m_nMasterIDRef;
_UINT32 dwID = (_UINT32)oArraySlideAtoms[0]->m_nMasterIDRef;
if (0 != dwID)
{
// этот мастер - не main!!!
@ -1419,7 +1420,7 @@ void CPPTUserInfo::LoadMainMaster(_UINT32 dwMasterID)
m_mapMasterToTheme.insert(std::pair<_UINT32, LONG>(dwMasterID, lIndexTheme));
m_arThemes.push_back(boost::make_shared<NSPresentationEditor::CTheme>());
m_arThemes.push_back(boost::make_shared<PPT_FORMAT::CTheme>());
CTheme* pTheme = m_arThemes[lIndexTheme].get();
std::vector<CRecordHeadersFootersContainer*> oArrayHeadersFootersInfo;
@ -1531,8 +1532,8 @@ void CPPTUserInfo::LoadMainMaster(_UINT32 dwMasterID)
if ((0 > lType) || (lType > 8))
continue;
pMasterWrapper->m_pStyles[lType] = new NSPresentationEditor::CTextStyles();
pMasterWrapper->m_pStyles[lType]->SetStyles((NSPresentationEditor::CTextStyles*)oArrayTextMasters[i]);
pMasterWrapper->m_pStyles[lType] = new PPT_FORMAT::CTextStyles();
pMasterWrapper->m_pStyles[lType]->SetStyles((PPT_FORMAT::CTextStyles*)oArrayTextMasters[i]);
CTheme::CalculateStyle(pTheme, pMasterWrapper->m_pStyles[lType].get());
}
@ -1671,7 +1672,7 @@ void CPPTUserInfo::LoadMaster(_typeMaster type, CRecordSlide* pMaster, CSlideInf
}
}
pTheme = boost::make_shared<NSPresentationEditor::CTheme>(type);
pTheme = boost::make_shared<PPT_FORMAT::CTheme>(type);
std::vector<CRecordHeadersFootersContainer*> oArrayHeadersFootersInfo;
pMaster->GetRecordsByType(&oArrayHeadersFootersInfo, true, false);
@ -1891,7 +1892,7 @@ void CPPTUserInfo::LoadNoMainMaster(_UINT32 dwMasterID)
pTheme->m_mapTitleLayout[dwMasterID] = lLayoutID;
std::vector<NSPresentationEditor::CColor>* pArrayColorScheme = &pTheme->m_arColorScheme;
std::vector<ODRAW::CColor>* pArrayColorScheme = &pTheme->m_arColorScheme;
// читаем цветовую схему -----------------------------------------------------------
if (!bMasterColorScheme)
{
@ -2006,23 +2007,23 @@ void CPPTUserInfo::LoadNoMainMaster(_UINT32 dwMasterID)
if (pLayout->m_bHasSlideNumber)
{
if (pLayout->m_mapPlaceholders.find(MasterSlideNumber) == pLayout->m_mapPlaceholders.end())
if (pLayout->m_mapPlaceholders.find(PT_MasterSlideNumber) == pLayout->m_mapPlaceholders.end())
{
AddNewLayoutPlaceholder(pLayout, MasterSlideNumber, 2);
AddNewLayoutPlaceholder(pLayout, PT_MasterSlideNumber, 2);
}
}
if (pLayout->m_bHasDate && pLayout->m_nFormatDate == 1)
{
if (pLayout->m_mapPlaceholders.find(MasterDate) == pLayout->m_mapPlaceholders.end())
if (pLayout->m_mapPlaceholders.find(PT_MasterDate) == pLayout->m_mapPlaceholders.end())
{
AddNewLayoutPlaceholder(pLayout, MasterDate, 2);
AddNewLayoutPlaceholder(pLayout, PT_MasterDate, 2);
}
}
if (pLayout->m_bHasFooter)
{
if (pLayout->m_mapPlaceholders.find(MasterFooter) == pLayout->m_mapPlaceholders.end())
if (pLayout->m_mapPlaceholders.find(PT_MasterFooter) == pLayout->m_mapPlaceholders.end())
{
AddNewLayoutPlaceholder(pLayout, MasterFooter, 1);
AddNewLayoutPlaceholder(pLayout, PT_MasterFooter, 1);
}
}
@ -2249,7 +2250,7 @@ void CPPTUserInfo::LoadExternal(CRecordExObjListContainer* pExObjects)
if ((3 <= oArrayStrings.size()) && (1 == oArrayData.size()))
{
NSPresentationEditor::CExFilesInfo oInfo;
PPT_FORMAT::CExFilesInfo oInfo;
oInfo.m_strFilePath = m_oExMedia.m_strPresentationDirectory + FILE_SEPARATOR_STR + oArrayStrings[0]->m_strText + _T(".audio");
oInfo.m_dwID = (_UINT32)XmlUtils::GetInteger(oArrayStrings[2]->m_strText.c_str());
@ -2300,10 +2301,10 @@ void CPPTUserInfo::LoadExternal(CRecordExObjListContainer* pExObjects)
_UINT32 dwKeySound = oArrayAudioEmbedded[nIndex]->m_nSoundID;
_UINT32 dwKeyObj = oArrayAudioEmbedded[nIndex]->m_oMedia.m_nExObjID;
NSPresentationEditor::CExFilesInfo* pInfo = m_oExMedia.LockAudioFromCollection(dwKeySound);
PPT_FORMAT::CExFilesInfo* pInfo = m_oExMedia.LockAudioFromCollection(dwKeySound);
if (NULL != pInfo)
{
NSPresentationEditor::CExFilesInfo oAudio;
PPT_FORMAT::CExFilesInfo oAudio;
oAudio.m_dwID = dwKeyObj;
oAudio.m_strFilePath = pInfo->m_strFilePath;
@ -2316,7 +2317,7 @@ void CPPTUserInfo::LoadExternal(CRecordExObjListContainer* pExObjects)
{
_UINT32 dwKeyObj = oArrayAudioCD[nIndex]->m_oMedia.m_nExObjID;
NSPresentationEditor::CExFilesInfo* pInfo = m_oExMedia.LockAudio(dwKeyObj);
PPT_FORMAT::CExFilesInfo* pInfo = m_oExMedia.LockAudio(dwKeyObj);
if (NULL != pInfo)
{
@ -2342,7 +2343,7 @@ void CPPTUserInfo::LoadExternal(CRecordExObjListContainer* pExObjects)
if (oArrayCString.size() > 0 && oArrayHyperlink.size() > 0)
{
NSPresentationEditor::CExFilesInfo oInfo;
PPT_FORMAT::CExFilesInfo oInfo;
oInfo.m_dwID = oArrayHyperlink[0]->m_nHyperlinkID;
for (size_t i = 0 ; i < oArrayCString.size(); i++)
@ -2365,7 +2366,7 @@ void CPPTUserInfo::LoadExVideo(CRecordsContainer* pExObject)
if ((1 == oArrayExMedia.size()) && (1 == oArrayCString.size()))
{
NSPresentationEditor::CExFilesInfo oInfo;
PPT_FORMAT::CExFilesInfo oInfo;
oInfo.m_dwID = oArrayExMedia[0]->m_nExObjID;
oInfo.m_strFilePath = oArrayCString[0]->m_strText;
@ -2388,7 +2389,7 @@ void CPPTUserInfo::LoadExAudio(CRecordsContainer* pExObject)
if ((1 == oArrayExMedia.size()) && (1 == oArrayCString.size()))
{
NSPresentationEditor::CExFilesInfo oInfo;
PPT_FORMAT::CExFilesInfo oInfo;
oInfo.m_dwID = oArrayExMedia[0]->m_nExObjID;
oInfo.m_strFilePath = oArrayCString[0]->m_strText;
@ -2459,22 +2460,21 @@ void CPPTUserInfo::AddAudioTransition (_UINT32 dwSlideID, CTransition* pTransiti
delete pAudio;
}
void CPPTUserInfo::CreateDefaultStyle(NSPresentationEditor::CTextStyles& pStyle, NSPresentationEditor::CTheme* pTheme)
void CPPTUserInfo::CreateDefaultStyle(PPT_FORMAT::CTextStyles& pStyle, PPT_FORMAT::CTheme* pTheme)
{
for (int i = 0; i < 10; ++i)
{
if (!pStyle.m_pLevels[i].is_init())
pStyle.m_pLevels[i] = new NSPresentationEditor::CTextStyleLevel();
pStyle.m_pLevels[i] = new PPT_FORMAT::CTextStyleLevel();
NSPresentationEditor::CTextPFRun* pPF = &pStyle.m_pLevels[i]->m_oPFRun;
NSPresentationEditor::CTextCFRun* pCF = &pStyle.m_pLevels[i]->m_oCFRun;
PPT_FORMAT::CTextPFRun* pPF = &pStyle.m_pLevels[i]->m_oPFRun;
PPT_FORMAT::CTextCFRun* pCF = &pStyle.m_pLevels[i]->m_oCFRun;
pCF->Language = m_wLanguage;
pCF->Size = 18;
pCF->FontProperties = new NSPresentationEditor::CFontProperties();
pCF->FontProperties->SetFont(pTheme->m_arFonts[0]);
pCF->font.font = new PPT_FORMAT::CFontProperty(pTheme->m_arFonts[0]);
}
}

View File

@ -39,13 +39,13 @@
#include "SlideInfo.h"
class CPPTDocumentInfo;
using namespace NSPresentationEditor;
using namespace PPT_FORMAT;
class CPPTUserInfo : public CDocument
{
public:
CUserEdit m_oUser;
std::map<_UINT32, _UINT32> m_mapOffsetInPIDs;
std::map<_UINT32, _UINT32> m_mapOffsetInPIDs;
CRecordDocument m_oDocument;
CEncryptionHeader m_oEncryptionHeader;
@ -55,16 +55,16 @@ public:
POLE::Storage* m_pStorageDecrypt;
std::vector<CFStreamPtr> m_arStreamDecrypt; // на каждый Persist свой ... оО
std::map<_UINT32, CRecordSlide*> m_mapSlides;
std::map<_UINT32, CRecordSlide*> m_mapMasters;
std::map<_UINT32, CRecordSlide*> m_mapNotes;
std::map<_UINT32, CRecordSlide*> m_mapSlides;
std::map<_UINT32, CRecordSlide*> m_mapMasters;
std::map<_UINT32, CRecordSlide*> m_mapNotes;
std::map<_UINT32, CRecordSlide*> m_mapNotesMasters;
std::map<_UINT32, CRecordSlide*> m_mapHandoutMasters;
std::map<_UINT32, CRecordSlide*> m_mapNotesMasters;
std::map<_UINT32, CRecordSlide*> m_mapHandoutMasters;
std::vector<_UINT32> m_arrSlidesOrder;
std::vector<_UINT32> m_arrMastersOrder;
std::vector<_UINT32> m_arrNotesOrder;
std::vector<_UINT32> m_arrSlidesOrder;
std::vector<_UINT32> m_arrMastersOrder;
std::vector<_UINT32> m_arrNotesOrder;
// перевод id мастера в индекс темы/шаблона
std::map<_UINT32, LONG> m_mapMasterToTheme;
@ -83,8 +83,8 @@ public:
// эти параметры - одни на весь документ.
// чтобы поддержать нашу схему (пптх) - копируем их в темы
std::vector<CRecordBlipStoreContainer*> m_arrBlipStore;
std::vector<CFont> m_arrFonts;
NSPresentationEditor::CTextStyles m_oDefaultTextStyle;
std::vector<CFontProperty> m_arrFonts;
PPT_FORMAT::CTextStyles m_oDefaultTextStyle;
vector_string m_PlaceholdersReplaceString[3]; //0-dates, 1 - headers, 2 - footers
@ -161,7 +161,7 @@ public:
void LoadExVideo(CRecordsContainer* pExObject);
void LoadExAudio(CRecordsContainer* pExObject);
void CreateDefaultStyle(NSPresentationEditor::CTextStyles& pStyle, NSPresentationEditor::CTheme* pTheme);
void CreateDefaultStyle(PPT_FORMAT::CTextStyles& pStyle, PPT_FORMAT::CTheme* pTheme);
void CorrectColorScheme(std::vector<CColor>& oScheme)
{
if (oScheme.size() < 1) return;
@ -174,10 +174,10 @@ public:
oArrayMem.push_back(oScheme[0]);//4
oArrayMem.push_back(oScheme[4]);//5 //accent1
oArrayMem.push_back(oScheme[5]);//6 //accent2
oArrayMem.push_back(oScheme[0]);//7 //accent3
oArrayMem.push_back(oScheme[5]);//8 //accent4
oArrayMem.push_back(oScheme[4]);//9 //accent5
oArrayMem.push_back(oScheme[7]);//10 //accent6
oArrayMem.push_back(CColor(0xAAAAAA));//(oScheme[0]);//7 //accent3
oArrayMem.push_back(CColor(0xDCDCDC));//(oScheme[5]);//8 //accent4
oArrayMem.push_back(CColor(0xDBF1FA));//(oScheme[4]);//9 //accent5
oArrayMem.push_back(CColor(0x4B9DCA));//(oScheme[7]);//10 //accent6
oArrayMem.push_back(oScheme[6]);//11 //hlink
oArrayMem.push_back(oScheme[7]);//12 //folHlink
oArrayMem.push_back(oScheme[0]);//13 //lt1
@ -201,122 +201,109 @@ public:
{
switch (nGeom)
{
case 0x00: //SL_TitleSlide
case 0x02: //SL_MasterTitle
return _T("title");
case 0x01: // SL_TitleBody
case SL_TitleSlide:
case SL_MasterTitle: return L"title";
case SL_TitleBody:
{
int ind = 0;
if (pPlaceholders[0] == 13 && pPlaceholders[1] != 0) ind++;
NSOfficePPT::PlaceholderEnum phbody = (NSOfficePPT::PlaceholderEnum)pPlaceholders[ind];
ePlaceholderType phbody = (ePlaceholderType)pPlaceholders[ind];
switch (phbody)
{
case NSOfficePPT::MasterTitle:
return _T("title");
case NSOfficePPT::Table:
return _T("tbl");
case NSOfficePPT::OrganizationChart:
return _T("dgm");
case NSOfficePPT::Graph:
return _T("chart");
case PT_MasterTitle: return L"title";
case PT_Table: return L"tbl";
case PT_OrgChart: return L"dgm";
case PT_Graph: return L"chart";
default:
break;
}
return _T("obj");
return L"obj";
}
case 0x07: //SL_TitleOnly
return _T("titleOnly");
case 0x08: //SL_TwoColumns
case SL_TitleOnly: return L"titleOnly";
case SL_TwoColumns:
{
NSOfficePPT::PlaceholderEnum leftType = (NSOfficePPT::PlaceholderEnum)pPlaceholders[1];
NSOfficePPT::PlaceholderEnum rightType = (NSOfficePPT::PlaceholderEnum)pPlaceholders[2];
ePlaceholderType leftType = (ePlaceholderType)pPlaceholders[1];
ePlaceholderType rightType = (ePlaceholderType)pPlaceholders[2];
if (leftType == NSOfficePPT::Body && rightType == NSOfficePPT::Object)
if (leftType == PT_Body && rightType == PT_Object)
{
return _T("txAndObj");
return L"txAndObj";
}
else if (leftType == NSOfficePPT::Object && rightType == NSOfficePPT::Body)
else if (leftType == PT_Object && rightType == PT_Body)
{
return _T("objAndTx");
return L"objAndTx";
}
else if (leftType == NSOfficePPT::Body && rightType == NSOfficePPT::ClipArt)
else if (leftType == PT_Body && rightType == PT_ClipArt)
{
return _T("txAndClipArt");
return L"txAndClipArt";
}
else if (leftType == NSOfficePPT::ClipArt && rightType == NSOfficePPT::Body)
else if (leftType == PT_ClipArt && rightType == PT_Body)
{
return _T("clipArtAndTx");
return L"clipArtAndTx";
}
else if (leftType == NSOfficePPT::Body && rightType == NSOfficePPT::Graph)
else if (leftType == PT_Body && rightType == PT_Graph)
{
return _T("txAndChart");
return L"txAndChart";
}
else if (leftType == NSOfficePPT::Graph && rightType == NSOfficePPT::Body)
else if (leftType == PT_Graph && rightType == PT_Body)
{
return _T("chartAndTx");
return L"chartAndTx";
}
else if (leftType == NSOfficePPT::Body && rightType == NSOfficePPT::MediaClip)
else if (leftType == PT_Body && rightType == PT_Media)
{
return _T("txAndMedia");
return L"txAndMedia";
}
else if (leftType == NSOfficePPT::MediaClip && rightType == NSOfficePPT::Body)
else if (leftType == PT_Media && rightType == PT_Body)
{
return _T("mediaAndTx");
return L"mediaAndTx";
}
return _T("twoObj");
return L"twoObj";
}
case 0x09: //SL_TwoRows
case SL_TwoRows:
{
NSOfficePPT::PlaceholderEnum topType = (NSOfficePPT::PlaceholderEnum)pPlaceholders[1];
NSOfficePPT::PlaceholderEnum bottomType = (NSOfficePPT::PlaceholderEnum)pPlaceholders[2];
ePlaceholderType topType = (ePlaceholderType)pPlaceholders[1];
ePlaceholderType bottomType = (ePlaceholderType)pPlaceholders[2];
if (topType == NSOfficePPT::Body && bottomType == NSOfficePPT::Object)
if (topType == PT_Body && bottomType == PT_Object)
{
return _T("txOverObj");
return L"txOverObj";
}
return _T("objOverTx");
return L"objOverTx";
}
case 0x0A: //SL_ColumnTwoRows
case SL_ColumnTwoRows:
{
NSOfficePPT::PlaceholderEnum leftType = (NSOfficePPT::PlaceholderEnum)pPlaceholders[1];
ePlaceholderType leftType = (ePlaceholderType)pPlaceholders[1];
if (leftType == NSOfficePPT::Object)
if (leftType == PT_Object)
{
return _T("objAndTwoObj");
return L"objAndTwoObj";
}
return _T("txAndTwoObj");
return L"txAndTwoObj";
}
case 0x0B: //SL_TwoRowsColumn
case SL_TwoRowsColumn:
{
NSOfficePPT::PlaceholderEnum rightType = (NSOfficePPT::PlaceholderEnum)pPlaceholders[2];
ePlaceholderType rightType = (ePlaceholderType)pPlaceholders[2];
if (rightType == NSOfficePPT::Object)
if (rightType == PT_Object)
{
return _T("twoObjAndObj");
return L"twoObjAndObj";
}
return _T("twoObjAndTx");
return L"twoObjAndTx";
}
case 0x0D: //SL_TwoColumnsRow
return _T("twoObjOverTx");
case 0x0E://SL_FourObjects
return _T("fourObj");
case 0x0F: //SL_BigObject
//return _T("tx");
return _T("objOnly");
case 0x10: //SL_Blank
return _T("blank");
case 0x11: //SL_VerticalTitleBody
return _T("vertTitleAndTx");
case 0x12: //SL_VerticalTwoRows
return _T("vertTx");
case SL_TwoColumnsRow: return L"twoObjOverTx";
case SL_FourObjects: return L"fourObj";
case SL_BigObject: return L"objOnly";
case SL_Blank: return L"blank";
case SL_VerticalTitleBody: return L"vertTitleAndTx";
case SL_VerticalTwoRows: return L"vertTx";
}
return _T("blank");
return L"blank";
}
void AddAnimation (_UINT32 dwSlideID, double Width, double Height, CElementPtr pElement);
void AddAudioTransition (_UINT32 dwSlideID, CTransition* pTransition, const std::wstring& strFilePath);
int AddNewLayout(NSPresentationEditor::CTheme* pTheme, CRecordSlide* pRecordSlide, bool addShapes, bool bMasterObjects);
int AddNewLayout(PPT_FORMAT::CTheme* pTheme, CRecordSlide* pRecordSlide, bool addShapes, bool bMasterObjects);
CElementPtr AddNewLayoutPlaceholder (CLayout *pLayout, int placeholderType, int placeholderSizePreset = -1);

View File

@ -79,6 +79,7 @@ typedef BYTE BOOL1;
#define RECORD_TYPE_NAMEDSHOW 1041
#define RECORD_TYPE_NAMEDSHOW_SLIDES 1042
#define RECORD_TYPE_SHEET_PROPERTIES 1044
#define RECORD_TYPE_NORMALVIEW_SETINFO9 1045
#define RECORD_TYPE_ORIGINALMAINMASTERID 1052
#define RECORD_TYPE_COMPOSITEMASTERID 1053
@ -95,6 +96,7 @@ typedef BYTE BOOL1;
#define RECORD_TYPE_LIST 2000
#define RECORD_TYPE_FONTCOLLECTION 2005
#define RECORD_TYPE_FONTCOLLECTION10 2006
#define RECORD_TYPE_BOOKMARKCOLLECTION 2019
#define RECORD_TYPE_SOUNDCOLLECTION 2020
#define RECORD_TYPE_SOUNDCOLL_ATOM 2021
@ -381,6 +383,7 @@ static std::string GetRecordName(_UINT32 dwType)
case RECORD_TYPE_PERSISTPTRINCREMENTALBLOCK : { strName = ("PersistPtrIncrementalBlock"); break; }
case RECORD_TYPE_GSCALING_ATOM2 : { strName = ("GScalingAtom2"); break; }
case RECORD_TYPE_GRCOLOR_ATOM2 : { strName = ("GRColorAtom2"); break; }
case RECORD_TYPE_NORMALVIEW_SETINFO9 : { strName = ("NormalViewSetInfoAtom"); break; }
// Records ~12000 seem to be related to the Comments used in PPT 2000/XP
// (Comments in PPT97 are normal Escher text boxes)

View File

@ -36,9 +36,7 @@
#include "../../../ASCOfficeDocFile/DocDocxConverter/MemoryStream.h"
#include "../../../OfficeCryptReader/source/CryptTransform.h"
using namespace NSPresentationEditor;
namespace NSPresentationEditor
namespace PPT_FORMAT
{
static CColor GetStandartPaletteColor(int index)
{
@ -108,7 +106,7 @@ namespace NSPresentationEditor
namespace NSStreamReader
{
void Read(POLE::Stream* pStream, NSPresentationEditor::CTextSIRun& oRun, bool bIsIndentation)
void Read(POLE::Stream* pStream, PPT_FORMAT::CTextSIRun& oRun, bool bIsIndentation)
{
if (bIsIndentation)
{
@ -170,7 +168,7 @@ namespace NSStreamReader
}*/
}
void Read(POLE::Stream* pStream, NSPresentationEditor::CTextRuler& oRun)
void Read(POLE::Stream* pStream, PPT_FORMAT::CTextRuler& oRun)
{
double dScaleX = 625 * 2.54 ;
//1/576 inch = 72/576 pt = 360000 *72 * 2.54 /(72*576) emu
@ -237,7 +235,7 @@ namespace NSStreamReader
}
void CTextPFRun_ppt::LoadFromStream(POLE::Stream* pStream, bool bIsIndentation)
void CTextPFRunRecord::LoadFromStream(POLE::Stream* pStream, bool bIsIndentation)
{
double dScaleX = 625 * 2.54 ;
//1/576 inch = 72/576 pt = 360000 *72 * 2.54 /(72*576) emu
@ -345,7 +343,7 @@ void CTextPFRun_ppt::LoadFromStream(POLE::Stream* pStream, bool bIsIndentation)
SColorAtom oColorAtom;
NSStreamReader::Read(pStream, oColorAtom);
NSPresentationEditor::CColor oColor;
ODRAW::CColor oColor;
oColor.R = oColorAtom.R;
oColor.G = oColorAtom.G;
@ -356,7 +354,7 @@ void CTextPFRun_ppt::LoadFromStream(POLE::Stream* pStream, bool bIsIndentation)
if (oColorAtom.bSchemeIndex)
{
oColor.m_lSchemeIndex = oColorAtom.Index;
NSPresentationEditor::CorrectColorPPT(oColor.m_lSchemeIndex);
ODRAW::CorrectColorPPT(oColor.m_lSchemeIndex);
}
if (oColorAtom.bSchemeIndex || oColorAtom.bPaletteRGB)
@ -413,7 +411,7 @@ void CTextPFRun_ppt::LoadFromStream(POLE::Stream* pStream, bool bIsIndentation)
}
void CTextCFRun_ppt::LoadFromStream(POLE::Stream* pStream, bool bIsIndentation)
void CTextCFRunRecord::LoadFromStream(POLE::Stream* pStream, bool bIsIndentation)
{
if (bIsIndentation)
{
@ -474,13 +472,13 @@ void CTextCFRun_ppt::LoadFromStream(POLE::Stream* pStream, bool bIsIndentation)
m_oRun.fontRef = StreamUtils::ReadWORD(pStream);
if (EAFontRef_)
m_oRun.EAFontRef = StreamUtils::ReadWORD(pStream);
m_oRun.eaFontRef = StreamUtils::ReadWORD(pStream);
if (AnsiFontRef_)
m_oRun.AnsiFontRef = StreamUtils::ReadWORD(pStream);
m_oRun.ansiFontRef = StreamUtils::ReadWORD(pStream);
if (SymbolFontRef_)
m_oRun.SymbolFontRef = StreamUtils::ReadWORD(pStream);
m_oRun.symbolFontRef = StreamUtils::ReadWORD(pStream);
if (size_)
m_oRun.Size = StreamUtils::ReadWORD(pStream);
@ -490,7 +488,7 @@ void CTextCFRun_ppt::LoadFromStream(POLE::Stream* pStream, bool bIsIndentation)
SColorAtom oColorAtom;
NSStreamReader::Read(pStream, oColorAtom);
NSPresentationEditor::CColor oColor;
ODRAW::CColor oColor;
oColor.R = oColorAtom.R;
oColor.G = oColorAtom.G;
@ -501,7 +499,7 @@ void CTextCFRun_ppt::LoadFromStream(POLE::Stream* pStream, bool bIsIndentation)
if (oColorAtom.Index < 8 && oColorAtom.bSchemeIndex)
{
oColor.m_lSchemeIndex = oColorAtom.Index;
NSPresentationEditor::CorrectColorPPT(oColor.m_lSchemeIndex);
ODRAW::CorrectColorPPT(oColor.m_lSchemeIndex);
}
if (oColorAtom.bSchemeIndex || oColorAtom.bPaletteRGB)
{
@ -516,10 +514,10 @@ void CTextCFRun_ppt::LoadFromStream(POLE::Stream* pStream, bool bIsIndentation)
}
namespace NSPresentationEditor
namespace PPT_FORMAT
{
void ConvertPPTTextToEditorStructure(std::vector<CTextPFRun_ppt>& oArrayPF, std::vector<CTextCFRun_ppt>& oArrayCF,
std::wstring& strText, NSPresentationEditor::CTextAttributesEx& oAttributes)
void ConvertPPTTextToEditorStructure(std::vector<CTextPFRunRecord>& oArrayPF, std::vector<CTextCFRunRecord>& oArrayCF,
std::wstring& strText, PPT_FORMAT::CTextAttributesEx& oAttributes)
{
int nCountPFs = (int)oArrayPF.size();
int nCountCFs = (int)oArrayCF.size();
@ -536,7 +534,7 @@ namespace NSPresentationEditor
{
CParagraph elm;
oAttributes.m_arParagraphs.push_back(elm);
NSPresentationEditor::CParagraph* pPar = &oAttributes.m_arParagraphs[nIndexPF];
PPT_FORMAT::CParagraph* pPar = &oAttributes.m_arParagraphs[nIndexPF];
pPar->m_lTextLevel = oArrayPF[nIndexPF].m_lLevel;
pPar->m_oPFRun = oArrayPF[nIndexPF].m_oRun;
@ -564,7 +562,7 @@ namespace NSPresentationEditor
{
nOffsetCF += nCountInPF;
NSPresentationEditor::CSpan oSpan;
PPT_FORMAT::CSpan oSpan;
oSpan.m_oRun = oArrayCF[nCurrentCF].m_oRun;
nCountAddTrue = nCountInPF;
@ -586,7 +584,7 @@ namespace NSPresentationEditor
{
nOffsetCF = 0;
NSPresentationEditor::CSpan oSpan;
PPT_FORMAT::CSpan oSpan;
oSpan.m_oRun = oArrayCF[nCurrentCF].m_oRun;
if (nCountAddTrue > 0)
@ -602,7 +600,7 @@ namespace NSPresentationEditor
{
nOffsetCF = 0;
NSPresentationEditor::CSpan oSpan;
PPT_FORMAT::CSpan oSpan;
oSpan.m_oRun = oArrayCF[nCurrentCF].m_oRun;
if (nCountAddTrue > 0)

View File

@ -36,7 +36,7 @@
#include "../../../OfficeUtils/src/OfficeUtils.h"
using namespace NSPresentationEditor;
using namespace PPT_FORMAT;
namespace CRYPT
{
@ -89,26 +89,27 @@ struct SFileIdCluster
}
};
#if !defined(_WIN32) && !defined (_WIN64)
typedef struct tagPOINT
{
long x;
long y;
} POINT;
typedef struct tagSIZE
{
long cx;
long cy;
}SIZE;
typedef struct tagRECT
{
long left;
long top;
long right;
long bottom;
}RECT;
#endif
#ifndef customTagPoint
#define customTagPoint
typedef struct tagPOINT
{
_INT32 x;
_INT32 y;
} POINT;
typedef struct tagRECT
{
_INT32 left;
_INT32 top;
_INT32 right;
_INT32 bottom;
} RECT;
typedef struct tagSIZE
{
_INT32 cx;
_INT32 cy;
}SIZE;
#endif
#endif
namespace Gdiplus
{
@ -284,27 +285,27 @@ namespace NSStreamReader
}
}
void Read(POLE::Stream* pStream, NSPresentationEditor::CTextSIRun& oRun, bool bIsIndentation = true);
void Read(POLE::Stream* pStream, NSPresentationEditor::CTextRuler& oRun);
void Read(POLE::Stream* pStream, PPT_FORMAT::CTextSIRun& oRun, bool bIsIndentation = true);
void Read(POLE::Stream* pStream, PPT_FORMAT::CTextRuler& oRun);
}
class CTextPFRun_ppt
class CTextPFRunRecord
{
public:
NSPresentationEditor::CTextPFRun m_oRun;
LONG m_lLevel;
LONG m_lCount;
PPT_FORMAT::CTextPFRun m_oRun;
LONG m_lLevel;
LONG m_lCount;
CTextPFRun_ppt() : m_oRun()
CTextPFRunRecord() : m_oRun()
{
m_lLevel = -1;
m_lCount = 0;
}
CTextPFRun_ppt(const CTextPFRun_ppt& oSrc)
CTextPFRunRecord(const CTextPFRunRecord& oSrc)
{
*this = oSrc;
}
CTextPFRun_ppt& operator=(const CTextPFRun_ppt& oSrc)
CTextPFRunRecord& operator=(const CTextPFRunRecord& oSrc)
{
m_oRun = oSrc.m_oRun;
m_lLevel = oSrc.m_lLevel;
@ -315,21 +316,21 @@ public:
void LoadFromStream(POLE::Stream* pStream, bool bIsIndentation = true);
};
class CTextCFRun_ppt
class CTextCFRunRecord
{
public:
NSPresentationEditor::CTextCFRun m_oRun;
LONG m_lCount;
PPT_FORMAT::CTextCFRun m_oRun;
LONG m_lCount;
CTextCFRun_ppt() : m_oRun()
CTextCFRunRecord() : m_oRun()
{
m_lCount = 0;
}
CTextCFRun_ppt(const CTextCFRun_ppt& oSrc)
CTextCFRunRecord(const CTextCFRunRecord& oSrc)
{
*this = oSrc;
}
CTextCFRun_ppt& operator=(const CTextCFRun_ppt& oSrc)
CTextCFRunRecord& operator=(const CTextCFRunRecord& oSrc)
{
m_oRun = oSrc.m_oRun;
m_lCount = oSrc.m_lCount;
@ -339,8 +340,8 @@ public:
void LoadFromStream(POLE::Stream* pStream, bool bIsIndentation = true);
};
namespace NSPresentationEditor
namespace PPT_FORMAT
{
void ConvertPPTTextToEditorStructure(std::vector<CTextPFRun_ppt>& oArrayPF, std::vector<CTextCFRun_ppt>& oArrayCF,
std::wstring& strText, NSPresentationEditor::CTextAttributesEx& oAttributes);
void ConvertPPTTextToEditorStructure(std::vector<CTextPFRunRecord>& oArrayPF, std::vector<CTextCFRunRecord>& oArrayCF,
std::wstring& strText, PPT_FORMAT::CTextAttributesEx& oAttributes);
}

View File

@ -167,12 +167,14 @@ IRecord* CreateByType(SRecordHeader oHeader)
{
CREATE_BY_TYPE(RECORD_TYPE_SLIDELISTWITHTEXT , CRecordSlideListWithText)
CREATE_BY_TYPE(RECORD_TYPE_DOCUMENT_ATOM , CRecordDocumentAtom)
//CREATE_BY_TYPE(RECORD_TYPE_ENDDOCUMENT , CRecordEndDocument)
CREATE_BY_TYPE(RECORD_TYPE_ENDDOCUMENT , CRecordEndDocument)
//CREATE_BY_TYPE(RECORD_TYPE_SSLIDE_LAYOUT_ATOM , CRecordSSlideLayoutAtom)
CREATE_BY_TYPE(RECORD_TYPE_SLIDE_ATOM , CRecordSlideAtom)
CREATE_BY_TYPE(RECORD_TYPE_NOTES_ATOM , CRecordNotesAtom)
CREATE_BY_TYPE(RECORD_TYPE_SLIDE_PERSIST_ATOM , CRecordSlidePersistAtom)
CREATE_BY_TYPE(RECORD_TYPE_ENVIRONMENT , CRecordDocumentTextInfo)
CREATE_BY_TYPE(RECORD_TYPE_FONTCOLLECTION , CRecordFontCollection)
CREATE_BY_TYPE(RECORD_TYPE_FONTCOLLECTION10 , CRecordFontCollection)
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordMasterPersistAtom)
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordNotesPersistAtom)
CREATE_BY_TYPE(RECORD_TYPE_SSSLIDE_INFO_ATOM , CSlideShowSlideInfoAtom)
@ -182,7 +184,7 @@ IRecord* CreateByType(SRecordHeader oHeader)
CREATE_BY_TYPE(RECORD_TYPE_VIEWINFO_ATOM , CRecordViewInfoAtom)
CREATE_BY_TYPE(RECORD_TYPE_SLIDE_VIEWINFO_ATOM , CRecordSlideViewInfoAtom)
CREATE_BY_TYPE(RECORD_TYPE_VBAINFO_ATOM , CRecordVBAInfoAtom)
//CREATE_BY_TYPE(RECORD_TYPE_SSDOCINFO_ATOM , CRecordSSDocInfoAtom)
CREATE_BY_TYPE(RECORD_TYPE_SSDOCINFO_ATOM , CRecordSSDocInfoAtom)
//CREATE_BY_TYPE(RECORD_TYPE_DOC_ROUTING_SLIP , CRecordDocRoutingSlipAtom)
CREATE_BY_TYPE(RECORD_TYPE_EXOBJLIST_ATOM , CRecordExObjListAtom)
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordGridSpacing10Atom)
@ -204,11 +206,9 @@ IRecord* CreateByType(SRecordHeader oHeader)
CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPNOTESMASTERTEXTSTYLES12 , CRecordRoundTripNotesMasterTextStyles12Atom)
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPDOCFLAGS12 , CRecordRoundTripDocFlags12Atom)
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPSHAPECHECKSUMFORCUSTOMLAYOUTS12 , CRecordRoundTripShapeCheckSumForCustomLayouts12Atom)
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPCUSTOMTABLESTYLES12 , CRecordRoundTripCustomTableStyles12Atom)
CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPCUSTOMTABLESTYLES12 , CRecordRoundTripCustomTableStyles12Atom)
//CREATE_BY_TYPE(RECORD_TYPE_BOOKMARK_SEED_ATOM , CRecordBookmarkSeedAtom)
//CREATE_BY_TYPE(RECORD_TYPE_COLOR_SCHEME_ATOM , CRecordSlideColorSchemeAtom)
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordSchemeListElementColorSchemeAtom)
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordBlipEntityAtom)
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordExObjRefAtom)
CREATE_BY_TYPE(RECORD_TYPE_OEPLACEHOLDER_ATOM , CRecordPlaceHolderAtom)
@ -236,7 +236,7 @@ IRecord* CreateByType(SRecordHeader oHeader)
CREATE_BY_TYPE(RECORD_TYPE_GUIDE_ATOM , CRecordGuideAtom)
CREATE_BY_TYPE(RECORD_TYPE_FONTENTITY_ATOM , CRecordFontEntityAtom)
//CREATE_BY_TYPE(RECORD_TYPE_FONT_EMBEDDEDDATA , CRecordFontEmbedDataBlob)
CREATE_BY_TYPE(RECORD_TYPE_FONT_EMBEDDEDDATA , CRecordFontEmbedDataBlob)
//CREATE_BY_TYPE(RECORD_TYPE_METAFILE , CRecordMetafileBlob)
CREATE_BY_TYPE(RECORD_TYPE_CSTRING , CRecordCString)
CREATE_BY_TYPE(RECORD_TYPE_SOUNDCOLL_ATOM , CRecordSoundCollAtom)
@ -245,7 +245,7 @@ IRecord* CreateByType(SRecordHeader oHeader)
//CREATE_BY_TYPE(RECORD_TYPE_BOOKMARK_ENTITY_ATOM , CRecordBookmarkEntityAtom)
//CREATE_BY_TYPE(RECORD_TYPE_EXLINK_ATOM , CRecordExOleLinkAtom)
//CREATE_BY_TYPE(RECORD_TYPE_SRKINSOKU_ATOM , CRecordKinsokuAtom)
CREATE_BY_TYPE(RECORD_TYPE_SRKINSOKU_ATOM , CRecordKinsokuAtom)
CREATE_BY_TYPE(RECORD_TYPE_EXHYPERLINK , CRecordExHyperlinkContainer)
CREATE_BY_TYPE(RECORD_TYPE_EXHYPERLINK_ATOM , CRecordExHyperlinkAtom)
@ -283,7 +283,9 @@ IRecord* CreateByType(SRecordHeader oHeader)
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_SECONDARY_OPT , CRecordShapeProperties)
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_TETRIARY_OPT , CRecordShapeProperties)
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_REGROUPITEMS , CRecordRegGroupItems)
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_SPLITMENUCOLORS , CRecordSplitMenuColorRecord)
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_COLORMRU , CRecordMostRecentlyUserColors)
CREATE_BY_TYPE(RECORD_TYPE_EX_CDAUDIO , CRecordExCDAudioContainer)
CREATE_BY_TYPE(RECORD_TYPE_EX_WAVAUDIOLINK , CRecordWAVAudioLinkContainer)
CREATE_BY_TYPE(RECORD_TYPE_EX_WAVAUDIOEMBEDDED , CRecordWAVAudioEmbeddedContainer)
@ -318,7 +320,7 @@ IRecord* CreateByType(SRecordHeader oHeader)
pRecord = new CUnknownRecord();
#ifdef _DEBUG
char str[1024]={};
sprintf(str, "Unknown record type: %xd\t" , oHeader.RecType);
sprintf(str, "Unknown record type: %x\t" , oHeader.RecType);
std::cout << str << GetRecordName((_UINT32)oHeader.RecType) << "\n";
#endif
}

View File

@ -38,7 +38,9 @@
#include "../../../Common/3dParty/pole/pole.h"
#include "../../../OfficeCryptReader/source/CryptTransform.h"
using namespace NSPresentationEditor;
#include <boost/smart_ptr/shared_array.hpp>
using namespace PPT_FORMAT;
using namespace XLS;
class SRecordHeader
@ -249,7 +251,6 @@ public:
/*
class CRecordDocument : public CRecordsContainer {};
class CRecordEnvironment : public CRecordsContainer {};
class CRecordExAviMovie : public CRecordsContainer {};
class CRecordExCDAudio : public CRecordsContainer {};
class CRecordExControl : public CRecordsContainer {};
@ -265,7 +266,6 @@ class CRecordExQuickTimeMovie : public CRecordsContainer {};
class CRecordExVideo : public CRecordsContainer {};
class CRecordExWAVAudioEmbedded : public CRecordsContainer {};
class CRecordExWAVAudioLink : public CRecordsContainer {};
class CRecordFontCollection : public CRecordsContainer {};
class CRecordFontCollection10 : public CRecordsContainer {};
class CRecordHandout : public CRecordsContainer {};
class CRecordHeadersFooters : public CRecordsContainer {};

View File

@ -83,7 +83,7 @@ public:
std::map<LONG, CElementInfo> m_mapElements;
std::vector<int>* m_parEmptyPictures;
std::map<int, std::wstring>* m_mapFilePictures;
nullable_base<NSPresentationEditor::CTextStyles> m_pStyles[9];
nullable_base<PPT_FORMAT::CTextStyles> m_pStyles[9];
CSlideInfo()
{

View File

@ -34,8 +34,6 @@
class CRecordAnimationInfoAtom : public CUnknownRecord
{
// поля...
public:
CRecordAnimationInfoAtom()

View File

@ -2878,7 +2878,7 @@ namespace Animations
namespace Animations
{
typedef NSPresentationEditor::CAnimationSimple Effect;
typedef PPT_FORMAT::CAnimationSimple Effect;
typedef std::vector <Effect> Effects;
typedef std::map<_UINT32,Effects*> EffectsMap;
typedef std::vector <double> TimeArray;

View File

@ -34,10 +34,9 @@
class CRecordBlipEntityAtom : public CUnknownRecord
{
BYTE m_nWinBlipType;
BYTE* m_pImage;
public:
BYTE m_nWinBlipType;
std::pair<boost::shared_array<unsigned char>, _INT32> data;
CRecordBlipEntityAtom()
{

View File

@ -34,10 +34,9 @@
class CRecordBookmarkEntityAtom : public CUnknownRecord
{
public:
UINT m_nID;
std::wstring m_strName;
public:
CRecordBookmarkEntityAtom()
{

View File

@ -34,9 +34,8 @@
class CRecordBookmarkSeedAtom : public CUnknownRecord
{
INT m_nBookmarkID;
public:
INT m_nBookmarkID;
CRecordBookmarkSeedAtom()
{

View File

@ -34,6 +34,7 @@
class CRecordDocRoutingSlipAtom : public CUnknownRecord
{
public:
struct SDocRoutingSlipAtom
{
USHORT m_nType;
@ -50,8 +51,6 @@ class CRecordDocRoutingSlipAtom : public CUnknownRecord
SDocRoutingSlipAtom m_oRgRecipientRoutingSlipStrings;
SDocRoutingSlipAtom m_oSubjectString;
SDocRoutingSlipAtom m_oMessageString;
public:
CRecordDocRoutingSlipAtom()
{

View File

@ -43,8 +43,8 @@ public:
UINT m_nNotesMasterPersistIDRef;
UINT m_nHandoutMasterPersistIDRef;
USHORT m_nFirstSlideNum;
NSOfficePPT::SlideSizeType m_nSlideSizeType;
USHORT m_nFirstSlideNum;
USHORT m_nSlideSizeType;
BOOL1 m_bSaveWithFonts;
BOOL1 m_bOmitTitlePlace;
@ -78,12 +78,12 @@ public:
m_nHandoutMasterPersistIDRef = (UINT)StreamUtils::ReadDWORD(pStream);
m_nFirstSlideNum = StreamUtils::ReadWORD(pStream);
m_nSlideSizeType = (NSOfficePPT::SlideSizeType)StreamUtils::ReadWORD(pStream);
m_nSlideSizeType = StreamUtils::ReadWORD(pStream);
m_bSaveWithFonts = StreamUtils::ReadBYTE(pStream);
m_bOmitTitlePlace = StreamUtils::ReadBYTE(pStream);
m_bRightToLeft = StreamUtils::ReadBYTE(pStream);
m_bShowComments = StreamUtils::ReadBYTE(pStream);
m_bSaveWithFonts = StreamUtils::ReadBYTE(pStream);
m_bOmitTitlePlace = StreamUtils::ReadBYTE(pStream);
m_bRightToLeft = StreamUtils::ReadBYTE(pStream);
m_bShowComments = StreamUtils::ReadBYTE(pStream);
}
};

Some files were not shown because too many files have changed in this diff Show More