mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-02-11 02:16:02 +08:00
Compare commits
22 Commits
core-windo
...
core/devel
| Author | SHA1 | Date | |
|---|---|---|---|
| 10964d32e6 | |||
| da2493ed3b | |||
| 0a183f3505 | |||
| ac6cc1ec24 | |||
| a1846da0da | |||
| 0bd10c28ac | |||
| 2367cee329 | |||
| 288d89301a | |||
| 4d519e8f26 | |||
| 1bd2c0b852 | |||
| 82b0f4bce8 | |||
| 5635239274 | |||
| 1f979fc4cc | |||
| 80c4a65147 | |||
| 4fda6101eb | |||
| 99822fb597 | |||
| f1d9c12f07 | |||
| 30ef5a9de4 | |||
| 765ca861fb | |||
| 99570b3b86 | |||
| d9c6759108 | |||
| b82a8c6b9b |
@ -307,13 +307,11 @@ namespace DocFileFormat
|
||||
if (!FormatUtils::IsControlSymbol(xchBullet))
|
||||
{
|
||||
ret.push_back(lvl.xst[0]);
|
||||
ret.push_back(L'\0');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ret.push_back(L'\xF0B7');
|
||||
ret.push_back(L'\0');
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@ -23,9 +23,9 @@ DEFINES += UNICODE \
|
||||
_UNICODE \
|
||||
_USE_XMLLITE_READER_ \
|
||||
USE_LITE_READER \
|
||||
USE_ATL_CSTRING \
|
||||
_USE_LIBXML2_READER_ \
|
||||
LIBXML_READER_ENABLED
|
||||
LIBXML_READER_ENABLED \
|
||||
DONT_WRITE_EMBEDDED_FONTS \
|
||||
|
||||
INCLUDEPATH += \
|
||||
../../../DesktopEditor/freetype-2.5.2/include \
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;USE_ATL_CSTRINGS;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;DONT_WRITE_EMBEDDED_FONTS"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;PPTX_DEF;PPT_DEF;ENABLE_PPT_TO_PPTX_CONVERT;AVS_USE_CONVERT_PPTX_TOCUSTOM_VML;DONT_WRITE_EMBEDDED_FONTS"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -33,7 +33,7 @@
|
||||
//
|
||||
#include "../DocFormatLib/DocFormatLib.h"
|
||||
|
||||
#include "../win32/ASCOfficeCriticalSection.h"
|
||||
#include "../../OfficeUtils/src/ASCOfficeCriticalSection.h"
|
||||
|
||||
#include "../../OfficeUtils/src/OfficeUtils.h"
|
||||
|
||||
@ -41,6 +41,7 @@
|
||||
|
||||
#include <string>
|
||||
#include <windows.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#if defined(_WIN64)
|
||||
#pragma comment(lib, "../../build/bin/icu/win_64/icuuc.lib")
|
||||
@ -58,7 +59,6 @@ int _tmain(int argc, _TCHAR* argv[])
|
||||
std::wstring outputDir = NSDirectory::GetFolderPath(sDstDocx);
|
||||
std::wstring dstTempPath = NSDirectory::CreateDirectoryWithUniqueName(outputDir);
|
||||
|
||||
// doc->docx
|
||||
COfficeDocFile docFile;
|
||||
|
||||
docFile.m_sTempFolder = outputDir;
|
||||
@ -71,7 +71,7 @@ int _tmain(int argc, _TCHAR* argv[])
|
||||
hRes = oCOfficeUtils.CompressFileOrDirectory(dstTempPath.c_str(), sDstDocx, -1);
|
||||
}
|
||||
|
||||
FileSystem::Directory::DeleteDirectory(dstTempPath);
|
||||
NSDirectory::DeleteDirectory(dstTempPath);
|
||||
|
||||
return hRes;
|
||||
}
|
||||
|
||||
@ -338,6 +338,58 @@
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Common"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\..\ASCOfficeDocxFile2\BinWriter\BinWriters.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\XlsxSerializerCom\Reader\ChartFromToBinary.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ASCOfficeDocxFile2\DocWrapper\ChartWriter.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\XlsxSerializerCom\Common\Common.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\XlsxSerializerCom\Reader\CommonWriter.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\XlsxSerializerCom\Reader\CSVReader.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\XlsxSerializerCom\Writer\CSVWriter.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ASCOfficeDocxFile2\DocWrapper\DocxSerializer.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/bigobj
"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ASCOfficeDocxFile2\DocWrapper\FontProcessor.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\ASCOfficeDocxFile2\DocWrapper\XlsxSerializer.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<File
|
||||
RelativePath=".\DocFormatTest.cpp"
|
||||
>
|
||||
@ -386,6 +438,14 @@
|
||||
RelativePath="..\..\UnicodeConverter\UnicodeConverter.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\DesktopEditor\xml\src\xmldom.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\DesktopEditor\xml\src\xmllight.cpp"
|
||||
>
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
|
||||
@ -57,7 +57,7 @@ namespace Writers
|
||||
}
|
||||
~ChartWriter()
|
||||
{
|
||||
for(int i = 0, length = m_aCharts.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_aCharts.size(); i < length; ++i)
|
||||
{
|
||||
delete m_aCharts[i];
|
||||
}
|
||||
@ -73,7 +73,7 @@ namespace Writers
|
||||
OOX::CPath pathChartDir = m_sDir + FILE_SEPARATOR_STR + _T("word") + FILE_SEPARATOR_STR + _T("charts");
|
||||
NSDirectory::CreateDirectory(pathChartDir.GetPath());
|
||||
|
||||
for(int i = 0, length = m_aCharts.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_aCharts.size(); i < length; ++i)
|
||||
{
|
||||
ChartElem* elem = m_aCharts[i];
|
||||
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
#define DOCUMENT_WRITER
|
||||
|
||||
#include "../../XlsxSerializerCom/Common/Common.h"
|
||||
#include "../BinWriter/BinReaderWriterDefines.h";
|
||||
#include "../BinWriter/BinReaderWriterDefines.h"
|
||||
|
||||
namespace Writers
|
||||
{
|
||||
@ -78,7 +78,7 @@ namespace Writers
|
||||
if(BinDocxRW::g_nCurFormatVersion < 5)
|
||||
{
|
||||
bool bTitlePage = false;
|
||||
for(int i = 0, length = m_oHeaderFooterWriter.m_aHeaders.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_oHeaderFooterWriter.m_aHeaders.size(); i < length; ++i)
|
||||
{
|
||||
HdrFtrItem* pHeader = m_oHeaderFooterWriter.m_aHeaders[i];
|
||||
if(false == pHeader->rId.empty())
|
||||
@ -98,7 +98,7 @@ namespace Writers
|
||||
}
|
||||
}
|
||||
}
|
||||
for(int i = 0, length = m_oHeaderFooterWriter.m_aFooters.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_oHeaderFooterWriter.m_aFooters.size(); i < length; ++i)
|
||||
{
|
||||
HdrFtrItem* pFooter = m_oHeaderFooterWriter.m_aFooters[i];
|
||||
if(false == pFooter->rId.empty())
|
||||
|
||||
@ -84,21 +84,22 @@ namespace Writers
|
||||
}
|
||||
~HeaderFooterWriter()
|
||||
{
|
||||
for(int i = 0, length = m_aHeaders.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_aHeaders.size(); i < length; ++i)
|
||||
delete m_aHeaders[i];
|
||||
m_aHeaders.clear();
|
||||
for(int i = 0, length = m_aFooters.size(); i < length; ++i)
|
||||
|
||||
for(size_t i = 0, length = m_aFooters.size(); i < length; ++i)
|
||||
delete m_aFooters[i];
|
||||
m_aFooters.clear();
|
||||
}
|
||||
void Write()
|
||||
{
|
||||
for(int i = 0, length = m_aHeaders.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_aHeaders.size(); i < length; ++i)
|
||||
{
|
||||
HdrFtrItem* pHeader = m_aHeaders[i];
|
||||
WriteItem(_T("header"), pHeader->m_sFilename, pHeader->Header, true);
|
||||
}
|
||||
for(int i = 0, length = m_aFooters.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_aFooters.size(); i < length; ++i)
|
||||
{
|
||||
HdrFtrItem* pFooter = m_aFooters[i];
|
||||
WriteItem(_T("footer"), pFooter->m_sFilename, pFooter->Header, false);
|
||||
|
||||
@ -72,13 +72,13 @@ namespace Writers
|
||||
if(BinDocxRW::g_nCurFormatVersion < 5)
|
||||
{
|
||||
bool bevenAndOddHeaders = false;
|
||||
for(int i = 0, length = m_oHeaderFooterWriter.m_aHeaders.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_oHeaderFooterWriter.m_aHeaders.size(); i < length; ++i)
|
||||
{
|
||||
HdrFtrItem* pHeader = m_oHeaderFooterWriter.m_aHeaders[i];
|
||||
if(SimpleTypes::hdrftrEven == pHeader->eType)
|
||||
bevenAndOddHeaders = true;
|
||||
}
|
||||
for(int i = 0, length = m_oHeaderFooterWriter.m_aFooters.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_oHeaderFooterWriter.m_aFooters.size(); i < length; ++i)
|
||||
{
|
||||
HdrFtrItem* pFooter = m_oHeaderFooterWriter.m_aFooters[i];
|
||||
if(SimpleTypes::hdrftrEven == pFooter->eType)
|
||||
|
||||
@ -117,11 +117,11 @@ namespace MathEquation
|
||||
}
|
||||
LONG GetSize()
|
||||
{
|
||||
return arrRun.size();
|
||||
return (LONG)arrRun.size();
|
||||
}
|
||||
bool GetElem (LONG lPos, EquationRun &oRun)
|
||||
{
|
||||
if (lPos < arrRun.size() )
|
||||
if (lPos < (LONG)arrRun.size() )
|
||||
{
|
||||
oRun = arrRun[lPos];
|
||||
return true;
|
||||
|
||||
@ -1119,7 +1119,7 @@ namespace BinDocxRW
|
||||
{
|
||||
int nCurPos = 0;
|
||||
//Len
|
||||
for(int i = 0, length = Tab.m_arrTabs.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = Tab.m_arrTabs.size(); i < length; ++i)
|
||||
{
|
||||
const ComplexTypes::Word::CTabStop& tabItem = *Tab.m_arrTabs[i];
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerProp_pPrType::Tab_Item);
|
||||
@ -1468,7 +1468,7 @@ namespace BinDocxRW
|
||||
void WriteHeaderFooter(OOX::Logic::CSectionProperty* pSectPr, std::vector<ComplexTypes::Word::CHdrFtrRef*>& aRefs, bool bHdr)
|
||||
{
|
||||
int nCurPos = 0;
|
||||
for(int i = 0, length = aRefs.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = aRefs.size(); i < length; ++i)
|
||||
{
|
||||
const ComplexTypes::Word::CHdrFtrRef& oRef = *aRefs[i];
|
||||
if( oRef.m_oType.IsInit() && oRef.m_oId.IsInit())
|
||||
@ -1548,7 +1548,7 @@ namespace BinDocxRW
|
||||
m_oBcw.m_oStream.WriteLONG(columns.m_oSpace->ToTwips());
|
||||
m_oBcw.WriteItemWithLengthEnd(nCurPos);
|
||||
}
|
||||
for(int i = 0; i < columns.m_arrColumns.size(); ++i)
|
||||
for(size_t i = 0; i < columns.m_arrColumns.size(); ++i)
|
||||
{
|
||||
nCurPos = m_oBcw.WriteItemStart(c_oSerProp_Columns::Column);
|
||||
WriteColumn(*columns.m_arrColumns[i]);
|
||||
@ -2398,7 +2398,7 @@ namespace BinDocxRW
|
||||
void WriteStyles(std::vector<OOX::CStyle*>& styles)
|
||||
{
|
||||
int nCurPos = 0;
|
||||
for(int i = 0, length = styles.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = styles.size(); i < length; ++i)
|
||||
{
|
||||
const OOX::CStyle& style = *styles[i];
|
||||
if(false != style.m_sStyleId.IsInit())
|
||||
@ -2541,7 +2541,7 @@ namespace BinDocxRW
|
||||
void WriteTblStylePr(const std::vector<OOX::Logic::CTableStyleProperties*>& aProperties)
|
||||
{
|
||||
int nCurPos = 0;
|
||||
for(int i = 0, length = aProperties.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = aProperties.size(); i < length; ++i)
|
||||
{
|
||||
nCurPos = m_oBcw.WriteItemStart(c_oSerProp_tblStylePrType::TblStylePr);
|
||||
WriteTblStyleProperties(*aProperties[i]);
|
||||
@ -2628,7 +2628,8 @@ namespace BinDocxRW
|
||||
void WriteNums(const OOX::CNumbering& numbering)
|
||||
{
|
||||
int nCurPos = 0;
|
||||
for(int i = 0, length = numbering.m_arrNum.size(); i < length; ++i)
|
||||
|
||||
for(size_t i = 0, length = numbering.m_arrNum.size(); i < length; ++i)
|
||||
{
|
||||
const OOX::Numbering::CNum& num = *numbering.m_arrNum[i];
|
||||
//num
|
||||
@ -2657,7 +2658,8 @@ namespace BinDocxRW
|
||||
{
|
||||
int nCurPos = 0;
|
||||
int nRealCount = 0;
|
||||
for(int i = 0, length = numbering.m_arrAbstractNum.size(); i < length; ++i)
|
||||
|
||||
for(size_t i = 0, length = numbering.m_arrAbstractNum.size(); i < length; ++i)
|
||||
{
|
||||
const OOX::Numbering::CAbstractNum& num = *numbering.m_arrAbstractNum[i];
|
||||
if(false != num.m_oAbstractNumId.IsInit())
|
||||
@ -2711,10 +2713,11 @@ namespace BinDocxRW
|
||||
void WriteLevels(const std::vector<OOX::Numbering::CLvl*>& lvls, int nAId, const std::vector<OOX::Numbering::CNum*>& aNums)
|
||||
{
|
||||
int nCurPos = 0;
|
||||
for(int i = 0, length = lvls.size(); i < length; ++i)
|
||||
|
||||
for(size_t i = 0, length = lvls.size(); i < length; ++i)
|
||||
{
|
||||
nCurPos = m_oBcw.WriteItemStart(c_oSerNumTypes::Lvl);
|
||||
WriteLevel(*lvls[i], i, nAId, aNums);
|
||||
WriteLevel(*lvls[i], (int)i, nAId, aNums);
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
}
|
||||
@ -2855,7 +2858,7 @@ namespace BinDocxRW
|
||||
void WriteLevelText(const std::wstring& text)
|
||||
{
|
||||
int nCurPos = 0;
|
||||
for(int i = 0, length = text.length(); i < length; ++i)
|
||||
for(size_t i = 0, length = text.length(); i < length; ++i)
|
||||
{
|
||||
if('%' == text[i] && i + 1 < length && '0' <= text[i + 1] && text[i + 1] <= '9')
|
||||
{
|
||||
@ -2977,7 +2980,7 @@ namespace BinDocxRW
|
||||
}
|
||||
~BinaryDocumentTableWriter()
|
||||
{
|
||||
for(int i = 0, length = m_aFldChars.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_aFldChars.size(); i < length; ++i)
|
||||
{
|
||||
RELEASEOBJECT(m_aFldChars[i]);
|
||||
}
|
||||
@ -2985,7 +2988,8 @@ namespace BinDocxRW
|
||||
void prepareOfficeDrawingConverter(NSBinPptxRW::CDrawingConverter* pOfficeDrawingConverter, std::wstring& sDocumentPath, std::vector<std::wstring>& aShapeTypes)
|
||||
{
|
||||
pOfficeDrawingConverter->SetRelsPath(sDocumentPath);
|
||||
for(int i = 0, length = aShapeTypes.size(); i < length; ++i)
|
||||
|
||||
for(size_t i = 0, length = aShapeTypes.size(); i < length; ++i)
|
||||
{
|
||||
std::wstring& sShapeType = aShapeTypes[i];
|
||||
pOfficeDrawingConverter->AddShapeType(sShapeType);
|
||||
@ -3125,9 +3129,10 @@ namespace BinDocxRW
|
||||
|
||||
FldStruct* pRes = NULL;
|
||||
int nIndex = 0;
|
||||
if(-1 != (nIndex = sFldCopy.find(_T("TOC"))))
|
||||
|
||||
if(-1 != (nIndex = (int)sFldCopy.find(_T("TOC"))))
|
||||
pRes = new FldStruct(sFldCopy, fieldstruct_toc);
|
||||
else if(-1 != (nIndex = sFldCopy.find(_T("HYPERLINK"))))
|
||||
else if(-1 != (nIndex = (int)sFldCopy.find(_T("HYPERLINK"))))
|
||||
pRes = new FldStruct(sFldCopy, fieldstruct_hyperlink);
|
||||
else
|
||||
pRes = new FldStruct(sFldCopy, fieldstruct_none);
|
||||
@ -3136,7 +3141,7 @@ namespace BinDocxRW
|
||||
void WriteParagraphContent(const std::vector<OOX::WritingElement *>& Content, bool bHyperlink = false)
|
||||
{
|
||||
int nCurPos = 0;
|
||||
for ( int i = 0, length = Content.size(); i < length; ++i )
|
||||
for ( size_t i = 0, length = Content.size(); i < length; ++i )
|
||||
{
|
||||
OOX::WritingElement* item = Content[i];
|
||||
switch (item->getType())
|
||||
@ -3375,7 +3380,7 @@ namespace BinDocxRW
|
||||
{
|
||||
int nCurPos = 0;
|
||||
int nIndexStart = 0;
|
||||
int nLength = pRun->m_arrItems.size();
|
||||
int nLength = (int)pRun->m_arrItems.size();
|
||||
bool bWasText = false;
|
||||
int nRecordType = 0;
|
||||
|
||||
@ -3415,7 +3420,7 @@ namespace BinDocxRW
|
||||
}
|
||||
void WriteMathArgNodes(const std::vector<OOX::WritingElement*>& m_arrItems)
|
||||
{
|
||||
for(int i = 0; i< m_arrItems.size(); ++i)
|
||||
for(size_t i = 0; i< m_arrItems.size(); ++i)
|
||||
{
|
||||
OOX::WritingElement* item = m_arrItems[i];
|
||||
OOX::EElementType eType = item->getType();
|
||||
@ -3583,7 +3588,7 @@ namespace BinDocxRW
|
||||
nCurPos = m_oBcw.WriteItemStart(c_oSer_OMathContentType::Matrix);
|
||||
|
||||
LONG lCol = 0;
|
||||
for ( int j = 0; j < pMatrix->m_arrItems.size(); j++) //TODO убрать, тк при отсутствии m:mcs, к-во столбцов должно разруливаться динамически в скрипте
|
||||
for ( size_t j = 0; j < pMatrix->m_arrItems.size(); j++) //TODO убрать, тк при отсутствии m:mcs, к-во столбцов должно разруливаться динамически в скрипте
|
||||
{
|
||||
OOX::WritingElement* item = pMatrix->m_arrItems[j];
|
||||
if (item->getType() == OOX::et_m_mr)
|
||||
@ -3800,7 +3805,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pAln.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pAln.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -3811,7 +3816,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pAlnScr.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pAlnScr.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4017,7 +4022,7 @@ namespace BinDocxRW
|
||||
}
|
||||
void WriteMathDelimiter(const std::vector<OOX::WritingElement*>& m_arrItems, LONG &lColumn)
|
||||
{
|
||||
for(int i = 0; i< m_arrItems.size(); ++i)
|
||||
for(size_t i = 0; i< m_arrItems.size(); ++i)
|
||||
{
|
||||
OOX::WritingElement* item = m_arrItems[i];
|
||||
OOX::EElementType eType = item->getType();
|
||||
@ -4073,7 +4078,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pDegHide.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pDegHide.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4090,7 +4095,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pDiff.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pDiff.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4134,7 +4139,7 @@ namespace BinDocxRW
|
||||
}
|
||||
void WriteMathEqArr(const std::vector<OOX::WritingElement*>& m_arrItems, LONG& lRow)
|
||||
{
|
||||
for(int i = 0; i< m_arrItems.size(); ++i)
|
||||
for(size_t i = 0; i< m_arrItems.size(); ++i)
|
||||
{
|
||||
OOX::WritingElement* item = m_arrItems[i];
|
||||
OOX::EElementType eType = item->getType();
|
||||
@ -4225,7 +4230,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pGrow.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pGrow.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4236,7 +4241,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pHideBot.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pHideBot.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4247,7 +4252,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pHideLeft.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pHideLeft.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4258,7 +4263,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pHideRight.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pHideRight.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4269,7 +4274,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pHideTop.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pHideTop.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4348,7 +4353,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pLit.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pLit.m_val->ToBool());
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -4361,7 +4366,7 @@ namespace BinDocxRW
|
||||
void WriteMathMatrix(const std::vector<OOX::WritingElement*>& m_arrItems, LONG &lRow, LONG &lCol)
|
||||
{
|
||||
bool bColumn = false;
|
||||
for(int i = 0; i< m_arrItems.size(); ++i)
|
||||
for(size_t i = 0; i< m_arrItems.size(); ++i)
|
||||
{
|
||||
OOX::WritingElement* item = m_arrItems[i];
|
||||
OOX::EElementType eType = item->getType();
|
||||
@ -4419,7 +4424,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pMaxDist.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pMaxDist.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4458,7 +4463,7 @@ namespace BinDocxRW
|
||||
{
|
||||
int nCurPos = m_oBcw.WriteItemStart(c_oSer_OMathBottomNodesType::Mcs);
|
||||
|
||||
for(int i = 0; i< pMcs.m_arrItems.size(); ++i)
|
||||
for(size_t i = 0; i< pMcs.m_arrItems.size(); ++i)
|
||||
{
|
||||
OOX::WritingElement* item = pMcs.m_arrItems[i];
|
||||
OOX::EElementType eType = item->getType();
|
||||
@ -4520,7 +4525,7 @@ namespace BinDocxRW
|
||||
}
|
||||
void WriteMathMr(const std::vector<OOX::WritingElement*>& m_arrItems)
|
||||
{
|
||||
for(int i = 0; i< m_arrItems.size(); ++i)
|
||||
for(size_t i = 0; i< m_arrItems.size(); ++i)
|
||||
{
|
||||
OOX::WritingElement* item = m_arrItems[i];
|
||||
OOX::EElementType eType = item->getType();
|
||||
@ -4562,7 +4567,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pNoBreak.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pNoBreak.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4572,7 +4577,7 @@ namespace BinDocxRW
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
if (pNor.m_val.IsInit())
|
||||
m_oBcw.m_oStream.WriteBOOL(pNor.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pNor.m_val->ToBool());
|
||||
else
|
||||
m_oBcw.m_oStream.WriteBOOL(true);
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
@ -4590,7 +4595,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pObjDist.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pObjDist.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4602,7 +4607,7 @@ namespace BinDocxRW
|
||||
}
|
||||
void WriteMathOMathPara(const std::vector<OOX::WritingElement*>& m_arrItems)
|
||||
{
|
||||
for(int i = 0; i< m_arrItems.size(); ++i)
|
||||
for(size_t i = 0; i< m_arrItems.size(); ++i)
|
||||
{
|
||||
OOX::WritingElement* item = m_arrItems[i];
|
||||
OOX::EElementType eType = item->getType();
|
||||
@ -4648,7 +4653,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pOpEmu.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pOpEmu.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4678,7 +4683,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pPlcHide.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pPlcHide.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4774,7 +4779,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pShow.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pShow.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4834,7 +4839,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pStrikeBLTR.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pStrikeBLTR.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4845,7 +4850,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pStrikeH.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pStrikeH.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4856,7 +4861,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pStrikeTLBR.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pStrikeTLBR.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4867,7 +4872,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pStrikeV.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pStrikeV.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4895,7 +4900,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pSubHide.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pSubHide.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4912,7 +4917,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pSupHide.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pSupHide.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4957,7 +4962,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pTransp.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pTransp.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -4990,7 +4995,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pZeroAsc.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pZeroAsc.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -5001,7 +5006,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pZeroDesc.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pZeroDesc.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -5012,7 +5017,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pZeroWid.m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pZeroWid.m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
}
|
||||
@ -5029,17 +5034,19 @@ namespace BinDocxRW
|
||||
if(false == bHyperlink)
|
||||
{
|
||||
//Случай если Hyperlink задан как field
|
||||
for(int i = 0, length = m_aFldChars.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_aFldChars.size(); i < length; ++i)
|
||||
{
|
||||
if(fieldstruct_hyperlink == m_aFldChars[i]->GetType())
|
||||
{
|
||||
bHyperlink = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(bHyperlink)
|
||||
{
|
||||
bool bInTOC = false;
|
||||
for(int i = 0, length = m_aFldChars.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = m_aFldChars.size(); i < length; ++i)
|
||||
{
|
||||
if(fieldstruct_toc == m_aFldChars[i]->GetType())
|
||||
{
|
||||
@ -5432,7 +5439,7 @@ namespace BinDocxRW
|
||||
OOX::Drawing::CChart* pChart = NULL;
|
||||
if(NULL != pGraphic)
|
||||
{
|
||||
for(int i = 0; i < pGraphic->m_arrItems.size(); i++)
|
||||
for(size_t i = 0; i < pGraphic->m_arrItems.size(); i++)
|
||||
{
|
||||
OOX::WritingElement* we = pGraphic->m_arrItems[i];
|
||||
if(OOX::et_c_chart == we->getType())
|
||||
@ -6107,7 +6114,7 @@ namespace BinDocxRW
|
||||
void WriteLineTo(const std::vector<ComplexTypes::Drawing::CPoint2D*>& aLineTo)
|
||||
{
|
||||
int nCurPos = 0;
|
||||
for(int i = 0, length = aLineTo.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = aLineTo.size(); i < length; ++i)
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerWrapPolygon::LineTo);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Variable);
|
||||
@ -6166,7 +6173,7 @@ namespace BinDocxRW
|
||||
{
|
||||
//Проверяем чтобы не все ячейки в ряду были вертикально замержены
|
||||
bool bRes = true;
|
||||
for(int i = 0, length = arrItems.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = arrItems.size(); i < length; ++i)
|
||||
{
|
||||
OOX::WritingElement* item = arrItems[i];
|
||||
if(OOX::et_w_tc == item->getType())
|
||||
@ -6212,7 +6219,7 @@ namespace BinDocxRW
|
||||
}
|
||||
void GetTableSize(std::vector<OOX::WritingElement *>& rows, int& nRows, int& nCols, OOX::Logic::CTableProperty** ppTblPr)
|
||||
{
|
||||
for(int i = rows.size() - 1; i >= 0; i--)
|
||||
for(int i = (int)rows.size() - 1; i >= 0; i--)
|
||||
{
|
||||
OOX::WritingElement* item = rows[i];
|
||||
if(OOX::et_w_tblPr == item->getType())
|
||||
@ -6264,14 +6271,14 @@ namespace BinDocxRW
|
||||
int GetColsCount(const std::vector<OOX::WritingElement *>& arrItems)
|
||||
{
|
||||
int nColCount = 0;
|
||||
for(int i = 0, length = arrItems.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = arrItems.size(); i < length; ++i)
|
||||
{
|
||||
OOX::WritingElement* item = arrItems[i];
|
||||
if(OOX::et_w_tc == item->getType())
|
||||
{
|
||||
nColCount++;
|
||||
OOX::Logic::CTc* tc = static_cast<OOX::Logic::CTc*>(item);
|
||||
for(int j = 0, length2 = tc->m_arrItems.size(); j < length2; ++j)
|
||||
for(size_t j = 0, length2 = tc->m_arrItems.size(); j < length2; ++j)
|
||||
{
|
||||
OOX::WritingElement* item2 = tc->m_arrItems[j];
|
||||
if(OOX::et_w_tcPr == item2->getType())
|
||||
@ -6313,7 +6320,7 @@ namespace BinDocxRW
|
||||
void WriteTblGrid(const OOX::Logic::CTblGrid& grid)
|
||||
{
|
||||
int nCurPos = 0;
|
||||
for(int i = 0, length = grid.m_arrGridCol.size(); i < length; i++)
|
||||
for(size_t i = 0, length = grid.m_arrGridCol.size(); i < length; i++)
|
||||
{
|
||||
const ComplexTypes::Word::CTblGridCol& item = *grid.m_arrGridCol[i];
|
||||
if(item.m_oW.IsInit())
|
||||
@ -6355,7 +6362,7 @@ namespace BinDocxRW
|
||||
int nCurPos = 0;
|
||||
int nCurRowIndex = 0;
|
||||
|
||||
for(int i = 0, length = Content.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = Content.size(); i < length; ++i)
|
||||
{
|
||||
OOX::WritingElement* item = Content[i];
|
||||
if(OOX::et_w_tr == item->getType())
|
||||
@ -6410,7 +6417,7 @@ namespace BinDocxRW
|
||||
int nCurPos = 0;
|
||||
int nCurColIndex = 0;
|
||||
|
||||
for(int i = 0, length = Content.size(); i < length; i++)
|
||||
for(size_t i = 0, length = Content.size(); i < length; i++)
|
||||
{
|
||||
OOX::WritingElement* item = Content[i];
|
||||
|
||||
@ -6495,7 +6502,7 @@ namespace BinDocxRW
|
||||
//map author -> userId
|
||||
if(NULL != pPeople)
|
||||
{
|
||||
for(int i = 0, length = pPeople->m_arrPeoples.size(); i < length; i++)
|
||||
for(size_t i = 0, length = pPeople->m_arrPeoples.size(); i < length; i++)
|
||||
{
|
||||
OOX::CPerson* pPerson = pPeople->m_arrPeoples[i];
|
||||
if(NULL != pPerson && pPerson->m_oAuthor.IsInit() && pPerson->m_oPresenceInfo.IsInit() && pPerson->m_oPresenceInfo->m_oProviderId.IsInit() && _T("Teamlab") == pPerson->m_oPresenceInfo->m_oProviderId.get2() && pPerson->m_oPresenceInfo->m_oUserId.IsInit())
|
||||
@ -6503,7 +6510,7 @@ namespace BinDocxRW
|
||||
}
|
||||
}
|
||||
//map paraId -> CCommentWriteTemp
|
||||
for(int i = 0, length = oComments.m_arrComments.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = oComments.m_arrComments.size(); i < length; ++i)
|
||||
{
|
||||
OOX::CComment* pComment = oComments.m_arrComments[i];
|
||||
CCommentWriteTemp* pNewCommentWriteTemp = new CCommentWriteTemp();
|
||||
@ -6514,7 +6521,7 @@ namespace BinDocxRW
|
||||
if(mapAuthorToUserId.end() != pPair)
|
||||
pNewCommentWriteTemp->sUserId = pPair->second;
|
||||
}
|
||||
for(int j = 0, length2 = pComment->m_arrItems.size(); j < length2; j++)
|
||||
for(size_t j = 0, length2 = pComment->m_arrItems.size(); j < length2; j++)
|
||||
{
|
||||
OOX::WritingElement* pWe = pComment->m_arrItems[j];
|
||||
if(OOX::et_w_p == pWe->getType())
|
||||
@ -6529,7 +6536,7 @@ namespace BinDocxRW
|
||||
//разбираемся с reply и done
|
||||
if(NULL != pCommentsExt)
|
||||
{
|
||||
for(int i = 0, length = pCommentsExt->m_arrComments.size(); i < length; i++)
|
||||
for(size_t i = 0, length = pCommentsExt->m_arrComments.size(); i < length; i++)
|
||||
{
|
||||
OOX::CCommentExt* pCommentExt = pCommentsExt->m_arrComments[i];
|
||||
if(pCommentExt->m_oParaId.IsInit())
|
||||
@ -6559,7 +6566,7 @@ namespace BinDocxRW
|
||||
}
|
||||
int nCurPos = 0;
|
||||
|
||||
for(int i = 0, length = aCommentsToWrite.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = aCommentsToWrite.size(); i < length; ++i)
|
||||
{
|
||||
CCommentWriteTemp* pCommentWriteTemp = aCommentsToWrite[i];
|
||||
if(NULL != pCommentWriteTemp && NULL != pCommentWriteTemp->pComment && pCommentWriteTemp->pComment->m_oId.IsInit() && mapIgnoreComments.end() == mapIgnoreComments.find(pCommentWriteTemp->pComment->m_oId->GetValue()))
|
||||
@ -6570,7 +6577,7 @@ namespace BinDocxRW
|
||||
}
|
||||
}
|
||||
|
||||
for(int i = 0, length = aCommentsToWrite.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = aCommentsToWrite.size(); i < length; ++i)
|
||||
delete aCommentsToWrite[i];
|
||||
};
|
||||
void WriteComment(CCommentWriteTemp& oComment)
|
||||
@ -6626,7 +6633,7 @@ namespace BinDocxRW
|
||||
void WriteReplies(std::vector<CCommentWriteTemp*>& aCommentWriteTemp)
|
||||
{
|
||||
int nCurPos = 0;
|
||||
for(int i = 0, length = aCommentWriteTemp.size(); i < length; i++)
|
||||
for(size_t i = 0, length = aCommentWriteTemp.size(); i < length; i++)
|
||||
{
|
||||
nCurPos = m_oBcw.WriteItemStart(c_oSer_CommentsType::Comment);
|
||||
WriteComment(*aCommentWriteTemp[i]);
|
||||
@ -6692,7 +6699,7 @@ namespace BinDocxRW
|
||||
};
|
||||
void WriteMathPr(const OOX::Logic::CMathPr &pMathPr)
|
||||
{
|
||||
for(int i = 0; i< pMathPr.m_arrItems.size(); ++i)
|
||||
for(size_t i = 0; i< pMathPr.m_arrItems.size(); ++i)
|
||||
{
|
||||
OOX::WritingElement* item = pMathPr.m_arrItems[i];
|
||||
OOX::EElementType eType = item->getType();
|
||||
@ -6745,7 +6752,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pDispDef->m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pDispDef->m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
break;
|
||||
@ -6875,7 +6882,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pSmallFrac->m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pSmallFrac->m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
break;
|
||||
@ -6901,7 +6908,7 @@ namespace BinDocxRW
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSer_OMathBottomNodesValType::Val);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBOOL(pWrapRight->m_val->GetValue());
|
||||
m_oBcw.m_oStream.WriteBOOL(pWrapRight->m_val->ToBool());
|
||||
}
|
||||
m_oBcw.WriteItemEnd(nCurPos);
|
||||
break;
|
||||
@ -7241,7 +7248,7 @@ namespace BinDocxRW
|
||||
if(NULL != pParagraph)
|
||||
{
|
||||
OOX::Logic::CParagraphProperty* pPr = NULL;
|
||||
for(int i = 0, length = pParagraph->m_arrItems.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = pParagraph->m_arrItems.size(); i < length; ++i)
|
||||
{
|
||||
OOX::WritingElement* we = pParagraph->m_arrItems[i];
|
||||
if(OOX::et_w_pPr == we->getType())
|
||||
|
||||
@ -176,8 +176,8 @@ namespace BinXlsxRW{
|
||||
std::wstring sThemePath;
|
||||
std::wstring sEmbedingPath;
|
||||
|
||||
int nIndex = sFilepath.rfind(FILE_SEPARATOR_CHAR);
|
||||
nIndex = sFilepath.rfind(FILE_SEPARATOR_CHAR, nIndex - 1);
|
||||
int nIndex = (int)sFilepath.rfind(FILE_SEPARATOR_CHAR);
|
||||
nIndex = (int)sFilepath.rfind(FILE_SEPARATOR_CHAR, nIndex - 1);
|
||||
if(-1 != nIndex)
|
||||
{
|
||||
std::wstring sFilepathLeft = sFilepath.substr(0, nIndex + 1);
|
||||
|
||||
@ -16,15 +16,15 @@ include($$PWD/../../Common/3dParty/boost/boost.pri)
|
||||
|
||||
DEFINES += UNICODE \
|
||||
_UNICODE \
|
||||
NODOCX \
|
||||
_USE_XMLLITE_READER_ \
|
||||
USE_LITE_READER \
|
||||
USE_ATL_CSTRING \
|
||||
USE_AVSOFFICESTUDIO_XMLUTILS \
|
||||
SOLUTION_ASCOFFICEDOCXFILE2 \
|
||||
#DISABLE_FILE_DOWNLOADER \
|
||||
_USE_LIBXML2_READER_ \
|
||||
LIBXML_READER_ENABLED
|
||||
LIBXML_READER_ENABLED \
|
||||
DONT_WRITE_EMBEDDED_FONTS
|
||||
|
||||
|
||||
INCLUDEPATH += \
|
||||
../../DesktopEditor/freetype-2.5.2/include \
|
||||
|
||||
@ -2,6 +2,9 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 9.00
|
||||
# Visual Studio 2005
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml_wrapper", "..\win32\cpxml.vcproj", "{41BED424-4EAF-4053-8A5F-1E2A387D53D1}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{21663823-DE45-479B-91D0-B4FEF4916EF0} = {21663823-DE45-479B-91D0-B4FEF4916EF0}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFormatReaderLib", "..\win32\cpodf.vcproj", "{50E20601-4A8D-4AFB-8870-63828D328429}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
@ -21,7 +24,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFormulasConvert", "..\wi
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFileReaderTest", "OdfFileTest.vcproj", "{C2882DDD-07E6-4314-AD4B-48F43F38D722}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{41BED424-4EAF-4053-8A5F-1E2A387D53D1} = {41BED424-4EAF-4053-8A5F-1E2A387D53D1}
|
||||
{50E20601-4A8D-4AFB-8870-63828D328429} = {50E20601-4A8D-4AFB-8870-63828D328429}
|
||||
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}
|
||||
{94954A67-A853-43B1-A727-6EF2774C5A6A} = {94954A67-A853-43B1-A727-6EF2774C5A6A}
|
||||
{F8274B05-168E-4D6E-B843-AA7510725363} = {F8274B05-168E-4D6E-B843-AA7510725363}
|
||||
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}
|
||||
@ -30,7 +35,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OdfFileReaderTest", "OdfFil
|
||||
{C739151F-5384-41DF-A1A6-F089E2C1AD56} = {C739151F-5384-41DF-A1A6-F089E2C1AD56}
|
||||
{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B} = {78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}
|
||||
{BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36}
|
||||
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2} = {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "graphics", "..\..\DesktopEditor\graphics\graphics_vs2005.vcproj", "{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}"
|
||||
|
||||
@ -31,18 +31,23 @@
|
||||
*/
|
||||
// OdfFileTest.cpp
|
||||
|
||||
#include "../../../OfficeUtils/src/OfficeUtils.h"
|
||||
#include <stdio.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#include "../../../Common/DocxFormat/Source/SystemUtility/FileSystem/Directory.h"
|
||||
|
||||
#include "../../src/ConvertOO2OOX.h"
|
||||
#include "../../OfficeUtils/src/OfficeUtils.h"
|
||||
#include "../../DesktopEditor/common/Directory.h"
|
||||
#include "../src/ConvertOO2OOX.h"
|
||||
|
||||
|
||||
#if defined(_WIN64)
|
||||
#pragma comment(lib, "../../../build/bin/icu/win_64/icuuc.lib")
|
||||
#pragma comment(lib, "../../build/bin/icu/win_64/icuuc.lib")
|
||||
#elif defined (_WIN32)
|
||||
#pragma comment(lib, "../../../build/bin/icu/win_32/icuuc.lib")
|
||||
#pragma comment(lib, "../../build/bin/icu/win_32/icuuc.lib")
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
int _tmain(int argc, _TCHAR* argv[])
|
||||
{
|
||||
if (argc < 2) return 1;
|
||||
@ -50,12 +55,12 @@ int _tmain(int argc, _TCHAR* argv[])
|
||||
HRESULT hr = S_OK;
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
std::wstring srcFileName = argv[1];
|
||||
std::wstring dstPath = argc > 2 ? argv[2] : sSrcDoc + L"-my.docx"; //xlsx pptx
|
||||
std::wstring dstPath = argc > 2 ? argv[2] : srcFileName + L"-my.pptx"; //xlsx pptx
|
||||
|
||||
std::wstring outputDir = FileSystem::Directory::GetFolderPath(dstPath);
|
||||
std::wstring outputDir = NSDirectory::GetFolderPath(dstPath);
|
||||
|
||||
std::wstring srcTempPath = FileSystem::Directory::CreateDirectoryWithUniqueName(outputDir);
|
||||
std::wstring dstTempPath = FileSystem::Directory::CreateDirectoryWithUniqueName(outputDir);
|
||||
std::wstring srcTempPath = NSDirectory::CreateDirectoryWithUniqueName(outputDir);
|
||||
std::wstring dstTempPath = NSDirectory::CreateDirectoryWithUniqueName(outputDir);
|
||||
|
||||
// распаковываем исходник во временную директорию
|
||||
COfficeUtils oCOfficeUtils(NULL);
|
||||
@ -64,14 +69,14 @@ int _tmain(int argc, _TCHAR* argv[])
|
||||
|
||||
hr = ConvertOO2OOX(srcTempPath, dstTempPath, L"C:\\Windows\\Fonts", false, NULL);
|
||||
|
||||
FileSystem::Directory::DeleteDirectory(srcTempPath);
|
||||
NSDirectory::DeleteDirectory(srcTempPath);
|
||||
|
||||
if (hr != S_OK) return hr;
|
||||
|
||||
if (S_OK != oCOfficeUtils.CompressFileOrDirectory(dstTempPath.c_str(), dstPath.c_str(), -1))
|
||||
return hr;
|
||||
|
||||
FileSystem::Directory::DeleteDirectory(dstTempPath);
|
||||
NSDirectory::DeleteDirectory(dstTempPath);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
return 0;
|
||||
|
||||
@ -43,11 +43,11 @@
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_UNICODE;UNICODE"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="false"
|
||||
DebugInformationFormat="4"
|
||||
@ -63,7 +63,7 @@
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="gdi32.lib"
|
||||
AdditionalDependencies="gdi32.lib Rpcrt4.lib"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="1"
|
||||
@ -369,6 +369,30 @@
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\DesktopEditor\xml\src\xmldom.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="0"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\DesktopEditor\xml\src\xmllight.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
UsePrecompiledHeader="0"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
|
||||
@ -58,7 +58,7 @@ bool is_internal(const std::wstring & uri, const std::wstring & packetRoot)
|
||||
|
||||
std::wstring resultPath = packetRoot + FILE_SEPARATOR_STR + mediaPath;
|
||||
|
||||
return NSDirectory::Exists(resultPath) || NSDirectory::Exists(mediaPath);
|
||||
return NSFile::CFileBinary::Exists(resultPath) || NSDirectory::Exists(mediaPath);
|
||||
}
|
||||
|
||||
mediaitems::item::item( std::wstring const & _href,
|
||||
|
||||
@ -433,8 +433,6 @@ void pptx_slide_context::end_shape()
|
||||
|
||||
void pptx_slide_context::end_table()
|
||||
{
|
||||
impl_->objects_.push_back(impl_->object_description_);
|
||||
default_set();
|
||||
}
|
||||
|
||||
bool pptx_slide_context::empty() const
|
||||
|
||||
@ -376,7 +376,7 @@ void oox_serialize_tcPr(std::wostream & strm, std::vector<const odf_reader::styl
|
||||
|
||||
if (fill.bitmap)
|
||||
{
|
||||
bool isMediaInternal = false;
|
||||
bool isMediaInternal = true;
|
||||
std::wstring ref;
|
||||
fill.bitmap->rId = Context.get_slide_context().get_mediaitems().add_or_find(fill.bitmap->xlink_href_, oox::typeImage, isMediaInternal, ref);
|
||||
Context.get_slide_context().add_rels(isMediaInternal, fill.bitmap->rId, ref, oox::typeImage);
|
||||
|
||||
@ -465,7 +465,7 @@ public:
|
||||
void serialize(CP_ATTR_NODE);
|
||||
|
||||
_CP_OPT(horizontal_pos) style_horizontal_pos_;
|
||||
_CP_OPT(length) svg_x_;
|
||||
_CP_OPT(length) svg_x_;
|
||||
|
||||
};
|
||||
|
||||
@ -477,10 +477,10 @@ public:
|
||||
void apply_from(const common_draw_style_name_attlist & Other);
|
||||
void serialize(CP_ATTR_NODE);
|
||||
|
||||
_CP_OPT(style_ref) draw_style_name_;
|
||||
_CP_OPT(std::wstring) draw_class_names_;
|
||||
_CP_OPT(style_ref) presentation_style_name_;
|
||||
_CP_OPT(std::wstring) presentation_class_names_;
|
||||
_CP_OPT(style_ref) draw_style_name_;
|
||||
_CP_OPT(std::wstring) draw_class_names_;
|
||||
_CP_OPT(style_ref) presentation_style_name_;
|
||||
_CP_OPT(std::wstring) presentation_class_names_;
|
||||
|
||||
};
|
||||
|
||||
@ -606,8 +606,8 @@ public:
|
||||
void apply_from(const common_draw_shape_with_text_and_styles_attlist & Other);
|
||||
void serialize(CP_ATTR_NODE);
|
||||
|
||||
common_draw_shape_with_styles_attlist common_draw_shape_with_styles_attlist_;
|
||||
common_draw_text_style_name_attlist common_draw_text_style_name_attlist_;
|
||||
common_draw_shape_with_styles_attlist common_draw_shape_with_styles_attlist_;
|
||||
common_draw_text_style_name_attlist common_draw_text_style_name_attlist_;
|
||||
};
|
||||
|
||||
/// presentation-shape-attlist
|
||||
@ -618,9 +618,9 @@ public:
|
||||
void apply_from(const presentation_shape_attlist & Other);
|
||||
void serialize(CP_ATTR_NODE);
|
||||
|
||||
_CP_OPT(std::wstring) presentation_class_;
|
||||
_CP_OPT(Bool) presentation_placeholder_;
|
||||
_CP_OPT(Bool) presentation_user_transformed_;
|
||||
_CP_OPT(std::wstring) presentation_class_;
|
||||
_CP_OPT(Bool) presentation_placeholder_;
|
||||
_CP_OPT(Bool) presentation_user_transformed_;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -71,14 +71,9 @@ namespace odf_reader {
|
||||
|
||||
void draw_g::pptx_convert(oox::pptx_conversion_context & Context)
|
||||
{
|
||||
int i=0;
|
||||
int size = content_.size();
|
||||
while(true)
|
||||
{
|
||||
if (i>=size)break;
|
||||
office_element_ptr const & elm = content_[i];
|
||||
elm->pptx_convert(Context);
|
||||
i++;
|
||||
for (size_t i = 0; i < content_.size(); i++)
|
||||
{
|
||||
content_[i]->pptx_convert(Context);
|
||||
}
|
||||
}
|
||||
void draw_frame::pptx_convert_placeHolder(oox::pptx_conversion_context & Context)
|
||||
|
||||
@ -94,10 +94,10 @@ void math_mtr::oox_convert(oox::math_context & Context)
|
||||
strm << L"<m:mr>";
|
||||
for (int i = 0; i < content_.size(); i++)
|
||||
{
|
||||
strm << L"<m:e>";
|
||||
//strm << L"<m:e>"; // EqArray записался в числитель вместо знаменателя.docx - дублирование
|
||||
office_math_element* math_element = dynamic_cast<office_math_element*>(content_[i].get());
|
||||
math_element->oox_convert(Context);
|
||||
strm << L"</m:e>";
|
||||
//strm << L"</m:e>";
|
||||
}
|
||||
strm << L"</m:mr>";
|
||||
}
|
||||
|
||||
@ -24,7 +24,8 @@ DEFINES += UNICODE \
|
||||
_USE_LIBXML2_READER_ \
|
||||
_USE_XMLLITE_READER_ \
|
||||
USE_LITE_READER \
|
||||
LIBXML_READER_ENABLED
|
||||
LIBXML_READER_ENABLED \
|
||||
DONT_WRITE_EMBEDDED_FONTS
|
||||
|
||||
INCLUDEPATH += ../../DesktopEditor/freetype-2.5.2/include
|
||||
INCLUDEPATH += ../../ASCOfficeOdfFile/include
|
||||
|
||||
@ -80,7 +80,7 @@ static const _sh_typ Shape_Types_Mapping[] = // index === OOX::Drawing::EShapeTy
|
||||
{ L"" , 7}, // shapetypeChartX,
|
||||
{ L"chevron" , 7}, // shapetypeChevron,
|
||||
{ L"" , 7}, // shapetypeChord,
|
||||
{ L"circular-arrow" , 7}, // shapetypeCircularArrow,
|
||||
{ L"" , 7}, // shapetypeCircularArrow,
|
||||
{ L"cloud" , 7}, // shapetypeCloud,
|
||||
{ L"cloud-callout" , 7}, // shapetypeCloudCallout,
|
||||
{ L"" , 7}, // shapetypeCorner,
|
||||
|
||||
@ -29,6 +29,7 @@
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#include "../oox_shape_defines.h"
|
||||
// shapetypeAccentBorderCallout1,
|
||||
// shapetypeAccentBorderCallout2,
|
||||
// shapetypeAccentBorderCallout3,
|
||||
|
||||
@ -29,6 +29,333 @@
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
// shapetypeLeftCircularArrow,
|
||||
#include "../oox_shape_defines.h"
|
||||
// +shapetypeLeftCircularArrow,
|
||||
// shapetypeLeftRightCircularArrow,
|
||||
// shapetypeSwooshArrow,
|
||||
// shapetypeSwooshArrow,
|
||||
// +shapetypeCircularArrow
|
||||
namespace cpdoccore
|
||||
{
|
||||
class oox_shape_LeftCircularArrow : public oox_shape
|
||||
{
|
||||
public:
|
||||
oox_shape_LeftCircularArrow()
|
||||
{
|
||||
odf_type_name =L"ooxml-leftCircularArrow";
|
||||
|
||||
enhanced_path = L"M 529769 128373 L 570534 225808 A ?f91 ?f92 ?f93 ?f94 570534 225808 ?f88 ?f90 W ?f95 ?f96 ?f97 ?f98 570534 225808 ?f88 ?f90 L 246425 854941 139301 967187 5691 907641 74093 892667 A ?f138 ?f139 ?f140 ?f141 74093 892667 ?f135 ?f137 W ?f142 ?f143 ?f144 ?f145 74093 892667 ?f135 ?f137 Z N";
|
||||
text_areas = L"?f48 ?f50 ?f49 ?f51";
|
||||
glue_points = L"?f40 ?f41 ?f42 ?f43 ?f44 ?f45 ?f46 ?f47";
|
||||
view_box = L"0 0 1637004 1637004";
|
||||
|
||||
add(L"f0", L"10800000");
|
||||
add(L"f1", L"5400000");
|
||||
add(L"f2", L"left");
|
||||
add(L"f3", L"right");
|
||||
add(L"f4", L"top");
|
||||
add(L"f5", L"bottom");
|
||||
add(L"f6", L"?f5 - ?f4");
|
||||
add(L"f7", L"?f3 - ?f2");
|
||||
add(L"f8", L"5419351 / 1725033");
|
||||
add(L"f9", L"180");
|
||||
add(L"f10", L"?f7 / 1637004");
|
||||
add(L"f11", L"?f6 / 1637004");
|
||||
add(L"f12", L"139301 - 818502");
|
||||
add(L"f13", L"967187 - 818502");
|
||||
add(L"f14", L"sqrt(?f12 * ?f12 + ?f13 * ?f13 + 0 * 0)");
|
||||
add(L"f15", L"atan2(?f12, ?f13)");
|
||||
add(L"f16", L"?f15 + ?f1");
|
||||
add(L"f17", L"?f16 * ?f9 / ?f0");
|
||||
add(L"f18", L"0 - ?f17");
|
||||
add(L"f19", L"529769 - 818502");
|
||||
add(L"f20", L"128373 - 818502");
|
||||
add(L"f21", L"sqrt(?f19 * ?f19 + ?f20 * ?f20 + 0 * 0)");
|
||||
add(L"f22", L"atan2(?f19, ?f20)");
|
||||
add(L"f23", L"?f22 + ?f1");
|
||||
add(L"f24", L"?f23 * ?f9 / ?f0");
|
||||
add(L"f25", L"0 - ?f24");
|
||||
add(L"f26", L"74093 - 818502");
|
||||
add(L"f27", L"892667 - 818502");
|
||||
add(L"f28", L"sqrt(?f26 * ?f26 + ?f27 * ?f27 + 0 * 0)");
|
||||
add(L"f29", L"atan2(?f26, ?f27)");
|
||||
add(L"f30", L"?f29 + ?f1");
|
||||
add(L"f31", L"?f30 * ?f9 / ?f0");
|
||||
add(L"f32", L"0 - ?f31");
|
||||
add(L"f33", L"246425 - 818502");
|
||||
add(L"f34", L"854941 - 818502");
|
||||
add(L"f35", L"sqrt(?f33 * ?f33 + ?f34 * ?f34 + 0 * 0)");
|
||||
add(L"f36", L"atan2(?f33, ?f34)");
|
||||
add(L"f37", L"?f36 + ?f1");
|
||||
add(L"f38", L"?f37 * ?f9 / ?f0");
|
||||
add(L"f39", L"0 - ?f38");
|
||||
add(L"f40", L"550151 / ?f10");
|
||||
add(L"f41", L"177091 / ?f11");
|
||||
add(L"f42", L"5691 / ?f10");
|
||||
add(L"f43", L"907641 / ?f11");
|
||||
add(L"f44", L"139301 / ?f10");
|
||||
add(L"f45", L"967187 / ?f11");
|
||||
add(L"f46", L"246425 / ?f10");
|
||||
add(L"f47", L"854941 / ?f11");
|
||||
add(L"f48", L"289519 / ?f10");
|
||||
add(L"f49", L"1347485 / ?f10");
|
||||
add(L"f50", L"289519 / ?f11");
|
||||
add(L"f51", L"1347485 / ?f11");
|
||||
add(L"f52", L"21550000 - -4313128");
|
||||
add(L"f53", L"if(?f52, -4313128, 21550000)");
|
||||
add(L"f54", L"-21550000 - ?f53");
|
||||
add(L"f55", L"if(?f54, -21550000, ?f53)");
|
||||
add(L"f56", L"14837806 + ?f55");
|
||||
add(L"f57", L"14837806 + ?f1");
|
||||
add(L"f58", L"?f57 * ?f8 / ?f0");
|
||||
add(L"f59", L"0 - ?f58");
|
||||
add(L"f60", L"cos(?f59)");
|
||||
add(L"f61", L"0 - ?f60");
|
||||
add(L"f62", L"?f61 * 642475");
|
||||
add(L"f63", L"sin(?f59)");
|
||||
add(L"f64", L"0 - ?f63");
|
||||
add(L"f65", L"?f64 * 642475");
|
||||
add(L"f66", L"sqrt(?f62 * ?f62 + ?f65 * ?f65 + 0 * 0)");
|
||||
add(L"f67", L"642475 * 642475 / ?f66");
|
||||
add(L"f68", L"?f64 * ?f67");
|
||||
add(L"f69", L"570534 - ?f68");
|
||||
add(L"f70", L"?f61 * ?f67");
|
||||
add(L"f71", L"225808 - ?f70");
|
||||
add(L"f72", L"?f69 - 642475");
|
||||
add(L"f73", L"?f71 - 642475");
|
||||
add(L"f74", L"?f69 + 642475");
|
||||
add(L"f75", L"?f71 + 642475");
|
||||
add(L"f76", L"?f56 + ?f1");
|
||||
add(L"f77", L"?f76 * ?f8 / ?f0");
|
||||
add(L"f78", L"0 - ?f77");
|
||||
add(L"f79", L"cos(?f78)");
|
||||
add(L"f80", L"0 - ?f79");
|
||||
add(L"f81", L"?f80 * 642475");
|
||||
add(L"f82", L"sin(?f78)");
|
||||
add(L"f83", L"0 - ?f82");
|
||||
add(L"f84", L"?f83 * 642475");
|
||||
add(L"f85", L"sqrt(?f81 * ?f81 + ?f84 * ?f84 + 0 * 0)");
|
||||
add(L"f86", L"642475 * 642475 / ?f85");
|
||||
add(L"f87", L"?f83 * ?f86");
|
||||
add(L"f88", L"?f69 + ?f87");
|
||||
add(L"f89", L"?f80 * ?f86");
|
||||
add(L"f90", L"?f71 + ?f89");
|
||||
add(L"f91", L"if(?f55, 570534, ?f72)");
|
||||
add(L"f92", L"if(?f55, 225808, ?f73)");
|
||||
add(L"f93", L"if(?f55, 570534, ?f74)");
|
||||
add(L"f94", L"if(?f55, 225808, ?f75)");
|
||||
add(L"f95", L"if(?f55, ?f72, ?f88)");
|
||||
add(L"f96", L"if(?f55, ?f73, ?f90)");
|
||||
add(L"f97", L"if(?f55, ?f74, ?f88)");
|
||||
add(L"f98", L"if(?f55, ?f75, ?f90)");
|
||||
add(L"f99", L"21550000 - 4379179");
|
||||
add(L"f100", L"if(?f99, 4379179, 21550000)");
|
||||
add(L"f101", L"-21550000 - ?f100");
|
||||
add(L"f102", L"if(?f101, -21550000, ?f100)");
|
||||
add(L"f103", L"10458627 + ?f102");
|
||||
add(L"f104", L"10458627 + ?f1");
|
||||
add(L"f105", L"?f104 * ?f8 / ?f0");
|
||||
add(L"f106", L"0 - ?f105");
|
||||
add(L"f107", L"cos(?f106)");
|
||||
add(L"f108", L"0 - ?f107");
|
||||
add(L"f109", L"?f108 * 748094");
|
||||
add(L"f110", L"sin(?f106)");
|
||||
add(L"f111", L"0 - ?f110");
|
||||
add(L"f112", L"?f111 * 748094");
|
||||
add(L"f113", L"sqrt(?f109 * ?f109 + ?f112 * ?f112 + 0 * 0)");
|
||||
add(L"f114", L"748094 * 748094 / ?f113");
|
||||
add(L"f115", L"?f111 * ?f114");
|
||||
add(L"f116", L"74093 - ?f115");
|
||||
add(L"f117", L"?f108 * ?f114");
|
||||
add(L"f118", L"892667 - ?f117");
|
||||
add(L"f119", L"?f116 - 748094");
|
||||
add(L"f120", L"?f118 - 748094");
|
||||
add(L"f121", L"?f116 + 748094");
|
||||
add(L"f122", L"?f118 + 748094");
|
||||
add(L"f123", L"?f103 + ?f1");
|
||||
add(L"f124", L"?f123 * ?f8 / ?f0");
|
||||
add(L"f125", L"0 - ?f124");
|
||||
add(L"f126", L"cos(?f125)");
|
||||
add(L"f127", L"0 - ?f126");
|
||||
add(L"f128", L"?f127 * 748094");
|
||||
add(L"f129", L"sin(?f125)");
|
||||
add(L"f130", L"0 - ?f129");
|
||||
add(L"f131", L"?f130 * 748094");
|
||||
add(L"f132", L"sqrt(?f128 * ?f128 + ?f131 * ?f131 + 0 * 0)");
|
||||
add(L"f133", L"748094 * 748094 / ?f132");
|
||||
add(L"f134", L"?f130 * ?f133");
|
||||
add(L"f135", L"?f116 + ?f134");
|
||||
add(L"f136", L"?f127 * ?f133");
|
||||
add(L"f137", L"?f118 + ?f136");
|
||||
add(L"f138", L"if(?f102, 74093, ?f119)");
|
||||
add(L"f139", L"if(?f102, 892667, ?f120)");
|
||||
add(L"f140", L"if(?f102, 74093, ?f121)");
|
||||
add(L"f141", L"if(?f102, 892667, ?f122)");
|
||||
add(L"f142", L"if(?f102, ?f119, ?f135)");
|
||||
add(L"f143", L"if(?f102, ?f120, ?f137)");
|
||||
add(L"f144", L"if(?f102, ?f121, ?f135)");
|
||||
add(L"f145", L"if(?f102, ?f122, ?f137)");
|
||||
/////////////////////////////////////////////////////////
|
||||
}
|
||||
};
|
||||
class oox_shape_CircularArrow : public oox_shape
|
||||
{
|
||||
public:
|
||||
oox_shape_CircularArrow()
|
||||
{
|
||||
odf_type_name =L"ooxml-circularArrow";
|
||||
|
||||
enhanced_path = L"M 832838 101692 A ?f91 ?f92 ?f93 ?f94 832838 101692 ?f88 ?f90 W ?f95 ?f96 ?f97 ?f98 832838 101692 ?f88 ?f90 L 1755675 1929758 1616897 1879250 1618409 1725100 1657499 1783381 A ?f138 ?f139 ?f140 ?f141 1657499 1783381 ?f135 ?f137 W ?f142 ?f143 ?f144 ?f145 1657499 1783381 ?f135 ?f137 Z N";
|
||||
text_areas = L"?f48 ?f50 ?f49 ?f51";
|
||||
glue_points = L"?f40 ?f41 ?f42 ?f43 ?f44 ?f45 ?f46 ?f47";
|
||||
view_box = L"0 0 2165070 2165070";
|
||||
|
||||
add(L"f0", L"10800000");
|
||||
add(L"f1", L"5400000");
|
||||
add(L"f2", L"left");
|
||||
add(L"f3", L"right");
|
||||
add(L"f4", L"top");
|
||||
add(L"f5", L"bottom");
|
||||
add(L"f6", L"?f5 - ?f4");
|
||||
add(L"f7", L"?f3 - ?f2");
|
||||
add(L"f8", L"5419351 / 1725033");
|
||||
add(L"f9", L"180");
|
||||
add(L"f10", L"?f7 / 2165070");
|
||||
add(L"f11", L"?f6 / 2165070");
|
||||
add(L"f12", L"1616897 - 1082535");
|
||||
add(L"f13", L"1879250 - 1082535");
|
||||
add(L"f14", L"sqrt(?f12 * ?f12 + ?f13 * ?f13 + 0 * 0)");
|
||||
add(L"f15", L"atan2(?f12, ?f13)");
|
||||
add(L"f16", L"?f15 + ?f1");
|
||||
add(L"f17", L"?f16 * ?f9 / ?f0");
|
||||
add(L"f18", L"0 - ?f17");
|
||||
add(L"f19", L"832838 - 1082535");
|
||||
add(L"f20", L"101692 - 1082535");
|
||||
add(L"f21", L"sqrt(?f19 * ?f19 + ?f20 * ?f20 + 0 * 0)");
|
||||
add(L"f22", L"atan2(?f19, ?f20)");
|
||||
add(L"f23", L"?f22 + ?f1");
|
||||
add(L"f24", L"?f23 * ?f9 / ?f0");
|
||||
add(L"f25", L"0 - ?f24");
|
||||
add(L"f26", L"1716572 - 1082535");
|
||||
add(L"f27", L"1871457 - 1082535");
|
||||
add(L"f28", L"sqrt(?f26 * ?f26 + ?f27 * ?f27 + 0 * 0)");
|
||||
add(L"f29", L"atan2(?f26, ?f27)");
|
||||
add(L"f30", L"?f29 + ?f1");
|
||||
add(L"f31", L"?f30 * ?f9 / ?f0");
|
||||
add(L"f32", L"0 - ?f31");
|
||||
add(L"f33", L"1618409 - 1082535");
|
||||
add(L"f34", L"1725100 - 1082535");
|
||||
add(L"f35", L"sqrt(?f33 * ?f33 + ?f34 * ?f34 + 0 * 0)");
|
||||
add(L"f36", L"atan2(?f33, ?f34)");
|
||||
add(L"f37", L"?f36 + ?f1");
|
||||
add(L"f38", L"?f37 * ?f9 / ?f0");
|
||||
add(L"f39", L"0 - ?f38");
|
||||
add(L"f40", L"845866 / ?f10");
|
||||
add(L"f41", L"152866 / ?f11");
|
||||
add(L"f42", L"1755675 / ?f10");
|
||||
add(L"f43", L"1929758 / ?f11");
|
||||
add(L"f44", L"1616897 / ?f10");
|
||||
add(L"f45", L"1879250 / ?f11");
|
||||
add(L"f46", L"1618409 / ?f10");
|
||||
add(L"f47", L"1725100 / ?f11");
|
||||
add(L"f48", L"366853 / ?f10");
|
||||
add(L"f49", L"1798217 / ?f10");
|
||||
add(L"f50", L"366853 / ?f11");
|
||||
add(L"f51", L"1798217 / ?f11");
|
||||
add(L"f52", L"21550000 - 9329679");
|
||||
add(L"f53", L"if(?f52, 9329679, 21550000)");
|
||||
add(L"f54", L"-21550000 - ?f53");
|
||||
add(L"f55", L"if(?f54, -21550000, ?f53)");
|
||||
add(L"f56", L"15343043 + ?f55");
|
||||
add(L"f57", L"15343043 + ?f1");
|
||||
add(L"f58", L"?f57 * ?f8 / ?f0");
|
||||
add(L"f59", L"0 - ?f58");
|
||||
add(L"f60", L"cos(?f59)");
|
||||
add(L"f61", L"0 - ?f60");
|
||||
add(L"f62", L"?f61 * 1012127");
|
||||
add(L"f63", L"sin(?f59)");
|
||||
add(L"f64", L"0 - ?f63");
|
||||
add(L"f65", L"?f64 * 1012127");
|
||||
add(L"f66", L"sqrt(?f62 * ?f62 + ?f65 * ?f65 + 0 * 0)");
|
||||
add(L"f67", L"1012127 * 1012127 / ?f66");
|
||||
add(L"f68", L"?f64 * ?f67");
|
||||
add(L"f69", L"832838 - ?f68");
|
||||
add(L"f70", L"?f61 * ?f67");
|
||||
add(L"f71", L"101692 - ?f70");
|
||||
add(L"f72", L"?f69 - 1012127");
|
||||
add(L"f73", L"?f71 - 1012127");
|
||||
add(L"f74", L"?f69 + 1012127");
|
||||
add(L"f75", L"?f71 + 1012127");
|
||||
add(L"f76", L"?f56 + ?f1");
|
||||
add(L"f77", L"?f76 * ?f8 / ?f0");
|
||||
add(L"f78", L"0 - ?f77");
|
||||
add(L"f79", L"cos(?f78)");
|
||||
add(L"f80", L"0 - ?f79");
|
||||
add(L"f81", L"?f80 * 1012127");
|
||||
add(L"f82", L"sin(?f78)");
|
||||
add(L"f83", L"0 - ?f82");
|
||||
add(L"f84", L"?f83 * 1012127");
|
||||
add(L"f85", L"sqrt(?f81 * ?f81 + ?f84 * ?f84 + 0 * 0)");
|
||||
add(L"f86", L"1012127 * 1012127 / ?f85");
|
||||
add(L"f87", L"?f83 * ?f86");
|
||||
add(L"f88", L"?f69 + ?f87");
|
||||
add(L"f89", L"?f80 * ?f86");
|
||||
add(L"f90", L"?f71 + ?f89");
|
||||
add(L"f91", L"if(?f55, 832838, ?f72)");
|
||||
add(L"f92", L"if(?f55, 101692, ?f73)");
|
||||
add(L"f93", L"if(?f55, 832838, ?f74)");
|
||||
add(L"f94", L"if(?f55, 101692, ?f75)");
|
||||
add(L"f95", L"if(?f55, ?f72, ?f88)");
|
||||
add(L"f96", L"if(?f55, ?f73, ?f90)");
|
||||
add(L"f97", L"if(?f55, ?f74, ?f88)");
|
||||
add(L"f98", L"if(?f55, ?f75, ?f90)");
|
||||
add(L"f99", L"21550000 - -9295060");
|
||||
add(L"f100", L"if(?f99, -9295060, 21550000)");
|
||||
add(L"f101", L"-21550000 - ?f100");
|
||||
add(L"f102", L"if(?f101, -21550000, ?f100)");
|
||||
add(L"f103", L"3038103 + ?f102");
|
||||
add(L"f104", L"3038103 + ?f1");
|
||||
add(L"f105", L"?f104 * ?f8 / ?f0");
|
||||
add(L"f106", L"0 - ?f105");
|
||||
add(L"f107", L"cos(?f106)");
|
||||
add(L"f108", L"0 - ?f107");
|
||||
add(L"f109", L"?f108 * 906515");
|
||||
add(L"f110", L"sin(?f106)");
|
||||
add(L"f111", L"0 - ?f110");
|
||||
add(L"f112", L"?f111 * 906515");
|
||||
add(L"f113", L"sqrt(?f109 * ?f109 + ?f112 * ?f112 + 0 * 0)");
|
||||
add(L"f114", L"906515 * 906515 / ?f113");
|
||||
add(L"f115", L"?f111 * ?f114");
|
||||
add(L"f116", L"1657499 - ?f115");
|
||||
add(L"f117", L"?f108 * ?f114");
|
||||
add(L"f118", L"1783381 - ?f117");
|
||||
add(L"f119", L"?f116 - 906515");
|
||||
add(L"f120", L"?f118 - 906515");
|
||||
add(L"f121", L"?f116 + 906515");
|
||||
add(L"f122", L"?f118 + 906515");
|
||||
add(L"f123", L"?f103 + ?f1");
|
||||
add(L"f124", L"?f123 * ?f8 / ?f0");
|
||||
add(L"f125", L"0 - ?f124");
|
||||
add(L"f126", L"cos(?f125)");
|
||||
add(L"f127", L"0 - ?f126");
|
||||
add(L"f128", L"?f127 * 906515");
|
||||
add(L"f129", L"sin(?f125)");
|
||||
add(L"f130", L"0 - ?f129");
|
||||
add(L"f131", L"?f130 * 906515");
|
||||
add(L"f132", L"sqrt(?f128 * ?f128 + ?f131 * ?f131 + 0 * 0)");
|
||||
add(L"f133", L"906515 * 906515 / ?f132");
|
||||
add(L"f134", L"?f130 * ?f133");
|
||||
add(L"f135", L"?f116 + ?f134");
|
||||
add(L"f136", L"?f127 * ?f133");
|
||||
add(L"f137", L"?f118 + ?f136");
|
||||
add(L"f138", L"if(?f102, 1657499, ?f119)");
|
||||
add(L"f139", L"if(?f102, 1783381, ?f120)");
|
||||
add(L"f140", L"if(?f102, 1657499, ?f121)");
|
||||
add(L"f141", L"if(?f102, 1783381, ?f122)");
|
||||
add(L"f142", L"if(?f102, ?f119, ?f135)");
|
||||
add(L"f143", L"if(?f102, ?f120, ?f137)");
|
||||
add(L"f144", L"if(?f102, ?f121, ?f135)");
|
||||
add(L"f145", L"if(?f102, ?f122, ?f137)");
|
||||
/////////////////////////////////////////////////////////
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -37,9 +37,9 @@
|
||||
// shapetypeDiagStripe,
|
||||
// shapetypeDodecagon,
|
||||
//+ shapetypeDoubleWave,
|
||||
// shapetypeFunnel,
|
||||
// shapetypeGear6,
|
||||
// shapetypeGear9,
|
||||
//+ shapetypeFunnel,
|
||||
//+ shapetypeGear6,
|
||||
//+ shapetypeGear9,
|
||||
// shapetypeHalfFrame,
|
||||
// shapetypeHeptagon,
|
||||
// shapetypeNonIsoscelesTrapezoid,
|
||||
@ -323,4 +323,439 @@ public:
|
||||
/////////////////////////////////////////////////////////
|
||||
}
|
||||
};
|
||||
|
||||
class oox_shape_Gear6 : public oox_shape
|
||||
{
|
||||
public:
|
||||
oox_shape_Gear6()
|
||||
{
|
||||
odf_type_name =L"ooxml-gear6";
|
||||
|
||||
enhanced_path = L"M 541172 212681 L 631103 156982 683808 209688 628111 299619 C 649564 336513 660802 378456 660671 421135 L 753871 471167 734580 543164 628849 539893 C 607623 576919 576919 607624 539893 628849 L 543164 734581 471167 753872 421134 660670 C 378456 660802 336513 649563 299618 628110 L 209688 683809 156983 631103 212680 541172 C 191227 504278 179989 462335 180120 419656 L 86920 369624 106211 297627 211942 300898 C 233168 263872 263872 233167 300898 211942 L 297627 106210 369624 86919 419657 180121 C 462335 179989 504278 191228 541173 212681 L 541172 212681 Z N";
|
||||
text_areas = L"?f68 ?f70 ?f69 ?f71";
|
||||
glue_points = L"?f38 ?f39 ?f40 ?f41 ?f42 ?f43 ?f44 ?f45 ?f44 ?f46 ?f42 ?f47 ?f40 ?f48 ?f38 ?f49 ?f50 ?f51 ?f52 ?f53 ?f54 ?f53 ?f55 ?f51 ?f56 ?f49 ?f57 ?f48 ?f58 ?f47 ?f59 ?f60 ?f59 ?f61 ?f58 ?f43 ?f57 ?f41 ?f62 ?f39 ?f63 ?f64 ?f54 ?f65 ?f52 ?f65 ?f66 ?f64 ?f67 ?f39 ?f38 ?f39";
|
||||
view_box = L"0 0 840791 840791";
|
||||
|
||||
add(L"f0", L"left");
|
||||
add(L"f1", L"right");
|
||||
add(L"f2", L"top");
|
||||
add(L"f3", L"bottom");
|
||||
add(L"f4", L"?f3 - ?f2");
|
||||
add(L"f5", L"?f1 - ?f0");
|
||||
add(L"f6", L"?f5 / 840791");
|
||||
add(L"f7", L"?f4 / 840791");
|
||||
add(L"f8", L"629119 * ?f5 / 840791");
|
||||
add(L"f9", L"212951 * ?f4 / 840791");
|
||||
add(L"f10", L"753164 * ?f5 / 840791");
|
||||
add(L"f11", L"175566 * ?f4 / 840791");
|
||||
add(L"f12", L"798808 * ?f5 / 840791");
|
||||
add(L"f13", L"254624 * ?f4 / 840791");
|
||||
add(L"f14", L"704410 * ?f5 / 840791");
|
||||
add(L"f15", L"343358 * ?f4 / 840791");
|
||||
add(L"f16", L"497434 * ?f4 / 840791");
|
||||
add(L"f17", L"586167 * ?f4 / 840791");
|
||||
add(L"f18", L"665225 * ?f4 / 840791");
|
||||
add(L"f19", L"627840 * ?f4 / 840791");
|
||||
add(L"f20", L"495685 * ?f5 / 840791");
|
||||
add(L"f21", L"704878 * ?f4 / 840791");
|
||||
add(L"f22", L"466040 * ?f5 / 840791");
|
||||
add(L"f23", L"830997 * ?f4 / 840791");
|
||||
add(L"f24", L"374751 * ?f5 / 840791");
|
||||
add(L"f25", L"345105 * ?f5 / 840791");
|
||||
add(L"f26", L"211671 * ?f5 / 840791");
|
||||
add(L"f27", L"87627 * ?f5 / 840791");
|
||||
add(L"f28", L"41983 * ?f5 / 840791");
|
||||
add(L"f29", L"136381 * ?f5 / 840791");
|
||||
add(L"f30", L"497433 * ?f4 / 840791");
|
||||
add(L"f31", L"343357 * ?f4 / 840791");
|
||||
add(L"f32", L"211672 * ?f5 / 840791");
|
||||
add(L"f33", L"345106 * ?f5 / 840791");
|
||||
add(L"f34", L"135913 * ?f4 / 840791");
|
||||
add(L"f35", L"9794 * ?f4 / 840791");
|
||||
add(L"f36", L"495686 * ?f5 / 840791");
|
||||
add(L"f37", L"629120 * ?f5 / 840791");
|
||||
add(L"f38", L"?f8 / ?f6");
|
||||
add(L"f39", L"?f9 / ?f7");
|
||||
add(L"f40", L"?f10 / ?f6");
|
||||
add(L"f41", L"?f11 / ?f7");
|
||||
add(L"f42", L"?f12 / ?f6");
|
||||
add(L"f43", L"?f13 / ?f7");
|
||||
add(L"f44", L"?f14 / ?f6");
|
||||
add(L"f45", L"?f15 / ?f7");
|
||||
add(L"f46", L"?f16 / ?f7");
|
||||
add(L"f47", L"?f17 / ?f7");
|
||||
add(L"f48", L"?f18 / ?f7");
|
||||
add(L"f49", L"?f19 / ?f7");
|
||||
add(L"f50", L"?f20 / ?f6");
|
||||
add(L"f51", L"?f21 / ?f7");
|
||||
add(L"f52", L"?f22 / ?f6");
|
||||
add(L"f53", L"?f23 / ?f7");
|
||||
add(L"f54", L"?f24 / ?f6");
|
||||
add(L"f55", L"?f25 / ?f6");
|
||||
add(L"f56", L"?f26 / ?f6");
|
||||
add(L"f57", L"?f27 / ?f6");
|
||||
add(L"f58", L"?f28 / ?f6");
|
||||
add(L"f59", L"?f29 / ?f6");
|
||||
add(L"f60", L"?f30 / ?f7");
|
||||
add(L"f61", L"?f31 / ?f7");
|
||||
add(L"f62", L"?f32 / ?f6");
|
||||
add(L"f63", L"?f33 / ?f6");
|
||||
add(L"f64", L"?f34 / ?f7");
|
||||
add(L"f65", L"?f35 / ?f7");
|
||||
add(L"f66", L"?f36 / ?f6");
|
||||
add(L"f67", L"?f37 / ?f6");
|
||||
add(L"f68", L"?f0 / ?f6");
|
||||
add(L"f69", L"?f1 / ?f6");
|
||||
add(L"f70", L"?f2 / ?f7");
|
||||
add(L"f71", L"?f3 / ?f7");
|
||||
/////////////////////////////////////////////////////////
|
||||
}
|
||||
};
|
||||
class oox_shape_Gear9 : public oox_shape
|
||||
{
|
||||
public:
|
||||
oox_shape_Gear9()
|
||||
{
|
||||
odf_type_name =L"ooxml-gear9";
|
||||
|
||||
enhanced_path = L"M 837517 188126 L 929297 111109 1002618 172633 942709 276392 C 985308 324313 1017696 380410 1037897 441262 L 1157709 441259 1174330 535519 1061742 576495 C 1063572 640586 1052324 704378 1028684 763978 L 1120467 840989 1072610 923880 960025 882899 C 920230 933172 870608 974809 814189 1005270 L 834997 1123262 745055 1155998 685151 1052236 C 622351 1065167 557575 1065167 494775 1052236 L 434872 1155998 344930 1123262 365739 1005270 C 309319 974809 259698 933172 219903 882899 L 107317 923880 59460 840989 151243 763978 C 127603 704378 116355 640586 118185 576495 L 5597 535519 22218 441259 142030 441262 C 162231 380410 194619 324312 237218 276392 L 177309 172633 250630 111109 342410 188126 C 397000 154496 457869 132341 521305 123014 L 542106 5021 637821 5021 658623 123013 C 722058 132340 782928 154495 837518 188125 L 837517 188126 Z N";
|
||||
text_areas = L"?f122 ?f124 ?f123 ?f125";
|
||||
glue_points = L"?f65 ?f66 ?f67 ?f68 ?f69 ?f70 ?f71 ?f72 ?f73 ?f74 ?f75 ?f76 ?f77 ?f78 ?f79 ?f80 ?f81 ?f82 ?f83 ?f84 ?f85 ?f86 ?f87 ?f88 ?f89 ?f90 ?f91 ?f92 ?f93 ?f94 ?f95 ?f96 ?f97 ?f96 ?f98 ?f94 ?f99 ?f92 ?f100 ?f90 ?f101 ?f88 ?f102 ?f86 ?f103 ?f84 ?f104 ?f82 ?f105 ?f80 ?f106 ?f78 ?f107 ?f76 ?f108 ?f74 ?f109 ?f72 ?f110 ?f70 ?f111 ?f68 ?f112 ?f66 ?f113 ?f114 ?f115 ?f116 ?f117 ?f116 ?f118 ?f119 ?f120 ?f121 ?f65 ?f66";
|
||||
view_box = L"0 0 1179927 1179927";
|
||||
|
||||
add(L"f0", L"left");
|
||||
add(L"f1", L"right");
|
||||
add(L"f2", L"top");
|
||||
add(L"f3", L"bottom");
|
||||
add(L"f4", L"?f3 - ?f2");
|
||||
add(L"f5", L"?f1 - ?f0");
|
||||
add(L"f6", L"?f5 / 1179927");
|
||||
add(L"f7", L"?f4 / 1179927");
|
||||
add(L"f8", L"837517 * ?f5 / 1179927");
|
||||
add(L"f9", L"188126 * ?f4 / 1179927");
|
||||
add(L"f10", L"929297 * ?f5 / 1179927");
|
||||
add(L"f11", L"111109 * ?f4 / 1179927");
|
||||
add(L"f12", L"1002618 * ?f5 / 1179927");
|
||||
add(L"f13", L"172633 * ?f4 / 1179927");
|
||||
add(L"f14", L"942709 * ?f5 / 1179927");
|
||||
add(L"f15", L"276392 * ?f4 / 1179927");
|
||||
add(L"f16", L"1037897 * ?f5 / 1179927");
|
||||
add(L"f17", L"441262 * ?f4 / 1179927");
|
||||
add(L"f18", L"1157709 * ?f5 / 1179927");
|
||||
add(L"f19", L"441259 * ?f4 / 1179927");
|
||||
add(L"f20", L"1174330 * ?f5 / 1179927");
|
||||
add(L"f21", L"535519 * ?f4 / 1179927");
|
||||
add(L"f22", L"1061742 * ?f5 / 1179927");
|
||||
add(L"f23", L"576495 * ?f4 / 1179927");
|
||||
add(L"f24", L"1028684 * ?f5 / 1179927");
|
||||
add(L"f25", L"763978 * ?f4 / 1179927");
|
||||
add(L"f26", L"1120467 * ?f5 / 1179927");
|
||||
add(L"f27", L"840989 * ?f4 / 1179927");
|
||||
add(L"f28", L"1072610 * ?f5 / 1179927");
|
||||
add(L"f29", L"923880 * ?f4 / 1179927");
|
||||
add(L"f30", L"960025 * ?f5 / 1179927");
|
||||
add(L"f31", L"882899 * ?f4 / 1179927");
|
||||
add(L"f32", L"814189 * ?f5 / 1179927");
|
||||
add(L"f33", L"1005270 * ?f4 / 1179927");
|
||||
add(L"f34", L"834997 * ?f5 / 1179927");
|
||||
add(L"f35", L"1123262 * ?f4 / 1179927");
|
||||
add(L"f36", L"745055 * ?f5 / 1179927");
|
||||
add(L"f37", L"1155998 * ?f4 / 1179927");
|
||||
add(L"f38", L"685151 * ?f5 / 1179927");
|
||||
add(L"f39", L"1052236 * ?f4 / 1179927");
|
||||
add(L"f40", L"494775 * ?f5 / 1179927");
|
||||
add(L"f41", L"434872 * ?f5 / 1179927");
|
||||
add(L"f42", L"344930 * ?f5 / 1179927");
|
||||
add(L"f43", L"365739 * ?f5 / 1179927");
|
||||
add(L"f44", L"219903 * ?f5 / 1179927");
|
||||
add(L"f45", L"107317 * ?f5 / 1179927");
|
||||
add(L"f46", L"59460 * ?f5 / 1179927");
|
||||
add(L"f47", L"151243 * ?f5 / 1179927");
|
||||
add(L"f48", L"118185 * ?f5 / 1179927");
|
||||
add(L"f49", L"5597 * ?f5 / 1179927");
|
||||
add(L"f50", L"22218 * ?f5 / 1179927");
|
||||
add(L"f51", L"142030 * ?f5 / 1179927");
|
||||
add(L"f52", L"237218 * ?f5 / 1179927");
|
||||
add(L"f53", L"177309 * ?f5 / 1179927");
|
||||
add(L"f54", L"250630 * ?f5 / 1179927");
|
||||
add(L"f55", L"342410 * ?f5 / 1179927");
|
||||
add(L"f56", L"521305 * ?f5 / 1179927");
|
||||
add(L"f57", L"123014 * ?f4 / 1179927");
|
||||
add(L"f58", L"542106 * ?f5 / 1179927");
|
||||
add(L"f59", L"5021 * ?f4 / 1179927");
|
||||
add(L"f60", L"637821 * ?f5 / 1179927");
|
||||
add(L"f61", L"658623 * ?f5 / 1179927");
|
||||
add(L"f62", L"123013 * ?f4 / 1179927");
|
||||
add(L"f63", L"837518 * ?f5 / 1179927");
|
||||
add(L"f64", L"188125 * ?f4 / 1179927");
|
||||
add(L"f65", L"?f8 / ?f6");
|
||||
add(L"f66", L"?f9 / ?f7");
|
||||
add(L"f67", L"?f10 / ?f6");
|
||||
add(L"f68", L"?f11 / ?f7");
|
||||
add(L"f69", L"?f12 / ?f6");
|
||||
add(L"f70", L"?f13 / ?f7");
|
||||
add(L"f71", L"?f14 / ?f6");
|
||||
add(L"f72", L"?f15 / ?f7");
|
||||
add(L"f73", L"?f16 / ?f6");
|
||||
add(L"f74", L"?f17 / ?f7");
|
||||
add(L"f75", L"?f18 / ?f6");
|
||||
add(L"f76", L"?f19 / ?f7");
|
||||
add(L"f77", L"?f20 / ?f6");
|
||||
add(L"f78", L"?f21 / ?f7");
|
||||
add(L"f79", L"?f22 / ?f6");
|
||||
add(L"f80", L"?f23 / ?f7");
|
||||
add(L"f81", L"?f24 / ?f6");
|
||||
add(L"f82", L"?f25 / ?f7");
|
||||
add(L"f83", L"?f26 / ?f6");
|
||||
add(L"f84", L"?f27 / ?f7");
|
||||
add(L"f85", L"?f28 / ?f6");
|
||||
add(L"f86", L"?f29 / ?f7");
|
||||
add(L"f87", L"?f30 / ?f6");
|
||||
add(L"f88", L"?f31 / ?f7");
|
||||
add(L"f89", L"?f32 / ?f6");
|
||||
add(L"f90", L"?f33 / ?f7");
|
||||
add(L"f91", L"?f34 / ?f6");
|
||||
add(L"f92", L"?f35 / ?f7");
|
||||
add(L"f93", L"?f36 / ?f6");
|
||||
add(L"f94", L"?f37 / ?f7");
|
||||
add(L"f95", L"?f38 / ?f6");
|
||||
add(L"f96", L"?f39 / ?f7");
|
||||
add(L"f97", L"?f40 / ?f6");
|
||||
add(L"f98", L"?f41 / ?f6");
|
||||
add(L"f99", L"?f42 / ?f6");
|
||||
add(L"f100", L"?f43 / ?f6");
|
||||
add(L"f101", L"?f44 / ?f6");
|
||||
add(L"f102", L"?f45 / ?f6");
|
||||
add(L"f103", L"?f46 / ?f6");
|
||||
add(L"f104", L"?f47 / ?f6");
|
||||
add(L"f105", L"?f48 / ?f6");
|
||||
add(L"f106", L"?f49 / ?f6");
|
||||
add(L"f107", L"?f50 / ?f6");
|
||||
add(L"f108", L"?f51 / ?f6");
|
||||
add(L"f109", L"?f52 / ?f6");
|
||||
add(L"f110", L"?f53 / ?f6");
|
||||
add(L"f111", L"?f54 / ?f6");
|
||||
add(L"f112", L"?f55 / ?f6");
|
||||
add(L"f113", L"?f56 / ?f6");
|
||||
add(L"f114", L"?f57 / ?f7");
|
||||
add(L"f115", L"?f58 / ?f6");
|
||||
add(L"f116", L"?f59 / ?f7");
|
||||
add(L"f117", L"?f60 / ?f6");
|
||||
add(L"f118", L"?f61 / ?f6");
|
||||
add(L"f119", L"?f62 / ?f7");
|
||||
add(L"f120", L"?f63 / ?f6");
|
||||
add(L"f121", L"?f64 / ?f7");
|
||||
add(L"f122", L"?f0 / ?f6");
|
||||
add(L"f123", L"?f1 / ?f6");
|
||||
add(L"f124", L"?f2 / ?f7");
|
||||
add(L"f125", L"?f3 / ?f7");
|
||||
/////////////////////////////////////////////////////////
|
||||
}
|
||||
};
|
||||
class oox_shape_Funnel : public oox_shape
|
||||
{
|
||||
public:
|
||||
oox_shape_Funnel()
|
||||
{
|
||||
odf_type_name =L"ooxml-funnel";
|
||||
|
||||
enhanced_path = L"M ?f50 ?f51 A ?f99 ?f100 ?f101 ?f102 ?f50 ?f51 ?f96 ?f98 W ?f103 ?f104 ?f105 ?f106 ?f50 ?f51 ?f96 ?f98 L ?f65 ?f67 A ?f137 ?f138 ?f139 ?f140 ?f65 ?f67 ?f134 ?f136 W ?f141 ?f142 ?f143 ?f144 ?f65 ?f67 ?f134 ?f136 Z M ?f68 ?f7 A ?f184 ?f185 ?f186 ?f187 ?f68 ?f7 ?f181 ?f183 W ?f188 ?f189 ?f190 ?f191 ?f68 ?f7 ?f181 ?f183 Z N";
|
||||
text_areas = L"?f2 ?f4 ?f3 ?f5";
|
||||
view_box = L"0 0 21600 21600";
|
||||
|
||||
add(L"f0", L"10800000");
|
||||
add(L"f1", L"5400000");
|
||||
add(L"f2", L"left");
|
||||
add(L"f3", L"right");
|
||||
add(L"f4", L"top");
|
||||
add(L"f5", L"bottom");
|
||||
add(L"f6", L"?f5 - ?f4");
|
||||
add(L"f7", L"?f6 / 4");
|
||||
add(L"f8", L"?f3 - ?f2");
|
||||
add(L"f9", L"?f8 / 2");
|
||||
add(L"f10", L"?f2 + ?f9");
|
||||
add(L"f11", L"min(?f8, ?f6)");
|
||||
add(L"f12", L"5419351 / 1725033");
|
||||
add(L"f13", L"?f11 / 20");
|
||||
add(L"f14", L"?f9 - ?f13");
|
||||
add(L"f15", L"?f7 - ?f13");
|
||||
add(L"f16", L"480000 + ?f1");
|
||||
add(L"f17", L"?f16 * ?f12 / ?f0");
|
||||
add(L"f18", L"0 - ?f17");
|
||||
add(L"f19", L"sin(?f18)");
|
||||
add(L"f20", L"0 - ?f19");
|
||||
add(L"f21", L"?f20 * ?f9");
|
||||
add(L"f22", L"cos(?f18)");
|
||||
add(L"f23", L"0 - ?f22");
|
||||
add(L"f24", L"?f23 * ?f7");
|
||||
add(L"f25", L"0 - ?f21");
|
||||
add(L"f26", L"0 - ?f24");
|
||||
add(L"f27", L"atan2(?f25, ?f26)");
|
||||
add(L"f28", L"0 - ?f27");
|
||||
add(L"f29", L"?f28 * ?f0 / ?f12");
|
||||
add(L"f30", L"?f29 - ?f1");
|
||||
add(L"f31", L"?f30 * 2");
|
||||
add(L"f32", L"?f0 - ?f30");
|
||||
add(L"f33", L"?f0 + ?f31");
|
||||
add(L"f34", L"?f0 - ?f31");
|
||||
add(L"f35", L"?f9 / 4");
|
||||
add(L"f36", L"?f7 / 4");
|
||||
add(L"f37", L"?f32 + ?f1");
|
||||
add(L"f38", L"?f37 * ?f12 / ?f0");
|
||||
add(L"f39", L"0 - ?f38");
|
||||
add(L"f40", L"sin(?f39)");
|
||||
add(L"f41", L"0 - ?f40");
|
||||
add(L"f42", L"?f41 * ?f7");
|
||||
add(L"f43", L"cos(?f39)");
|
||||
add(L"f44", L"0 - ?f43");
|
||||
add(L"f45", L"?f44 * ?f9");
|
||||
add(L"f46", L"sqrt(?f42 * ?f42 + ?f45 * ?f45 + 0 * 0)");
|
||||
add(L"f47", L"?f9 * ?f7 / ?f46");
|
||||
add(L"f48", L"?f41 * ?f47");
|
||||
add(L"f49", L"?f44 * ?f47");
|
||||
add(L"f50", L"?f10 + ?f48");
|
||||
add(L"f51", L"?f7 + ?f49");
|
||||
add(L"f52", L"?f30 + ?f1");
|
||||
add(L"f53", L"?f52 * ?f12 / ?f0");
|
||||
add(L"f54", L"0 - ?f53");
|
||||
add(L"f55", L"sin(?f54)");
|
||||
add(L"f56", L"0 - ?f55");
|
||||
add(L"f57", L"?f56 * ?f36");
|
||||
add(L"f58", L"cos(?f54)");
|
||||
add(L"f59", L"0 - ?f58");
|
||||
add(L"f60", L"?f59 * ?f35");
|
||||
add(L"f61", L"sqrt(?f57 * ?f57 + ?f60 * ?f60 + 0 * 0)");
|
||||
add(L"f62", L"?f35 * ?f36 / ?f61");
|
||||
add(L"f63", L"?f56 * ?f62");
|
||||
add(L"f64", L"?f59 * ?f62");
|
||||
add(L"f65", L"?f10 + ?f63");
|
||||
add(L"f66", L"?f5 - ?f36");
|
||||
add(L"f67", L"?f66 + ?f64");
|
||||
add(L"f68", L"?f9 - ?f14");
|
||||
add(L"f69", L"21550000 - ?f33");
|
||||
add(L"f70", L"if(?f69, ?f33, 21550000)");
|
||||
add(L"f71", L"-21550000 - ?f70");
|
||||
add(L"f72", L"if(?f71, -21550000, ?f70)");
|
||||
add(L"f73", L"?f32 + ?f72");
|
||||
add(L"f74", L"sqrt(?f45 * ?f45 + ?f42 * ?f42 + 0 * 0)");
|
||||
add(L"f75", L"?f9 * ?f7 / ?f74");
|
||||
add(L"f76", L"?f41 * ?f75");
|
||||
add(L"f77", L"?f50 - ?f76");
|
||||
add(L"f78", L"?f44 * ?f75");
|
||||
add(L"f79", L"?f51 - ?f78");
|
||||
add(L"f80", L"?f77 - ?f9");
|
||||
add(L"f81", L"?f79 - ?f7");
|
||||
add(L"f82", L"?f77 + ?f9");
|
||||
add(L"f83", L"?f79 + ?f7");
|
||||
add(L"f84", L"?f73 + ?f1");
|
||||
add(L"f85", L"?f84 * ?f12 / ?f0");
|
||||
add(L"f86", L"0 - ?f85");
|
||||
add(L"f87", L"cos(?f86)");
|
||||
add(L"f88", L"0 - ?f87");
|
||||
add(L"f89", L"?f88 * ?f9");
|
||||
add(L"f90", L"sin(?f86)");
|
||||
add(L"f91", L"0 - ?f90");
|
||||
add(L"f92", L"?f91 * ?f7");
|
||||
add(L"f93", L"sqrt(?f89 * ?f89 + ?f92 * ?f92 + 0 * 0)");
|
||||
add(L"f94", L"?f9 * ?f7 / ?f93");
|
||||
add(L"f95", L"?f91 * ?f94");
|
||||
add(L"f96", L"?f77 + ?f95");
|
||||
add(L"f97", L"?f88 * ?f94");
|
||||
add(L"f98", L"?f79 + ?f97");
|
||||
add(L"f99", L"if(?f72, ?f50, ?f80)");
|
||||
add(L"f100", L"if(?f72, ?f51, ?f81)");
|
||||
add(L"f101", L"if(?f72, ?f50, ?f82)");
|
||||
add(L"f102", L"if(?f72, ?f51, ?f83)");
|
||||
add(L"f103", L"if(?f72, ?f80, ?f96)");
|
||||
add(L"f104", L"if(?f72, ?f81, ?f98)");
|
||||
add(L"f105", L"if(?f72, ?f82, ?f96)");
|
||||
add(L"f106", L"if(?f72, ?f83, ?f98)");
|
||||
add(L"f107", L"21550000 - ?f34");
|
||||
add(L"f108", L"if(?f107, ?f34, 21550000)");
|
||||
add(L"f109", L"-21550000 - ?f108");
|
||||
add(L"f110", L"if(?f109, -21550000, ?f108)");
|
||||
add(L"f111", L"?f30 + ?f110");
|
||||
add(L"f112", L"sqrt(?f60 * ?f60 + ?f57 * ?f57 + 0 * 0)");
|
||||
add(L"f113", L"?f35 * ?f36 / ?f112");
|
||||
add(L"f114", L"?f56 * ?f113");
|
||||
add(L"f115", L"?f65 - ?f114");
|
||||
add(L"f116", L"?f59 * ?f113");
|
||||
add(L"f117", L"?f67 - ?f116");
|
||||
add(L"f118", L"?f115 - ?f35");
|
||||
add(L"f119", L"?f117 - ?f36");
|
||||
add(L"f120", L"?f115 + ?f35");
|
||||
add(L"f121", L"?f117 + ?f36");
|
||||
add(L"f122", L"?f111 + ?f1");
|
||||
add(L"f123", L"?f122 * ?f12 / ?f0");
|
||||
add(L"f124", L"0 - ?f123");
|
||||
add(L"f125", L"cos(?f124)");
|
||||
add(L"f126", L"0 - ?f125");
|
||||
add(L"f127", L"?f126 * ?f35");
|
||||
add(L"f128", L"sin(?f124)");
|
||||
add(L"f129", L"0 - ?f128");
|
||||
add(L"f130", L"?f129 * ?f36");
|
||||
add(L"f131", L"sqrt(?f127 * ?f127 + ?f130 * ?f130 + 0 * 0)");
|
||||
add(L"f132", L"?f35 * ?f36 / ?f131");
|
||||
add(L"f133", L"?f129 * ?f132");
|
||||
add(L"f134", L"?f115 + ?f133");
|
||||
add(L"f135", L"?f126 * ?f132");
|
||||
add(L"f136", L"?f117 + ?f135");
|
||||
add(L"f137", L"if(?f110, ?f65, ?f118)");
|
||||
add(L"f138", L"if(?f110, ?f67, ?f119)");
|
||||
add(L"f139", L"if(?f110, ?f65, ?f120)");
|
||||
add(L"f140", L"if(?f110, ?f67, ?f121)");
|
||||
add(L"f141", L"if(?f110, ?f118, ?f134)");
|
||||
add(L"f142", L"if(?f110, ?f119, ?f136)");
|
||||
add(L"f143", L"if(?f110, ?f120, ?f134)");
|
||||
add(L"f144", L"if(?f110, ?f121, ?f136)");
|
||||
add(L"f145", L"21550000 - -21600000");
|
||||
add(L"f146", L"if(?f145, -21600000, 21550000)");
|
||||
add(L"f147", L"-21550000 - ?f146");
|
||||
add(L"f148", L"if(?f147, -21550000, ?f146)");
|
||||
add(L"f149", L"?f0 + ?f148");
|
||||
add(L"f150", L"?f0 + ?f1");
|
||||
add(L"f151", L"?f150 * ?f12 / ?f0");
|
||||
add(L"f152", L"0 - ?f151");
|
||||
add(L"f153", L"cos(?f152)");
|
||||
add(L"f154", L"0 - ?f153");
|
||||
add(L"f155", L"?f154 * ?f14");
|
||||
add(L"f156", L"sin(?f152)");
|
||||
add(L"f157", L"0 - ?f156");
|
||||
add(L"f158", L"?f157 * ?f15");
|
||||
add(L"f159", L"sqrt(?f155 * ?f155 + ?f158 * ?f158 + 0 * 0)");
|
||||
add(L"f160", L"?f14 * ?f15 / ?f159");
|
||||
add(L"f161", L"?f157 * ?f160");
|
||||
add(L"f162", L"?f68 - ?f161");
|
||||
add(L"f163", L"?f154 * ?f160");
|
||||
add(L"f164", L"?f7 - ?f163");
|
||||
add(L"f165", L"?f162 - ?f14");
|
||||
add(L"f166", L"?f164 - ?f15");
|
||||
add(L"f167", L"?f162 + ?f14");
|
||||
add(L"f168", L"?f164 + ?f15");
|
||||
add(L"f169", L"?f149 + ?f1");
|
||||
add(L"f170", L"?f169 * ?f12 / ?f0");
|
||||
add(L"f171", L"0 - ?f170");
|
||||
add(L"f172", L"cos(?f171)");
|
||||
add(L"f173", L"0 - ?f172");
|
||||
add(L"f174", L"?f173 * ?f14");
|
||||
add(L"f175", L"sin(?f171)");
|
||||
add(L"f176", L"0 - ?f175");
|
||||
add(L"f177", L"?f176 * ?f15");
|
||||
add(L"f178", L"sqrt(?f174 * ?f174 + ?f177 * ?f177 + 0 * 0)");
|
||||
add(L"f179", L"?f14 * ?f15 / ?f178");
|
||||
add(L"f180", L"?f176 * ?f179");
|
||||
add(L"f181", L"?f162 + ?f180");
|
||||
add(L"f182", L"?f173 * ?f179");
|
||||
add(L"f183", L"?f164 + ?f182");
|
||||
add(L"f184", L"if(?f148, ?f68, ?f165)");
|
||||
add(L"f185", L"if(?f148, ?f7, ?f166)");
|
||||
add(L"f186", L"if(?f148, ?f68, ?f167)");
|
||||
add(L"f187", L"if(?f148, ?f7, ?f168)");
|
||||
add(L"f188", L"if(?f148, ?f165, ?f181)");
|
||||
add(L"f189", L"if(?f148, ?f166, ?f183)");
|
||||
add(L"f190", L"if(?f148, ?f167, ?f181)");
|
||||
add(L"f191", L"if(?f148, ?f168, ?f183)");
|
||||
/////////////////////////////////////////////////////////
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@ -344,7 +344,7 @@ void odf_chart_context::start_chart(office_element_ptr & root)
|
||||
std::wstring style_name;
|
||||
|
||||
odf_element_state state={chart_elm, style_name, style_elm, level};
|
||||
odf_chart_level_state level_state = {NULL,NULL,NULL,NULL,chart_elm};
|
||||
odf_chart_level_state level_state = {NULL, NULL, NULL, NULL, chart_elm};
|
||||
|
||||
style* style_ = dynamic_cast<style*>(style_elm.get());
|
||||
if (style_)
|
||||
@ -366,18 +366,18 @@ void odf_chart_context::start_chart(office_element_ptr & root)
|
||||
|
||||
impl_->current_chart_state_.elements_.push_back(state);
|
||||
}
|
||||
void odf_chart_context::set_chart_size(double width_pt, double height_pt)
|
||||
void odf_chart_context::set_chart_size(_CP_OPT(double) width_pt, _CP_OPT(double) height_pt)
|
||||
{
|
||||
if (width_pt <0.01 || height_pt < 0.01)return;
|
||||
if (!width_pt && !height_pt) return;
|
||||
|
||||
impl_->current_chart_state_.chart_height_pt = height_pt;
|
||||
impl_->current_chart_state_.chart_width_pt = width_pt;
|
||||
impl_->current_chart_state_.chart_height_pt = *height_pt;
|
||||
impl_->current_chart_state_.chart_width_pt = *width_pt;
|
||||
|
||||
chart_chart *chart = impl_->get_current_chart();
|
||||
if (!chart)return;
|
||||
|
||||
chart->chart_chart_attlist_.common_draw_size_attlist_.svg_width_ = length(length(width_pt,length::pt).get_value_unit(length::cm),length::cm);
|
||||
chart->chart_chart_attlist_.common_draw_size_attlist_.svg_height_ = length(length(height_pt,length::pt).get_value_unit(length::cm),length::cm);
|
||||
chart->chart_chart_attlist_.common_draw_size_attlist_.svg_width_ = length(length(*width_pt,length::pt).get_value_unit(length::cm), length::cm);
|
||||
chart->chart_chart_attlist_.common_draw_size_attlist_.svg_height_ = length(length(*height_pt,length::pt).get_value_unit(length::cm), length::cm);
|
||||
}
|
||||
void odf_chart_context::set_chart_type(std::wstring type)
|
||||
{
|
||||
|
||||
@ -58,19 +58,19 @@ public:
|
||||
odf_drawing_context *drawing_context();
|
||||
odf_text_context *text_context();
|
||||
|
||||
void start_chart(office_element_ptr & root);
|
||||
void set_chart_type(std::wstring type);
|
||||
void set_chart_3D(bool Val);
|
||||
void set_chart_size(double width_pt, double height_pt);
|
||||
void set_chart_colored(bool val);
|
||||
void set_chart_grouping(int type);
|
||||
void set_chart_scatter_type(int type);
|
||||
void set_chart_bar_grouping(int type);
|
||||
void start_chart (office_element_ptr & root);
|
||||
void set_chart_type (std::wstring type);
|
||||
void set_chart_3D (bool Val);
|
||||
void set_chart_size (_CP_OPT(double) width_pt, _CP_OPT(double) height_pt);
|
||||
void set_chart_colored (bool val);
|
||||
void set_chart_grouping (int type);
|
||||
void set_chart_scatter_type (int type);
|
||||
void set_chart_bar_grouping (int type);
|
||||
void set_chart_bar_direction(int type);
|
||||
void set_chart_bar_type(int type);
|
||||
void set_chart_bar_type (int type);
|
||||
void set_chart_bar_gap_width(std::wstring val);
|
||||
void set_chart_bar_overlap(std::wstring val);
|
||||
void set_chart_radar_type(int type);
|
||||
void set_chart_bar_overlap (std::wstring val);
|
||||
void set_chart_radar_type (int type);
|
||||
void set_chart_stock_candle_stick(bool val);
|
||||
|
||||
void set_marker_size(int size);
|
||||
@ -81,26 +81,26 @@ public:
|
||||
|
||||
void start_group_series();
|
||||
void add_axis_group_series(unsigned int id);
|
||||
void start_series(std::wstring type);
|
||||
void set_series_value_formula(std::wstring oox_formula);
|
||||
void set_series_label_formula(std::wstring oox_formula);
|
||||
void set_category_axis_formula(std::wstring oox_formula,int type);
|
||||
void start_data_point_series(int count);
|
||||
void start_series (std::wstring type);
|
||||
void set_series_value_formula (std::wstring oox_formula);
|
||||
void set_series_label_formula (std::wstring oox_formula);
|
||||
void set_category_axis_formula (std::wstring oox_formula,int type);
|
||||
void start_data_point_series (int count);
|
||||
long get_count_data_points_series();
|
||||
|
||||
void set_series_pie_explosion(int val);
|
||||
void end_series();
|
||||
void end_group_series();
|
||||
|
||||
void set_label_name(std::wstring name);
|
||||
void set_label_delete(bool val);
|
||||
void set_label_show_bubble_size(bool val);
|
||||
void set_label_show_cat_name(bool val);
|
||||
void set_label_show_leader_line(bool val);
|
||||
void set_label_show_legend_key(bool val);
|
||||
void set_label_show_percent(bool val);
|
||||
void set_label_show_ser_name(bool val);
|
||||
void set_label_show_values(bool val);
|
||||
void set_label_name (std::wstring name);
|
||||
void set_label_delete (bool val);
|
||||
void set_label_show_bubble_size (bool val);
|
||||
void set_label_show_cat_name (bool val);
|
||||
void set_label_show_leader_line (bool val);
|
||||
void set_label_show_legend_key (bool val);
|
||||
void set_label_show_percent (bool val);
|
||||
void set_label_show_ser_name( bool val);
|
||||
void set_label_show_values (bool val);
|
||||
|
||||
void start_axis();
|
||||
void set_axis_id(unsigned int id);
|
||||
|
||||
@ -177,6 +177,8 @@ struct odf_drawing_state
|
||||
svg_width_ = boost::none;
|
||||
|
||||
name_ = L"";
|
||||
description_ = L"";
|
||||
hidden_ = false;
|
||||
z_order_ = -1;
|
||||
|
||||
rotateAngle = boost::none;
|
||||
@ -201,9 +203,10 @@ struct odf_drawing_state
|
||||
_CP_OPT(length) svg_height_;
|
||||
_CP_OPT(length) svg_width_;
|
||||
|
||||
|
||||
std::wstring name_;
|
||||
int z_order_;
|
||||
std::wstring name_;
|
||||
std::wstring description_;
|
||||
int z_order_;
|
||||
bool hidden_;
|
||||
|
||||
_CP_OPT(double) rotateAngle;
|
||||
|
||||
@ -342,10 +345,12 @@ void odf_drawing_context::start_group()
|
||||
if (group== NULL)return;
|
||||
|
||||
//если группа топовая - то данные если не записать - сотруться
|
||||
if (impl_->current_drawing_state_.name_.length() > 0)
|
||||
if (!impl_->current_drawing_state_.name_.empty())
|
||||
group->common_draw_attlists_.shape_with_text_and_styles_.common_draw_shape_with_styles_attlist_.common_draw_name_attlist_.draw_name_ = impl_->current_drawing_state_.name_;
|
||||
if (impl_->current_drawing_state_.z_order_ >= 0)
|
||||
group->common_draw_attlists_.shape_with_text_and_styles_.common_draw_shape_with_styles_attlist_.common_draw_z_index_attlist_.draw_z_index_ = impl_->current_drawing_state_.z_order_;
|
||||
if (!impl_->current_drawing_state_.name_.empty())
|
||||
group->common_draw_attlists_.shape_with_text_and_styles_.common_draw_shape_with_styles_attlist_.common_draw_name_attlist_.draw_name_ = impl_->current_drawing_state_.name_;
|
||||
|
||||
impl_->current_drawing_state_.name_ = L"";
|
||||
impl_->current_drawing_state_.z_order_ = -1;
|
||||
@ -956,9 +961,9 @@ void odf_drawing_context::end_frame()
|
||||
/////////////////////
|
||||
void odf_drawing_context::start_element(office_element_ptr & elm, office_element_ptr style_elm)
|
||||
{
|
||||
int level = impl_->current_level_.size();
|
||||
int level = (int)impl_->current_level_.size();
|
||||
|
||||
if (impl_->current_level_.size()>0)
|
||||
if (impl_->current_level_.size() > 0)
|
||||
impl_->current_level_.back()->add_child_element(elm);
|
||||
|
||||
std::wstring style_name;
|
||||
@ -968,13 +973,13 @@ void odf_drawing_context::start_element(office_element_ptr & elm, office_element
|
||||
style_name = style_->style_name_;
|
||||
impl_->current_graphic_properties = style_->style_content_.get_style_graphic_properties();
|
||||
|
||||
if (impl_->current_drawing_state_.name_.length() < 1)
|
||||
if (impl_->current_drawing_state_.name_.empty())
|
||||
{
|
||||
impl_->current_drawing_state_.name_ = std::wstring(L"Object_") + style_name;
|
||||
}
|
||||
}
|
||||
|
||||
odf_element_state state={elm, style_name, style_elm, level};
|
||||
odf_element_state state = {elm, style_name, style_elm, level};
|
||||
impl_->current_drawing_state_.elements_.push_back(state);
|
||||
|
||||
impl_->current_level_.push_back(elm);
|
||||
@ -1009,10 +1014,18 @@ void odf_drawing_context::end_line_properties()
|
||||
// impl_->current_drawing_part_ = Unknown;
|
||||
//}
|
||||
////////////////////////////////////////////////////////////////////
|
||||
void odf_drawing_context::set_name(std::wstring name)
|
||||
void odf_drawing_context::set_name(const std::wstring & name)
|
||||
{
|
||||
impl_->current_drawing_state_.name_ = name;
|
||||
}
|
||||
void odf_drawing_context::set_description (const std::wstring & description)
|
||||
{
|
||||
impl_->current_drawing_state_.description_ = description;
|
||||
}
|
||||
void odf_drawing_context::set_hidden (bool bVal)
|
||||
{
|
||||
impl_->current_drawing_state_.hidden_ = bVal;
|
||||
}
|
||||
void odf_drawing_context::set_opacity(double percent_)
|
||||
{
|
||||
if (!impl_->current_graphic_properties)return;
|
||||
@ -1125,7 +1138,7 @@ void odf_drawing_context::set_path(std::wstring path_string)
|
||||
//boost::replace_all(path_string, L",", L"0"); // нужен разбор
|
||||
//impl_->current_drawing_state_.path_ = path_string;
|
||||
}
|
||||
void odf_drawing_context::add_path_element(std::wstring command, std::wstring & strE)
|
||||
void odf_drawing_context::add_path_element(std::wstring command, const std::wstring & strE)
|
||||
{
|
||||
if (command != impl_->current_drawing_state_.path_last_command_)
|
||||
{
|
||||
@ -1500,7 +1513,19 @@ void odf_drawing_context::set_position_line(_CP_OPT(double) & x_pt, _CP_OPT(doub
|
||||
if (y2_pt && !line->draw_line_attlist_.svg_y2_) line->draw_line_attlist_.svg_y2_ = length(length(*y2_pt,length::pt).get_value_unit(length::cm),length::cm);
|
||||
|
||||
}
|
||||
|
||||
void odf_drawing_context::get_position(_CP_OPT(double) & x_pt, _CP_OPT(double) & y_pt)
|
||||
{
|
||||
if (impl_->current_drawing_state_.svg_x_ && impl_->current_drawing_state_.svg_y_)
|
||||
{
|
||||
x_pt = impl_->current_drawing_state_.svg_x_->get_value_unit(length::pt);
|
||||
y_pt = impl_->current_drawing_state_.svg_y_->get_value_unit(length::pt);
|
||||
}
|
||||
else if (impl_->anchor_settings_.svg_x_ && impl_->anchor_settings_.svg_y_)
|
||||
{
|
||||
x_pt = impl_->anchor_settings_.svg_x_->get_value_unit(length::pt);
|
||||
y_pt = impl_->anchor_settings_.svg_y_->get_value_unit(length::pt);
|
||||
}
|
||||
}
|
||||
void odf_drawing_context::set_position(_CP_OPT(double) & x_pt, _CP_OPT(double) & y_pt)
|
||||
{
|
||||
if (x_pt)
|
||||
@ -1516,7 +1541,7 @@ void odf_drawing_context::set_position(_CP_OPT(double) & x_pt, _CP_OPT(double) &
|
||||
}
|
||||
if (!impl_->current_drawing_state_.svg_x_ || impl_->current_drawing_state_.in_group)
|
||||
{
|
||||
impl_->current_drawing_state_.svg_x_ = length(length(x , length::pt).get_value_unit(length::cm),length::cm);
|
||||
impl_->current_drawing_state_.svg_x_ = length(length(x , length::pt).get_value_unit(length::cm), length::cm);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1538,7 +1563,7 @@ void odf_drawing_context::set_position(_CP_OPT(double) & x_pt, _CP_OPT(double) &
|
||||
}
|
||||
}
|
||||
}
|
||||
void odf_drawing_context::get_size( double & width_pt, double & height_pt)
|
||||
void odf_drawing_context::get_size( _CP_OPT(double) & width_pt, _CP_OPT(double) & height_pt)
|
||||
{
|
||||
if (impl_->current_drawing_state_.svg_width_ && impl_->current_drawing_state_.svg_height_)
|
||||
{
|
||||
@ -1550,7 +1575,6 @@ void odf_drawing_context::get_size( double & width_pt, double & height_pt)
|
||||
width_pt = impl_->anchor_settings_.svg_width_->get_value_unit(length::pt);
|
||||
height_pt = impl_->anchor_settings_.svg_height_->get_value_unit(length::pt);
|
||||
}
|
||||
|
||||
}
|
||||
void odf_drawing_context::set_size( _CP_OPT(double) & width_pt, _CP_OPT(double) & height_pt)
|
||||
{
|
||||
@ -1840,14 +1864,14 @@ void odf_drawing_context::set_textarea_writing_mode(int mode)
|
||||
|
||||
}
|
||||
|
||||
void odf_drawing_context::set_textarea_padding(double left,double top, double right,double bottom)//in cm
|
||||
void odf_drawing_context::set_textarea_padding(_CP_OPT(double) & left, _CP_OPT(double) & top, _CP_OPT(double) & right, _CP_OPT(double) & bottom)//in cm
|
||||
{
|
||||
if (!impl_->current_graphic_properties)return;
|
||||
|
||||
impl_->current_graphic_properties->content().common_padding_attlist_.fo_padding_left_ = length(left, length::cm);
|
||||
impl_->current_graphic_properties->content().common_padding_attlist_.fo_padding_top_ = length(top, length::cm);
|
||||
impl_->current_graphic_properties->content().common_padding_attlist_.fo_padding_right_ = length(right, length::cm);
|
||||
impl_->current_graphic_properties->content().common_padding_attlist_.fo_padding_bottom_ = length(bottom,length::cm);
|
||||
if (left) impl_->current_graphic_properties->content().common_padding_attlist_.fo_padding_left_ = length(*left, length::cm);
|
||||
if (top) impl_->current_graphic_properties->content().common_padding_attlist_.fo_padding_top_ = length(*top, length::cm);
|
||||
if (right) impl_->current_graphic_properties->content().common_padding_attlist_.fo_padding_right_ = length(*right,length::cm);
|
||||
if (bottom) impl_->current_graphic_properties->content().common_padding_attlist_.fo_padding_bottom_ = length(*bottom,length::cm);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -142,7 +142,7 @@ public:
|
||||
bool is_exist_content();
|
||||
//////////////////////////////////////////////////////////////////////////////////////
|
||||
void set_path (std::wstring path_string);
|
||||
void add_path_element (std::wstring command, std::wstring & elm);
|
||||
void add_path_element (std::wstring command, const std::wstring & elm);
|
||||
void add_modifier (std::wstring modifier);
|
||||
|
||||
void set_viewBox (double W, double H);
|
||||
@ -151,14 +151,17 @@ public:
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void set_size ( _CP_OPT(double) & width_pt, _CP_OPT(double) & height_pt);
|
||||
|
||||
void get_position (_CP_OPT(double) & x_pt, _CP_OPT(double) & y_pt);
|
||||
void set_position (_CP_OPT(double) & x_pt, _CP_OPT(double) & y_pt);
|
||||
void set_position_line (_CP_OPT(double) & x_pt, _CP_OPT(double) & y_pt, _CP_OPT(double) & x1_pt, _CP_OPT(double) & y1_pt);
|
||||
|
||||
void get_size ( double & width_pt, double & height_pt);
|
||||
void get_size ( _CP_OPT(double) & width_pt, _CP_OPT(double) & height_pt);
|
||||
void set_size ( _CP_OPT(double) & width_pt, _CP_OPT(double) & height_pt);
|
||||
|
||||
void set_name (std::wstring name);
|
||||
void set_name (const std::wstring & name);
|
||||
void set_description (const std::wstring & descr);
|
||||
void set_hidden (bool bVal);
|
||||
void set_z_order (int id);
|
||||
|
||||
void set_flip_H (bool bVal);
|
||||
@ -191,7 +194,7 @@ public:
|
||||
|
||||
void set_text (odf_text_context* text_context);
|
||||
void set_textarea_vertical_align(int align);
|
||||
void set_textarea_padding (double left,double top,double right,double bottom);//in cm
|
||||
void set_textarea_padding (_CP_OPT(double) & left, _CP_OPT(double) & top, _CP_OPT(double) & right, _CP_OPT(double) & bottom);//in cm
|
||||
void set_textarea_writing_mode (int mode);
|
||||
void set_textarea_wrap (bool val);
|
||||
void set_textarea_fontcolor (std::wstring hexColor);
|
||||
|
||||
@ -147,7 +147,7 @@ void ods_conversion_context::set_sheet_dimension(const std::wstring & ref)
|
||||
boost::algorithm::split(ref_cells, ref, boost::algorithm::is_any_of(L":"), boost::algorithm::token_compress_on);
|
||||
|
||||
int max_col = 0, max_row = 0;
|
||||
for (long i = 0; i < ref_cells.size(); i++)
|
||||
for (size_t i = 0; i < ref_cells.size(); i++)
|
||||
{
|
||||
int col = -1, row = -1;
|
||||
utils::parsing_ref (ref_cells[i], col, row);
|
||||
|
||||
@ -94,7 +94,7 @@ namespace utils {
|
||||
bool f = true;
|
||||
int res = 0;
|
||||
|
||||
for (int i = a.length() - 1; i >= 0; i--)
|
||||
for (int i = (int)a.length() - 1; i >= 0; i--)
|
||||
{
|
||||
size_t v = a[i] - L'A';
|
||||
if (f)
|
||||
@ -108,10 +108,9 @@ namespace utils {
|
||||
}
|
||||
static int getRowAdderssInv(const std::wstring & a_)
|
||||
{
|
||||
int sz = a_.length();
|
||||
if (a_.length()>0)
|
||||
if (!a_.empty())
|
||||
{
|
||||
return boost::lexical_cast<int>(a_)-1;
|
||||
return boost::lexical_cast<int>(a_.length())-1;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
@ -124,7 +123,7 @@ namespace utils {
|
||||
XmlUtils::replace_all( a, L"$", L"");
|
||||
XmlUtils::GetUpper(a);
|
||||
|
||||
for (int i = 0; i < a.length(); i++)
|
||||
for (size_t i = 0; i < a.length(); i++)
|
||||
{
|
||||
if (a[i] >= L'0' && a[i] <= L'9')
|
||||
row += a[i];
|
||||
@ -136,12 +135,12 @@ namespace utils {
|
||||
}
|
||||
static void parsing_ref (std::wstring ref, int & col,int & row)
|
||||
{
|
||||
int pos = ref.rfind(L"!");//oox table name
|
||||
int pos = (int)ref.rfind(L"!");//oox table name
|
||||
if (pos >= 0)
|
||||
ref = ref.substr(pos + 1);
|
||||
else
|
||||
{
|
||||
pos = ref.rfind(L".");//odf table name
|
||||
pos = (int)ref.rfind(L".");//odf table name
|
||||
if (pos >= 0)
|
||||
ref = ref.substr(pos + 1);
|
||||
}
|
||||
@ -241,7 +240,7 @@ public:
|
||||
void start_group(office_element_ptr & elm);
|
||||
void end_group();
|
||||
|
||||
int current_level() {return current_level_.size()-1;}
|
||||
int current_level() {return (int)current_level_.size()-1;}
|
||||
|
||||
void start_headers(office_element_ptr & elm);
|
||||
void end_headers();
|
||||
|
||||
@ -54,26 +54,31 @@ oox_shape_ptr oox_shape::create(int ooxPrstGeomType)
|
||||
{
|
||||
switch (ooxPrstGeomType)
|
||||
{
|
||||
case SimpleTypes::shapetypeMathMultiply: return boost::make_shared<oox_shape_mathMultiply>();
|
||||
case SimpleTypes::shapetypeSun: return boost::make_shared<oox_shape_sun>();
|
||||
case SimpleTypes::shapetypeRound1Rect: return boost::make_shared<oox_shape_round1Rect>();
|
||||
case SimpleTypes::shapetypeRound2DiagRect: return boost::make_shared<oox_shape_round2DiagRect>();
|
||||
case SimpleTypes::shapetypeRound2SameRect: return boost::make_shared<oox_shape_round2SameRect>();
|
||||
case SimpleTypes::shapetypeSnip1Rect: return boost::make_shared<oox_shape_snip1Rect>();
|
||||
case SimpleTypes::shapetypeSnip2DiagRect: return boost::make_shared<oox_shape_snip2DiagRect>();
|
||||
case SimpleTypes::shapetypeSnip2SameRect: return boost::make_shared<oox_shape_snip2SameRect>();
|
||||
case SimpleTypes::shapetypeSnipRoundRect: return boost::make_shared<oox_shape_snipRoundRect>();
|
||||
case SimpleTypes::shapetypeStar6: return boost::make_shared<oox_shape_star6>();
|
||||
case SimpleTypes::shapetypeStar7: return boost::make_shared<oox_shape_star7>();
|
||||
case SimpleTypes::shapetypeStar10: return boost::make_shared<oox_shape_star10>();
|
||||
case SimpleTypes::shapetypeStar12: return boost::make_shared<oox_shape_star12>();
|
||||
case SimpleTypes::shapetypeStar16: return boost::make_shared<oox_shape_star16>();
|
||||
case SimpleTypes::shapetypeStar32: return boost::make_shared<oox_shape_star32>();
|
||||
case SimpleTypes::shapetypeCurvedLeftArrow: return boost::make_shared<oox_shape_curvedLeftArrow>();
|
||||
case SimpleTypes::shapetypeCurvedDownArrow: return boost::make_shared<oox_shape_curvedDownArrow>();
|
||||
case SimpleTypes::shapetypeMathMultiply: return boost::make_shared<oox_shape_mathMultiply>();
|
||||
case SimpleTypes::shapetypeSun: return boost::make_shared<oox_shape_sun>();
|
||||
case SimpleTypes::shapetypeRound1Rect: return boost::make_shared<oox_shape_round1Rect>();
|
||||
case SimpleTypes::shapetypeRound2DiagRect: return boost::make_shared<oox_shape_round2DiagRect>();
|
||||
case SimpleTypes::shapetypeRound2SameRect: return boost::make_shared<oox_shape_round2SameRect>();
|
||||
case SimpleTypes::shapetypeSnip1Rect: return boost::make_shared<oox_shape_snip1Rect>();
|
||||
case SimpleTypes::shapetypeSnip2DiagRect: return boost::make_shared<oox_shape_snip2DiagRect>();
|
||||
case SimpleTypes::shapetypeSnip2SameRect: return boost::make_shared<oox_shape_snip2SameRect>();
|
||||
case SimpleTypes::shapetypeSnipRoundRect: return boost::make_shared<oox_shape_snipRoundRect>();
|
||||
case SimpleTypes::shapetypeStar6: return boost::make_shared<oox_shape_star6>();
|
||||
case SimpleTypes::shapetypeStar7: return boost::make_shared<oox_shape_star7>();
|
||||
case SimpleTypes::shapetypeStar10: return boost::make_shared<oox_shape_star10>();
|
||||
case SimpleTypes::shapetypeStar12: return boost::make_shared<oox_shape_star12>();
|
||||
case SimpleTypes::shapetypeStar16: return boost::make_shared<oox_shape_star16>();
|
||||
case SimpleTypes::shapetypeStar32: return boost::make_shared<oox_shape_star32>();
|
||||
case SimpleTypes::shapetypeFunnel: return boost::make_shared<oox_shape_Funnel>();
|
||||
case SimpleTypes::shapetypeGear6: return boost::make_shared<oox_shape_Gear6>();
|
||||
case SimpleTypes::shapetypeGear9: return boost::make_shared<oox_shape_Gear9>();
|
||||
case SimpleTypes::shapetypeCircularArrow: return boost::make_shared<oox_shape_CircularArrow>();
|
||||
case SimpleTypes::shapetypeCurvedLeftArrow: return boost::make_shared<oox_shape_curvedLeftArrow>();
|
||||
case SimpleTypes::shapetypeCurvedDownArrow: return boost::make_shared<oox_shape_curvedDownArrow>();
|
||||
case SimpleTypes::shapetypeLeftCircularArrow: return boost::make_shared<oox_shape_LeftCircularArrow>();
|
||||
|
||||
case SimpleTypes::shapetypePlaque: return boost::make_shared<oox_shape_Plaque>();
|
||||
case SimpleTypes::shapetypeDoubleWave: return boost::make_shared<oox_shape_DoubleWave>();
|
||||
case SimpleTypes::shapetypePlaque: return boost::make_shared<oox_shape_Plaque>();
|
||||
case SimpleTypes::shapetypeDoubleWave: return boost::make_shared<oox_shape_DoubleWave>();
|
||||
|
||||
|
||||
//case (2001 + SimpleTypes::textshapetypeTextArchDown):
|
||||
|
||||
@ -36,10 +36,19 @@
|
||||
#include "../../../Common/DocxFormat/Source/Common/SimpleTypes_Drawing.h"
|
||||
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Shape.h"
|
||||
#include "../OdfFormat/odf_conversion_context.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Colors/SrgbClr.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Colors/PrstClr.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Colors/SchemeClr.h"
|
||||
|
||||
#include "../../../Common/DocxFormat/Source/Common/SimpleTypes_Word.h"
|
||||
|
||||
#include "../OdfFormat/odf_conversion_context.h"
|
||||
#include "../OdfFormat/odf_text_context.h"
|
||||
#include "../OdfFormat/odf_drawing_context.h"
|
||||
#include "../OdfFormat/style_text_properties.h"
|
||||
#include "../OdfFormat/style_paragraph_properties.h"
|
||||
|
||||
#define ARGB(a, r, g, b) ((unsigned int)( ( (unsigned char)(a) )| ( ( (unsigned char)(r) ) << 8 ) | ( ( (unsigned char)(g) ) << 16 ) | ( (unsigned char)(b) << 24 ) ) )
|
||||
|
||||
using namespace cpdoccore;
|
||||
|
||||
@ -53,16 +62,10 @@ void OoxConverter::convert(PPTX::Logic::SpTree *oox_shape_tree)
|
||||
{
|
||||
if (oox_shape_tree == NULL) return;
|
||||
|
||||
odf_context()->drawing_context()->start_group();
|
||||
|
||||
cpdoccore::_CP_OPT(double) x, y , ch_x , ch_y ;
|
||||
odf_context()->drawing_context()->set_group_position(x, y, ch_x, ch_y);
|
||||
|
||||
for (long i=0 ;i < oox_shape_tree->SpTreeElems.size(); i++)
|
||||
for (size_t i = 0; i < oox_shape_tree->SpTreeElems.size(); i++)
|
||||
{
|
||||
convert(oox_shape_tree->SpTreeElems[i].GetElem().operator->());
|
||||
}
|
||||
odf_context()->drawing_context()->end_group();
|
||||
}
|
||||
|
||||
void OoxConverter::convert(PPTX::Logic::Shape *oox_shape)
|
||||
@ -103,7 +106,7 @@ void OoxConverter::convert(PPTX::Logic::Shape *oox_shape)
|
||||
{
|
||||
odf_context()->start_text_context();
|
||||
|
||||
for (long i=0 ; i < oox_shape->txBody->Paragrs.size();i++)
|
||||
for (size_t i = 0; i < oox_shape->txBody->Paragrs.size();i++)
|
||||
{
|
||||
convert(&oox_shape->txBody->Paragrs[i]);
|
||||
}
|
||||
@ -129,7 +132,6 @@ void OoxConverter::convert(PPTX::Logic::SpPr *oox_spPr, PPTX::Logic::ShapeStyle*
|
||||
{
|
||||
if (oox_spPr == NULL) return;
|
||||
|
||||
bool use_fill_from_style = false;
|
||||
bool use_line_from_style = false;
|
||||
|
||||
if (oox_spPr->xfrm.IsInit()) //CTransform2D
|
||||
@ -162,23 +164,7 @@ void OoxConverter::convert(PPTX::Logic::SpPr *oox_spPr, PPTX::Logic::ShapeStyle*
|
||||
|
||||
odf_context()->drawing_context()->start_area_properties();
|
||||
{
|
||||
PPTX::Logic::NoFill* noFill = &oox_spPr->Fill.as<PPTX::Logic::NoFill>();
|
||||
PPTX::Logic::BlipFill* blipFill = &oox_spPr->Fill.as<PPTX::Logic::BlipFill>();
|
||||
PPTX::Logic::GradFill* gradFill = &oox_spPr->Fill.as<PPTX::Logic::GradFill>();
|
||||
PPTX::Logic::SolidFill* solidFill = &oox_spPr->Fill.as<PPTX::Logic::SolidFill>();
|
||||
PPTX::Logic::PattFill* pattFill = &oox_spPr->Fill.as<PPTX::Logic::PattFill>();
|
||||
|
||||
if (solidFill) convert(solidFill);
|
||||
else if (blipFill) convert(blipFill);
|
||||
else if (gradFill) convert(gradFill);
|
||||
else if (pattFill) convert(pattFill);
|
||||
else if (noFill) odf_context()->drawing_context()->set_no_fill();
|
||||
else use_fill_from_style = true;
|
||||
|
||||
if ( use_fill_from_style && oox_sp_style )
|
||||
{
|
||||
convert(&oox_sp_style->fillRef);
|
||||
}
|
||||
convert(&oox_spPr->Fill, oox_sp_style);
|
||||
}
|
||||
odf_context()->drawing_context()->end_area_properties();
|
||||
|
||||
@ -207,6 +193,32 @@ void OoxConverter::convert(PPTX::Logic::SpPr *oox_spPr, PPTX::Logic::ShapeStyle*
|
||||
//nullable<OOX::Drawing::CShape3D> Sp3D;
|
||||
//-----------------------------------------------------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
void OoxConverter::convert(PPTX::Logic::UniFill *oox_fill, PPTX::Logic::ShapeStyle* oox_sp_style)
|
||||
{
|
||||
if (oox_fill == NULL) return;
|
||||
|
||||
bool use_fill_from_style = false;
|
||||
|
||||
PPTX::Logic::NoFill* noFill = &oox_fill->as<PPTX::Logic::NoFill>();
|
||||
PPTX::Logic::BlipFill* blipFill = &oox_fill->as<PPTX::Logic::BlipFill>();
|
||||
PPTX::Logic::GradFill* gradFill = &oox_fill->as<PPTX::Logic::GradFill>();
|
||||
PPTX::Logic::SolidFill* solidFill = &oox_fill->as<PPTX::Logic::SolidFill>();
|
||||
PPTX::Logic::PattFill* pattFill = &oox_fill->as<PPTX::Logic::PattFill>();
|
||||
|
||||
if (solidFill) convert(solidFill);
|
||||
else if (blipFill) convert(blipFill);
|
||||
else if (gradFill) convert(gradFill);
|
||||
else if (pattFill) convert(pattFill);
|
||||
else if (noFill) odf_context()->drawing_context()->set_no_fill();
|
||||
else use_fill_from_style = true;
|
||||
|
||||
if ( use_fill_from_style && oox_sp_style )
|
||||
{
|
||||
convert(&oox_sp_style->fillRef);
|
||||
}
|
||||
}
|
||||
|
||||
int OoxConverter::convert(PPTX::Logic::PrstTxWarp *oox_text_preset)
|
||||
{
|
||||
if (oox_text_preset == NULL) return -1;
|
||||
@ -214,4 +226,619 @@ int OoxConverter::convert(PPTX::Logic::PrstTxWarp *oox_text_preset)
|
||||
|
||||
return 2001 + oox_text_preset->prst.GetBYTECode();
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::PrstGeom *oox_geom)
|
||||
{
|
||||
if (!oox_geom) return;
|
||||
|
||||
for (size_t i = 0; i < oox_geom->avLst.size(); i++)
|
||||
{
|
||||
if (oox_geom->avLst[i].fmla.IsInit())
|
||||
odf_context()->drawing_context()->add_modifier(oox_geom->avLst[i].fmla.get());
|
||||
}
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::CustGeom *oox_cust_geom)
|
||||
{
|
||||
if (!oox_cust_geom) return;
|
||||
|
||||
for (size_t i = 0; i < oox_cust_geom->pathLst.size(); i++)
|
||||
{
|
||||
convert(&oox_cust_geom->pathLst[i]);
|
||||
}
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::Path2D *oox_geom_path)
|
||||
{
|
||||
if (!oox_geom_path) return;
|
||||
|
||||
odf_context()->drawing_context()->set_viewBox(oox_geom_path->w.get_value_or(0), oox_geom_path->h.get_value_or(0));
|
||||
|
||||
for (size_t i = 0 ; i < oox_geom_path->Paths.size(); i++)
|
||||
{
|
||||
PPTX::Logic::PathBase* pathBase = &oox_geom_path->Paths[i].Path2D.as<PPTX::Logic::PathBase>();
|
||||
convert(pathBase);
|
||||
}
|
||||
|
||||
odf_context()->drawing_context()->add_path_element(std::wstring(L"N"), L"");
|
||||
}
|
||||
|
||||
void OoxConverter::convert(PPTX::Logic::PathBase *oox_path)
|
||||
{
|
||||
if (!oox_path) return;
|
||||
|
||||
PPTX::Logic::MoveTo* moveTo = static_cast<PPTX::Logic::MoveTo*> (oox_path);
|
||||
PPTX::Logic::LineTo* lineTo = static_cast<PPTX::Logic::LineTo*> (oox_path);
|
||||
PPTX::Logic::CubicBezTo* cubicBezTo = static_cast<PPTX::Logic::CubicBezTo*> (oox_path);
|
||||
PPTX::Logic::Close* close = static_cast<PPTX::Logic::Close*> (oox_path);
|
||||
PPTX::Logic::ArcTo* arcTo = static_cast<PPTX::Logic::ArcTo*> (oox_path);
|
||||
PPTX::Logic::QuadBezTo* quadBezTo = static_cast<PPTX::Logic::QuadBezTo*> (oox_path);
|
||||
|
||||
if (moveTo)
|
||||
{
|
||||
std::wstring path_elm = moveTo->x + L" " + moveTo->y;
|
||||
odf_context()->drawing_context()->add_path_element(std::wstring(L"M"), path_elm);
|
||||
}
|
||||
if (lineTo)
|
||||
{
|
||||
std::wstring path_elm = lineTo->x + L" " + lineTo->y;
|
||||
odf_context()->drawing_context()->add_path_element(std::wstring(L"L"), path_elm);
|
||||
}
|
||||
if (cubicBezTo)
|
||||
{
|
||||
std::wstring path_elm = cubicBezTo->x1 + L" " + cubicBezTo->y1 + L" " +
|
||||
cubicBezTo->x2 + L" " + cubicBezTo->y2 + L" " +
|
||||
cubicBezTo->x3 + L" " + cubicBezTo->y3;
|
||||
odf_context()->drawing_context()->add_path_element(std::wstring(L"C"), path_elm);
|
||||
}
|
||||
if (quadBezTo)
|
||||
{
|
||||
std::wstring path_elm = quadBezTo->x1 + L" " + quadBezTo->y1 + L" " +
|
||||
quadBezTo->x2 + L" " + quadBezTo->y2;
|
||||
odf_context()->drawing_context()->add_path_element(std::wstring(L"S"), path_elm);
|
||||
}
|
||||
if (arcTo)
|
||||
{
|
||||
}
|
||||
if (close)
|
||||
{
|
||||
std::wstring path_elm ;
|
||||
odf_context()->drawing_context()->add_path_element(std::wstring(L"Z"), path_elm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void OoxConverter::convert(PPTX::Logic::BlipFill *oox_fill)
|
||||
{
|
||||
if (!oox_fill) return;
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::GradFill *oox_grad_fill)
|
||||
{
|
||||
if (!oox_grad_fill) return;
|
||||
|
||||
odf_context()->drawing_context()->start_gradient_style();
|
||||
{
|
||||
odf_types::gradient_style::type grad_style = odf_types::gradient_style::linear;
|
||||
|
||||
if ( (oox_grad_fill->lin.IsInit()) && (oox_grad_fill->lin->ang.IsInit()))
|
||||
{
|
||||
odf_context()->drawing_context()->set_gradient_angle(oox_grad_fill->lin->ang.get()/60000.);
|
||||
}
|
||||
if ( (oox_grad_fill->path.IsInit()) && (oox_grad_fill->path->path.IsInit()))
|
||||
{
|
||||
grad_style = odf_types::gradient_style::linear;
|
||||
switch(oox_grad_fill->path->path->GetBYTECode())
|
||||
{
|
||||
case SimpleTypes::pathshadetypeCircle: grad_style = odf_types::gradient_style::radial; break;
|
||||
case SimpleTypes::pathshadetypeRect: grad_style = odf_types::gradient_style::rectangular; break;
|
||||
case SimpleTypes::pathshadetypeShape: grad_style = odf_types::gradient_style::square; break;
|
||||
}
|
||||
if (oox_grad_fill->path->rect.IsInit())
|
||||
{
|
||||
odf_context()->drawing_context()->set_gradient_rect( XmlUtils::GetInteger(oox_grad_fill->path->rect->l.get_value_or(L"")),
|
||||
XmlUtils::GetInteger(oox_grad_fill->path->rect->t.get_value_or(L"")),
|
||||
XmlUtils::GetInteger(oox_grad_fill->path->rect->r.get_value_or(L"")),
|
||||
XmlUtils::GetInteger(oox_grad_fill->path->rect->b.get_value_or(L"")));
|
||||
}
|
||||
}
|
||||
odf_context()->drawing_context()->set_gradient_type(grad_style);
|
||||
|
||||
if (oox_grad_fill->GsLst.size() > 1)
|
||||
{
|
||||
std::wstring hexColorStart, hexColorEnd;
|
||||
_CP_OPT(double) opacityStart, opacityEnd;
|
||||
|
||||
convert(&oox_grad_fill->GsLst[0].color,hexColorEnd, opacityEnd);
|
||||
convert(&oox_grad_fill->GsLst[oox_grad_fill->GsLst.size()-1].color,hexColorStart, opacityStart);
|
||||
|
||||
odf_context()->drawing_context()->set_gradient_start(hexColorStart, opacityStart);
|
||||
odf_context()->drawing_context()->set_gradient_end (hexColorEnd, opacityEnd);
|
||||
|
||||
if (opacityStart || opacityEnd)
|
||||
{
|
||||
if (!opacityStart) opacityStart = 100;
|
||||
if (!opacityEnd) opacityEnd = 100;
|
||||
|
||||
if (*opacityStart == *opacityEnd)
|
||||
{
|
||||
odf_context()->drawing_context()->set_opacity(*opacityStart);
|
||||
}
|
||||
else
|
||||
{
|
||||
odf_context()->drawing_context()->start_opacity_style();
|
||||
odf_context()->drawing_context()->set_opacity_type (grad_style);
|
||||
odf_context()->drawing_context()->set_opacity_start (*opacityStart);
|
||||
odf_context()->drawing_context()->set_opacity_end (*opacityEnd);
|
||||
|
||||
if (grad_style == odf_types::gradient_style::linear)
|
||||
{
|
||||
odf_context()->drawing_context()->set_opacity_angle(oox_grad_fill->lin->ang.get()/60000.);
|
||||
}
|
||||
else
|
||||
{
|
||||
odf_context()->drawing_context()->set_opacity_rect ( XmlUtils::GetInteger(oox_grad_fill->path->rect->l.get_value_or(L"")),
|
||||
XmlUtils::GetInteger(oox_grad_fill->path->rect->t.get_value_or(L"")),
|
||||
XmlUtils::GetInteger(oox_grad_fill->path->rect->r.get_value_or(L"")),
|
||||
XmlUtils::GetInteger(oox_grad_fill->path->rect->b.get_value_or(L"")));
|
||||
}
|
||||
odf_context()->drawing_context()->end_opacity_style();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
odf_context()->drawing_context()->end_gradient_style();
|
||||
|
||||
}
|
||||
|
||||
void OoxConverter::convert(PPTX::Logic::UniColor * color, std::wstring & hexString, _CP_OPT(double) & opacity)
|
||||
{
|
||||
if (!color) return;
|
||||
|
||||
PPTX::Logic::SrgbClr *rgb = &color->as<PPTX::Logic::SrgbClr>();
|
||||
PPTX::Logic::SchemeClr *scheme = &color->as<PPTX::Logic::SchemeClr>();
|
||||
|
||||
if (scheme)
|
||||
{
|
||||
int theme_ind = scheme->val.GetBYTECode();
|
||||
BYTE ucA = 0, ucG = 0, ucB = 0, ucR = 0;
|
||||
|
||||
bool result = convert(theme_ind, ucA, ucG, ucB, ucR);
|
||||
|
||||
if (result == true)
|
||||
{
|
||||
scheme->SetRGB(ucR, ucG, ucB);
|
||||
DWORD dwColor = scheme->ApplyModifiers(PPTX::Logic::ColorBase::ctARGB);
|
||||
|
||||
hexString = XmlUtils::IntToString(dwColor & 0x00FFFFFF, L"#%06X");
|
||||
|
||||
if ((dwColor >> 24) != 0xff)
|
||||
{
|
||||
opacity = ((dwColor >> 24) /255.) * 100.;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (rgb)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
void OoxConverter::convert(PPTX::Logic::SolidFill *oox_fill)
|
||||
{
|
||||
if (!oox_fill) return;
|
||||
|
||||
std::wstring hexString;
|
||||
_CP_OPT(double) opacity;
|
||||
|
||||
convert(&oox_fill->Color, hexString, opacity);
|
||||
|
||||
odf_context()->drawing_context()->set_solid_fill(hexString);
|
||||
|
||||
if (opacity)
|
||||
{
|
||||
odf_context()->drawing_context()->set_opacity(*opacity);
|
||||
}
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::PattFill *oox_fill)
|
||||
{
|
||||
if (!oox_fill) return;
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::EffectLst *oox_effect_lst)
|
||||
{
|
||||
if (!oox_effect_lst) return;
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::Ln *oox_line_prop)
|
||||
{
|
||||
if (!oox_line_prop) return;
|
||||
|
||||
convert (&oox_line_prop->Fill);
|
||||
|
||||
if (oox_line_prop->w.IsInit())
|
||||
{
|
||||
odf_context()->drawing_context()->set_line_width(oox_line_prop->w.get() / 12700.); //pt
|
||||
}
|
||||
if (oox_line_prop->headEnd.IsInit())
|
||||
{
|
||||
if (oox_line_prop->headEnd->len.IsInit() || oox_line_prop->headEnd->type.IsInit() || oox_line_prop->headEnd->w.IsInit())
|
||||
{
|
||||
int type = 0, w=1, len =1;//medium arrow
|
||||
if (oox_line_prop->headEnd->len.IsInit()) len = oox_line_prop->headEnd->len->GetBYTECode();
|
||||
if (oox_line_prop->headEnd->type.IsInit()) type = oox_line_prop->headEnd->type->GetBYTECode();
|
||||
if (oox_line_prop->headEnd->w.IsInit()) w = oox_line_prop->headEnd->w->GetBYTECode();
|
||||
|
||||
odf_context()->drawing_context()->set_line_head(type, len, w);
|
||||
}
|
||||
}
|
||||
if (oox_line_prop->tailEnd.IsInit())
|
||||
{
|
||||
if (oox_line_prop->tailEnd->len.IsInit() || oox_line_prop->tailEnd->type.IsInit() || oox_line_prop->tailEnd->w.IsInit())
|
||||
{
|
||||
int type =0, w=1, len =1;//medium arrow
|
||||
if (oox_line_prop->tailEnd->len.IsInit()) len = oox_line_prop->tailEnd->len->GetBYTECode();
|
||||
if (oox_line_prop->tailEnd->type.IsInit()) type = oox_line_prop->tailEnd->type->GetBYTECode();
|
||||
if (oox_line_prop->tailEnd->w.IsInit()) w = oox_line_prop->tailEnd->w->GetBYTECode();
|
||||
|
||||
odf_context()->drawing_context()->set_line_tail(type, len, w);
|
||||
}
|
||||
}
|
||||
|
||||
//if (oox_line_prop->custDash.IsInit())
|
||||
//{
|
||||
// //через задание стиля и описание геометрии
|
||||
//}
|
||||
if (oox_line_prop->prstDash.IsInit() && oox_line_prop->prstDash->val.IsInit())
|
||||
{
|
||||
odf_context()->drawing_context()->set_line_dash_preset(oox_line_prop->prstDash->val->GetBYTECode());
|
||||
}
|
||||
//nullable<SimpleTypes::CPenAlignment<>> m_oAlgn;
|
||||
//nullable<SimpleTypes::CLineCap<>> m_oCap;
|
||||
//nullable<SimpleTypes::CCompoundLine<>> m_oCmpd;
|
||||
|
||||
|
||||
//ELineJoinType m_eJoinType; // Тип соединения линий
|
||||
//nullable<OOX::Drawing::CLineJoinBevel> m_oBevel;
|
||||
//nullable<OOX::Drawing::CLineJoinMiterProperties> m_oMiter;
|
||||
//nullable<OOX::Drawing::CLineJoinRound> m_oRound;
|
||||
}
|
||||
|
||||
void OoxConverter::convert(PPTX::Logic::BodyPr *oox_bodyPr)
|
||||
{
|
||||
if (!oox_bodyPr) return;
|
||||
|
||||
if (oox_bodyPr->vert.IsInit())
|
||||
{
|
||||
odf_context()->drawing_context()->set_textarea_writing_mode (oox_bodyPr->vert->GetBYTECode());
|
||||
}
|
||||
if (oox_bodyPr->anchor.IsInit())
|
||||
{
|
||||
odf_context()->drawing_context()->set_textarea_vertical_align (oox_bodyPr->anchor->GetBYTECode());
|
||||
}
|
||||
|
||||
_CP_OPT(double) lIns, tIns, rIns, bIns;
|
||||
|
||||
if (oox_bodyPr->lIns.IsInit()) lIns = oox_bodyPr->lIns.get() / 12700. / 28.34467120181406; //cm
|
||||
if (oox_bodyPr->tIns.IsInit()) tIns = oox_bodyPr->tIns.get() / 12700. / 28.34467120181406;
|
||||
if (oox_bodyPr->rIns.IsInit()) rIns = oox_bodyPr->rIns.get() / 12700. / 28.34467120181406;
|
||||
if (oox_bodyPr->bIns.IsInit()) bIns = oox_bodyPr->bIns.get() / 12700. / 28.34467120181406;
|
||||
|
||||
odf_context()->drawing_context()->set_textarea_padding (lIns, tIns, rIns, bIns);
|
||||
|
||||
if (oox_bodyPr->wrap.IsInit())
|
||||
odf_context()->drawing_context()->set_textarea_wrap(oox_bodyPr->wrap->GetBYTECode());
|
||||
|
||||
if ((oox_bodyPr->numCol.IsInit()) && (oox_bodyPr->numCol.get() > 1))
|
||||
{
|
||||
//+ style section
|
||||
//+element text:section в котором параграфы
|
||||
}
|
||||
//if (oox_bodyPr->spAutoFit.IsInit())
|
||||
//{
|
||||
// //изменяемы размеры
|
||||
// odf_context()->drawing_context()->set_text_box_min_size(true);//уже выставленые в min
|
||||
|
||||
//}
|
||||
if (oox_bodyPr->fromWordArt.IsInit() && oox_bodyPr->prstTxWarp.IsInit())
|
||||
{
|
||||
for (size_t i = 0; i < oox_bodyPr->prstTxWarp->avLst.size(); i++)
|
||||
{
|
||||
if (oox_bodyPr->prstTxWarp->avLst[i].fmla.IsInit())
|
||||
{
|
||||
odf_context()->drawing_context()->add_modifier(oox_bodyPr->prstTxWarp->avLst[i].fmla.get());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::NvSpPr *oox_nvSpPr)
|
||||
{
|
||||
if (!oox_nvSpPr) return;
|
||||
|
||||
convert (&oox_nvSpPr->cNvPr);
|
||||
convert (&oox_nvSpPr->cNvSpPr);
|
||||
convert (&oox_nvSpPr->nvPr);
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::CNvPr *oox_cnvPr)
|
||||
{
|
||||
if (!oox_cnvPr) return;
|
||||
|
||||
odf_context()->drawing_context()->set_name(oox_cnvPr->name);
|
||||
|
||||
if (oox_cnvPr->descr.IsInit())
|
||||
{
|
||||
odf_context()->drawing_context()->set_description(oox_cnvPr->descr.get());
|
||||
}
|
||||
if (oox_cnvPr->hidden.IsInit())
|
||||
{
|
||||
odf_context()->drawing_context()->set_hidden(oox_cnvPr->hidden.get());
|
||||
}
|
||||
if (oox_cnvPr->hlinkClick.IsInit())
|
||||
{
|
||||
}
|
||||
//nullable_string title;
|
||||
//nullable<Hyperlink> hlinkHover;
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::CNvSpPr *oox_cnvSpPr)
|
||||
{
|
||||
if (!oox_cnvSpPr) return;
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::NvPr *oox_nvPr)
|
||||
{
|
||||
if (!oox_nvPr) return;
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::Paragraph *oox_paragraph)
|
||||
{
|
||||
if (!oox_paragraph)return;
|
||||
|
||||
bool styled = false;
|
||||
if (oox_paragraph->pPr.IsInit())
|
||||
{
|
||||
odf_writer::style_paragraph_properties * paragraph_properties = odf_context()->text_context()->get_paragraph_properties();
|
||||
//свойства могут быть приписаны не только к параграфу, но и к самому объекту
|
||||
if (!paragraph_properties)
|
||||
{
|
||||
odf_context()->styles_context()->create_style(L"",odf_types::style_family::Paragraph, true, false, -1);
|
||||
paragraph_properties = odf_context()->styles_context()->last_state()->get_paragraph_properties();
|
||||
styled = true;
|
||||
}
|
||||
convert(oox_paragraph->pPr.GetPointer(), paragraph_properties);
|
||||
}
|
||||
|
||||
odf_context()->text_context()->start_paragraph(styled);
|
||||
|
||||
for (size_t i=0; i< oox_paragraph->RunElems.size();i++)
|
||||
{
|
||||
convert(&oox_paragraph->RunElems[i].as<OOX::WritingElement>());
|
||||
}
|
||||
odf_context()->text_context()->end_paragraph();
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::TextParagraphPr *oox_paragraph_pr, odf_writer::style_paragraph_properties * paragraph_properties)
|
||||
{
|
||||
if (!oox_paragraph_pr) return;
|
||||
if (!paragraph_properties) return;
|
||||
|
||||
if (oox_paragraph_pr->lnSpc.IsInit())
|
||||
{
|
||||
odf_types::length_or_percent length;
|
||||
convert(oox_paragraph_pr->lnSpc.GetPointer(), length);
|
||||
paragraph_properties->content().fo_line_height_ = odf_types::line_width(length);
|
||||
}
|
||||
if (oox_paragraph_pr->spcAft.IsInit())
|
||||
{
|
||||
odf_types::length_or_percent length;
|
||||
convert(oox_paragraph_pr->spcAft.GetPointer(), length);
|
||||
paragraph_properties->content().fo_margin_bottom_ = length;
|
||||
}
|
||||
if (oox_paragraph_pr->spcBef.IsInit())
|
||||
{
|
||||
odf_types::length_or_percent length;
|
||||
convert(oox_paragraph_pr->spcBef.GetPointer(), length);
|
||||
paragraph_properties->content().fo_margin_top_ = length;
|
||||
}
|
||||
if (oox_paragraph_pr->algn.IsInit())
|
||||
{
|
||||
switch(oox_paragraph_pr->algn->GetBYTECode())
|
||||
{
|
||||
case 0 : paragraph_properties->content().fo_text_align_ = odf_types::text_align(odf_types::text_align::Center); break;
|
||||
case 1 :
|
||||
case 2 :
|
||||
case 3 : paragraph_properties->content().fo_text_align_ = odf_types::text_align(odf_types::text_align::Justify); break;
|
||||
case 5 : paragraph_properties->content().fo_text_align_ = odf_types::text_align(odf_types::text_align::Right); break;
|
||||
case 4 :
|
||||
default:
|
||||
paragraph_properties->content().fo_text_align_ = odf_types::text_align(odf_types::text_align::Left); break;
|
||||
}
|
||||
}
|
||||
if (oox_paragraph_pr->marL.IsInit())
|
||||
{
|
||||
paragraph_properties->content().fo_margin_left_ = odf_types::length_or_percent(odf_types::length(oox_paragraph_pr->marL.get() / 12700., odf_types::length::pt));
|
||||
}
|
||||
if (oox_paragraph_pr->marR.IsInit())
|
||||
{
|
||||
paragraph_properties->content().fo_margin_right_ = odf_types::length_or_percent(odf_types::length(oox_paragraph_pr->marR.get() / 12700., odf_types::length::pt));
|
||||
}
|
||||
if (oox_paragraph_pr->indent.IsInit())
|
||||
{
|
||||
paragraph_properties->content().fo_text_indent_ = odf_types::length_or_percent(odf_types::length(oox_paragraph_pr->indent.get() / 12700., odf_types::length::pt));
|
||||
}
|
||||
if (oox_paragraph_pr->rtl.IsInit())
|
||||
{
|
||||
}
|
||||
//nullable<SimpleTypes::CDecimalNumber<> > m_oLvl;
|
||||
//nullable<SimpleTypes::CCoordinate32<> > m_oDefTabSz;
|
||||
//nullable<SimpleTypes::CTextFontAlignType<>> m_oFontAlgn;
|
||||
|
||||
|
||||
|
||||
if (oox_paragraph_pr->defRPr.IsInit())//может быть пустым !!!
|
||||
{
|
||||
odf_writer::style_text_properties * text_properties = odf_context()->text_context()->get_text_properties();
|
||||
if (text_properties)
|
||||
convert(oox_paragraph_pr->defRPr.GetPointer(), text_properties);
|
||||
|
||||
//надо подумать как брать последний по family !!!
|
||||
//convert(oox_paragraph_pr->m_oDefRunProperty.GetPointer());
|
||||
//odf_context()->text_context()->set_parent_span_style(odf_context()->styles_context()->last_state().get_name());
|
||||
}
|
||||
}
|
||||
|
||||
void OoxConverter::convert(PPTX::Logic::TextSpacing *oox_spacing, cpdoccore::odf_types::length_or_percent & length_or_percent)
|
||||
{
|
||||
if (!oox_spacing) return;
|
||||
|
||||
if ( oox_spacing->spcPct.IsInit() )
|
||||
{
|
||||
odf_types::percent percent = odf_types::percent(oox_spacing->GetVal());
|
||||
length_or_percent = odf_types::length_or_percent(percent);
|
||||
}
|
||||
if ( oox_spacing->spcPts.IsInit() )
|
||||
{
|
||||
odf_types::length length = odf_types::length(oox_spacing->GetVal() / 12700., odf_types::length::pt);
|
||||
length_or_percent = odf_types::length_or_percent(length);
|
||||
}}
|
||||
|
||||
void OoxConverter::convert(PPTX::Logic::RunProperties *oox_run_pr, odf_writer::style_text_properties * text_properties)
|
||||
{
|
||||
if (!oox_run_pr) return;
|
||||
if (!text_properties) return;
|
||||
|
||||
if (oox_run_pr->b.IsInit())
|
||||
{
|
||||
if (oox_run_pr->b.get() == true)
|
||||
text_properties->content().fo_font_weight_ = odf_types::font_weight(odf_types::font_weight::WBold);
|
||||
else
|
||||
text_properties->content().fo_font_weight_ = odf_types::font_weight(odf_types::font_weight::WNormal);
|
||||
}
|
||||
|
||||
PPTX::Logic::SolidFill* solidFill = &oox_run_pr->Fill.as<PPTX::Logic::SolidFill>();
|
||||
if (solidFill)
|
||||
{
|
||||
std::wstring hexColor;
|
||||
_CP_OPT(double) opacity;
|
||||
convert(&solidFill->Color, hexColor, opacity);
|
||||
|
||||
text_properties->content().fo_color_ = odf_types::color(std::wstring(L"#") + hexColor);
|
||||
}
|
||||
if (oox_run_pr->i.IsInit())
|
||||
{
|
||||
if (oox_run_pr->i.get() ==true)
|
||||
text_properties->content().fo_font_style_ = odf_types::font_style(odf_types::font_style::Italic);
|
||||
else
|
||||
text_properties->content().fo_font_style_ = odf_types::font_style(odf_types::font_style::Normal);
|
||||
}
|
||||
if (oox_run_pr->sz.IsInit())
|
||||
{
|
||||
convert(oox_run_pr->sz.get()/100., text_properties->content().fo_font_size_);
|
||||
convert(oox_run_pr->sz.get()/100., text_properties->content().style_font_size_asian_);
|
||||
convert(oox_run_pr->sz.get()/100., text_properties->content().style_font_size_complex_);
|
||||
}
|
||||
if (oox_run_pr->latin.IsInit())
|
||||
{
|
||||
if (!oox_run_pr->latin->typeface.empty())
|
||||
text_properties->content().fo_font_family_ = oox_run_pr->latin->typeface;
|
||||
else
|
||||
{
|
||||
text_properties->content().fo_font_family_ = L"Calibri";//default_font; ????
|
||||
}
|
||||
}
|
||||
if (oox_run_pr->ea.IsInit())
|
||||
{
|
||||
if (!oox_run_pr->ea->typeface.empty())
|
||||
text_properties->content().style_font_family_asian_ = oox_run_pr->ea->typeface;
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
if (oox_run_pr->cs.IsInit())
|
||||
{
|
||||
if (!oox_run_pr->cs->typeface.empty())
|
||||
text_properties->content().style_font_family_complex_ = oox_run_pr->cs->typeface;
|
||||
else
|
||||
{
|
||||
}
|
||||
}
|
||||
if (oox_run_pr->lang.IsInit())
|
||||
{
|
||||
std::wstring oox_language = oox_run_pr->lang.get(), oox_country;
|
||||
int res = oox_language.find(L"-");
|
||||
if (res >= 0)
|
||||
{
|
||||
oox_country = oox_language.substr(res);
|
||||
oox_language = oox_language.substr(0, res);
|
||||
}
|
||||
|
||||
text_properties->content().fo_language_ = oox_language;
|
||||
if (oox_country.length() > 0)
|
||||
text_properties->content().fo_country_ = oox_country;
|
||||
|
||||
}
|
||||
if (oox_run_pr->spc.IsInit())
|
||||
{
|
||||
text_properties->content().fo_letter_spacing_ = odf_types::letter_spacing(odf_types::length(oox_run_pr->spc.get()/100., odf_types::length::pt));
|
||||
}
|
||||
if (oox_run_pr->u.IsInit())
|
||||
{
|
||||
text_properties->content().style_text_underline_style_ = odf_types::line_style (odf_types::line_style::Solid);
|
||||
text_properties->content().style_text_underline_type_ = odf_types::line_type (odf_types::line_type::Single);
|
||||
|
||||
switch(oox_run_pr->u->GetBYTECode())
|
||||
{
|
||||
case SimpleTypes::underlineNone :
|
||||
text_properties->content().style_text_underline_type_= odf_types::line_type(odf_types::line_type::None);break;
|
||||
case SimpleTypes::underlineDash :
|
||||
case SimpleTypes::underlineDashedHeavy:
|
||||
text_properties->content().style_text_underline_style_ = odf_types::line_style(odf_types::line_style::Dash);break;
|
||||
case SimpleTypes::underlineDotDash :
|
||||
case SimpleTypes::underlineDashDotHeavy:
|
||||
text_properties->content().style_text_underline_style_ = odf_types::line_style(odf_types::line_style::DotDash);break;
|
||||
case SimpleTypes::underlineDashLong:
|
||||
case SimpleTypes::underlineDashLongHeavy:
|
||||
text_properties->content().style_text_underline_style_ = odf_types::line_style(odf_types::line_style::LongDash);break;
|
||||
case SimpleTypes::underlineDotDotDash:
|
||||
case SimpleTypes::underlineDashDotDotHeavy :
|
||||
text_properties->content().style_text_underline_style_ = odf_types::line_style(odf_types::line_style::DotDotDash);break;
|
||||
case SimpleTypes::underlineDotted:
|
||||
case SimpleTypes::underlineDottedHeavy:
|
||||
text_properties->content().style_text_underline_style_ = odf_types::line_style(odf_types::line_style::Dotted);break;
|
||||
case SimpleTypes::underlineWave :
|
||||
case SimpleTypes::underlineWavyHeavy :
|
||||
text_properties->content().style_text_underline_style_ = odf_types::line_style(odf_types::line_style::Wave);break;
|
||||
case SimpleTypes::underlineDouble :
|
||||
case SimpleTypes::underlineThick :
|
||||
text_properties->content().style_text_underline_type_= odf_types::line_type(odf_types::line_type::Double);break;
|
||||
case SimpleTypes::underlineWavyDouble :
|
||||
text_properties->content().style_text_underline_type_= odf_types::line_type(odf_types::line_type::Double);
|
||||
text_properties->content().style_text_underline_style_ = odf_types::line_style(odf_types::line_style::Wave);break;
|
||||
}
|
||||
}
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::Run *oox_run)
|
||||
{
|
||||
if (!oox_run) return;
|
||||
bool styled = false;
|
||||
|
||||
if (oox_run->rPr.IsInit())
|
||||
{
|
||||
odf_writer::style_text_properties * text_properties = odf_context()->text_context()->get_text_properties();
|
||||
|
||||
if (!text_properties)
|
||||
{
|
||||
odf_context()->styles_context()->create_style(L"", odf_types::style_family::Text, true, false, -1);
|
||||
text_properties = odf_context()->styles_context()->last_state()->get_text_properties();
|
||||
styled = true;
|
||||
}
|
||||
convert(oox_run->rPr.GetPointer(), text_properties);
|
||||
}
|
||||
|
||||
odf_context()->text_context()->start_span(styled);
|
||||
odf_context()->text_context()->add_text_content( oox_run->GetText());
|
||||
odf_context()->text_context()->end_span();
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::Fld *oox_fld)
|
||||
{
|
||||
if (!oox_fld) return;
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::Br *oox_br)
|
||||
{
|
||||
if (!oox_br) return;
|
||||
}
|
||||
void OoxConverter::convert(PPTX::Logic::MathParaWrapper *oox_math)
|
||||
{
|
||||
if (!oox_math) return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -643,10 +643,14 @@ void OoxConverter::convert(OOX::Vml::CTextbox *vml_textbox)
|
||||
|
||||
if (vml_textbox->m_oInsetMode.GetValue() == SimpleTypes::insetmodeCustom)
|
||||
{
|
||||
odf_context()->drawing_context()->set_textarea_padding(odf_types::length(vml_textbox->m_oInset.GetLeft(0), odf_types::length::pt).get_value_unit(odf_types::length::cm),
|
||||
odf_types::length(vml_textbox->m_oInset.GetTop(0), odf_types::length::pt).get_value_unit(odf_types::length::cm),
|
||||
odf_types::length(vml_textbox->m_oInset.GetRight(0), odf_types::length::pt).get_value_unit(odf_types::length::cm),
|
||||
odf_types::length(vml_textbox->m_oInset.GetBottom(0), odf_types::length::pt).get_value_unit(odf_types::length::cm));
|
||||
_CP_OPT(double) lIns, tIns, rIns, bIns;
|
||||
|
||||
lIns = odf_types::length(vml_textbox->m_oInset.GetLeft(0),odf_types::length::pt).get_value_unit(odf_types::length::cm);
|
||||
tIns = odf_types::length(vml_textbox->m_oInset.GetTop(0), odf_types::length::pt).get_value_unit(odf_types::length::cm);
|
||||
rIns = odf_types::length(vml_textbox->m_oInset.GetRight(0), odf_types::length::pt).get_value_unit(odf_types::length::cm);
|
||||
bIns = odf_types::length(vml_textbox->m_oInset.GetBottom(0), odf_types::length::pt).get_value_unit(odf_types::length::cm);
|
||||
|
||||
odf_context()->drawing_context()->set_textarea_padding (lIns, tIns, rIns, bIns);
|
||||
}
|
||||
|
||||
odf_context()->drawing_context()->set_textarea_wrap(true);
|
||||
|
||||
@ -52,6 +52,11 @@
|
||||
#include "../../../Common/DocxFormat/Source/XlsxFormat/Xlsx.h"
|
||||
#include "../../../Common/DocxFormat/Source/DocxFormat/Docx.h"
|
||||
|
||||
#include "../../../Common/DocxFormat/Source/DocxFormat/Diagram/DiagramDrawing.h"
|
||||
#include "../../../Common/DocxFormat/Source/DocxFormat/Diagram/DiagramData.h"
|
||||
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Shape.h"
|
||||
|
||||
#define PROGRESSEVENT_ID 0
|
||||
|
||||
namespace Oox2Odf
|
||||
@ -132,6 +137,11 @@ void OoxConverter::convert(OOX::WritingElement *oox_unknown)
|
||||
|
||||
switch(oox_unknown->getType())
|
||||
{
|
||||
case OOX::et_dgm_DiagrammParts:
|
||||
{
|
||||
OOX::Drawing::CDiagrammParts* pDiagrammParts = static_cast<OOX::Drawing::CDiagrammParts*>(oox_unknown);
|
||||
convert(pDiagrammParts);
|
||||
}break;
|
||||
case OOX::et_a_Shape:
|
||||
{
|
||||
OOX::Drawing::CShape* pShape = static_cast<OOX::Drawing::CShape*>(oox_unknown);
|
||||
@ -252,7 +262,37 @@ void OoxConverter::convert(OOX::WritingElement *oox_unknown)
|
||||
{
|
||||
//бяка
|
||||
}break;
|
||||
case OOX::et_p_ShapeTree:
|
||||
{
|
||||
PPTX::Logic::SpTree *spTree = static_cast<PPTX::Logic::SpTree *>(oox_unknown);
|
||||
convert(spTree);
|
||||
}break;
|
||||
|
||||
case OOX::et_p_Shape:
|
||||
{
|
||||
PPTX::Logic::Shape *shape = static_cast<PPTX::Logic::Shape *>(oox_unknown);
|
||||
convert(shape);
|
||||
}break;
|
||||
case OOX::et_p_r:
|
||||
{
|
||||
PPTX::Logic::Run* pRun= static_cast<PPTX::Logic::Run*>(oox_unknown);
|
||||
convert(pRun);
|
||||
}break;
|
||||
case OOX::et_p_fld:
|
||||
{
|
||||
PPTX::Logic::Fld* pFld= static_cast<PPTX::Logic::Fld*>(oox_unknown);
|
||||
convert(pFld);
|
||||
}break;
|
||||
case OOX::et_p_br:
|
||||
{
|
||||
PPTX::Logic::Br* pBr= static_cast<PPTX::Logic::Br*>(oox_unknown);
|
||||
convert(pBr);
|
||||
}break;
|
||||
case OOX::et_p_MathPara:
|
||||
{
|
||||
PPTX::Logic::MathParaWrapper* pMathPara= static_cast<PPTX::Logic::MathParaWrapper*>(oox_unknown);
|
||||
convert(pMathPara);
|
||||
}break;
|
||||
default:
|
||||
{
|
||||
_CP_LOG << L"[warning] : no convert element(" << oox_unknown->getType() << L")\n";
|
||||
@ -311,7 +351,7 @@ void OoxConverter::convert(OOX::Drawing::CShape *oox_shape)
|
||||
odf_context()->start_text_context();
|
||||
|
||||
convert(oox_shape->m_oTxSp->m_oTxBody->m_oBodyPr.GetPointer());
|
||||
for (unsigned int i=0 ; i < oox_shape->m_oTxSp->m_oTxBody->m_arrItems.size();i++)
|
||||
for (size_t i=0 ; i < oox_shape->m_oTxSp->m_oTxBody->m_arrItems.size();i++)
|
||||
{
|
||||
convert(oox_shape->m_oTxSp->m_oTxBody->m_arrItems[i]);
|
||||
}
|
||||
@ -324,6 +364,58 @@ void OoxConverter::convert(OOX::Drawing::CShape *oox_shape)
|
||||
odf_context()->drawing_context()->end_drawing();
|
||||
}
|
||||
|
||||
void OoxConverter::convert(OOX::Drawing::CDiagrammParts *oox_diagramm)
|
||||
{
|
||||
if (oox_diagramm == NULL)return;
|
||||
if (oox_diagramm->m_oRId_Data.IsInit() == false) return;
|
||||
|
||||
smart_ptr<OOX::File> oFile = find_file_by_id(oox_diagramm->m_oRId_Data->GetValue());
|
||||
|
||||
NSCommon::nullable<std::wstring> id_drawing;
|
||||
|
||||
if (oFile.IsInit())
|
||||
{
|
||||
OOX::CDiagramData* pDiagData = dynamic_cast<OOX::CDiagramData*>(oFile.operator->());
|
||||
|
||||
if ((pDiagData) && (pDiagData->m_oExtLst.IsInit()))
|
||||
{
|
||||
for (size_t i = 0 ; i < pDiagData->m_oExtLst->m_arrExt.size(); i++)
|
||||
{
|
||||
if ( pDiagData->m_oExtLst->m_arrExt[i]->m_oDataModelExt.IsInit())
|
||||
{
|
||||
id_drawing = pDiagData->m_oExtLst->m_arrExt[i]->m_oDataModelExt->m_oRelId;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (id_drawing.is_init() == false) return;
|
||||
|
||||
oFile = find_file_by_id( *id_drawing );
|
||||
|
||||
if (oFile.is_init() && OOX::FileTypes::DiagDrawing == oFile->type())
|
||||
{
|
||||
_CP_OPT(double) x, y, width, height, cx = 0, cy = 0;
|
||||
|
||||
odf_context()->drawing_context()->get_size (width, height);
|
||||
odf_context()->drawing_context()->get_position (x, y);
|
||||
|
||||
OOX::CDiagramDrawing * diag_drawing = dynamic_cast<OOX::CDiagramDrawing*>(oFile.operator->());
|
||||
|
||||
oox_current_child_document = diag_drawing;
|
||||
|
||||
odf_context()->drawing_context()->start_group();
|
||||
|
||||
odf_context()->drawing_context()->set_group_size (width, height, width, height);
|
||||
odf_context()->drawing_context()->set_group_position (x, y, cx, cy);
|
||||
|
||||
convert(diag_drawing->m_oShapeTree.GetPointer());
|
||||
|
||||
odf_context()->drawing_context()->end_group();
|
||||
oox_current_child_document = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void OoxConverter::convert(OOX::Drawing::CLockedCanvas *oox_canvas)
|
||||
{
|
||||
if (oox_canvas == NULL)return;
|
||||
@ -339,7 +431,7 @@ void OoxConverter::convert(OOX::Drawing::CLockedCanvas *oox_canvas)
|
||||
convert(oox_canvas->m_oGroupSpPr.GetPointer());
|
||||
convert(oox_canvas->m_oSpPr.GetPointer());
|
||||
|
||||
for (unsigned int i=0; i < oox_canvas->m_arrItems.size(); i++)
|
||||
for (size_t i = 0; i < oox_canvas->m_arrItems.size(); i++)
|
||||
{
|
||||
convert(oox_canvas->m_arrItems[i]);
|
||||
}
|
||||
@ -386,7 +478,6 @@ void OoxConverter::convert(OOX::Drawing::CGroupShapeProperties * oox_group_spP
|
||||
if (oox_group_spPr->m_oXfrm->m_oRot.GetValue() > 0)
|
||||
odf_context()->drawing_context()->set_group_rotate(oox_group_spPr->m_oXfrm->m_oRot.GetValue());
|
||||
}
|
||||
|
||||
}
|
||||
void OoxConverter::convert(OOX::Drawing::CFontReference *style_font_ref)
|
||||
{
|
||||
@ -535,13 +626,13 @@ void OoxConverter::convert(OOX::Drawing::CShapeProperties * oox_spPr, OOX::Dra
|
||||
}
|
||||
switch(oox_spPr->m_eGeomType)
|
||||
{
|
||||
case OOX::Drawing::geomtypeCustom :
|
||||
case OOX::Drawing::geomtypeCustom :
|
||||
if(oox_spPr->m_oCustGeom.IsInit())convert(oox_spPr->m_oCustGeom.GetPointer());break;
|
||||
case OOX::Drawing::geomtypePreset:
|
||||
case OOX::Drawing::geomtypePreset:
|
||||
if(oox_spPr->m_oPrstGeom.IsInit())convert(oox_spPr->m_oPrstGeom.GetPointer());break;
|
||||
case OOX::Drawing::geomtypeUnknown:
|
||||
default:
|
||||
break;
|
||||
case OOX::Drawing::geomtypeUnknown:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
odf_context()->drawing_context()->start_area_properties();
|
||||
{
|
||||
@ -599,16 +690,16 @@ void OoxConverter::convert(OOX::Drawing::CNonVisualDrawingProps * oox_cnvPr)
|
||||
odf_context()->drawing_context()->set_name(name);
|
||||
}
|
||||
|
||||
//nullable<std::wstring> m_sDescr;
|
||||
//nullable<SimpleTypes::COnOff<>> m_oHidden;
|
||||
//nullable<std::wstring> m_sTitle;
|
||||
//nullable<std::wstring> m_sDescr;
|
||||
//nullable<SimpleTypes::COnOff<>> m_oHidden;
|
||||
//nullable<std::wstring> m_sTitle;
|
||||
}
|
||||
|
||||
void OoxConverter::convert(OOX::Drawing::CCustomGeometry2D *oox_cust_geom)
|
||||
{
|
||||
if (!oox_cust_geom)return;
|
||||
|
||||
for (unsigned int i=0; i< oox_cust_geom->m_oPthLst.m_arrPath.size();i++)
|
||||
for (size_t i = 0; i < oox_cust_geom->m_oPthLst.m_arrPath.size(); i++)
|
||||
{
|
||||
convert(oox_cust_geom->m_oPthLst.m_arrPath[i]);
|
||||
}
|
||||
@ -635,9 +726,9 @@ void OoxConverter::convert(OOX::Drawing::CLineProperties *oox_line_prop, std::ws
|
||||
if (oox_line_prop->m_oHeadEnd->m_oLen.IsInit() || oox_line_prop->m_oHeadEnd->m_oType.IsInit() || oox_line_prop->m_oHeadEnd->m_oW.IsInit())
|
||||
{
|
||||
int type = 0, w=1, len =1;//medium arrow
|
||||
if (oox_line_prop->m_oHeadEnd->m_oLen.IsInit()) len = oox_line_prop->m_oHeadEnd->m_oLen->GetValue();
|
||||
if (oox_line_prop->m_oHeadEnd->m_oType.IsInit()) type = oox_line_prop->m_oHeadEnd->m_oType->GetValue();
|
||||
if (oox_line_prop->m_oHeadEnd->m_oW.IsInit()) w=oox_line_prop->m_oHeadEnd->m_oW->GetValue();
|
||||
if (oox_line_prop->m_oHeadEnd->m_oLen.IsInit()) len = oox_line_prop->m_oHeadEnd->m_oLen->GetValue();
|
||||
if (oox_line_prop->m_oHeadEnd->m_oType.IsInit()) type = oox_line_prop->m_oHeadEnd->m_oType->GetValue();
|
||||
if (oox_line_prop->m_oHeadEnd->m_oW.IsInit()) w = oox_line_prop->m_oHeadEnd->m_oW->GetValue();
|
||||
|
||||
odf_context()->drawing_context()->set_line_head(type, len, w);
|
||||
}
|
||||
@ -647,9 +738,9 @@ void OoxConverter::convert(OOX::Drawing::CLineProperties *oox_line_prop, std::ws
|
||||
if (oox_line_prop->m_oTailEnd->m_oLen.IsInit() || oox_line_prop->m_oTailEnd->m_oType.IsInit() || oox_line_prop->m_oTailEnd->m_oW.IsInit())
|
||||
{
|
||||
int type =0, w=1, len =1;//medium arrow
|
||||
if (oox_line_prop->m_oTailEnd->m_oLen.IsInit()) len = oox_line_prop->m_oTailEnd->m_oLen->GetValue();
|
||||
if (oox_line_prop->m_oTailEnd->m_oType.IsInit()) type = oox_line_prop->m_oTailEnd->m_oType->GetValue();
|
||||
if (oox_line_prop->m_oTailEnd->m_oW.IsInit()) w = oox_line_prop->m_oTailEnd->m_oW->GetValue();
|
||||
if (oox_line_prop->m_oTailEnd->m_oLen.IsInit()) len = oox_line_prop->m_oTailEnd->m_oLen->GetValue();
|
||||
if (oox_line_prop->m_oTailEnd->m_oType.IsInit()) type = oox_line_prop->m_oTailEnd->m_oType->GetValue();
|
||||
if (oox_line_prop->m_oTailEnd->m_oW.IsInit()) w = oox_line_prop->m_oTailEnd->m_oW->GetValue();
|
||||
|
||||
odf_context()->drawing_context()->set_line_tail(type, len, w);
|
||||
}
|
||||
@ -681,7 +772,7 @@ void OoxConverter::convert(OOX::Drawing::CPresetGeometry2D *oox_prst_geom)
|
||||
|
||||
if (oox_prst_geom->m_oAvLst.IsInit())
|
||||
{
|
||||
for (unsigned int i=0; i<oox_prst_geom->m_oAvLst->m_arrGd.size(); i++)
|
||||
for (size_t i = 0; i < oox_prst_geom->m_oAvLst->m_arrGd.size(); i++)
|
||||
{
|
||||
if (oox_prst_geom->m_oAvLst->m_arrGd[i] == NULL) continue;
|
||||
odf_context()->drawing_context()->add_modifier(oox_prst_geom->m_oAvLst->m_arrGd[i]->m_oFmla.GetValue());
|
||||
@ -694,13 +785,12 @@ void OoxConverter::convert(OOX::Drawing::CPath2D *oox_geom_path)
|
||||
|
||||
odf_context()->drawing_context()->set_viewBox(oox_geom_path->m_oW.GetValue(), oox_geom_path->m_oH.GetValue());
|
||||
|
||||
for (unsigned int i =0 ; i< oox_geom_path->m_arrItems.size(); i++)
|
||||
for (size_t i = 0 ; i < oox_geom_path->m_arrItems.size(); i++)
|
||||
{
|
||||
convert(oox_geom_path->m_arrItems[i]);
|
||||
}
|
||||
|
||||
std::wstring path_elm ;
|
||||
odf_context()->drawing_context()->add_path_element(std::wstring(L"N"), path_elm);
|
||||
odf_context()->drawing_context()->add_path_element(std::wstring(L"N"), L"");
|
||||
|
||||
}
|
||||
//-----------------------------------------------------------------------------------------------------------------
|
||||
@ -708,7 +798,7 @@ void OoxConverter::convert(OOX::Drawing::CEffectList *oox_effect_list, std::wstr
|
||||
{
|
||||
if (oox_effect_list == NULL) return;
|
||||
|
||||
for (unsigned int i=0;i< oox_effect_list->m_arrEffects.size(); i++)
|
||||
for (size_t i = 0; i < oox_effect_list->m_arrEffects.size(); i++)
|
||||
{
|
||||
switch(oox_effect_list->m_arrEffects[i]->getType())
|
||||
{
|
||||
@ -806,7 +896,7 @@ void OoxConverter::convert(OOX::Drawing::CBlipFillProperties *oox_bitmap_fill, s
|
||||
sID = oox_bitmap_fill->m_oBlip->m_oLink.GetValue();
|
||||
//...
|
||||
}
|
||||
for (unsigned int i=0 ; i < oox_bitmap_fill->m_oBlip->m_arrEffects.size(); i++)
|
||||
for (size_t i = 0 ; i < oox_bitmap_fill->m_oBlip->m_arrEffects.size(); i++)
|
||||
convert(oox_bitmap_fill->m_oBlip->m_arrEffects[i]);
|
||||
}
|
||||
if (oox_bitmap_fill->m_oSrcRect.IsInit() && Width >0 && Height >0)//часть изображения
|
||||
@ -968,7 +1058,7 @@ void OoxConverter::convert(OOX::Drawing::CPatternFillProperties *oox_pattern_fil
|
||||
odf_context()->drawing_context()->end_hatch_style();
|
||||
|
||||
}
|
||||
void OoxConverter::convert(OOX::Drawing::CSolidColorFillProperties *oox_solid_fill,std::wstring & hexColor , _CP_OPT(double) &opacity)
|
||||
void OoxConverter::convert(OOX::Drawing::CSolidColorFillProperties *oox_solid_fill, std::wstring & hexColor , _CP_OPT(double) &opacity)
|
||||
{
|
||||
switch( oox_solid_fill->m_eType )
|
||||
{
|
||||
@ -980,7 +1070,7 @@ void OoxConverter::convert(OOX::Drawing::CSolidColorFillProperties *oox_solid_fi
|
||||
case OOX::Drawing::colorSys: convert(&oox_solid_fill->m_oSysClr, hexColor, opacity); break;
|
||||
}
|
||||
}
|
||||
void OoxConverter::convert(OOX::Drawing::CColor *oox_color,std::wstring & hexColor , _CP_OPT(double) &opacity)
|
||||
void OoxConverter::convert(OOX::Drawing::CColor *oox_color, std::wstring & hexColor , _CP_OPT(double) &opacity)
|
||||
{
|
||||
switch( oox_color->m_eType )
|
||||
{
|
||||
@ -1012,7 +1102,7 @@ void OoxConverter::convert(OOX::Drawing::CSolidColorFillProperties *oox_solid_fi
|
||||
}
|
||||
}
|
||||
|
||||
void OoxConverter::convert(OOX::Drawing::Colors::CColorTransform *oox_Clr, std::wstring & hexString, _CP_OPT(double) &opacity)
|
||||
void OoxConverter::convert(OOX::Drawing::Colors::CColorTransform *oox_Clr, std::wstring & hexString, _CP_OPT(double) &opacity)
|
||||
{
|
||||
if (!oox_Clr)return;
|
||||
BYTE ucA=0, ucG=0, ucB=0, ucR =0;
|
||||
@ -1026,18 +1116,15 @@ void OoxConverter::convert(OOX::Drawing::Colors::CColorTransform *oox_Clr, s
|
||||
}
|
||||
if (ucA !=255)opacity = (ucA/255.)* 100.;
|
||||
}
|
||||
void OoxConverter::convert(OOX::Drawing::CSchemeColor *oox_ShemeClr, std::wstring & hexString, _CP_OPT(double) &opacity)
|
||||
|
||||
bool OoxConverter::convert(int indexSchemeColor, BYTE& ucA, BYTE& ucG, BYTE& ucB, BYTE& ucR)
|
||||
{
|
||||
OOX::CTheme * theme= oox_theme();
|
||||
if (!oox_ShemeClr || !theme)return;
|
||||
|
||||
int theme_ind = oox_ShemeClr->m_oVal.GetValue();
|
||||
|
||||
BYTE ucA=0, ucG=0, ucB=0, ucR =0;
|
||||
if (!theme)return false;
|
||||
|
||||
bool result = false;
|
||||
|
||||
switch(theme_ind)
|
||||
switch(indexSchemeColor)
|
||||
{
|
||||
case SimpleTypes::shemecolorvalLt1:
|
||||
case SimpleTypes::shemecolorvalBg1:
|
||||
@ -1068,6 +1155,17 @@ void OoxConverter::convert(OOX::Drawing::CSchemeColor *oox_ShemeClr, std::ws
|
||||
case SimpleTypes::shemecolorvalHlink:
|
||||
result = theme->m_oThemeElements.m_oClrScheme.m_oHlink.tryGetRgb(ucR, ucG, ucB, ucA); break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
void OoxConverter::convert(OOX::Drawing::CSchemeColor *oox_ShemeClr, std::wstring & hexString, _CP_OPT(double) &opacity)
|
||||
{
|
||||
if (!oox_ShemeClr)return;
|
||||
|
||||
int theme_ind = oox_ShemeClr->m_oVal.GetValue();
|
||||
|
||||
BYTE ucA = 0, ucG = 0, ucB = 0, ucR = 0;
|
||||
bool result = convert(theme_ind, ucA, ucG, ucB, ucR);
|
||||
|
||||
if (result == true)
|
||||
{
|
||||
oox_ShemeClr->SetRGBA(ucR,ucG,ucB,ucA);
|
||||
@ -1079,7 +1177,7 @@ void OoxConverter::convert(OOX::Drawing::CSchemeColor *oox_ShemeClr, std::ws
|
||||
hexString = oRgbColor->ToString().substr(2);//.Right(6);
|
||||
delete oRgbColor;
|
||||
}
|
||||
if (ucA !=255)opacity = (ucA/255.)* 100.;
|
||||
if ( ucA != 0xff )opacity = (ucA / 255.) * 100.;
|
||||
}
|
||||
}
|
||||
void OoxConverter::convert(OOX::Drawing::CPath2DLineTo *oox_geom_path)
|
||||
@ -1104,8 +1202,8 @@ void OoxConverter::convert(OOX::Drawing::CPath2DArcTo *oox_geom_path)
|
||||
{
|
||||
if (!oox_geom_path) return;
|
||||
|
||||
//std::wstring path_elm = std::to_wstring ((int)pt2emu(oox_geom_path->m_oPt.m_oX.GetValue())) +
|
||||
// std::wstring(L" ")+ std::to_wstring ((int)pt2emu(oox_geom_path->m_oPt.m_oY.GetValue()));
|
||||
//std::wstring path_elm = std::to_wstring ((int)pt2emu(oox_geom_path->m_oPt.m_oX.GetValue())) +
|
||||
// std::wstring(L" ")+ std::to_wstring ((int)pt2emu(oox_geom_path->m_oPt.m_oY.GetValue()));
|
||||
//
|
||||
//odf_context()->drawing_context()->add_path_element(std::wstring(L"A"), path_elm);
|
||||
}
|
||||
@ -1148,10 +1246,15 @@ void OoxConverter::convert(OOX::Drawing::CTextBodyProperties *oox_bodyPr)
|
||||
odf_context()->drawing_context()->set_textarea_writing_mode (oox_bodyPr->m_oVert.GetValue());
|
||||
odf_context()->drawing_context()->set_textarea_vertical_align (oox_bodyPr->m_oAnchor.GetValue());
|
||||
|
||||
odf_context()->drawing_context()->set_textarea_padding (oox_bodyPr->m_oLIns.ToCm(),
|
||||
oox_bodyPr->m_oTIns.ToCm(),
|
||||
oox_bodyPr->m_oRIns.ToCm(),
|
||||
oox_bodyPr->m_oBIns.ToCm());
|
||||
_CP_OPT(double) lIns, tIns, rIns, bIns;
|
||||
|
||||
lIns = oox_bodyPr->m_oLIns.ToCm();
|
||||
tIns = oox_bodyPr->m_oTIns.ToCm();
|
||||
rIns = oox_bodyPr->m_oRIns.ToCm();
|
||||
bIns = oox_bodyPr->m_oBIns.ToCm();
|
||||
|
||||
odf_context()->drawing_context()->set_textarea_padding (lIns, tIns, rIns, bIns);
|
||||
|
||||
odf_context()->drawing_context()->set_textarea_wrap(oox_bodyPr->m_oWrap.GetValue());
|
||||
|
||||
if (oox_bodyPr->m_oNumCol.GetValue() > 1)
|
||||
@ -1167,7 +1270,7 @@ void OoxConverter::convert(OOX::Drawing::CTextBodyProperties *oox_bodyPr)
|
||||
}
|
||||
if (oox_bodyPr->m_oFromWordArt.ToBool() && oox_bodyPr->m_oPrstTxWrap.IsInit())
|
||||
{
|
||||
for (unsigned int i=0; i< oox_bodyPr->m_oPrstTxWrap->m_oAvLst->m_arrGd.size(); i++)
|
||||
for (size_t i = 0; i < oox_bodyPr->m_oPrstTxWrap->m_oAvLst->m_arrGd.size(); i++)
|
||||
{
|
||||
if (oox_bodyPr->m_oPrstTxWrap->m_oAvLst->m_arrGd[i] == NULL) continue;
|
||||
odf_context()->drawing_context()->add_modifier(oox_bodyPr->m_oPrstTxWrap->m_oAvLst->m_arrGd[i]->m_oFmla.GetValue());
|
||||
@ -1298,7 +1401,7 @@ void OoxConverter::convert(OOX::Drawing::CRunProperty * oox_run_pr, odf_writer::
|
||||
}
|
||||
}
|
||||
}
|
||||
void OoxConverter::convert(OOX::Drawing::CRun *oox_run)
|
||||
void OoxConverter::convert(OOX::Drawing::CRun *oox_run)
|
||||
{
|
||||
if (!oox_run)return;
|
||||
|
||||
@ -1428,7 +1531,7 @@ void OoxConverter::convert(OOX::Drawing::CParagraph *oox_paragraph)
|
||||
|
||||
odf_context()->text_context()->start_paragraph(styled);
|
||||
|
||||
for (unsigned int i=0; i< oox_paragraph->m_arrItems.size();i++)
|
||||
for (size_t i=0; i< oox_paragraph->m_arrItems.size();i++)
|
||||
{
|
||||
convert(oox_paragraph->m_arrItems[i]);
|
||||
}
|
||||
|
||||
@ -32,6 +32,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <cpdoccore/CPOptional.h>
|
||||
#include "../../../Common/DocxFormat/Source/Base/SmartPtr.h"
|
||||
|
||||
#include "../progressCallback.h"
|
||||
|
||||
@ -70,6 +71,7 @@ namespace OOX
|
||||
class WritingElement;
|
||||
class CTheme;
|
||||
class IFileContainer;
|
||||
class File;
|
||||
|
||||
namespace Drawing
|
||||
{
|
||||
@ -271,11 +273,6 @@ namespace OOX
|
||||
class CRichText;
|
||||
class CTextProperties;
|
||||
}
|
||||
//namespace Diagram
|
||||
//{
|
||||
// class CShape;
|
||||
// class CShapeTree;
|
||||
//}
|
||||
namespace Vml
|
||||
{
|
||||
class CShapeType;
|
||||
@ -320,6 +317,32 @@ namespace PPTX
|
||||
class SpPr;
|
||||
class ShapeStyle;
|
||||
class PrstTxWarp;
|
||||
class PrstGeom;
|
||||
class CustGeom;
|
||||
class BlipFill;
|
||||
class GradFill;
|
||||
class SolidFill;
|
||||
class PattFill;
|
||||
class EffectLst;
|
||||
class Ln;
|
||||
class Path2D;
|
||||
class PathBase;
|
||||
class TxBody;
|
||||
class BodyPr;
|
||||
class UniFill;
|
||||
class UniColor;
|
||||
class NvSpPr;
|
||||
class CNvPr;
|
||||
class CNvSpPr;
|
||||
class NvPr;
|
||||
class Paragraph;
|
||||
class TextParagraphPr;
|
||||
class TextSpacing;
|
||||
class RunProperties;
|
||||
class Run;
|
||||
class Fld;
|
||||
class Br;
|
||||
class MathParaWrapper;
|
||||
}
|
||||
}
|
||||
|
||||
@ -352,18 +375,21 @@ public:
|
||||
virtual cpdoccore::odf_writer::odf_conversion_context *odf_context() = 0;
|
||||
virtual OOX::CTheme *oox_theme() = 0;
|
||||
virtual std::wstring find_link_by_id(std::wstring sId, int t) = 0;
|
||||
virtual NSCommon::smart_ptr<OOX::File> find_file_by_id(std::wstring sId) = 0;
|
||||
|
||||
OOX::Spreadsheet::IFileContainer *oox_current_child_document_spreadsheet;
|
||||
OOX::IFileContainer *oox_current_child_document;
|
||||
|
||||
void convert (double oox_font_size, cpdoccore::_CP_OPT(cpdoccore::odf_types::font_size) & odf_font_size);
|
||||
bool convert (int indexSchemeColor, BYTE& ucA, BYTE& ucG, BYTE& ucB, BYTE& ucR);
|
||||
//.......................................................................................................................
|
||||
void convert(OOX::WritingElement *oox_unknown);
|
||||
void convert(double oox_font_size, cpdoccore::_CP_OPT(cpdoccore::odf_types::font_size) & odf_font_size);
|
||||
|
||||
//.drawing......................................................................................................................
|
||||
void convert(OOX::Drawing::CDiagrammParts *oox_diagramm);
|
||||
void convert(OOX::Drawing::CLockedCanvas *oox_canvas);
|
||||
void convert(OOX::Drawing::CShape *oox_shape);
|
||||
void convert(OOX::Drawing::CNonVisualDrawingProps *oox_cnvPr);
|
||||
void convert(OOX::Drawing::CShapeProperties *oox_spPr, OOX::Drawing::CShapeStyle* oox_sp_style = NULL);
|
||||
void convert(OOX::Drawing::CShapeProperties *oox_spPr, OOX::Drawing::CShapeStyle* oox_sp_style = NULL);
|
||||
void convert(OOX::Drawing::CGroupShapeProperties *oox_groupSpPr);
|
||||
void convert(OOX::Drawing::CTextBodyProperties *oox_bodyPr);
|
||||
|
||||
@ -402,11 +428,36 @@ public:
|
||||
void convert(OOX::Drawing::CRun *oox_run);
|
||||
void convert(OOX::Drawing::CRunProperty *oox_run_pr, cpdoccore::odf_writer::style_text_properties * text_properties);
|
||||
void convert(OOX::Drawing::CLineSpacing *oox_spacing, cpdoccore::odf_types::length_or_percent & length_or_percent);
|
||||
//.diagram(pptx)................................................................................................................................
|
||||
//.diagram & pptx................................................................................................................................
|
||||
void convert(PPTX::Logic::TextSpacing *oox_spacing, cpdoccore::odf_types::length_or_percent & length_or_percent);
|
||||
void convert(PPTX::Logic::SpTree *oox_shape_tree);
|
||||
void convert(PPTX::Logic::Shape *oox_shape);
|
||||
void convert(PPTX::Logic::SpPr *oox_spPr, PPTX::Logic::ShapeStyle* oox_sp_style = NULL);
|
||||
int convert(PPTX::Logic::PrstTxWarp *oox_text_preset);
|
||||
void convert(PPTX::Logic::PrstGeom *oox_geom);
|
||||
void convert(PPTX::Logic::CustGeom *oox_geom);
|
||||
void convert(PPTX::Logic::BlipFill *oox_fill);
|
||||
void convert(PPTX::Logic::GradFill *oox_fill);
|
||||
void convert(PPTX::Logic::SolidFill *oox_fill);
|
||||
void convert(PPTX::Logic::PattFill *oox_fill);
|
||||
void convert(PPTX::Logic::EffectLst *oox_effect_lst);
|
||||
void convert(PPTX::Logic::Ln *oox_line);
|
||||
void convert(PPTX::Logic::Path2D *oox_path2D);
|
||||
void convert(PPTX::Logic::PathBase *oox_path);
|
||||
void convert(PPTX::Logic::BodyPr *oox_bodyPr);
|
||||
void convert(PPTX::Logic::UniFill *oox_fill, PPTX::Logic::ShapeStyle* oox_sp_style = NULL);
|
||||
void convert(PPTX::Logic::UniColor *color, std::wstring & hexString, cpdoccore::_CP_OPT(double) & opacity);
|
||||
void convert(PPTX::Logic::NvSpPr *oox_nvSpPr);
|
||||
void convert(PPTX::Logic::CNvPr *oox_cnvPr);
|
||||
void convert(PPTX::Logic::CNvSpPr *oox_cnvSpPr);
|
||||
void convert(PPTX::Logic::NvPr *oox_nvPr);
|
||||
void convert(PPTX::Logic::Paragraph *oox_para);
|
||||
void convert(PPTX::Logic::TextParagraphPr *oox_para_props, cpdoccore::odf_writer::style_paragraph_properties * paragraph_properties);
|
||||
void convert(PPTX::Logic::RunProperties *oox_run_props, cpdoccore::odf_writer::style_text_properties * text_properties);
|
||||
void convert(PPTX::Logic::Run *oox_run);
|
||||
void convert(PPTX::Logic::Fld *oox_fld);
|
||||
void convert(PPTX::Logic::Br *oox_br);
|
||||
void convert(PPTX::Logic::MathParaWrapper *oox_math);
|
||||
//.chart............................................................................................................................
|
||||
void convert(OOX::Spreadsheet::CT_ChartSpace *oox_chart);
|
||||
void convert(OOX::Spreadsheet::CT_Title *ct_title);
|
||||
|
||||
@ -80,7 +80,7 @@ void OoxConverter::convert(OOX::Spreadsheet::CRichText* rich)
|
||||
odf_context()->chart_context()->start_text();
|
||||
OoxConverter::convert(rich->m_oBodyPr.GetPointer());
|
||||
|
||||
for (unsigned int i=0 ; i < rich->m_arrItems.size();i++)
|
||||
for (size_t i = 0; i < rich->m_arrItems.size();i++)
|
||||
{
|
||||
OoxConverter::convert(rich->m_arrItems[i]);
|
||||
}
|
||||
@ -93,7 +93,7 @@ void OoxConverter::convert(OOX::Spreadsheet::CTextProperties* txPr)
|
||||
odf_context()->chart_context()->start_text();
|
||||
OoxConverter::convert(txPr->m_oBodyPr.GetPointer());
|
||||
|
||||
for (unsigned int i=0 ; i < txPr->m_arrItems.size();i++)
|
||||
for (size_t i = 0; i < txPr->m_arrItems.size();i++)
|
||||
{
|
||||
OoxConverter::convert(txPr->m_arrItems[i]);
|
||||
}
|
||||
@ -167,7 +167,7 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_PlotArea* ct_plotArea)
|
||||
|
||||
convert(ct_plotArea->m_layout);
|
||||
///////////////////////
|
||||
for (unsigned int i=0; i< ct_plotArea->m_Items1.size(); i++)
|
||||
for (size_t i = 0; i < ct_plotArea->m_Items1.size(); i++)
|
||||
{
|
||||
if (!ct_plotArea->m_ItemsElementName1[i]) continue;
|
||||
switch(*ct_plotArea->m_ItemsElementName1[i])
|
||||
@ -178,7 +178,7 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_PlotArea* ct_plotArea)
|
||||
case OOX::Spreadsheet::itemschoicetype6VALAX: convert((OOX::Spreadsheet::CT_ValAx*)ct_plotArea->m_Items1[i]);break;
|
||||
}
|
||||
}
|
||||
for (unsigned int i=0; i< ct_plotArea->m_Items.size(); i++)//
|
||||
for (size_t i=0; i< ct_plotArea->m_Items.size(); i++)//
|
||||
{
|
||||
if (!ct_plotArea->m_ItemsElementName0[i]) continue;
|
||||
switch(*ct_plotArea->m_ItemsElementName0[i])
|
||||
@ -406,7 +406,7 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_Area3DChart *chart)
|
||||
if (chart->m_grouping && chart->m_grouping->m_val)
|
||||
odf_context()->chart_context()->set_chart_grouping(*chart->m_grouping->m_val);
|
||||
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
@ -425,11 +425,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_AreaChart *chart)
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i=0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
for (unsigned int i=0; i< chart->m_axId.size(); i++)
|
||||
for (size_t i=0; i < chart->m_axId.size(); i++)
|
||||
{
|
||||
odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
}
|
||||
@ -460,11 +460,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_Bar3DChart *chart)
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
for (unsigned int i=0; i< chart->m_axId.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
{
|
||||
odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
}
|
||||
@ -491,11 +491,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_BarChart *chart)
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
for (unsigned int i=0; i< chart->m_axId.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
{
|
||||
odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
}
|
||||
@ -513,11 +513,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_Line3DChart *chart)
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
for (unsigned int i=0; i< chart->m_axId.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
{
|
||||
odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
}
|
||||
@ -539,11 +539,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_LineChart *chart)
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
for (unsigned int i=0; i< chart->m_axId.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
{
|
||||
odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
}
|
||||
@ -558,11 +558,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_Pie3DChart *chart)
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
//for (long i=0; i< chart->m_axId.size(); i++)
|
||||
//for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
//{
|
||||
// odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
//}
|
||||
@ -576,11 +576,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_PieChart *chart)
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
//for (long i=0; i< chart->m_axId.size(); i++)
|
||||
//for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
//{
|
||||
// odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
//}
|
||||
@ -594,11 +594,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_Surface3DChart *chart)
|
||||
odf_context()->chart_context()->set_chart_3D(true);
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
for (unsigned int i=0; i< chart->m_axId.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
{
|
||||
odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
}
|
||||
@ -611,11 +611,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_SurfaceChart *chart)
|
||||
odf_context()->chart_context()->set_chart_type(L"surface");
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
for (unsigned int i=0; i< chart->m_axId.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
{
|
||||
odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
}
|
||||
@ -629,11 +629,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_BubbleChart *chart)
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
for (unsigned int i=0; i< chart->m_axId.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
{
|
||||
odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
}
|
||||
@ -649,7 +649,7 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_DoughnutChart *chart)
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
@ -668,11 +668,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_ScatterChart *chart)
|
||||
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
for (unsigned int i=0; i< chart->m_axId.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
{
|
||||
odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
}
|
||||
@ -689,11 +689,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_RadarChart *chart)
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
//for (long i=0; i< chart->m_axId.size(); i++)
|
||||
//for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
//{
|
||||
// odf_context()->chart_context()->add_axis_group_series(**chart->m_axId[i]->m_val->m_val);
|
||||
//}
|
||||
@ -707,11 +707,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_StockChart *chart)
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
for (unsigned int i=0; i< chart->m_axId.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
{
|
||||
odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
}
|
||||
@ -755,11 +755,11 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_OfPieChart *chart)
|
||||
|
||||
odf_context()->chart_context()->start_group_series();
|
||||
convert(chart->m_dLbls);
|
||||
for (unsigned int i=0; i< chart->m_ser.size(); i++)
|
||||
for (size_t i = 0; i < chart->m_ser.size(); i++)
|
||||
{
|
||||
convert(chart->m_ser[i]);
|
||||
}
|
||||
//for (long i=0; i< chart->m_axId.size(); i++)
|
||||
//for (size_t i = 0; i < chart->m_axId.size(); i++)
|
||||
//{
|
||||
// odf_context()->chart_context()->add_axis_group_series(*chart->m_axId[i]->m_val);
|
||||
//}
|
||||
@ -954,7 +954,7 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_Marker* marker, std::vector<OOX:
|
||||
long count_point = odf_context()->chart_context()->get_count_data_points_series();
|
||||
long current_point = 0;
|
||||
long set_point;
|
||||
for (unsigned int i =0 ;i < dPt.size(); i++)
|
||||
for (size_t i = 0; i < dPt.size(); i++)
|
||||
{
|
||||
if (dPt[i] == NULL)continue;
|
||||
|
||||
@ -996,7 +996,7 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_DLbls* ser_lbls)
|
||||
{
|
||||
if (ser_lbls == NULL)return;
|
||||
|
||||
for (unsigned int i=0; i< ser_lbls->m_Items.size(); i++)
|
||||
for (size_t i = 0; i < ser_lbls->m_Items.size(); i++)
|
||||
{
|
||||
bool boolVal = false;
|
||||
|
||||
@ -1140,7 +1140,7 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_NumData *num_data, bool categori
|
||||
//std::vector<double> data;
|
||||
std::vector<std::wstring> data;
|
||||
|
||||
for (unsigned int i=0; i < num_data->m_pt.size(); i++)
|
||||
for (size_t i = 0; i < num_data->m_pt.size(); i++)
|
||||
{
|
||||
if (num_data->m_pt[i] && num_data->m_pt[i]->m_v)
|
||||
{
|
||||
@ -1166,7 +1166,7 @@ void OoxConverter::convert(OOX::Spreadsheet::CT_StrData *str_data, bool categori
|
||||
if (str_data == NULL)return;
|
||||
std::vector<std::wstring> data;
|
||||
|
||||
for (unsigned int i=0; i < str_data->m_pt.size(); i++)
|
||||
for (size_t i = 0; i < str_data->m_pt.size(); i++)
|
||||
{
|
||||
if (str_data->m_pt[i] && str_data->m_pt[i]->m_v)
|
||||
data.push_back(*str_data->m_pt[i]->m_v);
|
||||
|
||||
@ -35,8 +35,6 @@
|
||||
#include "../../../Common/DocxFormat/Source/DocxFormat/Docx.h"
|
||||
#include "../../../Common/DocxFormat/Source/DocxFormat/External/HyperLink.h"
|
||||
#include "../../../Common/DocxFormat/Source/XlsxFormat/Chart/Chart.h"
|
||||
#include "../../../Common/DocxFormat/Source/DocxFormat/Diagram/DiagramDrawing.h"
|
||||
#include "../../../Common/DocxFormat/Source/DocxFormat/Diagram/DiagramData.h"
|
||||
|
||||
#include "VmlShapeTypes2Oox.h"
|
||||
|
||||
@ -103,7 +101,26 @@ OOX::CTheme* DocxConverter::oox_theme()
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
std::wstring DocxConverter::find_link_by_id (std::wstring sId, int type)
|
||||
|
||||
NSCommon::smart_ptr<OOX::File> DocxConverter::find_file_by_id(std::wstring sId)
|
||||
{
|
||||
OOX::CDocument *oox_doc = docx_document->GetDocument();
|
||||
|
||||
smart_ptr<OOX::File> oFile;
|
||||
if (oox_doc)
|
||||
{
|
||||
if (oox_current_child_document_spreadsheet)
|
||||
oFile = oox_current_child_document_spreadsheet->Find(sId);
|
||||
if (oox_current_child_document)
|
||||
oFile = oox_current_child_document->Find(sId);
|
||||
else
|
||||
oFile = oox_doc->Find(sId);
|
||||
}
|
||||
|
||||
return oFile;
|
||||
}
|
||||
|
||||
std::wstring DocxConverter::find_link_by_id (std::wstring sId, int type)
|
||||
{
|
||||
OOX::CDocument *oox_doc = docx_document->GetDocument();
|
||||
|
||||
@ -344,11 +361,6 @@ void DocxConverter::convert(OOX::WritingElement *oox_unknown)
|
||||
OOX::Logic::CLockedCanvas* pLockedCanvas= static_cast<OOX::Logic::CLockedCanvas*>(oox_unknown);
|
||||
convert(pLockedCanvas);
|
||||
}break;
|
||||
case OOX::et_dgm_DiagrammParts:
|
||||
{
|
||||
OOX::Drawing::CDiagrammParts* pDiagrammParts = static_cast<OOX::Drawing::CDiagrammParts*>(oox_unknown);
|
||||
convert(pDiagrammParts);
|
||||
}break;
|
||||
case OOX::et_w_commentRangeEnd:
|
||||
{
|
||||
OOX::Logic::CCommentRangeEnd* pCommEnd = static_cast<OOX::Logic::CCommentRangeEnd*>(oox_unknown);
|
||||
@ -2825,51 +2837,6 @@ void DocxConverter::convert(OOX::Drawing::CPicture * oox_picture)
|
||||
odt_context->drawing_context()->end_image();
|
||||
odt_context->drawing_context()->end_drawing();
|
||||
}
|
||||
void DocxConverter::convert(OOX::Drawing::CDiagrammParts *oox_diagramm)
|
||||
{
|
||||
if (oox_diagramm == NULL)return;
|
||||
if (oox_diagramm->m_oRId_Data.IsInit() == false) return;
|
||||
|
||||
smart_ptr<OOX::File> oFile;
|
||||
|
||||
if (oox_current_child_document)
|
||||
oFile = docx_document->GetDocument()->Find(oox_diagramm->m_oRId_Data->GetValue());
|
||||
else
|
||||
oFile = docx_document->GetDocument()->Find(oox_diagramm->m_oRId_Data->GetValue());
|
||||
|
||||
NSCommon::nullable<std::wstring> id_drawing;
|
||||
|
||||
if (oFile.IsInit())
|
||||
{
|
||||
OOX::CDiagramData* pDiagData = (OOX::CDiagramData*)oFile.operator->();
|
||||
|
||||
if ((pDiagData) && (pDiagData->m_oExtLst.IsInit()))
|
||||
{
|
||||
for (int i = 0 ; i < pDiagData->m_oExtLst->m_arrExt.size(); i++)
|
||||
{
|
||||
if ( pDiagData->m_oExtLst->m_arrExt[i]->m_oDataModelExt.IsInit())
|
||||
{
|
||||
id_drawing = pDiagData->m_oExtLst->m_arrExt[i]->m_oDataModelExt->m_oRelId;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (id_drawing.is_init() == false) return;
|
||||
|
||||
oFile = docx_document->GetDocument()->Find( *id_drawing );
|
||||
|
||||
if (oFile.is_init() && OOX::FileTypes::DiagDrawing == oFile->type())
|
||||
{
|
||||
OOX::CDiagramDrawing * diag_drawing = (OOX::CDiagramDrawing*)oFile.operator->();
|
||||
|
||||
oox_current_child_document = diag_drawing;
|
||||
|
||||
OoxConverter::convert(diag_drawing->m_oShapeTree.GetPointer());
|
||||
|
||||
oox_current_child_document = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void DocxConverter::convert(OOX::Drawing::CChart * oox_chart)
|
||||
{
|
||||
if (oox_chart == NULL)return;
|
||||
@ -2892,7 +2859,7 @@ void DocxConverter::convert(OOX::Drawing::CChart * oox_chart)
|
||||
odt_context->drawing_context()->start_drawing();
|
||||
odt_context->drawing_context()->start_object(odf_context()->get_next_name_object());
|
||||
|
||||
double width =0, height =0;
|
||||
_CP_OPT(double) width, height;
|
||||
odt_context->drawing_context()->get_size(width, height);
|
||||
|
||||
OoxConverter::convert(pChart->m_oChartSpace.m_oSpPr.GetPointer());
|
||||
|
||||
@ -148,6 +148,7 @@ namespace Oox2Odf
|
||||
virtual odf_writer::odf_conversion_context *odf_context();
|
||||
virtual OOX::CTheme *oox_theme();
|
||||
virtual std::wstring find_link_by_id (std::wstring sId, int t);
|
||||
virtual NSCommon::smart_ptr<OOX::File> find_file_by_id(std::wstring sId);
|
||||
|
||||
void convert(OOX::WritingElement *oox_unknown);
|
||||
private:
|
||||
@ -224,7 +225,6 @@ namespace Oox2Odf
|
||||
void convert(OOX::Drawing::CGraphic *oox_graphic);
|
||||
void convert(OOX::Drawing::CChart *oox_chart);
|
||||
void convert(OOX::Drawing::CPicture *oox_picture);
|
||||
void convert(OOX::Drawing::CDiagrammParts *oox_diagramm);
|
||||
|
||||
void convert(SimpleTypes::CTheme<> *oox_font_theme,_CP_OPT(std::wstring) & odf_font_name);
|
||||
void convert(ComplexTypes::Word::CColor *color, _CP_OPT(odf_types::color) & odf_color);
|
||||
|
||||
@ -94,13 +94,26 @@ OOX::CTheme* XlsxConverter::oox_theme()
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
std::wstring XlsxConverter::find_link_by_id (std::wstring sId, int type)
|
||||
smart_ptr<OOX::File> XlsxConverter::find_file_by_id(std::wstring sId)
|
||||
{
|
||||
smart_ptr<OOX::File> oFile;
|
||||
|
||||
if (xlsx_current_drawing)
|
||||
oFile = xlsx_current_drawing->Find(sId);
|
||||
else if (oox_current_child_document)
|
||||
oFile = oox_current_child_document->Find(sId);
|
||||
else if (oox_current_child_document_spreadsheet)
|
||||
oFile = oox_current_child_document_spreadsheet->Find(sId);
|
||||
|
||||
return oFile;
|
||||
}
|
||||
std::wstring XlsxConverter::find_link_by_id (std::wstring sId, int type)
|
||||
{
|
||||
std::wstring ref;
|
||||
if (type==1)
|
||||
|
||||
if (type == 1)
|
||||
{
|
||||
if (xlsx_current_drawing)
|
||||
if (ref.empty() && xlsx_current_drawing)
|
||||
{
|
||||
smart_ptr<OOX::File> oFile = xlsx_current_drawing->Find(sId);
|
||||
if (oFile.IsInit() && OOX::Spreadsheet::FileTypes::Image == oFile->type())
|
||||
@ -174,7 +187,7 @@ void XlsxConverter::convert_sheets()
|
||||
}
|
||||
if(Workbook->m_oSheets.IsInit())
|
||||
{
|
||||
for(unsigned int i = 0, length = Workbook->m_oSheets->m_arrItems.size(); i < length; ++i)
|
||||
for(size_t i = 0, length = Workbook->m_oSheets->m_arrItems.size(); i < length; ++i)
|
||||
{
|
||||
OOX::Spreadsheet::CSheet* pSheet = Workbook->m_oSheets->m_arrItems[i];
|
||||
|
||||
@ -535,7 +548,7 @@ void XlsxConverter::convert(OOX::Spreadsheet::CSi* oox_rtf_text)
|
||||
|
||||
ods_context->start_cell_text();
|
||||
|
||||
for(int i = 0; i < oox_rtf_text->m_arrItems.size(); ++i)
|
||||
for(size_t i = 0; i < oox_rtf_text->m_arrItems.size(); ++i)
|
||||
{
|
||||
convert(oox_rtf_text->m_arrItems[i]);
|
||||
}
|
||||
@ -916,7 +929,7 @@ void XlsxConverter::convert(OOX::Spreadsheet::CSheetViews *oox_sheet_views)
|
||||
bool bPaneY = false;
|
||||
int ActiveCellX = -1, ActiveCellY = -1;
|
||||
|
||||
for (int j = 0; j < sheet_view->m_arrItems.size(); j++)
|
||||
for (size_t j = 0; j < sheet_view->m_arrItems.size(); j++)
|
||||
{
|
||||
OOX::Spreadsheet::CSelection *selection = sheet_view->m_arrItems[j];
|
||||
|
||||
@ -1903,55 +1916,60 @@ void XlsxConverter::convert(OOX::Spreadsheet::CShape* oox_shape)
|
||||
void XlsxConverter::convert(OOX::Spreadsheet::CGraphicFrame* oox_graphic_frame)
|
||||
{
|
||||
if (!oox_graphic_frame)return;
|
||||
|
||||
if (!oox_graphic_frame->m_oGraphic.IsInit()) return;
|
||||
if (!oox_graphic_frame->m_oGraphic->m_oGraphicData.IsInit()) return;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
ods_context->drawing_context()->start_drawing();
|
||||
|
||||
ods_context->drawing_context()->start_object(ods_context->get_next_name_object());
|
||||
{
|
||||
double width =0, height =0;
|
||||
ods_context->drawing_context()->get_size(width, height);
|
||||
|
||||
if (oox_graphic_frame->m_oNvGraphicFramePr.IsInit())
|
||||
{
|
||||
if (oox_graphic_frame->m_oNvGraphicFramePr->m_oCNvPr.IsInit())
|
||||
{
|
||||
OoxConverter::convert(oox_graphic_frame->m_oNvGraphicFramePr->m_oCNvPr.GetPointer());
|
||||
}
|
||||
}
|
||||
if (oox_graphic_frame->m_oChartGraphic.IsInit() && oox_graphic_frame->m_oChartGraphic->m_oGraphicData.IsInit())
|
||||
{
|
||||
if (oox_graphic_frame->m_oChartGraphic->m_oGraphicData->m_oChart.IsInit() && oox_graphic_frame->m_oChartGraphic->m_oGraphicData->m_oChart->m_oRId.IsInit())
|
||||
{
|
||||
//диаграмма
|
||||
std::wstring sId = oox_graphic_frame->m_oChartGraphic->m_oGraphicData->m_oChart->m_oRId->GetValue();
|
||||
|
||||
smart_ptr<OOX::File> oFile = xlsx_current_drawing->Find(sId);
|
||||
if (oFile.IsInit() && OOX::Spreadsheet::FileTypes::Charts == oFile->type())
|
||||
{
|
||||
OOX::Spreadsheet::CChartSpace* pChart = (OOX::Spreadsheet::CChartSpace*)oFile.operator->();
|
||||
|
||||
if (pChart)
|
||||
{
|
||||
OoxConverter::convert(pChart->m_oChartSpace.m_oSpPr.GetPointer());
|
||||
|
||||
oox_current_child_document_spreadsheet = dynamic_cast<OOX::Spreadsheet::IFileContainer*>(pChart);
|
||||
|
||||
odf_context()->start_chart();
|
||||
odf_context()->chart_context()->set_chart_size(width, height);
|
||||
OoxConverter::convert(&pChart->m_oChartSpace);
|
||||
odf_context()->end_chart();
|
||||
|
||||
oox_current_child_document_spreadsheet = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
//могут быть и другие типы объектов
|
||||
}
|
||||
if (oox_graphic_frame->m_oNvGraphicFramePr.IsInit())
|
||||
{
|
||||
OoxConverter::convert(oox_graphic_frame->m_oNvGraphicFramePr->m_oCNvPr.GetPointer());
|
||||
}
|
||||
|
||||
if ( OOX::Drawing::graphictypeChart == oox_graphic_frame->m_oGraphic->m_oGraphicData->m_eGraphicType)
|
||||
{
|
||||
convert(oox_graphic_frame->m_oGraphic->m_oGraphicData->m_oChart.GetPointer());
|
||||
}
|
||||
else if ( OOX::Drawing::graphictypeDiagram == oox_graphic_frame->m_oGraphic->m_oGraphicData->m_eGraphicType)
|
||||
{
|
||||
OoxConverter::convert(oox_graphic_frame->m_oGraphic->m_oGraphicData->m_oDiagrammParts.GetPointer());
|
||||
}
|
||||
ods_context->drawing_context()->end_object();
|
||||
ods_context->drawing_context()->end_drawing();
|
||||
}
|
||||
|
||||
void XlsxConverter::convert(OOX::Spreadsheet::CGraphicChart *oox_chart)
|
||||
{
|
||||
if (!oox_chart) return;
|
||||
if( !oox_chart->m_oRId.IsInit()) return;
|
||||
|
||||
_CP_OPT(double) width, height;
|
||||
odf_context()->drawing_context()->get_size (width, height);
|
||||
|
||||
smart_ptr<OOX::File> oFile = xlsx_current_drawing->Find(oox_chart->m_oRId->GetValue());
|
||||
if (oFile.IsInit() && OOX::Spreadsheet::FileTypes::Charts == oFile->type())
|
||||
{
|
||||
OOX::Spreadsheet::CChartSpace* pChart = (OOX::Spreadsheet::CChartSpace*)oFile.operator->();
|
||||
|
||||
if (pChart)
|
||||
{
|
||||
oox_current_child_document_spreadsheet = dynamic_cast<OOX::Spreadsheet::IFileContainer*>(pChart);
|
||||
odf_context()->drawing_context()->start_object(ods_context->get_next_name_object());
|
||||
{
|
||||
odf_context()->start_chart();
|
||||
odf_context()->chart_context()->set_chart_size(width, height);
|
||||
|
||||
OoxConverter::convert(pChart->m_oChartSpace.m_oSpPr.GetPointer());
|
||||
|
||||
OoxConverter::convert(&pChart->m_oChartSpace);
|
||||
odf_context()->end_chart();
|
||||
}
|
||||
odf_context()->drawing_context()->end_object();
|
||||
oox_current_child_document_spreadsheet = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void XlsxConverter::convert(OOX::Spreadsheet::CConnShape* oox_shape)
|
||||
{
|
||||
|
||||
@ -78,6 +78,7 @@ namespace OOX
|
||||
class CGroupShape;
|
||||
class CCommentItem;
|
||||
class CGraphicFrame;
|
||||
class CGraphicChart;
|
||||
class CDefinedName;
|
||||
class CConditionalFormatting;
|
||||
class CConditionalFormattingRule;
|
||||
@ -138,6 +139,7 @@ namespace Oox2Odf
|
||||
virtual odf_writer::odf_conversion_context *odf_context();
|
||||
virtual OOX::CTheme *oox_theme();
|
||||
virtual std::wstring find_link_by_id (std::wstring sId, int t);
|
||||
virtual NSCommon::smart_ptr<OOX::File> find_file_by_id(std::wstring sId);
|
||||
|
||||
void convert(OOX::Spreadsheet::WritingElement *oox_unknown);
|
||||
private:
|
||||
@ -199,6 +201,7 @@ namespace Oox2Odf
|
||||
void convert(OOX::Spreadsheet::CConnShape *oox_conn_shape);
|
||||
void convert(OOX::Spreadsheet::CGraphicFrame *oox_graphic_frame);
|
||||
void convert(OOX::Spreadsheet::CGroupShape *oox_group_shape);
|
||||
void convert(OOX::Spreadsheet::CGraphicChart *oox_chart);
|
||||
|
||||
void convert(OOX::Spreadsheet::CConditionalFormatting *oox_cond_fmt);
|
||||
void convert(OOX::Spreadsheet::CConditionalFormattingRule *oox_cond_rule);
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="../../../ASCOfficeOdfFile/include;../../../ASCOfficeOdfFile/src/odf/datatypes"
|
||||
PreprocessorDefinitions="NDEBUG;_LIB;_USE_XMLLITE_READER_;USE_LITE_READER;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;BUILD_CONFIG_FULL_VERSION;DONT_WRITE_EMBEDDED_FONTS"
|
||||
PreprocessorDefinitions="NDEBUG;_LIB;_USE_XMLLITE_READER_;USE_LITE_READER;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;DONT_WRITE_EMBEDDED_FONTS"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
|
||||
@ -21,7 +21,6 @@ include($$PWD/../../../Common/3dParty/boost/boost.pri)
|
||||
|
||||
DEFINES += UNICODE \
|
||||
_UNICODE \
|
||||
USE_ATL_CSTRING \
|
||||
PPTX_DEF \
|
||||
PPT_DEF \
|
||||
ENABLE_PPT_TO_PPTX_CONVERT \
|
||||
@ -31,7 +30,6 @@ DEFINES += UNICODE \
|
||||
_USE_XMLLITE_READER_ \
|
||||
_PRESENTATION_WRITER_ \
|
||||
_SVG_CONVERT_TO_IMAGE_ \
|
||||
BUILD_CONFIG_FULL_VERSION \
|
||||
DONT_WRITE_EMBEDDED_FONTS
|
||||
#DISABLE_FILE_DOWNLOADER
|
||||
|
||||
|
||||
@ -40,7 +40,6 @@
|
||||
6967B00D1E279D8D00A129E2 /* ShapeWriter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeWriter.cpp; sourceTree = "<group>"; };
|
||||
6967B00E1E279D8D00A129E2 /* ShapeWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeWriter.h; sourceTree = "<group>"; };
|
||||
6967B00F1E279D8D00A129E2 /* StylesWriter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StylesWriter.h; sourceTree = "<group>"; };
|
||||
6967B0111E279D8D00A129E2 /* AudioOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioOverlay.h; sourceTree = "<group>"; };
|
||||
6967B0121E279D8D00A129E2 /* ClassesAtom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClassesAtom.h; sourceTree = "<group>"; };
|
||||
6967B0131E279D8D00A129E2 /* CommonZLib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommonZLib.h; sourceTree = "<group>"; };
|
||||
6967B0141E279D8D00A129E2 /* PPTDocumentInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PPTDocumentInfo.h; sourceTree = "<group>"; };
|
||||
@ -214,7 +213,6 @@
|
||||
6967B0101E279D8D00A129E2 /* Reader */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
6967B0111E279D8D00A129E2 /* AudioOverlay.h */,
|
||||
6967B0121E279D8D00A129E2 /* ClassesAtom.h */,
|
||||
6967B0131E279D8D00A129E2 /* CommonZLib.h */,
|
||||
6967B0141E279D8D00A129E2 /* PPTDocumentInfo.h */,
|
||||
|
||||
@ -47,12 +47,16 @@ struct SRecordHeader
|
||||
|
||||
SRecordHeader()
|
||||
{
|
||||
RecVersion = RecInstance = RecType = RecLen = 0;
|
||||
RecVersion = 0;
|
||||
RecInstance = RecType = 0;
|
||||
RecLen = 0;
|
||||
}
|
||||
|
||||
bool ReadFromStream(POLE::Stream * pStream)
|
||||
{
|
||||
RecVersion = RecInstance = RecType = RecLen = 0;
|
||||
RecVersion = 0;
|
||||
RecInstance = RecType = 0;
|
||||
RecLen = 0;
|
||||
|
||||
POLE::uint64 nRd = 0;
|
||||
|
||||
@ -69,11 +73,11 @@ struct SRecordHeader
|
||||
|
||||
nRd = pStream->read((unsigned char*)&(RecLen), 4);
|
||||
|
||||
long sz = pStream->size()-pStream->tell();
|
||||
POLE::uint64 sz = pStream->size()-pStream->tell();
|
||||
|
||||
if (RecLen > sz )
|
||||
{
|
||||
RecLen = sz;
|
||||
RecLen = (UINT)sz;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@ -56,7 +56,7 @@
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""../../../DesktopEditor/freetype-2.5.2/include""
|
||||
PreprocessorDefinitions="_DEBUG;_LIB;_USE_MATH_DEFINES;PPTX_DEF;PPT_DEF;ENABLE_PPT_TO_PPTX_CONVERT;PPT_FORMAT;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;DONT_WRITE_EMBEDDED_FONTS"
|
||||
PreprocessorDefinitions="_DEBUG;_LIB;_USE_MATH_DEFINES;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;PPTX_DEF;PPT_DEF;ENABLE_PPT_TO_PPTX_CONVERT;AVS_USE_CONVERT_PPTX_TOCUSTOM_VML;DONT_WRITE_EMBEDDED_FONTS"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
|
||||
@ -992,6 +992,343 @@ HRESULT CDrawingConverter::AddShapeType(const std::wstring& bsXml)
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
std::wstring CDrawingConverter::ConvertObjectToVml (const std::wstring& sXml)
|
||||
{
|
||||
std::wstring sBegin(L"<main xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:p=\"urn:schemas-microsoft-com:office:powerpoint\" xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:w10=\"urn:schemas-microsoft-com:office:word\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:ve=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:w15=\"http://schemas.microsoft.com/office/word/2012/wordml\" xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:a14=\"http://schemas.microsoft.com/office/drawing/2010/main\" xmlns:pic=\"http://schemas.openxmlformats.org/drawingml/2006/picture\" xmlns:xdr=\"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing\">");
|
||||
|
||||
std::wstring sEnd(L"</main>");
|
||||
std::wstring strXml = sBegin + sXml + sEnd;
|
||||
|
||||
XmlUtils::CXmlNode oMainNode;
|
||||
if (!oMainNode.FromXmlString(strXml))
|
||||
return L"";
|
||||
|
||||
XmlUtils::CXmlNodes oNodes;
|
||||
if (!oMainNode.GetNodes(L"*", oNodes))
|
||||
return L"";
|
||||
|
||||
PPTX::Logic::SpTreeElem oElem;
|
||||
|
||||
std::wstring *pMainProps = new std::wstring();
|
||||
std::wstring **ppMainProps = &pMainProps;
|
||||
|
||||
for (LONG i = 0; i < oNodes.GetCount(); ++i)
|
||||
{
|
||||
XmlUtils::CXmlNode oParseNode;
|
||||
oNodes.GetAt(i, oParseNode);
|
||||
|
||||
std::wstring strFullName = oParseNode.GetName();
|
||||
std::wstring strNS = XmlUtils::GetNamespace(strFullName);
|
||||
std::wstring strName = XmlUtils::GetNameNoNS(strFullName);
|
||||
|
||||
while (true)
|
||||
{
|
||||
if (strName == L"drawing")
|
||||
{
|
||||
XmlUtils::CXmlNode oNodeAnchorInline = oParseNode.ReadNodeNoNS(L"anchor");
|
||||
if (!oNodeAnchorInline.IsValid())
|
||||
{
|
||||
oNodeAnchorInline = oParseNode.ReadNodeNoNS(L"inline");
|
||||
}
|
||||
|
||||
if (oNodeAnchorInline.IsValid())
|
||||
{
|
||||
XmlUtils::CXmlNode oNodeExt;
|
||||
|
||||
m_pBinaryWriter->m_lXCurShape = 0;
|
||||
m_pBinaryWriter->m_lYCurShape = 0;
|
||||
|
||||
if (oNodeAnchorInline.GetNode(L"wp:extent", oNodeExt))
|
||||
{
|
||||
m_pBinaryWriter->m_lCxCurShape = oNodeExt.ReadAttributeInt(L"cx");
|
||||
m_pBinaryWriter->m_lCyCurShape = oNodeExt.ReadAttributeInt(L"cy");
|
||||
}
|
||||
XmlUtils::CXmlNode oNodeDocPr;
|
||||
if (oNodeAnchorInline.GetNode(L"wp:docPr", oNodeDocPr))
|
||||
{//vml shapes without id .. reset all id
|
||||
oNodeDocPr.SetAttributeInt(L"id", m_lNextId++);
|
||||
|
||||
}
|
||||
SendMainProps(oNodeAnchorInline.GetXml(), ppMainProps);
|
||||
|
||||
XmlUtils::CXmlNode oNodeGraphic = oNodeAnchorInline.ReadNodeNoNS(L"graphic");
|
||||
XmlUtils::CXmlNode oNodeGraphicData = oNodeGraphic.ReadNodeNoNS(L"graphicData");
|
||||
|
||||
if (oNodeGraphicData.IsValid())
|
||||
{
|
||||
XmlUtils::CXmlNodes oChilds;
|
||||
oNodeGraphicData.GetNodes(L"*", oChilds);
|
||||
|
||||
if (1 == oChilds.GetCount())
|
||||
{
|
||||
XmlUtils::CXmlNode oNodeContent;
|
||||
oChilds.GetAt(0, oNodeContent);
|
||||
|
||||
std::wstring strCurrentRelsPath = m_strCurrentRelsPath;
|
||||
|
||||
if (L"dgm:relIds" == oNodeContent.GetName() && m_pBinaryWriter->m_pCommonRels->is_init())
|
||||
{
|
||||
doc_LoadDiagram(&oElem, oNodeContent, ppMainProps, true);
|
||||
}
|
||||
else if (L"wpc:wpc" == oNodeContent.GetName())
|
||||
{
|
||||
PPTX::Logic::SpTree* pTree = new PPTX::Logic::SpTree();
|
||||
|
||||
pTree->grpSpPr.xfrm = new PPTX::Logic::Xfrm();
|
||||
pTree->grpSpPr.xfrm->offX = m_pBinaryWriter->m_lXCurShape;
|
||||
pTree->grpSpPr.xfrm->offY = m_pBinaryWriter->m_lYCurShape;
|
||||
pTree->grpSpPr.xfrm->extX = m_pBinaryWriter->m_lCxCurShape;
|
||||
pTree->grpSpPr.xfrm->extY = m_pBinaryWriter->m_lCyCurShape;
|
||||
|
||||
pTree->fromXML(oNodeContent);
|
||||
oElem.InitElem(pTree);
|
||||
}
|
||||
else
|
||||
{
|
||||
oElem = oNodeContent;
|
||||
|
||||
#ifdef AVS_OFFICE_DRAWING_DUMP_PPTX_TO_PPT_TEST
|
||||
std::wstring strVMLShapeXml = GetVMLShapeXml(oElem);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (strCurrentRelsPath != m_strCurrentRelsPath)
|
||||
{
|
||||
m_strCurrentRelsPath = strCurrentRelsPath;
|
||||
SetCurrentRelsPath();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
else if (strName == L"background")
|
||||
{
|
||||
doc_LoadShape(&oElem, oParseNode, ppMainProps, false);
|
||||
break;
|
||||
}
|
||||
else if (strName == L"pict" || strName == L"object")
|
||||
{
|
||||
XmlUtils::CXmlNodes oChilds;
|
||||
if (oParseNode.GetNodes(L"*", oChilds))
|
||||
{
|
||||
LONG lChildsCount = oChilds.GetCount();
|
||||
bool bIsFound = false;
|
||||
PPTX::Logic::SpTreeElem* pElem = NULL;
|
||||
PPTX::Logic::COLEObject* pOle = NULL;
|
||||
for (LONG k = 0; k < lChildsCount; k++)
|
||||
{
|
||||
XmlUtils::CXmlNode oNodeP;
|
||||
oChilds.GetAt(k, oNodeP);
|
||||
|
||||
std::wstring strNameP = XmlUtils::GetNameNoNS(oNodeP.GetName());
|
||||
if (L"shape" == strNameP ||
|
||||
L"rect" == strNameP ||
|
||||
L"oval" == strNameP ||
|
||||
L"line" == strNameP ||
|
||||
L"background"== strNameP ||
|
||||
L"roundrect" == strNameP ||
|
||||
L"polyline" == strNameP)
|
||||
{
|
||||
if(NULL == pElem)
|
||||
{
|
||||
pElem = new PPTX::Logic::SpTreeElem;
|
||||
doc_LoadShape(pElem, oNodeP, ppMainProps, true);
|
||||
|
||||
#ifdef AVS_OFFICE_DRAWING_DUMP_XML_TEST
|
||||
NSBinPptxRW::CXmlWriter oXmlW;
|
||||
pElem->toXmlWriter(&oXmlW);
|
||||
oXmlW.m_lDocType = XMLWRITER_DOC_TYPE_DOCX;
|
||||
std::wstring strXmlTemp = oXmlW.GetXmlString();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else if (L"OLEObject" == strNameP)
|
||||
{
|
||||
pOle = new PPTX::Logic::COLEObject();
|
||||
pOle->fromXML(oNodeP);
|
||||
}
|
||||
else if (L"group" == strNameP)
|
||||
{
|
||||
if(NULL == pElem)
|
||||
{
|
||||
pElem = new PPTX::Logic::SpTreeElem;
|
||||
doc_LoadGroup(pElem, oNodeP, ppMainProps, true);
|
||||
|
||||
#ifdef AVS_OFFICE_DRAWING_DUMP_XML_TEST
|
||||
NSBinPptxRW::CXmlWriter oXmlW;
|
||||
oXmlW.m_lDocType = XMLWRITER_DOC_TYPE_DOCX;
|
||||
pElem->toXmlWriter(&oXmlW);
|
||||
std::wstring strXmlTemp = oXmlW.GetXmlString();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
else if (L"shapetype" == strNameP)
|
||||
{
|
||||
AddShapeType(oNodeP.GetXml());
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (bIsFound)
|
||||
break;
|
||||
}
|
||||
if(NULL != pElem)
|
||||
{
|
||||
if(NULL != pOle && pOle->m_sProgId.IsInit() && (pOle->m_oId.IsInit() || pOle->m_sFilepathBin.IsInit()))
|
||||
{
|
||||
PPTX::Logic::Shape* pShape = dynamic_cast<PPTX::Logic::Shape*>(pElem->GetElem().operator ->());
|
||||
if(NULL != pShape && pShape->spPr.Fill.Fill.IsInit())
|
||||
{
|
||||
bool bImageOle = false;
|
||||
|
||||
if (pShape->spPr.Fill.m_type == PPTX::Logic::UniFill::blipFill) bImageOle = true;
|
||||
|
||||
PPTX::Logic::BlipFill oBlipFillNew;
|
||||
|
||||
if (!bImageOle)
|
||||
oBlipFillNew.blip = new PPTX::Logic::Blip();
|
||||
|
||||
const PPTX::Logic::BlipFill& oBlipFill = bImageOle ? pShape->spPr.Fill.Fill.as<PPTX::Logic::BlipFill>() :
|
||||
oBlipFillNew;
|
||||
if(oBlipFill.blip.IsInit())
|
||||
{
|
||||
if (pOle->m_sFilepathBin.IsInit())
|
||||
{
|
||||
oBlipFill.blip->oleFilepathBin = pOle->m_sFilepathBin.get();
|
||||
}
|
||||
else if (pOle->m_oId.IsInit())
|
||||
{
|
||||
oBlipFill.blip->oleRid = pOle->m_oId.get().ToString();
|
||||
}
|
||||
if(strName == L"object")
|
||||
{
|
||||
int nDxaOrig = oParseNode.ReadAttributeInt(L"w:dxaOrig");
|
||||
int nDyaOrig = oParseNode.ReadAttributeInt(L"w:dyaOrig");
|
||||
if (nDxaOrig > 0 && nDyaOrig > 0)
|
||||
{
|
||||
pOle->m_oDxaOrig = nDxaOrig;
|
||||
pOle->m_oDyaOrig = nDyaOrig;
|
||||
}
|
||||
}
|
||||
|
||||
PPTX::Logic::Pic *newElem = new PPTX::Logic::Pic();
|
||||
|
||||
newElem->blipFill = oBlipFill;
|
||||
newElem->spPr = pShape->spPr;
|
||||
newElem->style = pShape->style;
|
||||
newElem->oleObject.reset(pOle);
|
||||
pOle = NULL;
|
||||
|
||||
pElem->InitElem(newElem);
|
||||
}
|
||||
}
|
||||
}
|
||||
m_pBinaryWriter->WriteRecord1(1, *pElem);
|
||||
}
|
||||
RELEASEOBJECT(pElem)
|
||||
RELEASEOBJECT(pOle)
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
else if (strName == L"oleObj")
|
||||
{
|
||||
nullable<PPTX::Logic::Pic> pic = oParseNode.ReadNode(_T("p:pic"));
|
||||
if (pic.is_init())
|
||||
{
|
||||
pic->fromXMLOle(oParseNode);
|
||||
|
||||
m_pBinaryWriter->WriteRecord2(1, pic);
|
||||
}
|
||||
break;
|
||||
}
|
||||
else if (strName == L"AlternateContent")
|
||||
{
|
||||
XmlUtils::CXmlNode oNodeDr;
|
||||
if (oParseNode.GetNode(L"w:drawing", oNodeDr))
|
||||
{
|
||||
strName = L"drawing";
|
||||
oParseNode = oNodeDr;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (oParseNode.GetNode(L"mc:Choice", oNodeDr))
|
||||
{
|
||||
oParseNode = oNodeDr;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (oParseNode.GetNode(L"w:pict", oNodeDr))
|
||||
{
|
||||
strName = L"pict";
|
||||
oParseNode = oNodeDr;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (oParseNode.GetNode(L"w:object", oNodeDr))
|
||||
{
|
||||
strName = L"object";
|
||||
oParseNode = oNodeDr;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (oParseNode.GetNode(L"xdr:sp", oNodeDr))
|
||||
{
|
||||
strName = L"sp";
|
||||
oParseNode = oNodeDr;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (oParseNode.GetNode(L"mc:Fallback", oNodeDr))
|
||||
{
|
||||
oParseNode = oNodeDr;
|
||||
continue;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
oElem = oParseNode;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (oElem.is_init() == false) return L"";
|
||||
|
||||
NSBinPptxRW::CXmlWriter oXmlWriter;
|
||||
oXmlWriter.m_lDocType = XMLWRITER_DOC_TYPE_DOCX;
|
||||
oXmlWriter.m_bIsUseOffice2007 = true;
|
||||
|
||||
oXmlWriter.m_bIsTop = (1 == m_nCurrentIndexObject) ? true : false;
|
||||
|
||||
if (NULL == m_pOOXToVMLRenderer)
|
||||
m_pOOXToVMLRenderer = new COOXToVMLGeometry();
|
||||
oXmlWriter.m_pOOXToVMLRenderer = m_pOOXToVMLRenderer;
|
||||
|
||||
oXmlWriter.WriteString(L"<w:pict>");
|
||||
|
||||
if (oElem.is<PPTX::Logic::SpTree>())
|
||||
{
|
||||
ConvertGroupVML(oElem, *pMainProps, oXmlWriter);
|
||||
}
|
||||
else if (oElem.is<PPTX::Logic::Shape>())
|
||||
{
|
||||
ConvertShapeVML(oElem, *pMainProps, oXmlWriter);
|
||||
}
|
||||
|
||||
oXmlWriter.WriteString(L"</w:pict>");
|
||||
|
||||
delete pMainProps;
|
||||
|
||||
return oXmlWriter.GetXmlString();
|
||||
}
|
||||
|
||||
HRESULT CDrawingConverter::AddObject(const std::wstring& bsXml, std::wstring** pMainProps)
|
||||
{
|
||||
std::wstring sBegin(L"<main xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:p=\"urn:schemas-microsoft-com:office:powerpoint\" xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:x=\"urn:schemas-microsoft-com:office:excel\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:w10=\"urn:schemas-microsoft-com:office:word\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:ve=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:w15=\"http://schemas.microsoft.com/office/word/2012/wordml\" xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\" xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\" xmlns:a14=\"http://schemas.microsoft.com/office/drawing/2010/main\" xmlns:pic=\"http://schemas.openxmlformats.org/drawingml/2006/picture\" xmlns:xdr=\"http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing\">");
|
||||
@ -1058,7 +1395,12 @@ bool CDrawingConverter::ParceObject(const std::wstring& strXml, std::wstring** p
|
||||
m_pBinaryWriter->m_lCxCurShape = oNodeExt.ReadAttributeInt(L"cx");
|
||||
m_pBinaryWriter->m_lCyCurShape = oNodeExt.ReadAttributeInt(L"cy");
|
||||
}
|
||||
XmlUtils::CXmlNode oNodeDocPr;
|
||||
if (oNodeAnchorInline.GetNode(L"wp:docPr", oNodeDocPr))
|
||||
{//vml shapes without id .. reset all id
|
||||
oNodeDocPr.SetAttributeInt(L"id", m_lNextId++);
|
||||
|
||||
}
|
||||
SendMainProps(oNodeAnchorInline.GetXml(), pMainProps);
|
||||
|
||||
XmlUtils::CXmlNode oNodeGraphic = oNodeAnchorInline.ReadNodeNoNS(L"graphic");
|
||||
@ -1384,7 +1726,7 @@ void CDrawingConverter::doc_LoadDiagram(PPTX::Logic::SpTreeElem *result, XmlUtil
|
||||
oFileDrawing = (*m_pBinaryWriter->m_pCommonRels)->Find(*id_drawing);
|
||||
pDiagramDrawing = dynamic_cast<OOX::CDiagramDrawing*>(oFileDrawing.operator->());
|
||||
}
|
||||
if (!pDiagramDrawing)
|
||||
if (!pDiagramDrawing && pDiagramData)
|
||||
{
|
||||
OOX::CPath pathDiagramData = pDiagramData->m_strFilename;
|
||||
|
||||
@ -1393,15 +1735,21 @@ void CDrawingConverter::doc_LoadDiagram(PPTX::Logic::SpTreeElem *result, XmlUtil
|
||||
|
||||
OOX::CPath pathDiagramDrawing = pathDiagramData.GetDirectory() + FILE_SEPARATOR_STR + L"drawing" + strId + L".xml";
|
||||
|
||||
oFileDrawing = smart_ptr<OOX::File>(dynamic_cast<OOX::File*>(new OOX::CDiagramDrawing(pathDiagramDrawing)));
|
||||
if (oFileDrawing.IsInit())
|
||||
pDiagramDrawing = dynamic_cast<OOX::CDiagramDrawing*>(oFileDrawing.operator->());
|
||||
if (NSFile::CFileBinary::Exists(pathDiagramDrawing.GetPath()))
|
||||
{
|
||||
oFileDrawing = smart_ptr<OOX::File>(dynamic_cast<OOX::File*>(new OOX::CDiagramDrawing(pathDiagramDrawing)));
|
||||
if (oFileDrawing.IsInit())
|
||||
pDiagramDrawing = dynamic_cast<OOX::CDiagramDrawing*>(oFileDrawing.operator->());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (pDiagramDrawing)
|
||||
if ((pDiagramDrawing) && (pDiagramDrawing->m_oShapeTree.IsInit()))
|
||||
{
|
||||
result->InitElem(new PPTX::Logic::SpTree(*pDiagramDrawing->m_oShapeTree));
|
||||
//to correct write blipFill rId to binary
|
||||
m_strCurrentRelsPath = pDiagramDrawing->GetReadPath().GetPath();
|
||||
SetCurrentRelsPath();
|
||||
}
|
||||
else
|
||||
{//BG-FSC1.docx
|
||||
@ -4239,11 +4587,10 @@ HRESULT CDrawingConverter::SaveObject(LONG lStart, LONG lLength, const std::wstr
|
||||
|
||||
oXmlWriter.m_bIsTop = (1 == m_nCurrentIndexObject) ? true : false;
|
||||
|
||||
#if defined(BUILD_CONFIG_FULL_VERSION) && defined(AVS_USE_CONVERT_PPTX_TOCUSTOM_VML)
|
||||
if (NULL == m_pOOXToVMLRenderer)
|
||||
m_pOOXToVMLRenderer = new COOXToVMLGeometry();
|
||||
oXmlWriter.m_pOOXToVMLRenderer = m_pOOXToVMLRenderer;
|
||||
#endif
|
||||
|
||||
if(bOle)
|
||||
{
|
||||
ConvertPicVML(oElem, bsMainProps, oXmlWriter);
|
||||
@ -4252,8 +4599,8 @@ HRESULT CDrawingConverter::SaveObject(LONG lStart, LONG lLength, const std::wstr
|
||||
{
|
||||
|
||||
bool bIsNeedConvert2007 = false;
|
||||
#ifdef BUILD_CONFIG_FULL_VERSION
|
||||
if (m_bIsUseConvertion2007)
|
||||
|
||||
if (m_bIsUseConvertion2007)
|
||||
{
|
||||
if (oElem.is<PPTX::Logic::SpTree>())
|
||||
{
|
||||
@ -4266,7 +4613,6 @@ HRESULT CDrawingConverter::SaveObject(LONG lStart, LONG lLength, const std::wstr
|
||||
bIsNeedConvert2007 = true;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
oXmlWriter.WriteString(L"<w:drawing>");
|
||||
oXmlWriter.WriteString(strMainProps);
|
||||
@ -4329,11 +4675,9 @@ void CDrawingConverter::SaveObjectExWriterInit(NSBinPptxRW::CXmlWriter& oXmlWrit
|
||||
|
||||
oXmlWriter.m_bIsTop = (1 == m_nCurrentIndexObject) ? true : false;
|
||||
|
||||
#if defined(BUILD_CONFIG_FULL_VERSION) && defined(AVS_USE_CONVERT_PPTX_TOCUSTOM_VML)
|
||||
if (NULL == m_pOOXToVMLRenderer)
|
||||
m_pOOXToVMLRenderer = new COOXToVMLGeometry();
|
||||
oXmlWriter.m_pOOXToVMLRenderer = m_pOOXToVMLRenderer;
|
||||
#endif
|
||||
}
|
||||
void CDrawingConverter::SaveObjectExWriterRelease(NSBinPptxRW::CXmlWriter& oXmlWriter)
|
||||
{
|
||||
|
||||
@ -172,7 +172,6 @@ namespace NSBinPptxRW
|
||||
PPTX::WrapperWritingElement* m_pElement;
|
||||
CElementProps* m_pProps;
|
||||
|
||||
public:
|
||||
CElement();
|
||||
~CElement();
|
||||
|
||||
@ -207,35 +206,37 @@ namespace NSBinPptxRW
|
||||
~CDrawingConverter();
|
||||
|
||||
HRESULT SetMainDocument (BinDocxRW::CDocxSerializer* pDocument);
|
||||
HRESULT SetRelsPath (const std::wstring& bsRelsPath);
|
||||
HRESULT SetRelsPath (const std::wstring& sRelsPath);
|
||||
std::wstring GetRelsPath ();
|
||||
HRESULT SetMediaDstPath (const std::wstring& bsMediaPath);
|
||||
HRESULT SetEmbedDstPath (const std::wstring& bsEmbedPath);
|
||||
HRESULT SetMediaDstPath (const std::wstring& sMediaPath);
|
||||
HRESULT SetEmbedDstPath (const std::wstring& sEmbedPath);
|
||||
|
||||
HRESULT AddShapeType (const std::wstring& bsXml);
|
||||
HRESULT AddObject (const std::wstring& bsXml, std::wstring** pMainProps);
|
||||
HRESULT GetThemeBinary (BYTE** ppBinary, long& lBinarySize, const std::wstring& bsThemeFilePath);
|
||||
HRESULT AddShapeType (const std::wstring& sXml);
|
||||
HRESULT AddObject (const std::wstring& sXml, std::wstring** pMainProps);
|
||||
HRESULT GetThemeBinary (BYTE** ppBinary, long& lBinarySize, const std::wstring& sThemeFilePath);
|
||||
|
||||
HRESULT SaveThemeXml (long lStart, long lLength, const std::wstring& bsThemePath);
|
||||
HRESULT SaveObject (long lStart, long lLength, const std::wstring& bsMainProps, std::wstring & sXml);
|
||||
HRESULT SaveObjectEx (long lStart, long lLength, const std::wstring& bsMainProps, long lDocType, std::wstring & sXml);
|
||||
HRESULT SaveThemeXml (long lStart, long lLength, const std::wstring& sThemePath);
|
||||
HRESULT SaveObject (long lStart, long lLength, const std::wstring& sMainProps, std::wstring & sXml);
|
||||
HRESULT SaveObjectEx (long lStart, long lLength, const std::wstring& sMainProps, long lDocType, std::wstring & sXml);
|
||||
|
||||
void SaveObjectExWriterInit (NSBinPptxRW::CXmlWriter& oXmlWriter, LONG lDocType);
|
||||
void SaveObjectExWriterRelease (NSBinPptxRW::CXmlWriter& oXmlWriter);
|
||||
|
||||
std::wstring ConvertObjectToVml (const std::wstring& sXml);
|
||||
|
||||
std::wstring SaveObjectBackground(LONG lStart, LONG lLength);
|
||||
|
||||
HRESULT GetRecordBinary (long lRecordType, const std::wstring& bsXml);
|
||||
HRESULT GetRecordBinary (long lRecordType, const std::wstring& sXml);
|
||||
HRESULT GetRecordXml (long lStart, long lLength, long lRecType, long lDocType, std::wstring & sXml);
|
||||
|
||||
HRESULT SetDstContentRels ();
|
||||
HRESULT SaveDstContentRels (const std::wstring& bsRelsPath);
|
||||
HRESULT WriteRels (const std::wstring& bsType, const std::wstring& bsTarget, const std::wstring& bsTargetMode, long* lId);
|
||||
HRESULT LoadClrMap (const std::wstring& bsXml);
|
||||
HRESULT SaveDstContentRels (const std::wstring& sRelsPath);
|
||||
HRESULT WriteRels (const std::wstring& sType, const std::wstring& sTarget, const std::wstring& sTargetMode, long* lId);
|
||||
HRESULT LoadClrMap (const std::wstring& sXml);
|
||||
|
||||
HRESULT(GetTxBodyBinary) (const std::wstring& bsXml);
|
||||
HRESULT(GetTxBodyBinary) (const std::wstring& sXml);
|
||||
HRESULT(GetTxBodyXml) (long lStart, std::wstring & Xml);
|
||||
HRESULT(SetFontDir) (const std::wstring& bsFontDir);
|
||||
HRESULT(SetFontDir) (const std::wstring& sFontDir);
|
||||
|
||||
HRESULT SetFontPicker (COfficeFontPicker* pFontPicker);
|
||||
|
||||
@ -274,10 +275,10 @@ namespace NSBinPptxRW
|
||||
void LoadCoordSize (XmlUtils::CXmlNode& oNode, ::CShape* pShape);
|
||||
std::wstring GetDrawingMainProps (XmlUtils::CXmlNode& oNode, PPTX::CCSS& oCssStyles, CSpTreeElemProps& oProps);
|
||||
|
||||
void ConvertMainPropsToVML (const std::wstring& bsMainProps, NSBinPptxRW::CXmlWriter& oWriter, PPTX::Logic::SpTreeElem& oElem);
|
||||
void ConvertPicVML (PPTX::Logic::SpTreeElem& oElem, const std::wstring& bsMainProps, NSBinPptxRW::CXmlWriter& oWriter);
|
||||
void ConvertShapeVML (PPTX::Logic::SpTreeElem& oShape, const std::wstring& bsMainProps, NSBinPptxRW::CXmlWriter& oWriter);
|
||||
void ConvertGroupVML (PPTX::Logic::SpTreeElem& oGroup, const std::wstring& bsMainProps, NSBinPptxRW::CXmlWriter& oWriter);
|
||||
void ConvertMainPropsToVML (const std::wstring& sMainProps, NSBinPptxRW::CXmlWriter& oWriter, PPTX::Logic::SpTreeElem& oElem);
|
||||
void ConvertPicVML (PPTX::Logic::SpTreeElem& oElem, const std::wstring& sMainProps, NSBinPptxRW::CXmlWriter& oWriter);
|
||||
void ConvertShapeVML (PPTX::Logic::SpTreeElem& oShape, const std::wstring& sMainProps, NSBinPptxRW::CXmlWriter& oWriter);
|
||||
void ConvertGroupVML (PPTX::Logic::SpTreeElem& oGroup, const std::wstring& sMainProps, NSBinPptxRW::CXmlWriter& oWriter);
|
||||
|
||||
void ConvertTextVML (XmlUtils::CXmlNode &nodeTextBox, PPTX::Logic::Shape* pShape);
|
||||
|
||||
|
||||
@ -144,7 +144,7 @@ namespace NSBinPptxRW
|
||||
int nRes = 0;
|
||||
//шаблон display[N]image.ext
|
||||
std::wstring sFind1 = _T("display");
|
||||
int nIndex1 = strInput.find(sFind1);
|
||||
int nIndex1 = (int)strInput.find(sFind1);
|
||||
if(-1 != nIndex1)
|
||||
{
|
||||
if(nIndex1 + sFind1.length() < strInput.length())
|
||||
@ -152,8 +152,8 @@ namespace NSBinPptxRW
|
||||
wchar_t cRes = strInput[nIndex1 + sFind1.length()];
|
||||
if('1' <= cRes && cRes <= '6')
|
||||
{
|
||||
int nImageIndex = nIndex1 + sFind1.length() + 1;
|
||||
if(nImageIndex == strInput.find(_T("image"), nImageIndex))
|
||||
int nImageIndex = nIndex1 + (int)sFind1.length() + 1;
|
||||
if(nImageIndex == (int)strInput.find(_T("image"), nImageIndex))
|
||||
nRes = cRes - '0';
|
||||
}
|
||||
|
||||
@ -172,7 +172,7 @@ namespace NSBinPptxRW
|
||||
return pPair->second;
|
||||
|
||||
std::wstring strExts = _T(".jpg");
|
||||
int nIndexExt = strInput.rfind(wchar_t('.'));
|
||||
int nIndexExt = (int)strInput.rfind(wchar_t('.'));
|
||||
if (-1 != nIndexExt)
|
||||
strExts = strInput.substr(nIndexExt);
|
||||
|
||||
@ -241,9 +241,12 @@ namespace NSBinPptxRW
|
||||
std::string sDataUtf8 = NSFile::CUtf8Converter::GetUtf8StringFromUnicode2(sData.c_str(), sData.size());
|
||||
BYTE head[] = {0x00,0x00,0x00,0x00};
|
||||
//LittleEndian
|
||||
unsigned char* aData = (unsigned char*)sDataUtf8.c_str();
|
||||
_UINT32 nDataSize = sDataUtf8.size();
|
||||
|
||||
unsigned char* aData = (unsigned char*)sDataUtf8.c_str();
|
||||
_UINT32 nDataSize = (_UINT32)sDataUtf8.size();
|
||||
|
||||
memcpy(head, &nDataSize, sizeof(_UINT32));
|
||||
|
||||
POLE::Stream oStream(&oStorage, "\001Ole10Native", true, arraysize(head) + nDataSize);
|
||||
oStream.write(head, arraysize(head));
|
||||
oStream.write(aData, nDataSize);
|
||||
@ -322,10 +325,10 @@ namespace NSBinPptxRW
|
||||
|
||||
bool CImageManager2::IsNeedDownload(const std::wstring& strFile)
|
||||
{
|
||||
int n1 = strFile.find(_T("www"));
|
||||
int n2 = strFile.find(_T("http"));
|
||||
int n3 = strFile.find(_T("ftp"));
|
||||
int n4 = strFile.find(_T("https://"));
|
||||
size_t n1 = strFile.find(_T("www"));
|
||||
size_t n2 = strFile.find(_T("http"));
|
||||
size_t n3 = strFile.find(_T("ftp"));
|
||||
size_t n4 = strFile.find(_T("https://"));
|
||||
|
||||
//если nI сранивать не с 0, то будут проблемы
|
||||
//потому что в инсталяции мы кладем файлы в /var/www...
|
||||
@ -341,7 +344,7 @@ namespace NSBinPptxRW
|
||||
return pPair->second;
|
||||
|
||||
std::wstring strExts = _T(".jpg");
|
||||
int nIndexExt = strUrl.rfind(wchar_t('.'));
|
||||
int nIndexExt = (int)strUrl.rfind(wchar_t('.'));
|
||||
if (-1 != nIndexExt)
|
||||
strExts = strUrl.substr(nIndexExt);
|
||||
|
||||
@ -632,15 +635,15 @@ namespace NSBinPptxRW
|
||||
}
|
||||
void CBinaryFileWriter::WriteBYTEArray(const BYTE* pBuffer, size_t len)
|
||||
{
|
||||
CheckBufferSize(len);
|
||||
CheckBufferSize((_UINT32)len);
|
||||
memcpy(m_pStreamCur, pBuffer, len);
|
||||
m_lPosition += (_UINT32)len;
|
||||
m_pStreamCur += len;
|
||||
}
|
||||
void CBinaryFileWriter::WriteStringA(std::string& sBuffer)
|
||||
{
|
||||
_INT32 lSize = sBuffer.length();
|
||||
_INT32 lSizeMem = lSize * sizeof(char);
|
||||
_UINT32 lSize = (_UINT32)sBuffer.length();
|
||||
_UINT32 lSizeMem = lSize * sizeof(char);
|
||||
|
||||
CheckBufferSize(UINT32_SIZEOF + lSizeMem);
|
||||
#ifdef _IOS
|
||||
@ -652,32 +655,33 @@ namespace NSBinPptxRW
|
||||
m_pStreamCur += UINT32_SIZEOF;
|
||||
|
||||
memcpy(m_pStreamCur, sBuffer.c_str(), lSizeMem);
|
||||
|
||||
m_lPosition += lSizeMem;
|
||||
m_pStreamCur += lSizeMem;
|
||||
}
|
||||
void CBinaryFileWriter::WriteStringW(std::wstring& sBuffer)
|
||||
{
|
||||
_WriteStringWithLength(sBuffer.c_str(), sBuffer.length(), true);
|
||||
_WriteStringWithLength(sBuffer.c_str(), (_UINT32)sBuffer.length(), true);
|
||||
}
|
||||
void CBinaryFileWriter::WriteStringW(const std::wstring& sBuffer)
|
||||
{
|
||||
_WriteStringWithLength(sBuffer.c_str(), sBuffer.length(), true);
|
||||
_WriteStringWithLength(sBuffer.c_str(), (_UINT32)sBuffer.length(), true);
|
||||
}
|
||||
void CBinaryFileWriter::WriteStringW2(std::wstring& sBuffer)
|
||||
{
|
||||
_WriteStringWithLength(sBuffer.c_str(), sBuffer.length(), false);
|
||||
_WriteStringWithLength(sBuffer.c_str(), (_UINT32)sBuffer.length(), false);
|
||||
}
|
||||
void CBinaryFileWriter::WriteStringW3(std::wstring& sBuffer)
|
||||
{
|
||||
_WriteString(sBuffer.c_str(), sBuffer.length());
|
||||
_WriteString(sBuffer.c_str(), (_UINT32)sBuffer.length());
|
||||
}
|
||||
void CBinaryFileWriter::WriteStringW3(const std::wstring& sBuffer)
|
||||
{
|
||||
_WriteString(sBuffer.c_str(), sBuffer.length());
|
||||
_WriteString(sBuffer.c_str(), (_UINT32)sBuffer.length());
|
||||
}
|
||||
void CBinaryFileWriter::WriteStringW4(const std::wstring& sBuffer)
|
||||
{
|
||||
_WriteString(sBuffer.c_str(), sBuffer.length());
|
||||
_WriteString(sBuffer.c_str(), (_UINT32)sBuffer.length());
|
||||
}
|
||||
CBinaryFileWriter::CBinaryFileWriter()
|
||||
{
|
||||
@ -724,7 +728,7 @@ namespace NSBinPptxRW
|
||||
|
||||
void CBinaryFileWriter::WriteReserved(size_t lCount)
|
||||
{
|
||||
CheckBufferSize(lCount);
|
||||
CheckBufferSize((_UINT32)lCount);
|
||||
memset(m_pStreamCur, 0, lCount);
|
||||
m_pStreamCur += lCount;
|
||||
m_lPosition += (_UINT32)lCount;
|
||||
@ -754,7 +758,7 @@ namespace NSBinPptxRW
|
||||
WriteBYTE(bType);
|
||||
|
||||
std::wstring* s = const_cast<std::wstring*>(&val);
|
||||
_WriteStringWithLength(s->c_str(), s->length(), false);
|
||||
_WriteStringWithLength(s->c_str(), (_UINT32)s->length(), false);
|
||||
}
|
||||
void CBinaryFileWriter::WriteString2(int type, const NSCommon::nullable_string& val)
|
||||
{
|
||||
@ -764,7 +768,7 @@ namespace NSBinPptxRW
|
||||
void CBinaryFileWriter::WriteString(const std::wstring& val)
|
||||
{
|
||||
std::wstring* s = const_cast<std::wstring*>(&val);
|
||||
_WriteStringWithLength(s->c_str(), s->length(), false);
|
||||
_WriteStringWithLength(s->c_str(), (_UINT32)s->length(), false);
|
||||
}
|
||||
|
||||
void CBinaryFileWriter::WriteString1Data(int type, const WCHAR* pData, _UINT32 len)
|
||||
@ -1304,7 +1308,7 @@ namespace NSBinPptxRW
|
||||
return m_lNextId;
|
||||
}
|
||||
|
||||
int CBinaryFileReader::Seek(_INT32 _pos)
|
||||
int CBinaryFileReader::Seek(LONG _pos)
|
||||
{
|
||||
if (_pos > m_lSize)
|
||||
return 1;
|
||||
@ -1312,13 +1316,13 @@ namespace NSBinPptxRW
|
||||
m_pDataCur = m_pData + m_lPos;
|
||||
return 0;
|
||||
}
|
||||
int CBinaryFileReader::Skip(_INT32 _skip)
|
||||
int CBinaryFileReader::Skip(LONG _skip)
|
||||
{
|
||||
if (_skip < 0)
|
||||
return 1;
|
||||
return Seek(m_lPos + _skip);
|
||||
}
|
||||
bool CBinaryFileReader::Peek(int nSizeToRead = 0)
|
||||
bool CBinaryFileReader::Peek(LONG nSizeToRead = 0)
|
||||
{
|
||||
return !(m_lPos + nSizeToRead > m_lSize);
|
||||
}
|
||||
@ -1424,7 +1428,7 @@ namespace NSBinPptxRW
|
||||
} // 8 byte
|
||||
double CBinaryFileReader::GetDoubleReal()
|
||||
{
|
||||
if (m_lPos + DOUBLE_SIZEOF > m_lSize)
|
||||
if (m_lPos + (int)DOUBLE_SIZEOF > m_lSize)
|
||||
return 0;
|
||||
#ifdef _IOS
|
||||
double res = 0.0;
|
||||
@ -1552,12 +1556,12 @@ namespace NSBinPptxRW
|
||||
Skip(_len);
|
||||
}
|
||||
|
||||
_INT32 CBinaryFileReader::GetPos()
|
||||
LONG CBinaryFileReader::GetPos()
|
||||
{
|
||||
return m_lPos;
|
||||
}
|
||||
|
||||
_INT32 CBinaryFileReader::GetSize()
|
||||
LONG CBinaryFileReader::GetSize()
|
||||
{
|
||||
return m_lSize;
|
||||
}
|
||||
|
||||
@ -460,28 +460,27 @@ namespace NSBinPptxRW
|
||||
class CBinaryFileReader
|
||||
{
|
||||
private:
|
||||
BYTE* m_pData;
|
||||
_INT32 m_lSize;
|
||||
_INT32 m_lPos;
|
||||
BYTE* m_pDataCur;
|
||||
BYTE* m_pData;
|
||||
LONG m_lSize;
|
||||
LONG m_lPos;
|
||||
BYTE* m_pDataCur;
|
||||
|
||||
_INT32 m_lNextId;
|
||||
|
||||
public:
|
||||
//CRelsGenerator m_oRels;
|
||||
std::wstring m_strFolder;
|
||||
std::wstring m_strFolderThemes;
|
||||
std::wstring m_strFolderExternalThemes;
|
||||
std::wstring m_strFolder;
|
||||
std::wstring m_strFolderThemes;
|
||||
std::wstring m_strFolderExternalThemes;
|
||||
|
||||
_INT32 m_lChartNumber;
|
||||
std::wstring m_strContentTypes;
|
||||
_INT32 m_lChartNumber;
|
||||
std::wstring m_strContentTypes;
|
||||
|
||||
BinDocxRW::CDocxSerializer* m_pMainDocument;
|
||||
_INT32 m_lDocumentType;
|
||||
|
||||
_INT32 m_lDocumentType;
|
||||
|
||||
CRelsGenerator* m_pRels;
|
||||
std::vector<CRelsGenerator*> m_stackRels;
|
||||
CRelsGenerator* m_pRels;
|
||||
std::vector<CRelsGenerator*> m_stackRels;
|
||||
int m_nCurrentRelsStack;
|
||||
|
||||
public:
|
||||
@ -496,9 +495,9 @@ namespace NSBinPptxRW
|
||||
|
||||
public:
|
||||
|
||||
int Seek(_INT32 _pos);
|
||||
int Skip(_INT32 _skip);
|
||||
bool Peek(int nSizeToRead);
|
||||
int Seek (LONG _pos);
|
||||
int Skip (LONG _skip);
|
||||
bool Peek (LONG nSizeToRead);
|
||||
|
||||
// 1 bytes
|
||||
BYTE GetUChar();
|
||||
@ -531,9 +530,9 @@ namespace NSBinPptxRW
|
||||
std::string GetString2A();
|
||||
void SkipRecord();
|
||||
|
||||
_INT32 GetPos();
|
||||
LONG GetPos();
|
||||
|
||||
_INT32 GetSize();
|
||||
LONG GetSize();
|
||||
|
||||
BYTE* GetData();
|
||||
BYTE* GetPointer(int nSize);
|
||||
|
||||
@ -59,8 +59,8 @@ public:
|
||||
{
|
||||
InitCRCTable();
|
||||
DWORD dwRes = m_dwInitCrc;
|
||||
int nSize = sStream.length();
|
||||
for (int i=0;i<nSize;i++)
|
||||
|
||||
for (size_t i=0; i < sStream.length(); i++)
|
||||
{
|
||||
dwRes = m_arCRCTable[(dwRes ^ (BYTE)sStream[i]) & 0xFF] ^ (dwRes >> 8);
|
||||
}
|
||||
|
||||
@ -257,54 +257,74 @@ namespace PPTX2EditorAdvanced
|
||||
tablestyles->toPPTY(&oBinaryWriter);
|
||||
}
|
||||
|
||||
// Presentation
|
||||
// Presentation
|
||||
oBinaryWriter.StartMainRecord(NSMainTables::Presentation);
|
||||
presentation->toPPTY(&oBinaryWriter);
|
||||
|
||||
// themes
|
||||
// themes
|
||||
oBinaryWriter.StartMainRecord(NSMainTables::Themes);
|
||||
ULONG nCountThemes = (ULONG)_themes.size();
|
||||
|
||||
ULONG nCountThemes = 0;
|
||||
for (size_t i = 0; i < _themes.size(); ++i)
|
||||
{
|
||||
if (_themes[i].IsInit()) nCountThemes++;
|
||||
}
|
||||
oBinaryWriter.WriteULONG(nCountThemes);
|
||||
for (ULONG i = 0; i < nCountThemes; ++i)
|
||||
|
||||
for (size_t i = 0; i < _themes.size(); ++i)
|
||||
{
|
||||
if (_themes[i].IsInit() == false) continue;
|
||||
_themes[i]->toPPTY(&oBinaryWriter);
|
||||
}
|
||||
|
||||
// slidemasters
|
||||
// slidemasters
|
||||
oBinaryWriter.StartMainRecord(NSMainTables::SlideMasters);
|
||||
ULONG nCountSM = (ULONG)_slideMasters.size();
|
||||
|
||||
ULONG nCountSM = 0;
|
||||
for (size_t i = 0; i < _slideMasters.size(); ++i)
|
||||
{
|
||||
if (_slideMasters[i].IsInit()) nCountSM++;
|
||||
}
|
||||
oBinaryWriter.WriteULONG(nCountSM);
|
||||
for (ULONG i = 0; i < nCountSM; ++i)
|
||||
|
||||
for (size_t i = 0; i < _slideMasters.size(); ++i)
|
||||
{
|
||||
if (_slideMasters[i].IsInit() == false) continue;
|
||||
|
||||
_slideMasters[i]->toPPTY(&oBinaryWriter);
|
||||
}
|
||||
|
||||
// slidelayouts
|
||||
// slidelayouts
|
||||
oBinaryWriter.StartMainRecord(NSMainTables::SlideLayouts);
|
||||
ULONG nCountL = 0;
|
||||
|
||||
for (ULONG i = 0; i < _layouts.size(); ++i)
|
||||
|
||||
ULONG nCountL = 0;
|
||||
for (size_t i = 0; i < _layouts.size(); ++i)
|
||||
{
|
||||
if (_layouts[i].IsInit())nCountL++;
|
||||
if (_layouts[i].IsInit())nCountL++;
|
||||
}
|
||||
|
||||
oBinaryWriter.WriteULONG(nCountL);
|
||||
for (ULONG i = 0; i < _layouts.size(); ++i)
|
||||
|
||||
for (size_t i = 0; i < _layouts.size(); ++i)
|
||||
{
|
||||
if (_layouts[i].IsInit() == false)
|
||||
{
|
||||
continue;
|
||||
//непонятки с 42 шаблоном в FY10_September_Partner_Call.pptx
|
||||
}
|
||||
if (_layouts[i].IsInit() == false) continue; //непонятки с 42 шаблоном в FY10_September_Partner_Call.pptx
|
||||
|
||||
_layouts[i]->toPPTY(&oBinaryWriter);
|
||||
}
|
||||
|
||||
// slides
|
||||
// slides
|
||||
oBinaryWriter.StartMainRecord(NSMainTables::Slides);
|
||||
ULONG nCountS = (ULONG)_slides.size();
|
||||
|
||||
ULONG nCountS = 0;
|
||||
for (size_t i = 0; i < _slides.size(); ++i)
|
||||
{
|
||||
if (_slides[i].IsInit()) nCountS++;
|
||||
}
|
||||
oBinaryWriter.WriteULONG(nCountS);
|
||||
for (ULONG i = 0; i < nCountS; ++i)
|
||||
|
||||
for (size_t i = 0; i < _slides.size(); ++i)
|
||||
{
|
||||
if (_slides[i].IsInit() == false ) continue;
|
||||
|
||||
_slides[i]->toPPTY(&oBinaryWriter);
|
||||
}
|
||||
|
||||
@ -312,7 +332,7 @@ namespace PPTX2EditorAdvanced
|
||||
{
|
||||
// ПОКА нету NOTES
|
||||
|
||||
// notes
|
||||
// notes
|
||||
oBinaryWriter.StartMainRecord(NSMainTables::NotesSlides);
|
||||
ULONG nCountN = (ULONG)_notes.size();
|
||||
oBinaryWriter.WriteULONG(nCountN);
|
||||
@ -321,7 +341,7 @@ namespace PPTX2EditorAdvanced
|
||||
_notes[i]->toPPTY(&oBinaryWriter);
|
||||
}
|
||||
|
||||
// notesmasters
|
||||
// notesmasters
|
||||
oBinaryWriter.StartMainRecord(NSMainTables::NotesMasters);
|
||||
ULONG nCountNM = (ULONG)_notesMasters.size();
|
||||
oBinaryWriter.WriteULONG(nCountNM);
|
||||
@ -449,7 +469,7 @@ namespace PPTX2EditorAdvanced
|
||||
oFile.CreateFile(strDstFile);
|
||||
#endif
|
||||
std::string strPrefix = "PPTY;v1;" + std::to_string(nBinBufferLen) + ";";
|
||||
oFile.WriteFile((void*)strPrefix.c_str(), strPrefix.length());
|
||||
oFile.WriteFile((void*)strPrefix.c_str(), (DWORD)strPrefix.length());
|
||||
oFile.WriteFile(pbBase64Buffer, nBase64BufferLen);
|
||||
oFile.CloseFile();
|
||||
}
|
||||
|
||||
@ -145,11 +145,11 @@ namespace NSPresentationEditor
|
||||
m_strPresentationDirectory = oSrc.m_strPresentationDirectory;
|
||||
m_strSourceDirectory = oSrc.m_strSourceDirectory;
|
||||
|
||||
for (int i=0; i < oSrc.m_arVideos.size(); i++)
|
||||
for (size_t i=0; i < oSrc.m_arVideos.size(); i++)
|
||||
m_arVideos.push_back(oSrc.m_arVideos[i]);
|
||||
for (int i=0; i < oSrc.m_arVideos.size(); i++)
|
||||
for (size_t i=0; i < oSrc.m_arVideos.size(); i++)
|
||||
m_arImages.push_back(oSrc.m_arImages[i]);
|
||||
for (int i=0; i < oSrc.m_arVideos.size(); i++)
|
||||
for (size_t i=0; i < oSrc.m_arVideos.size(); i++)
|
||||
m_arAudios.push_back(oSrc.m_arAudios[i]);
|
||||
|
||||
return *this;
|
||||
@ -422,8 +422,9 @@ namespace NSPresentationEditor
|
||||
}
|
||||
else
|
||||
{
|
||||
int nLen = str.length();
|
||||
wchar_t* pBuffer = (wchar_t*)str.c_str();
|
||||
size_t nLen = str.length();
|
||||
|
||||
wchar_t* pBuffer = (wchar_t*)str.c_str();
|
||||
wchar_t* pBuffer1 = pBuffer;
|
||||
wchar_t* pBuffer2 = pBuffer;
|
||||
wchar_t* pBufferEnd = pBuffer + nLen;
|
||||
|
||||
@ -196,7 +196,7 @@ namespace NSPresentationEditor
|
||||
inline void SetAt(const CElementProperty::Type& eType, std::wstring strValue)
|
||||
{
|
||||
CElementProperty oProp(eType);
|
||||
oProp.m_dwValue = strValue.length() + 1;
|
||||
oProp.m_dwValue = (DWORD)strValue.length() + 1;
|
||||
|
||||
oProp.m_strAdvanced = strValue;
|
||||
|
||||
|
||||
@ -125,11 +125,11 @@ bool NSPresentationEditor::CShapeElement::SetUpTextPlaceholder(std::wstring newT
|
||||
bool result = false;
|
||||
NSPresentationEditor::CTextAttributesEx* pText = &m_oShape.m_oText;
|
||||
|
||||
for (int p = 0 ; p < pText->m_arParagraphs.size(); p++) //тут по всем -> 1-(33).ppt
|
||||
for (size_t p = 0 ; p < pText->m_arParagraphs.size(); p++) //тут по всем -> 1-(33).ppt
|
||||
{
|
||||
if (pText->m_arParagraphs[p].m_arSpans.size() >0)//??? по всем?
|
||||
{
|
||||
int pos = pText->m_arParagraphs[p].m_arSpans[0].m_strText.find(L"*");
|
||||
int pos = (int)pText->m_arParagraphs[p].m_arSpans[0].m_strText.find(L"*");
|
||||
|
||||
if (pos >= 0)
|
||||
{
|
||||
|
||||
@ -510,10 +510,10 @@ namespace NSPresentationEditor
|
||||
double dScaleX = (double)m_oMetric.m_lUnitsHor / m_oMetric.m_lMillimetresHor;
|
||||
double dScaleY = (double)m_oMetric.m_lUnitsVer / m_oMetric.m_lMillimetresVer;
|
||||
|
||||
m_oShape.m_oText.m_oBounds.left *= dScaleX;
|
||||
m_oShape.m_oText.m_oBounds.right *= dScaleX;
|
||||
m_oShape.m_oText.m_oBounds.top *= dScaleY;
|
||||
m_oShape.m_oText.m_oBounds.bottom *= dScaleY;
|
||||
m_oShape.m_oText.m_oBounds.left = (int)(dScaleX * m_oShape.m_oText.m_oBounds.left);
|
||||
m_oShape.m_oText.m_oBounds.right = (int)(dScaleX * m_oShape.m_oText.m_oBounds.right);
|
||||
m_oShape.m_oText.m_oBounds.top = (int)(dScaleY * m_oShape.m_oText.m_oBounds.top);
|
||||
m_oShape.m_oText.m_oBounds.bottom = (int)(dScaleY * m_oShape.m_oText.m_oBounds.bottom);
|
||||
}
|
||||
virtual ~CShapeElement()
|
||||
{
|
||||
@ -704,12 +704,12 @@ namespace NSPresentationEditor
|
||||
}
|
||||
case CElementProperty::epFontBold:
|
||||
{
|
||||
m_oShape.m_oText.m_oAttributes.m_oFont.Bold = (bool)pProperty->m_dwValue;
|
||||
m_oShape.m_oText.m_oAttributes.m_oFont.Bold = (pProperty->m_dwValue != 0);
|
||||
break;
|
||||
}
|
||||
case CElementProperty::epFontItalic:
|
||||
{
|
||||
m_oShape.m_oText.m_oAttributes.m_oFont.Italic = (bool)pProperty->m_dwValue;
|
||||
m_oShape.m_oText.m_oAttributes.m_oFont.Italic = (pProperty->m_dwValue != 0);
|
||||
break;
|
||||
}
|
||||
case CElementProperty::epFontStrikeout:
|
||||
@ -853,14 +853,14 @@ namespace NSPresentationEditor
|
||||
pFormulaConverter.ConvertCoef(pCoef);
|
||||
|
||||
//guids----------------------------------------
|
||||
int nGuidCount = pPPTShape->m_oManager.m_arFormulas.size();
|
||||
int nGuidCount = (int)pPPTShape->m_oManager.m_arFormulas.size();
|
||||
if (0 != nGuidCount)
|
||||
{
|
||||
pFormulaConverter.ConvertFormula(pPPTShape->m_oManager.m_arFormulas);
|
||||
}
|
||||
|
||||
//path------------------------------------------
|
||||
int nPathCount = pPPTShape->m_strPath.length();
|
||||
int nPathCount = (int)pPPTShape->m_strPath.length();
|
||||
if (0 != nPathCount && pPPTShape->m_eType != 1)
|
||||
{
|
||||
pFormulaConverter.ConvertPath(pPPTShape->m_strPath, pPPTShape->m_oPath);
|
||||
@ -872,8 +872,8 @@ namespace NSPresentationEditor
|
||||
pFormulaConverter.ConvertTextRect(pPPTShape->m_arStringTextRects[0]);
|
||||
}
|
||||
|
||||
int nHandlesCount = pPPTShape->m_arHandles.size();
|
||||
int nAdjCount = pPPTShape->m_arAdjustments.size();
|
||||
int nHandlesCount = (int)pPPTShape->m_arHandles.size();
|
||||
int nAdjCount = (int)pPPTShape->m_arAdjustments.size();
|
||||
|
||||
//handles
|
||||
if (0 != nHandlesCount || 0 != nAdjCount)
|
||||
|
||||
@ -224,7 +224,7 @@ namespace NSPresentationEditor
|
||||
|
||||
static void CheckPlaceholderStyle(std::wstring strStyleName, LONG& lType, LONG& lLevel, LONG& lTypeStyle)
|
||||
{
|
||||
int nLen = strStyleName.length();
|
||||
size_t nLen = strStyleName.length();
|
||||
wchar_t* pData = (wchar_t*)strStyleName.c_str();
|
||||
|
||||
lType = 0;
|
||||
|
||||
@ -53,10 +53,10 @@ namespace NSPresentationEditor
|
||||
CHandle_& operator =(const CHandle_& oSrc)
|
||||
{
|
||||
position = oSrc.position;
|
||||
xrange = oSrc.xrange;
|
||||
yrange = oSrc.yrange;
|
||||
xrange = oSrc.xrange;
|
||||
yrange = oSrc.yrange;
|
||||
switchHandle = oSrc.switchHandle;
|
||||
polar = oSrc.polar;
|
||||
polar = oSrc.polar;
|
||||
radiusrange = oSrc.radiusrange;
|
||||
return (*this);
|
||||
}
|
||||
@ -65,27 +65,27 @@ namespace NSPresentationEditor
|
||||
class CBaseShape
|
||||
{
|
||||
public:
|
||||
std::vector<long> m_arAdjustments;
|
||||
std::vector<double> m_arGuides;
|
||||
LONG m_eJoin;
|
||||
bool m_bConcentricFill;
|
||||
bool m_bCustomShape;
|
||||
std::vector<long> m_arAdjustments;
|
||||
std::vector<double> m_arGuides;
|
||||
LONG m_eJoin;
|
||||
bool m_bConcentricFill;
|
||||
bool m_bCustomShape;
|
||||
std::vector<SimpleTypes::CPoint> m_arConnectors;
|
||||
std::vector<LONG> m_arConnectorAngles;
|
||||
std::vector<LONG> m_arConnectorAngles;
|
||||
|
||||
std::vector<Aggplus::RECT> m_arTextRects;
|
||||
std::vector<Aggplus::RECT> m_arTextRects;
|
||||
|
||||
std::vector<CHandle_> m_arHandles;
|
||||
std::vector<CHandle_> m_arHandles;
|
||||
|
||||
std::wstring m_strTransformXml;
|
||||
std::wstring m_strTransformXml;
|
||||
|
||||
std::wstring m_strPath;
|
||||
std::wstring m_strRect;
|
||||
std::wstring m_strPath;
|
||||
std::wstring m_strRect;
|
||||
|
||||
LONG m_lLimoX;
|
||||
LONG m_lLimoY;
|
||||
LONG m_lLimoX;
|
||||
LONG m_lLimoY;
|
||||
|
||||
CPath m_oPath;
|
||||
CPath m_oPath;
|
||||
|
||||
CBaseShape()
|
||||
{
|
||||
@ -94,14 +94,14 @@ namespace NSPresentationEditor
|
||||
|
||||
virtual bool LoadFromXML(const std::wstring& xml) = 0;
|
||||
virtual bool LoadFromXML(XmlUtils::CXmlNode& xmlNode) = 0;
|
||||
virtual bool LoadAdjustValuesList(const std::wstring& xml) = 0;
|
||||
virtual bool LoadAdjustValuesList(const std::wstring& xml) = 0;
|
||||
virtual bool LoadGuidesList(const std::wstring& xml) = 0;
|
||||
virtual bool LoadAdjustHandlesList(const std::wstring& xml) = 0;
|
||||
virtual bool LoadConnectorsList(const std::wstring& xml) = 0;
|
||||
virtual bool LoadTextRect(const std::wstring& xml) = 0;
|
||||
virtual bool LoadPathList(const std::wstring& xml) = 0;
|
||||
virtual bool SetAdjustment(long index, long value) = 0;
|
||||
virtual void ReCalculate() = 0;
|
||||
virtual bool LoadAdjustHandlesList(const std::wstring& xml) = 0;
|
||||
virtual bool LoadConnectorsList(const std::wstring& xml) = 0;
|
||||
virtual bool LoadTextRect(const std::wstring& xml) = 0;
|
||||
virtual bool LoadPathList(const std::wstring& xml) = 0;
|
||||
virtual bool SetAdjustment(long index, long value) = 0;
|
||||
virtual void ReCalculate() = 0;
|
||||
|
||||
virtual std::wstring ToXML(CGeomShapeInfo& GeomInfo, CMetricInfo& MetricInfo, double StartTime, double EndTime, CBrush& Brush, CPen& Pen) = 0;
|
||||
virtual void ToRenderer(IRenderer* pRenderer, CGeomShapeInfo& pGeomInfo, double dStartTime, double dEndTime, CPen& pPen, CBrush& pFore, CMetricInfo& pInfo)
|
||||
@ -134,31 +134,31 @@ namespace NSPresentationEditor
|
||||
m_strPath = Shape->m_strPath;
|
||||
m_strRect = Shape->m_strRect;
|
||||
|
||||
m_arAdjustments.clear();
|
||||
for(int i = 0; i < Shape->m_arAdjustments.size(); i++)
|
||||
m_arAdjustments.clear();
|
||||
for(size_t i = 0; i < Shape->m_arAdjustments.size(); i++)
|
||||
m_arAdjustments.push_back(Shape->m_arAdjustments[i]);
|
||||
|
||||
m_arGuides.clear();
|
||||
for(int i = 0; i < Shape->m_arGuides.size(); i++)
|
||||
for(size_t i = 0; i < Shape->m_arGuides.size(); i++)
|
||||
m_arGuides.push_back(Shape->m_arGuides[i]);
|
||||
|
||||
m_eJoin = Shape->m_eJoin;
|
||||
m_bConcentricFill = Shape->m_bConcentricFill;
|
||||
|
||||
m_arConnectors.clear();
|
||||
for(int i = 0; i < Shape->m_arConnectors.size(); i++)
|
||||
for(size_t i = 0; i < Shape->m_arConnectors.size(); i++)
|
||||
m_arConnectors.push_back(Shape->m_arConnectors[i]);
|
||||
|
||||
m_arConnectorAngles.clear();
|
||||
for(int i = 0; i < Shape->m_arConnectorAngles.size(); i++)
|
||||
for(size_t i = 0; i < Shape->m_arConnectorAngles.size(); i++)
|
||||
m_arConnectorAngles.push_back(Shape->m_arConnectorAngles[i]);
|
||||
|
||||
m_arTextRects.clear();
|
||||
for(int i = 0; i < Shape->m_arTextRects.size(); i++)
|
||||
for(size_t i = 0; i < Shape->m_arTextRects.size(); i++)
|
||||
m_arTextRects.push_back(Shape->m_arTextRects[i]);
|
||||
|
||||
m_arHandles.clear();
|
||||
for(int i = 0; i < Shape->m_arHandles.size(); i++)
|
||||
for(size_t i = 0; i < Shape->m_arHandles.size(); i++)
|
||||
m_arHandles.push_back(Shape->m_arHandles[i]);
|
||||
|
||||
|
||||
@ -177,31 +177,31 @@ namespace NSPresentationEditor
|
||||
Shape->m_strRect = m_strRect;
|
||||
|
||||
Shape->m_arAdjustments.clear();
|
||||
for(int i = 0; i < m_arAdjustments.size(); i++)
|
||||
for(size_t i = 0; i < m_arAdjustments.size(); i++)
|
||||
Shape->m_arAdjustments.push_back(m_arAdjustments[i]);
|
||||
|
||||
Shape->m_arGuides.clear();
|
||||
for(int i = 0; i < m_arGuides.size(); i++)
|
||||
for(size_t i = 0; i < m_arGuides.size(); i++)
|
||||
Shape->m_arGuides.push_back(m_arGuides[i]);
|
||||
|
||||
Shape->m_eJoin = m_eJoin;
|
||||
Shape->m_bConcentricFill = m_bConcentricFill;
|
||||
|
||||
Shape->m_arConnectors.clear();
|
||||
for(int i = 0; i < m_arConnectors.size(); i++)
|
||||
for(size_t i = 0; i < m_arConnectors.size(); i++)
|
||||
Shape->m_arConnectors.push_back(m_arConnectors[i]);
|
||||
|
||||
Shape->m_arConnectorAngles.clear();
|
||||
for(int i = 0; i < m_arConnectorAngles.size(); i++)
|
||||
for(size_t i = 0; i < m_arConnectorAngles.size(); i++)
|
||||
Shape->m_arConnectorAngles.push_back(m_arConnectorAngles[i]);
|
||||
|
||||
Shape->m_arTextRects.clear();
|
||||
for(int i = 0; i < m_arTextRects.size(); i++)
|
||||
for(size_t i = 0; i < m_arTextRects.size(); i++)
|
||||
Shape->m_arTextRects.push_back(m_arTextRects[i]);
|
||||
Shape->m_strRect = m_strRect;
|
||||
|
||||
Shape->m_arHandles.clear();
|
||||
for(int i = 0; i < m_arHandles.size(); i++)
|
||||
for(size_t i = 0; i < m_arHandles.size(); i++)
|
||||
Shape->m_arHandles.push_back(m_arHandles[i]);
|
||||
|
||||
Shape->m_strTransformXml = m_strTransformXml;
|
||||
|
||||
@ -74,7 +74,7 @@ namespace NSStringUtils
|
||||
}
|
||||
static bool IsNumber(std::wstring str)
|
||||
{
|
||||
for (int nIndex = 0; nIndex < str.length(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < str.length(); ++nIndex)
|
||||
{
|
||||
if (!IsDigit(str[nIndex]))
|
||||
{
|
||||
@ -125,7 +125,7 @@ namespace NSStringUtils
|
||||
{
|
||||
std::wstring strPath = strSource;
|
||||
|
||||
for (int nIndex = 0; nIndex < strPath.length(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < strPath.length(); ++nIndex)
|
||||
{
|
||||
if (nIndex == (strPath.length() - 1))
|
||||
continue;
|
||||
@ -212,13 +212,13 @@ namespace NSStringUtils
|
||||
static void ParsePath2(std::wstring strSource, std::vector<std::wstring> & ArrayResults)
|
||||
{
|
||||
std::wstring strPath = strSource;
|
||||
int nLength = strPath.length();
|
||||
size_t nLength = strPath.length();
|
||||
//strPath.Replace(_T(" "), _T(","));
|
||||
if (strPath.find(wchar_t('h')) != -1)
|
||||
{
|
||||
wchar_t* pBuff = new wchar_t[nLength + 1];
|
||||
int nCur = 0;
|
||||
for (int i = 1; i < nLength; ++i)
|
||||
for (size_t i = 1; i < nLength; ++i)
|
||||
{
|
||||
wchar_t _c = strPath[i - 1];
|
||||
if (_c != wchar_t('h'))
|
||||
@ -264,8 +264,8 @@ namespace NSStringUtils
|
||||
++nLength;
|
||||
}
|
||||
|
||||
int nIndexOld = 0;
|
||||
for (int nIndex = 0; nIndex < nLength; ++nIndex)
|
||||
size_t nIndexOld = 0;
|
||||
for (size_t nIndex = 0; nIndex < nLength; ++nIndex)
|
||||
{
|
||||
if (nIndex == (nLength - 1))
|
||||
{
|
||||
@ -366,46 +366,46 @@ namespace NSStringUtils
|
||||
{
|
||||
bFill = true;
|
||||
bStroke = true;
|
||||
int nIndex = strPath.find(_T("nf"));
|
||||
int nIndex = (int)strPath.find(_T("nf"));
|
||||
if (-1 != nIndex)
|
||||
{
|
||||
bFill = false;
|
||||
while (-1 != nIndex)
|
||||
{
|
||||
strPath.erase(nIndex, 2);
|
||||
nIndex = strPath.find(_T("nf"));
|
||||
nIndex = (int)strPath.find(_T("nf"));
|
||||
}
|
||||
}
|
||||
nIndex = strPath.find(_T("ns"));
|
||||
nIndex = (int)strPath.find(_T("ns"));
|
||||
if (-1 != nIndex)
|
||||
{
|
||||
bStroke = false;
|
||||
while (-1 != nIndex)
|
||||
{
|
||||
strPath.erase(nIndex, 2);
|
||||
nIndex = strPath.find(_T("ns"));
|
||||
nIndex = (int)strPath.find(_T("ns"));
|
||||
}
|
||||
}
|
||||
|
||||
nIndex = strPath.find(_T("F"));
|
||||
nIndex = (int)strPath.find(_T("F"));
|
||||
if (-1 != nIndex)
|
||||
{
|
||||
bFill = false;
|
||||
while (-1 != nIndex)
|
||||
{
|
||||
strPath.erase(nIndex, 2);
|
||||
nIndex = strPath.find(_T("F"));
|
||||
nIndex = (int)strPath.find(_T("F"));
|
||||
}
|
||||
}
|
||||
|
||||
nIndex = strPath.find(_T("S"));
|
||||
nIndex = (int)strPath.find(_T("S"));
|
||||
if (-1 != nIndex)
|
||||
{
|
||||
bStroke = false;
|
||||
while (-1 != nIndex)
|
||||
{
|
||||
strPath.erase(nIndex, 2);
|
||||
nIndex = strPath.find(_T("S"));
|
||||
nIndex = (int)strPath.find(_T("S"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -199,7 +199,7 @@ namespace NSPresentationEditor
|
||||
pRenderer->BeginCommand(c_nPathType);
|
||||
|
||||
CDoublePoint pointCur; pointCur.dX = 0; pointCur.dY = 0;
|
||||
for (int nIndex = 0; nIndex < m_arParts.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < m_arParts.size(); ++nIndex)
|
||||
{
|
||||
m_arParts[nIndex].Draw(pRenderer, pointCur);
|
||||
}
|
||||
@ -228,7 +228,7 @@ namespace NSPresentationEditor
|
||||
pRenderer->BeginCommand(c_nPathType);
|
||||
|
||||
CDoublePoint pointCur; pointCur.dX = 0; pointCur.dY = 0;
|
||||
for (int nIndex = 0; nIndex < m_arParts.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < m_arParts.size(); ++nIndex)
|
||||
{
|
||||
m_arParts[nIndex].Draw(pRenderer, pointCur);
|
||||
}
|
||||
@ -266,7 +266,7 @@ namespace NSPresentationEditor
|
||||
{
|
||||
m_eType = oSrc.m_eType;
|
||||
this->m_arPoints.clear();
|
||||
for (int nIndex = 0; nIndex < oSrc.m_arPoints.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < oSrc.m_arPoints.size(); ++nIndex)
|
||||
{
|
||||
this->m_arPoints.push_back(oSrc.m_arPoints[nIndex]);
|
||||
}
|
||||
@ -305,7 +305,7 @@ namespace NSPresentationEditor
|
||||
|
||||
bool bIsX = true;
|
||||
int nCurPoint = 0;
|
||||
for (int nIndex = 0; nIndex < arStrNums.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < arStrNums.size(); ++nIndex)
|
||||
{
|
||||
if (bIsX)
|
||||
{
|
||||
@ -472,7 +472,7 @@ namespace NSPresentationEditor
|
||||
if (NULL == ppArray)
|
||||
return;
|
||||
|
||||
int nCount = this->m_arPoints.size();
|
||||
int nCount = (int)this->m_arPoints.size();
|
||||
|
||||
nCountOut = 2 * (nCount + 1);
|
||||
|
||||
@ -652,7 +652,7 @@ namespace NSPresentationEditor
|
||||
}
|
||||
case rtAngleEllipseTo:
|
||||
{
|
||||
int nFigure = 0;
|
||||
size_t nFigure = 0;
|
||||
while ((nFigure + 3) <= this->m_arPoints.size())
|
||||
{
|
||||
double nLeft = this->m_arPoints[nFigure].dX - this->m_arPoints[nFigure + 1].dX / 2;
|
||||
@ -671,7 +671,7 @@ namespace NSPresentationEditor
|
||||
case rtAngleEllipse:
|
||||
{
|
||||
pRenderer->PathCommandStart();
|
||||
int nFigure = 0;
|
||||
size_t nFigure = 0;
|
||||
while ((nFigure + 3) <= this->m_arPoints.size())
|
||||
{
|
||||
double nLeft = this->m_arPoints[nFigure].dX - this->m_arPoints[nFigure + 1].dX / 2;
|
||||
@ -690,7 +690,7 @@ namespace NSPresentationEditor
|
||||
case rtArc:
|
||||
{
|
||||
pRenderer->PathCommandStart();
|
||||
int nFigure = 0;
|
||||
size_t nFigure = 0;
|
||||
while ((nFigure + 4) <= this->m_arPoints.size())
|
||||
{
|
||||
double nCentreX = (this->m_arPoints[nFigure].dX + this->m_arPoints[nFigure + 1].dX) / 2;
|
||||
@ -715,7 +715,7 @@ namespace NSPresentationEditor
|
||||
}
|
||||
case rtArcTo:
|
||||
{
|
||||
int nFigure = 0;
|
||||
size_t nFigure = 0;
|
||||
while ((nFigure + 4) <= this->m_arPoints.size())
|
||||
{
|
||||
double nCentreX = (this->m_arPoints[nFigure].dX + this->m_arPoints[nFigure + 1].dX) / 2;
|
||||
@ -740,7 +740,7 @@ namespace NSPresentationEditor
|
||||
}
|
||||
case rtClockwiseArcTo:
|
||||
{
|
||||
int nFigure = 0;
|
||||
size_t nFigure = 0;
|
||||
while ((nFigure + 4) <= this->m_arPoints.size())
|
||||
{
|
||||
double nCentreX = (this->m_arPoints[nFigure].dX + this->m_arPoints[nFigure + 1].dX) / 2;
|
||||
@ -766,7 +766,8 @@ namespace NSPresentationEditor
|
||||
case rtClockwiseArc:
|
||||
{
|
||||
pRenderer->PathCommandStart();
|
||||
int nFigure = 0;
|
||||
|
||||
size_t nFigure = 0;
|
||||
while ((nFigure + 4) <= this->m_arPoints.size())
|
||||
{
|
||||
double nCentreX = (this->m_arPoints[nFigure].dX + this->m_arPoints[nFigure + 1].dX) / 2;
|
||||
|
||||
@ -554,7 +554,7 @@ namespace NSCustomVML
|
||||
|
||||
m_arVertices.clear();
|
||||
|
||||
for (int ind = 0; ind < values.size(); ++ind)
|
||||
for (size_t ind = 0; ind < values.size(); ++ind)
|
||||
{
|
||||
Aggplus::POINT oPoint;
|
||||
|
||||
@ -563,13 +563,13 @@ namespace NSCustomVML
|
||||
|
||||
LONG lMinF = (LONG)0x80000000;
|
||||
LONG lMaxF = (LONG)0x8000007F;
|
||||
if (lMinF <= (DWORD)oPoint.x)
|
||||
if (lMinF <= oPoint.x)
|
||||
{
|
||||
int nGuideIndex = (DWORD)oPoint.x - 0x80000000;
|
||||
|
||||
bool b = false;
|
||||
}
|
||||
if (lMinF <= (DWORD)oPoint.y)
|
||||
if (lMinF <= oPoint.y)
|
||||
{
|
||||
int nGuideIndex = (DWORD)oPoint.y - 0x80000000;
|
||||
|
||||
@ -612,13 +612,13 @@ namespace NSCustomVML
|
||||
|
||||
LONG lMinF = (LONG)0x80000000;
|
||||
LONG lMaxF = (LONG)0x8000007F;
|
||||
if (lMinF <= (DWORD)oPoint.x)
|
||||
if (lMinF <= oPoint.x)
|
||||
{
|
||||
int nGuideIndex = (DWORD)oPoint.x - 0x80000000;
|
||||
|
||||
bool b = false;
|
||||
}
|
||||
if (lMinF <= (DWORD)oPoint.y)
|
||||
if (lMinF <= oPoint.y)
|
||||
{
|
||||
int nGuideIndex = (DWORD)oPoint.y - 0x80000000;
|
||||
|
||||
@ -639,7 +639,7 @@ namespace NSCustomVML
|
||||
if (!values.empty())
|
||||
m_bIsPathPresent = true;
|
||||
|
||||
for (int ind = 0; ind < values.size(); ++ind)
|
||||
for (size_t ind = 0; ind < values.size(); ++ind)
|
||||
{
|
||||
CSegment oInfo;
|
||||
int count = oInfo.Read(values[ind]);
|
||||
@ -841,7 +841,7 @@ namespace NSCustomVML
|
||||
if (lMaxF > m_arVertices[nV].y ) nGuideIndex_y = (DWORD)m_arVertices[nV].y - (DWORD)lMinF;
|
||||
|
||||
std::wstring str = _T("");
|
||||
if (nGuideIndex_x >= 0 && nGuideIndex_x < m_arGuides.size())
|
||||
if (nGuideIndex_x >= 0 && nGuideIndex_x < (int)m_arGuides.size())
|
||||
{
|
||||
strPath += std::to_wstring(m_arGuides[nGuideIndex_x].m_param_value1) + L",";
|
||||
}
|
||||
@ -849,7 +849,7 @@ namespace NSCustomVML
|
||||
{
|
||||
strPath += std::to_wstring(m_arVertices[nV].x) + L",";
|
||||
}
|
||||
if (nGuideIndex_y >= 0 && nGuideIndex_y < m_arGuides.size())
|
||||
if (nGuideIndex_y >= 0 && nGuideIndex_y < (int)m_arGuides.size())
|
||||
{
|
||||
strPath += std::to_wstring(m_arGuides[nGuideIndex_y].m_param_value1) + L",";
|
||||
}
|
||||
|
||||
@ -156,8 +156,7 @@ public:
|
||||
RELEASEARRAYOBJECTS(m_pOptions);
|
||||
m_pOptions = new BYTE[m_lValue];
|
||||
|
||||
ULONG lReadBytes = 0;
|
||||
lReadBytes = pStream->read(m_pOptions, m_lValue);
|
||||
ULONG lReadBytes = (ULONG)pStream->read(m_pOptions, m_lValue);
|
||||
if (lReadBytes != m_lValue)
|
||||
{
|
||||
return;
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
|
||||
LONG NSGuidesVML::CFormula::Calculate(NSGuidesVML::CFormulasManager* pManager)
|
||||
{
|
||||
if ((0 > m_lIndex) || (m_lIndex >= pManager->m_arResults.size()))
|
||||
if ((0 > m_lIndex) || (m_lIndex >= (int)pManager->m_arResults.size()))
|
||||
return 0;
|
||||
if (0xFFFFFFFF != pManager->m_arResults[m_lIndex])
|
||||
{
|
||||
@ -44,8 +44,8 @@ LONG NSGuidesVML::CFormula::Calculate(NSGuidesVML::CFormulasManager* pManager)
|
||||
|
||||
LONG lResult = 0;
|
||||
|
||||
LONG lGuidesCount = pManager->m_arFormulas.size();
|
||||
LONG lAdjCount = pManager->m_pAdjustments->size();
|
||||
LONG lGuidesCount = (LONG)pManager->m_arFormulas.size();
|
||||
LONG lAdjCount = (LONG)pManager->m_pAdjustments->size();
|
||||
|
||||
LONG a1 = m_lParam1;
|
||||
if (ptFormula == m_eType1)
|
||||
|
||||
@ -302,7 +302,7 @@ namespace NSGuidesVML
|
||||
std::vector<std::wstring> oArrayParams;
|
||||
boost::algorithm::split(oArrayParams, strFormula, boost::algorithm::is_any_of(L" "), boost::algorithm::token_compress_on);
|
||||
|
||||
int nCount = oArrayParams.size();
|
||||
int nCount = (int)oArrayParams.size();
|
||||
if (0 >= nCount)
|
||||
return;
|
||||
|
||||
@ -354,12 +354,12 @@ namespace NSGuidesVML
|
||||
m_lShapeHeight = oSrc.m_lShapeHeight;
|
||||
|
||||
m_arResults.clear();
|
||||
for (int nIndex = 0; nIndex < oSrc.m_arResults.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < oSrc.m_arResults.size(); ++nIndex)
|
||||
{
|
||||
m_arResults.push_back(oSrc.m_arResults[nIndex]);
|
||||
}
|
||||
m_arFormulas.clear();
|
||||
for (int nIndex = 0; nIndex < oSrc.m_arFormulas.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < oSrc.m_arFormulas.size(); ++nIndex)
|
||||
{
|
||||
m_arFormulas.push_back(oSrc.m_arFormulas[nIndex]);
|
||||
}
|
||||
@ -383,27 +383,29 @@ namespace NSGuidesVML
|
||||
|
||||
//m_arFormulas.clear();
|
||||
//m_arResults.clear();
|
||||
for (int nIndex = 0; nIndex < m_arResults.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < m_arResults.size(); ++nIndex)
|
||||
{
|
||||
m_arResults[nIndex] = 0xFFFFFFFF;
|
||||
}
|
||||
}
|
||||
void AddFormula(std::wstring strFormula)
|
||||
{
|
||||
CFormula oFormula(m_arFormulas.size());
|
||||
CFormula oFormula((int)m_arFormulas.size());
|
||||
|
||||
oFormula.FromString(strFormula, m_lShapeWidth, m_lShapeHeight);
|
||||
m_arFormulas.push_back(oFormula);
|
||||
m_arResults.push_back(0xFFFFFFFF);
|
||||
}
|
||||
void AddFormula(CFormula oFormula)
|
||||
{
|
||||
oFormula.m_lIndex = m_arFormulas.size();
|
||||
m_arFormulas.push_back(oFormula);
|
||||
oFormula.m_lIndex = (int)m_arFormulas.size();
|
||||
|
||||
m_arFormulas.push_back(oFormula);
|
||||
m_arResults.push_back(0xFFFFFFFF);
|
||||
}
|
||||
void CalculateResults()
|
||||
{
|
||||
for (int index = 0; index < m_arFormulas.size(); ++index)
|
||||
for (size_t index = 0; index < m_arFormulas.size(); ++index)
|
||||
{
|
||||
LONG lResult = m_arFormulas[index].Calculate(this);
|
||||
}
|
||||
|
||||
@ -288,7 +288,8 @@ public:
|
||||
std::wstring strXml = xml;
|
||||
if (0 == strXml.find((wchar_t)','))
|
||||
strXml = (_T("defaultAdj") + strXml);
|
||||
LONG lLastIndex = strXml.length() - 1;
|
||||
|
||||
LONG lLastIndex = (LONG)strXml.length() - 1;
|
||||
|
||||
if (lLastIndex >= 0 && lLastIndex == strXml.rfind((wchar_t)','))
|
||||
{
|
||||
@ -300,13 +301,13 @@ public:
|
||||
boost::algorithm::split(arAdj, strXml, boost::algorithm::is_any_of(L","), boost::algorithm::token_compress_on);
|
||||
|
||||
std::vector<long> oOldAdj;
|
||||
int nOldLen = m_arAdjustments.size();
|
||||
size_t nOldLen = m_arAdjustments.size();
|
||||
|
||||
for (int ii = 0; ii < nOldLen; ++ii)
|
||||
for (size_t ii = 0; ii < nOldLen; ++ii)
|
||||
oOldAdj.push_back(m_arAdjustments[ii]);
|
||||
|
||||
m_arAdjustments.clear();
|
||||
for (int nIndex = 0; nIndex < arAdj.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < arAdj.size(); ++nIndex)
|
||||
{
|
||||
if (_T("defaultAdj") == arAdj[nIndex])
|
||||
{
|
||||
@ -321,7 +322,7 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
int newLen = m_arAdjustments.size();
|
||||
int newLen = (int)m_arAdjustments.size();
|
||||
for (int i = newLen; i < nOldLen; ++i)
|
||||
m_arAdjustments.push_back(oOldAdj[i]);
|
||||
return true;
|
||||
@ -440,7 +441,7 @@ public:
|
||||
|
||||
virtual bool SetAdjustment(long index, long value)
|
||||
{
|
||||
if (index < m_arAdjustments.size() && index >= 0)
|
||||
if (index < (long)m_arAdjustments.size() && index >= 0)
|
||||
{
|
||||
m_arAdjustments[index] = value;
|
||||
return TRUE;
|
||||
@ -613,7 +614,7 @@ protected:
|
||||
|
||||
if (bFormula)
|
||||
{
|
||||
if (lValue >= 0 || lValue < m_oManager.m_arResults.size())
|
||||
if (lValue >= 0 || lValue < (LONG)m_oManager.m_arResults.size())
|
||||
{
|
||||
lValue = m_oManager.m_arResults[lValue];
|
||||
return true;
|
||||
|
||||
@ -1972,8 +1972,7 @@ namespace NSGuidesVML
|
||||
}
|
||||
void ConvertAdj(const std::vector<LONG>& arAdj)
|
||||
{
|
||||
int nAdjCount = arAdj.size();
|
||||
for (int i = 0; i < nAdjCount; ++i)
|
||||
for (int i = 0; i < (int)arAdj.size(); ++i)
|
||||
{
|
||||
m_oAdjRes.WriteString(_T("<a:gd name=\"adj"));
|
||||
m_oAdjRes.WriteINT(i);
|
||||
@ -1981,7 +1980,7 @@ namespace NSGuidesVML
|
||||
m_oAdjRes.WriteINT(arAdj[i]);
|
||||
m_oAdjRes.WriteString(_T("\" />"));
|
||||
}
|
||||
for (int i = nAdjCount; i <= m_lMaxAdjUse; ++i)
|
||||
for (int i = (int)arAdj.size(); i <= m_lMaxAdjUse; ++i)
|
||||
{
|
||||
m_oAdjRes.WriteString(_T("<a:gd name=\"adj"));
|
||||
m_oAdjRes.WriteINT(i);
|
||||
@ -1992,8 +1991,7 @@ namespace NSGuidesVML
|
||||
}
|
||||
void ConvertFormula(const std::vector<CFormula>& arFormulas)
|
||||
{
|
||||
int nGuidCount = arFormulas.size();
|
||||
for (int i = 0; i < nGuidCount; ++i)
|
||||
for (size_t i = 0; i < arFormulas.size(); ++i)
|
||||
{
|
||||
const CFormula& pFormula = arFormulas[i];
|
||||
m_lIndexSrc++;
|
||||
@ -2301,12 +2299,12 @@ namespace NSGuidesVML
|
||||
{
|
||||
double dScale = (double)pow3_16 / m_oParam.m_lCoef;
|
||||
|
||||
if (oHandle.gdRef.y >= arAdj.size())
|
||||
if (oHandle.gdRef.y >= (int)arAdj.size())
|
||||
{
|
||||
// дурацкий код. надо память перевыделить, а старую скопировать
|
||||
// пока сделаю так, чтобы наверняка
|
||||
int nNewSize = (int)oHandle.gdRef.y + 1;
|
||||
while (arAdj.size() < nNewSize)
|
||||
while ((int)arAdj.size() < nNewSize)
|
||||
arAdj.push_back(0);
|
||||
}
|
||||
|
||||
@ -2464,7 +2462,7 @@ namespace NSGuidesVML
|
||||
switch (eParamType)
|
||||
{
|
||||
case ptFormula:
|
||||
if (bExtShape || lParam < m_arIndexDst.size())
|
||||
if (bExtShape || lParam < (int)m_arIndexDst.size())
|
||||
{
|
||||
oWriter.m_oWriter.AddCharNoCheck((WCHAR)'g');
|
||||
oWriter.m_oWriter.AddCharNoCheck((WCHAR)'d');
|
||||
@ -2659,7 +2657,7 @@ namespace NSGuidesVML
|
||||
LONG lValue;
|
||||
bool bRes = true;
|
||||
|
||||
for (int nIndex = 0; nIndex < oArray.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < oArray.size(); ++nIndex)
|
||||
{
|
||||
std::wstring str = oArray[nIndex];
|
||||
lValue = NSGuidesVML::GetValue(oArray[nIndex], eParamType, bRes);
|
||||
@ -3540,7 +3538,7 @@ namespace NSGuidesVML
|
||||
{
|
||||
for (size_t j = 0; j < oSlice.m_arPoints.size(); j += 2)
|
||||
{
|
||||
int l = (int)oSlice.m_arPoints.size() - j - 3;
|
||||
int l = (int)(oSlice.m_arPoints.size() - j - 3);
|
||||
if (l >= 0)
|
||||
{
|
||||
m_oPathRes.WriteString(_T("<a:quadBezTo>"));
|
||||
@ -3584,7 +3582,7 @@ namespace NSGuidesVML
|
||||
LONG nIndex = 0;
|
||||
for (size_t j = 0; j < oSlice.m_arPoints.size(); j += 3)
|
||||
{
|
||||
int l = (int)oSlice.m_arPoints.size() - j - 3;
|
||||
int l = (int)(oSlice.m_arPoints.size() - j - 3);
|
||||
if ( l >= 0 )
|
||||
{
|
||||
m_oPathRes.WriteString(_T("<a:cubicBezTo>"));
|
||||
@ -3627,7 +3625,7 @@ namespace NSGuidesVML
|
||||
{
|
||||
nIndex = m_arIndexDst[m_lIndexSrc];
|
||||
|
||||
int l = (int)oSlice.m_arPoints.size() - j - 3;
|
||||
int l = (int)(oSlice.m_arPoints.size() - j - 3);
|
||||
if (l >= 0)
|
||||
{
|
||||
m_oPathRes.WriteString(_T("<a:cubicBezTo>"));
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
|
||||
double NSGuidesOOXML::CFormula::Calculate(NSGuidesOOXML::CFormulaManager* pManager)
|
||||
{
|
||||
if ((0 == m_lIndex) || (-m_lIndex > pManager->Guides->size()) || (m_lIndex > pManager->Adjustments->size()))
|
||||
if ((0 == m_lIndex) || (-m_lIndex > (int)pManager->Guides->size()) || (m_lIndex > (int)pManager->Adjustments->size()))
|
||||
return 0.0;
|
||||
if((m_lIndex < 0) && (dNonDefResult > (*pManager->Guides)[-m_lIndex-1]))
|
||||
return (*pManager->Guides)[-m_lIndex-1];
|
||||
|
||||
@ -274,25 +274,25 @@ public:
|
||||
}
|
||||
|
||||
strAdjustments.clear();
|
||||
for(int i = 0; i < manager.strAdjustments.size(); i++)
|
||||
for(size_t i = 0; i < manager.strAdjustments.size(); i++)
|
||||
{
|
||||
strAdjustments.push_back(manager.strAdjustments[i]);
|
||||
}
|
||||
|
||||
strGuides.clear();
|
||||
for(int i = 0; i < manager.strGuides.size(); i++)
|
||||
for(size_t i = 0; i < manager.strGuides.size(); i++)
|
||||
{
|
||||
strGuides.push_back(manager.strGuides[i]);
|
||||
}
|
||||
|
||||
Adjustments->clear();
|
||||
for(int i = 0; i < manager.Adjustments->size(); i++)
|
||||
for(size_t i = 0; i < manager.Adjustments->size(); i++)
|
||||
{
|
||||
Adjustments->push_back((*manager.Adjustments)[i]);
|
||||
}
|
||||
|
||||
Guides->clear();
|
||||
for(int i = 0; i < manager.Guides->size(); i++)
|
||||
for(size_t i = 0; i < manager.Guides->size(); i++)
|
||||
{
|
||||
Guides->push_back((*manager.Guides)[i]);
|
||||
}
|
||||
@ -318,7 +318,7 @@ public:
|
||||
strAdjustments.push_back(formula);
|
||||
Adjustments->push_back(NonDefResult);
|
||||
|
||||
mapAdjustments.insert(std::pair<std::wstring, long>(name, strAdjustments.size() - 1));
|
||||
mapAdjustments.insert(std::pair<std::wstring, long>(name, (long)strAdjustments.size() - 1));
|
||||
}
|
||||
|
||||
void AddGuide(const std::wstring& name, const std::wstring& fmla)
|
||||
@ -334,14 +334,14 @@ public:
|
||||
*/
|
||||
// формулы могут повторяться!!!
|
||||
// тогда по мере расчитывания они перетирают друг друга
|
||||
CFormula formula( -strGuides.size() - 1);
|
||||
CFormula formula( -1 -(int)strGuides.size());
|
||||
formula.m_sName = name;
|
||||
formula.FromString(fmla);
|
||||
|
||||
strGuides.push_back(formula);
|
||||
Guides->push_back(dNonDefResult);
|
||||
|
||||
mapGuides.insert(std::pair<std::wstring, long>(name, strGuides.size() - 1));
|
||||
mapGuides.insert(std::pair<std::wstring, long>(name, (long)strGuides.size() - 1));
|
||||
}
|
||||
|
||||
double GetValue(std::wstring str)
|
||||
|
||||
@ -38,233 +38,233 @@ CPPTXShape* CPPTXShape::CreateByType(OOXMLShapes::ShapeType type)
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
case OOXMLShapes::sptCAccentBorderCallout1: return new OOXMLShapes::CAccentBorderCallout1();
|
||||
case OOXMLShapes::sptCAccentBorderCallout2: return new OOXMLShapes::CAccentBorderCallout2();
|
||||
case OOXMLShapes::sptCAccentBorderCallout3: return new OOXMLShapes::CAccentBorderCallout3();
|
||||
case OOXMLShapes::sptCAccentCallout1: return new OOXMLShapes::CAccentCallout1();
|
||||
case OOXMLShapes::sptCAccentCallout2: return new OOXMLShapes::CAccentCallout2();
|
||||
case OOXMLShapes::sptCAccentCallout3: return new OOXMLShapes::CAccentCallout3();
|
||||
case OOXMLShapes::sptCActionButtonBackPrevious: return new OOXMLShapes::CActionButtonBackPrevious();
|
||||
case OOXMLShapes::sptCActionButtonBeginning: return new OOXMLShapes::CActionButtonBeginning();
|
||||
case OOXMLShapes::sptCActionButtonBlank: return new OOXMLShapes::CActionButtonBlank();
|
||||
case OOXMLShapes::sptCActionButtonDocument: return new OOXMLShapes::CActionButtonDocument();
|
||||
case OOXMLShapes::sptCActionButtonEnd: return new OOXMLShapes::CActionButtonEnd();
|
||||
case OOXMLShapes::sptCActionButtonForwardNext: return new OOXMLShapes::CActionButtonForwardNext();
|
||||
case OOXMLShapes::sptCActionButtonHelp: return new OOXMLShapes::CActionButtonHelp();
|
||||
case OOXMLShapes::sptCActionButtonHome: return new OOXMLShapes::CActionButtonHome();
|
||||
case OOXMLShapes::sptCActionButtonInformation: return new OOXMLShapes::CActionButtonInformation();
|
||||
case OOXMLShapes::sptCActionButtonMovie: return new OOXMLShapes::CActionButtonMovie();
|
||||
case OOXMLShapes::sptCActionButtonReturn: return new OOXMLShapes::CActionButtonReturn();
|
||||
case OOXMLShapes::sptCActionButtonSound: return new OOXMLShapes::CActionButtonSound();
|
||||
case OOXMLShapes::sptCArc: return new OOXMLShapes::CArc();
|
||||
case OOXMLShapes::sptCBentArrow: return new OOXMLShapes::CBentArrow();
|
||||
case OOXMLShapes::sptCBentConnector2: return new OOXMLShapes::CBentConnector2();
|
||||
case OOXMLShapes::sptCBentConnector3: return new OOXMLShapes::CBentConnector3();
|
||||
case OOXMLShapes::sptCBentConnector4: return new OOXMLShapes::CBentConnector4();
|
||||
case OOXMLShapes::sptCBentConnector5: return new OOXMLShapes::CBentConnector5();
|
||||
case OOXMLShapes::sptCBentUpArrow: return new OOXMLShapes::CBentUpArrow();
|
||||
case OOXMLShapes::sptCBevel: return new OOXMLShapes::CBevel();
|
||||
case OOXMLShapes::sptCBlockArc: return new OOXMLShapes::CBlockArc();
|
||||
case OOXMLShapes::sptCBorderCallout1: return new OOXMLShapes::CBorderCallout1();
|
||||
case OOXMLShapes::sptCBorderCallout2: return new OOXMLShapes::CBorderCallout2();
|
||||
case OOXMLShapes::sptCBorderCallout3: return new OOXMLShapes::CBorderCallout3();
|
||||
case OOXMLShapes::sptCBracePair: return new OOXMLShapes::CBracePair();
|
||||
case OOXMLShapes::sptCBracketPair: return new OOXMLShapes::CBracketPair();
|
||||
case OOXMLShapes::sptCCallout1: return new OOXMLShapes::CCallout1();
|
||||
case OOXMLShapes::sptCCallout2: return new OOXMLShapes::CCallout2();
|
||||
case OOXMLShapes::sptCCallout3: return new OOXMLShapes::CCallout3();
|
||||
case OOXMLShapes::sptCCan: return new OOXMLShapes::CCan();
|
||||
case OOXMLShapes::sptCChartPlus: return new OOXMLShapes::CChartPlus();
|
||||
case OOXMLShapes::sptCChartStar: return new OOXMLShapes::CChartStar();
|
||||
case OOXMLShapes::sptCChartX: return new OOXMLShapes::CChartX();
|
||||
case OOXMLShapes::sptCChevron: return new OOXMLShapes::CChevron();
|
||||
case OOXMLShapes::sptCChord: return new OOXMLShapes::CChord();
|
||||
case OOXMLShapes::sptCCircularArrow: return new OOXMLShapes::CCircularArrow();
|
||||
case OOXMLShapes::sptCCloud: return new OOXMLShapes::CCloud();
|
||||
case OOXMLShapes::sptCCloudCallout: return new OOXMLShapes::CCloudCallout();
|
||||
case OOXMLShapes::sptCCorner: return new OOXMLShapes::CCorner();
|
||||
case OOXMLShapes::sptCCornerTabs: return new OOXMLShapes::CCornerTabs();
|
||||
case OOXMLShapes::sptCCube: return new OOXMLShapes::CCube();
|
||||
case OOXMLShapes::sptCCurvedConnector2: return new OOXMLShapes::CCurvedConnector2();
|
||||
case OOXMLShapes::sptCCurvedConnector3: return new OOXMLShapes::CCurvedConnector3();
|
||||
case OOXMLShapes::sptCCurvedConnector4: return new OOXMLShapes::CCurvedConnector4();
|
||||
case OOXMLShapes::sptCCurvedConnector5: return new OOXMLShapes::CCurvedConnector5();
|
||||
case OOXMLShapes::sptCCurvedDownArrow: return new OOXMLShapes::CCurvedDownArrow();
|
||||
case OOXMLShapes::sptCCurvedLeftArrow: return new OOXMLShapes::CCurvedLeftArrow();
|
||||
case OOXMLShapes::sptCCurvedRightArrow: return new OOXMLShapes::CCurvedRightArrow();
|
||||
case OOXMLShapes::sptCCurvedUpArrow: return new OOXMLShapes::CCurvedUpArrow();
|
||||
case OOXMLShapes::sptCDecagon: return new OOXMLShapes::CDecagon();
|
||||
case OOXMLShapes::sptCDiagStripe: return new OOXMLShapes::CDiagStripe();
|
||||
case OOXMLShapes::sptCDiamond: return new OOXMLShapes::CDiamond();
|
||||
case OOXMLShapes::sptCDodecagon: return new OOXMLShapes::CDodecagon();
|
||||
case OOXMLShapes::sptCDonut: return new OOXMLShapes::CDonut();
|
||||
case OOXMLShapes::sptCDoubleWave: return new OOXMLShapes::CDoubleWave();
|
||||
case OOXMLShapes::sptCDownArrow: return new OOXMLShapes::CDownArrow();
|
||||
case OOXMLShapes::sptCDownArrowCallout: return new OOXMLShapes::CDownArrowCallout();
|
||||
case OOXMLShapes::sptCEllipse: return new OOXMLShapes::CEllipse();
|
||||
case OOXMLShapes::sptCEllipseRibbon: return new OOXMLShapes::CEllipseRibbon();
|
||||
case OOXMLShapes::sptCEllipseRibbon2: return new OOXMLShapes::CEllipseRibbon2();
|
||||
case OOXMLShapes::sptCFlowChartAlternateProcess: return new OOXMLShapes::CFlowChartAlternateProcess();
|
||||
case OOXMLShapes::sptCFlowChartCollate: return new OOXMLShapes::CFlowChartCollate();
|
||||
case OOXMLShapes::sptCFlowChartConnector: return new OOXMLShapes::CFlowChartConnector();
|
||||
case OOXMLShapes::sptCFlowChartDecision: return new OOXMLShapes::CFlowChartDecision();
|
||||
case OOXMLShapes::sptCFlowChartDelay: return new OOXMLShapes::CFlowChartDelay();
|
||||
case OOXMLShapes::sptCFlowChartDisplay: return new OOXMLShapes::CFlowChartDisplay();
|
||||
case OOXMLShapes::sptCFlowChartDocument: return new OOXMLShapes::CFlowChartDocument();
|
||||
case OOXMLShapes::sptCFlowChartExtract: return new OOXMLShapes::CFlowChartExtract();
|
||||
case OOXMLShapes::sptCFlowChartInputOutput: return new OOXMLShapes::CFlowChartInputOutput();
|
||||
case OOXMLShapes::sptCAccentBorderCallout1: return new OOXMLShapes::CAccentBorderCallout1();
|
||||
case OOXMLShapes::sptCAccentBorderCallout2: return new OOXMLShapes::CAccentBorderCallout2();
|
||||
case OOXMLShapes::sptCAccentBorderCallout3: return new OOXMLShapes::CAccentBorderCallout3();
|
||||
case OOXMLShapes::sptCAccentCallout1: return new OOXMLShapes::CAccentCallout1();
|
||||
case OOXMLShapes::sptCAccentCallout2: return new OOXMLShapes::CAccentCallout2();
|
||||
case OOXMLShapes::sptCAccentCallout3: return new OOXMLShapes::CAccentCallout3();
|
||||
case OOXMLShapes::sptCActionButtonBackPrevious: return new OOXMLShapes::CActionButtonBackPrevious();
|
||||
case OOXMLShapes::sptCActionButtonBeginning: return new OOXMLShapes::CActionButtonBeginning();
|
||||
case OOXMLShapes::sptCActionButtonBlank: return new OOXMLShapes::CActionButtonBlank();
|
||||
case OOXMLShapes::sptCActionButtonDocument: return new OOXMLShapes::CActionButtonDocument();
|
||||
case OOXMLShapes::sptCActionButtonEnd: return new OOXMLShapes::CActionButtonEnd();
|
||||
case OOXMLShapes::sptCActionButtonForwardNext: return new OOXMLShapes::CActionButtonForwardNext();
|
||||
case OOXMLShapes::sptCActionButtonHelp: return new OOXMLShapes::CActionButtonHelp();
|
||||
case OOXMLShapes::sptCActionButtonHome: return new OOXMLShapes::CActionButtonHome();
|
||||
case OOXMLShapes::sptCActionButtonInformation: return new OOXMLShapes::CActionButtonInformation();
|
||||
case OOXMLShapes::sptCActionButtonMovie: return new OOXMLShapes::CActionButtonMovie();
|
||||
case OOXMLShapes::sptCActionButtonReturn: return new OOXMLShapes::CActionButtonReturn();
|
||||
case OOXMLShapes::sptCActionButtonSound: return new OOXMLShapes::CActionButtonSound();
|
||||
case OOXMLShapes::sptCArc: return new OOXMLShapes::CArc();
|
||||
case OOXMLShapes::sptCBentArrow: return new OOXMLShapes::CBentArrow();
|
||||
case OOXMLShapes::sptCBentConnector2: return new OOXMLShapes::CBentConnector2();
|
||||
case OOXMLShapes::sptCBentConnector3: return new OOXMLShapes::CBentConnector3();
|
||||
case OOXMLShapes::sptCBentConnector4: return new OOXMLShapes::CBentConnector4();
|
||||
case OOXMLShapes::sptCBentConnector5: return new OOXMLShapes::CBentConnector5();
|
||||
case OOXMLShapes::sptCBentUpArrow: return new OOXMLShapes::CBentUpArrow();
|
||||
case OOXMLShapes::sptCBevel: return new OOXMLShapes::CBevel();
|
||||
case OOXMLShapes::sptCBlockArc: return new OOXMLShapes::CBlockArc();
|
||||
case OOXMLShapes::sptCBorderCallout1: return new OOXMLShapes::CBorderCallout1();
|
||||
case OOXMLShapes::sptCBorderCallout2: return new OOXMLShapes::CBorderCallout2();
|
||||
case OOXMLShapes::sptCBorderCallout3: return new OOXMLShapes::CBorderCallout3();
|
||||
case OOXMLShapes::sptCBracePair: return new OOXMLShapes::CBracePair();
|
||||
case OOXMLShapes::sptCBracketPair: return new OOXMLShapes::CBracketPair();
|
||||
case OOXMLShapes::sptCCallout1: return new OOXMLShapes::CCallout1();
|
||||
case OOXMLShapes::sptCCallout2: return new OOXMLShapes::CCallout2();
|
||||
case OOXMLShapes::sptCCallout3: return new OOXMLShapes::CCallout3();
|
||||
case OOXMLShapes::sptCCan: return new OOXMLShapes::CCan();
|
||||
case OOXMLShapes::sptCChartPlus: return new OOXMLShapes::CChartPlus();
|
||||
case OOXMLShapes::sptCChartStar: return new OOXMLShapes::CChartStar();
|
||||
case OOXMLShapes::sptCChartX: return new OOXMLShapes::CChartX();
|
||||
case OOXMLShapes::sptCChevron: return new OOXMLShapes::CChevron();
|
||||
case OOXMLShapes::sptCChord: return new OOXMLShapes::CChord();
|
||||
case OOXMLShapes::sptCCircularArrow: return new OOXMLShapes::CCircularArrow();
|
||||
case OOXMLShapes::sptCCloud: return new OOXMLShapes::CCloud();
|
||||
case OOXMLShapes::sptCCloudCallout: return new OOXMLShapes::CCloudCallout();
|
||||
case OOXMLShapes::sptCCorner: return new OOXMLShapes::CCorner();
|
||||
case OOXMLShapes::sptCCornerTabs: return new OOXMLShapes::CCornerTabs();
|
||||
case OOXMLShapes::sptCCube: return new OOXMLShapes::CCube();
|
||||
case OOXMLShapes::sptCCurvedConnector2: return new OOXMLShapes::CCurvedConnector2();
|
||||
case OOXMLShapes::sptCCurvedConnector3: return new OOXMLShapes::CCurvedConnector3();
|
||||
case OOXMLShapes::sptCCurvedConnector4: return new OOXMLShapes::CCurvedConnector4();
|
||||
case OOXMLShapes::sptCCurvedConnector5: return new OOXMLShapes::CCurvedConnector5();
|
||||
case OOXMLShapes::sptCCurvedDownArrow: return new OOXMLShapes::CCurvedDownArrow();
|
||||
case OOXMLShapes::sptCCurvedLeftArrow: return new OOXMLShapes::CCurvedLeftArrow();
|
||||
case OOXMLShapes::sptCCurvedRightArrow: return new OOXMLShapes::CCurvedRightArrow();
|
||||
case OOXMLShapes::sptCCurvedUpArrow: return new OOXMLShapes::CCurvedUpArrow();
|
||||
case OOXMLShapes::sptCDecagon: return new OOXMLShapes::CDecagon();
|
||||
case OOXMLShapes::sptCDiagStripe: return new OOXMLShapes::CDiagStripe();
|
||||
case OOXMLShapes::sptCDiamond: return new OOXMLShapes::CDiamond();
|
||||
case OOXMLShapes::sptCDodecagon: return new OOXMLShapes::CDodecagon();
|
||||
case OOXMLShapes::sptCDonut: return new OOXMLShapes::CDonut();
|
||||
case OOXMLShapes::sptCDoubleWave: return new OOXMLShapes::CDoubleWave();
|
||||
case OOXMLShapes::sptCDownArrow: return new OOXMLShapes::CDownArrow();
|
||||
case OOXMLShapes::sptCDownArrowCallout: return new OOXMLShapes::CDownArrowCallout();
|
||||
case OOXMLShapes::sptCEllipse: return new OOXMLShapes::CEllipse();
|
||||
case OOXMLShapes::sptCEllipseRibbon: return new OOXMLShapes::CEllipseRibbon();
|
||||
case OOXMLShapes::sptCEllipseRibbon2: return new OOXMLShapes::CEllipseRibbon2();
|
||||
case OOXMLShapes::sptCFlowChartAlternateProcess:return new OOXMLShapes::CFlowChartAlternateProcess();
|
||||
case OOXMLShapes::sptCFlowChartCollate: return new OOXMLShapes::CFlowChartCollate();
|
||||
case OOXMLShapes::sptCFlowChartConnector: return new OOXMLShapes::CFlowChartConnector();
|
||||
case OOXMLShapes::sptCFlowChartDecision: return new OOXMLShapes::CFlowChartDecision();
|
||||
case OOXMLShapes::sptCFlowChartDelay: return new OOXMLShapes::CFlowChartDelay();
|
||||
case OOXMLShapes::sptCFlowChartDisplay: return new OOXMLShapes::CFlowChartDisplay();
|
||||
case OOXMLShapes::sptCFlowChartDocument: return new OOXMLShapes::CFlowChartDocument();
|
||||
case OOXMLShapes::sptCFlowChartExtract: return new OOXMLShapes::CFlowChartExtract();
|
||||
case OOXMLShapes::sptCFlowChartInputOutput: return new OOXMLShapes::CFlowChartInputOutput();
|
||||
case OOXMLShapes::sptCFlowChartInternalStorage: return new OOXMLShapes::CFlowChartInternalStorage();
|
||||
case OOXMLShapes::sptCFlowChartMagneticDisk: return new OOXMLShapes::CFlowChartMagneticDisk();
|
||||
case OOXMLShapes::sptCFlowChartMagneticDrum: return new OOXMLShapes::CFlowChartMagneticDrum();
|
||||
case OOXMLShapes::sptCFlowChartMagneticTape: return new OOXMLShapes::CFlowChartMagneticTape();
|
||||
case OOXMLShapes::sptCFlowChartManualInput: return new OOXMLShapes::CFlowChartManualInput();
|
||||
case OOXMLShapes::sptCFlowChartMagneticDisk: return new OOXMLShapes::CFlowChartMagneticDisk();
|
||||
case OOXMLShapes::sptCFlowChartMagneticDrum: return new OOXMLShapes::CFlowChartMagneticDrum();
|
||||
case OOXMLShapes::sptCFlowChartMagneticTape: return new OOXMLShapes::CFlowChartMagneticTape();
|
||||
case OOXMLShapes::sptCFlowChartManualInput: return new OOXMLShapes::CFlowChartManualInput();
|
||||
case OOXMLShapes::sptCFlowChartManualOperation: return new OOXMLShapes::CFlowChartManualOperation();
|
||||
case OOXMLShapes::sptCFlowChartMerge: return new OOXMLShapes::CFlowChartMerge();
|
||||
case OOXMLShapes::sptCFlowChartMultidocument: return new OOXMLShapes::CFlowChartMultidocument();
|
||||
case OOXMLShapes::sptCFlowChartOfflineStorage: return new OOXMLShapes::CFlowChartOfflineStorage();
|
||||
case OOXMLShapes::sptCFlowChartMerge: return new OOXMLShapes::CFlowChartMerge();
|
||||
case OOXMLShapes::sptCFlowChartMultidocument: return new OOXMLShapes::CFlowChartMultidocument();
|
||||
case OOXMLShapes::sptCFlowChartOfflineStorage: return new OOXMLShapes::CFlowChartOfflineStorage();
|
||||
case OOXMLShapes::sptCFlowChartOffpageConnector: return new OOXMLShapes::CFlowChartOffpageConnector();
|
||||
case OOXMLShapes::sptCFlowChartOnlineStorage: return new OOXMLShapes::CFlowChartOnlineStorage();
|
||||
case OOXMLShapes::sptCFlowChartOr: return new OOXMLShapes::CFlowChartOr();
|
||||
case OOXMLShapes::sptCFlowChartOnlineStorage: return new OOXMLShapes::CFlowChartOnlineStorage();
|
||||
case OOXMLShapes::sptCFlowChartOr: return new OOXMLShapes::CFlowChartOr();
|
||||
case OOXMLShapes::sptCFlowChartPredefinedProcess: return new OOXMLShapes::CFlowChartPredefinedProcess();
|
||||
case OOXMLShapes::sptCFlowChartPreparation: return new OOXMLShapes::CFlowChartPreparation();
|
||||
case OOXMLShapes::sptCFlowChartProcess: return new OOXMLShapes::CFlowChartProcess();
|
||||
case OOXMLShapes::sptCFlowChartPunchedCard: return new OOXMLShapes::CFlowChartPunchedCard();
|
||||
case OOXMLShapes::sptCFlowChartPunchedTape: return new OOXMLShapes::CFlowChartPunchedTape();
|
||||
case OOXMLShapes::sptCFlowChartSort: return new OOXMLShapes::CFlowChartSort();
|
||||
case OOXMLShapes::sptCFlowChartPreparation: return new OOXMLShapes::CFlowChartPreparation();
|
||||
case OOXMLShapes::sptCFlowChartProcess: return new OOXMLShapes::CFlowChartProcess();
|
||||
case OOXMLShapes::sptCFlowChartPunchedCard: return new OOXMLShapes::CFlowChartPunchedCard();
|
||||
case OOXMLShapes::sptCFlowChartPunchedTape: return new OOXMLShapes::CFlowChartPunchedTape();
|
||||
case OOXMLShapes::sptCFlowChartSort: return new OOXMLShapes::CFlowChartSort();
|
||||
case OOXMLShapes::sptCFlowChartSummingJunction: return new OOXMLShapes::CFlowChartSummingJunction();
|
||||
case OOXMLShapes::sptCFlowChartTerminator: return new OOXMLShapes::CFlowChartTerminator();
|
||||
case OOXMLShapes::sptCFoldedCorner: return new OOXMLShapes::CFoldedCorner();
|
||||
case OOXMLShapes::sptCFrame: return new OOXMLShapes::CFrame();
|
||||
case OOXMLShapes::sptCFunnel: return new OOXMLShapes::CFunnel();
|
||||
case OOXMLShapes::sptCGear6: return new OOXMLShapes::CGear6();
|
||||
case OOXMLShapes::sptCGear9: return new OOXMLShapes::CGear9();
|
||||
case OOXMLShapes::sptCHalfFrame: return new OOXMLShapes::CHalfFrame();
|
||||
case OOXMLShapes::sptCHeart: return new OOXMLShapes::CHeart();
|
||||
case OOXMLShapes::sptCHeptagon: return new OOXMLShapes::CHeptagon();
|
||||
case OOXMLShapes::sptCHexagon: return new OOXMLShapes::CHexagon();
|
||||
case OOXMLShapes::sptCHomePlate: return new OOXMLShapes::CHomePlate();
|
||||
case OOXMLShapes::sptCHorizontalScroll: return new OOXMLShapes::CHorizontalScroll();
|
||||
case OOXMLShapes::sptCIrregularSeal1: return new OOXMLShapes::CIrregularSeal1();
|
||||
case OOXMLShapes::sptCIrregularSeal2: return new OOXMLShapes::CIrregularSeal2();
|
||||
case OOXMLShapes::sptCLeftArrow: return new OOXMLShapes::CLeftArrow();
|
||||
case OOXMLShapes::sptCLeftArrowCallout: return new OOXMLShapes::CLeftArrowCallout();
|
||||
case OOXMLShapes::sptCLeftBrace: return new OOXMLShapes::CLeftBrace();
|
||||
case OOXMLShapes::sptCLeftBracket: return new OOXMLShapes::CLeftBracket();
|
||||
case OOXMLShapes::sptCLeftCircularArrow: return new OOXMLShapes::CLeftCircularArrow();
|
||||
case OOXMLShapes::sptCLeftRightArrow: return new OOXMLShapes::CLeftRightArrow();
|
||||
case OOXMLShapes::sptCLeftRightArrowCallout: return new OOXMLShapes::CLeftRightArrowCallout();
|
||||
case OOXMLShapes::sptCLeftRightCircularArrow: return new OOXMLShapes::CLeftRightCircularArrow();
|
||||
case OOXMLShapes::sptCLeftRightRibbon: return new OOXMLShapes::CLeftRightRibbon();
|
||||
case OOXMLShapes::sptCLeftRightUpArrow: return new OOXMLShapes::CLeftRightUpArrow();
|
||||
case OOXMLShapes::sptCLeftUpArrow: return new OOXMLShapes::CLeftUpArrow();
|
||||
case OOXMLShapes::sptCLightningBolt: return new OOXMLShapes::CLightningBolt();
|
||||
case OOXMLShapes::sptCLine: return new OOXMLShapes::CLine();
|
||||
case OOXMLShapes::sptCLineInv: return new OOXMLShapes::CLineInv();
|
||||
case OOXMLShapes::sptCMathDivide: return new OOXMLShapes::CMathDivide();
|
||||
case OOXMLShapes::sptCMathEqual: return new OOXMLShapes::CMathEqual();
|
||||
case OOXMLShapes::sptCMathMinus: return new OOXMLShapes::CMathMinus();
|
||||
case OOXMLShapes::sptCMathMultiply: return new OOXMLShapes::CMathMultiply();
|
||||
case OOXMLShapes::sptCMathNotEqual: return new OOXMLShapes::CMathNotEqual();
|
||||
case OOXMLShapes::sptCMathPlus: return new OOXMLShapes::CMathPlus();
|
||||
case OOXMLShapes::sptCMoon: return new OOXMLShapes::CMoon();
|
||||
case OOXMLShapes::sptCNonIsoscelesTrapezoid: return new OOXMLShapes::CNonIsoscelesTrapezoid();
|
||||
case OOXMLShapes::sptCNoSmoking: return new OOXMLShapes::CNoSmoking();
|
||||
case OOXMLShapes::sptCNotchedRightArrow: return new OOXMLShapes::CNotchedRightArrow();
|
||||
case OOXMLShapes::sptCOctagon: return new OOXMLShapes::COctagon();
|
||||
case OOXMLShapes::sptCParallelogram: return new OOXMLShapes::CParallelogram();
|
||||
case OOXMLShapes::sptCPentagon: return new OOXMLShapes::CPentagon();
|
||||
case OOXMLShapes::sptCPie: return new OOXMLShapes::CPie();
|
||||
case OOXMLShapes::sptCPieWedge: return new OOXMLShapes::CPieWedge();
|
||||
case OOXMLShapes::sptCPlaque: return new OOXMLShapes::CPlaque();
|
||||
case OOXMLShapes::sptCPlaqueTabs: return new OOXMLShapes::CPlaqueTabs();
|
||||
case OOXMLShapes::sptCPlus: return new OOXMLShapes::CPlus();
|
||||
case OOXMLShapes::sptCQuadArrow: return new OOXMLShapes::CQuadArrow();
|
||||
case OOXMLShapes::sptCQuadArrowCallout: return new OOXMLShapes::CQuadArrowCallout();
|
||||
case OOXMLShapes::sptCRect: return new OOXMLShapes::CRect();
|
||||
case OOXMLShapes::sptCRibbon: return new OOXMLShapes::CRibbon();
|
||||
case OOXMLShapes::sptCRibbon2: return new OOXMLShapes::CRibbon2();
|
||||
case OOXMLShapes::sptCRightArrow: return new OOXMLShapes::CRightArrow();
|
||||
case OOXMLShapes::sptCRightArrowCallout: return new OOXMLShapes::CRightArrowCallout();
|
||||
case OOXMLShapes::sptCRightBrace: return new OOXMLShapes::CRightBrace();
|
||||
case OOXMLShapes::sptCRightBracket: return new OOXMLShapes::CRightBracket();
|
||||
case OOXMLShapes::sptCRound1Rect: return new OOXMLShapes::CRound1Rect();
|
||||
case OOXMLShapes::sptCRound2DiagRect: return new OOXMLShapes::CRound2DiagRect();
|
||||
case OOXMLShapes::sptCRound2SameRect: return new OOXMLShapes::CRound2SameRect();
|
||||
case OOXMLShapes::sptCRoundRect: return new OOXMLShapes::CRoundRect();
|
||||
case OOXMLShapes::sptCRtTriangle: return new OOXMLShapes::CRtTriangle();
|
||||
case OOXMLShapes::sptCSmileyFace: return new OOXMLShapes::CSmileyFace();
|
||||
case OOXMLShapes::sptCSnip1Rect: return new OOXMLShapes::CSnip1Rect();
|
||||
case OOXMLShapes::sptCSnip2DiagRect: return new OOXMLShapes::CSnip2DiagRect();
|
||||
case OOXMLShapes::sptCSnip2SameRect: return new OOXMLShapes::CSnip2SameRect();
|
||||
case OOXMLShapes::sptCSnipRoundRect: return new OOXMLShapes::CSnipRoundRect();
|
||||
case OOXMLShapes::sptCSquareTabs: return new OOXMLShapes::CSquareTabs();
|
||||
case OOXMLShapes::sptCStar10: return new OOXMLShapes::CStar10();
|
||||
case OOXMLShapes::sptCStar12: return new OOXMLShapes::CStar12();
|
||||
case OOXMLShapes::sptCStar16: return new OOXMLShapes::CStar16();
|
||||
case OOXMLShapes::sptCStar24: return new OOXMLShapes::CStar24();
|
||||
case OOXMLShapes::sptCStar32: return new OOXMLShapes::CStar32();
|
||||
case OOXMLShapes::sptCStar4: return new OOXMLShapes::CStar4();
|
||||
case OOXMLShapes::sptCStar5: return new OOXMLShapes::CStar5();
|
||||
case OOXMLShapes::sptCStar6: return new OOXMLShapes::CStar6();
|
||||
case OOXMLShapes::sptCStar7: return new OOXMLShapes::CStar7();
|
||||
case OOXMLShapes::sptCStar8: return new OOXMLShapes::CStar8();
|
||||
case OOXMLShapes::sptCStraightConnector1: return new OOXMLShapes::CStraightConnector1();
|
||||
case OOXMLShapes::sptCStripedRightArrow: return new OOXMLShapes::CStripedRightArrow();
|
||||
case OOXMLShapes::sptCSun: return new OOXMLShapes::CSun();
|
||||
case OOXMLShapes::sptCSwooshArrow: return new OOXMLShapes::CSwooshArrow();
|
||||
case OOXMLShapes::sptCTeardrop: return new OOXMLShapes::CTeardrop();
|
||||
case OOXMLShapes::sptCTextArchDown: return new OOXMLShapes::CTextArchDown();
|
||||
case OOXMLShapes::sptCTextArchDownPour: return new OOXMLShapes::CTextArchDownPour();
|
||||
case OOXMLShapes::sptCTextArchUp: return new OOXMLShapes::CTextArchUp();
|
||||
case OOXMLShapes::sptCTextArchUpPour: return new OOXMLShapes::CTextArchUpPour();
|
||||
case OOXMLShapes::sptCTextButton: return new OOXMLShapes::CTextButton();
|
||||
case OOXMLShapes::sptCTextButtonPour: return new OOXMLShapes::CTextButtonPour();
|
||||
case OOXMLShapes::sptCTextCanDown: return new OOXMLShapes::CTextCanDown();
|
||||
case OOXMLShapes::sptCTextCanUp: return new OOXMLShapes::CTextCanUp();
|
||||
case OOXMLShapes::sptCTextCascadeDown: return new OOXMLShapes::CTextCascadeDown();
|
||||
case OOXMLShapes::sptCTextCascadeUp: return new OOXMLShapes::CTextCascadeUp();
|
||||
case OOXMLShapes::sptCTextChevron: return new OOXMLShapes::CTextChevron();
|
||||
case OOXMLShapes::sptCTextChevronInverted: return new OOXMLShapes::CTextChevronInverted();
|
||||
case OOXMLShapes::sptCTextCircle: return new OOXMLShapes::CTextCircle();
|
||||
case OOXMLShapes::sptCTextCirclePour: return new OOXMLShapes::CTextCirclePour();
|
||||
case OOXMLShapes::sptCTextCurveDown: return new OOXMLShapes::CTextCurveDown();
|
||||
case OOXMLShapes::sptCTextCurveUp: return new OOXMLShapes::CTextCurveUp();
|
||||
case OOXMLShapes::sptCTextDeflate: return new OOXMLShapes::CTextDeflate();
|
||||
case OOXMLShapes::sptCTextDeflateBottom: return new OOXMLShapes::CTextDeflateBottom();
|
||||
case OOXMLShapes::sptCTextDeflateInflate: return new OOXMLShapes::CTextDeflateInflate();
|
||||
case OOXMLShapes::sptCTextDeflateInflateDeflate: return new OOXMLShapes::CTextDeflateInflateDeflate();
|
||||
case OOXMLShapes::sptCTextDeflateTop: return new OOXMLShapes::CTextDeflateTop();
|
||||
case OOXMLShapes::sptCTextDoubleWave1: return new OOXMLShapes::CTextDoubleWave1();
|
||||
case OOXMLShapes::sptCTextFadeDown: return new OOXMLShapes::CTextFadeDown();
|
||||
case OOXMLShapes::sptCTextFadeLeft: return new OOXMLShapes::CTextFadeLeft();
|
||||
case OOXMLShapes::sptCTextFadeRight: return new OOXMLShapes::CTextFadeRight();
|
||||
case OOXMLShapes::sptCTextFadeUp: return new OOXMLShapes::CTextFadeUp();
|
||||
case OOXMLShapes::sptCTextInflate: return new OOXMLShapes::CTextInflate();
|
||||
case OOXMLShapes::sptCTextInflateBottom: return new OOXMLShapes::CTextInflateBottom();
|
||||
case OOXMLShapes::sptCTextInflateTop: return new OOXMLShapes::CTextInflateTop();
|
||||
case OOXMLShapes::sptCTextPlain: return new OOXMLShapes::CTextPlain();
|
||||
case OOXMLShapes::sptCTextRingInside: return new OOXMLShapes::CTextRingInside();
|
||||
case OOXMLShapes::sptCTextRingOutside: return new OOXMLShapes::CTextRingOutside();
|
||||
case OOXMLShapes::sptCTextSlantDown: return new OOXMLShapes::CTextSlantDown();
|
||||
case OOXMLShapes::sptCTextSlantUp: return new OOXMLShapes::CTextSlantUp();
|
||||
case OOXMLShapes::sptCTextStop: return new OOXMLShapes::CTextStop();
|
||||
case OOXMLShapes::sptCTextTriangle: return new OOXMLShapes::CTextTriangle();
|
||||
case OOXMLShapes::sptCTextTriangleInverted: return new OOXMLShapes::CTextTriangleInverted();
|
||||
case OOXMLShapes::sptCTextWave1: return new OOXMLShapes::CTextWave1();
|
||||
case OOXMLShapes::sptCTextWave2: return new OOXMLShapes::CTextWave2();
|
||||
case OOXMLShapes::sptCTextWave4: return new OOXMLShapes::CTextWave4();
|
||||
case OOXMLShapes::sptCTrapezoid: return new OOXMLShapes::CTrapezoid();
|
||||
case OOXMLShapes::sptCTriangle: return new OOXMLShapes::CTriangle();
|
||||
case OOXMLShapes::sptCUpArrow: return new OOXMLShapes::CUpArrow();
|
||||
case OOXMLShapes::sptCUpArrowCallout: return new OOXMLShapes::CUpArrowCallout();
|
||||
case OOXMLShapes::sptCUpDownArrow: return new OOXMLShapes::CUpDownArrow();
|
||||
case OOXMLShapes::sptCUpDownArrowCallout: return new OOXMLShapes::CUpDownArrowCallout();
|
||||
case OOXMLShapes::sptCUturnArrow: return new OOXMLShapes::CUturnArrow();
|
||||
case OOXMLShapes::sptCVerticalScroll: return new OOXMLShapes::CVerticalScroll();
|
||||
case OOXMLShapes::sptCWave: return new OOXMLShapes::CWave();
|
||||
case OOXMLShapes::sptCWedgeEllipseCallout: return new OOXMLShapes::CWedgeEllipseCallout();
|
||||
case OOXMLShapes::sptCWedgeRectCallout: return new OOXMLShapes::CWedgeRectCallout();
|
||||
case OOXMLShapes::sptCWedgeRoundRectCallout: return new OOXMLShapes::CWedgeRoundRectCallout();
|
||||
case OOXMLShapes::sptCFlowChartTerminator: return new OOXMLShapes::CFlowChartTerminator();
|
||||
case OOXMLShapes::sptCFoldedCorner: return new OOXMLShapes::CFoldedCorner();
|
||||
case OOXMLShapes::sptCFrame: return new OOXMLShapes::CFrame();
|
||||
case OOXMLShapes::sptCFunnel: return new OOXMLShapes::CFunnel();
|
||||
case OOXMLShapes::sptCGear6: return new OOXMLShapes::CGear6();
|
||||
case OOXMLShapes::sptCGear9: return new OOXMLShapes::CGear9();
|
||||
case OOXMLShapes::sptCHalfFrame: return new OOXMLShapes::CHalfFrame();
|
||||
case OOXMLShapes::sptCHeart: return new OOXMLShapes::CHeart();
|
||||
case OOXMLShapes::sptCHeptagon: return new OOXMLShapes::CHeptagon();
|
||||
case OOXMLShapes::sptCHexagon: return new OOXMLShapes::CHexagon();
|
||||
case OOXMLShapes::sptCHomePlate: return new OOXMLShapes::CHomePlate();
|
||||
case OOXMLShapes::sptCHorizontalScroll: return new OOXMLShapes::CHorizontalScroll();
|
||||
case OOXMLShapes::sptCIrregularSeal1: return new OOXMLShapes::CIrregularSeal1();
|
||||
case OOXMLShapes::sptCIrregularSeal2: return new OOXMLShapes::CIrregularSeal2();
|
||||
case OOXMLShapes::sptCLeftArrow: return new OOXMLShapes::CLeftArrow();
|
||||
case OOXMLShapes::sptCLeftArrowCallout: return new OOXMLShapes::CLeftArrowCallout();
|
||||
case OOXMLShapes::sptCLeftBrace: return new OOXMLShapes::CLeftBrace();
|
||||
case OOXMLShapes::sptCLeftBracket: return new OOXMLShapes::CLeftBracket();
|
||||
case OOXMLShapes::sptCLeftCircularArrow: return new OOXMLShapes::CLeftCircularArrow();
|
||||
case OOXMLShapes::sptCLeftRightArrow: return new OOXMLShapes::CLeftRightArrow();
|
||||
case OOXMLShapes::sptCLeftRightArrowCallout: return new OOXMLShapes::CLeftRightArrowCallout();
|
||||
case OOXMLShapes::sptCLeftRightCircularArrow: return new OOXMLShapes::CLeftRightCircularArrow();
|
||||
case OOXMLShapes::sptCLeftRightRibbon: return new OOXMLShapes::CLeftRightRibbon();
|
||||
case OOXMLShapes::sptCLeftRightUpArrow: return new OOXMLShapes::CLeftRightUpArrow();
|
||||
case OOXMLShapes::sptCLeftUpArrow: return new OOXMLShapes::CLeftUpArrow();
|
||||
case OOXMLShapes::sptCLightningBolt: return new OOXMLShapes::CLightningBolt();
|
||||
case OOXMLShapes::sptCLine: return new OOXMLShapes::CLine();
|
||||
case OOXMLShapes::sptCLineInv: return new OOXMLShapes::CLineInv();
|
||||
case OOXMLShapes::sptCMathDivide: return new OOXMLShapes::CMathDivide();
|
||||
case OOXMLShapes::sptCMathEqual: return new OOXMLShapes::CMathEqual();
|
||||
case OOXMLShapes::sptCMathMinus: return new OOXMLShapes::CMathMinus();
|
||||
case OOXMLShapes::sptCMathMultiply: return new OOXMLShapes::CMathMultiply();
|
||||
case OOXMLShapes::sptCMathNotEqual: return new OOXMLShapes::CMathNotEqual();
|
||||
case OOXMLShapes::sptCMathPlus: return new OOXMLShapes::CMathPlus();
|
||||
case OOXMLShapes::sptCMoon: return new OOXMLShapes::CMoon();
|
||||
case OOXMLShapes::sptCNonIsoscelesTrapezoid: return new OOXMLShapes::CNonIsoscelesTrapezoid();
|
||||
case OOXMLShapes::sptCNoSmoking: return new OOXMLShapes::CNoSmoking();
|
||||
case OOXMLShapes::sptCNotchedRightArrow: return new OOXMLShapes::CNotchedRightArrow();
|
||||
case OOXMLShapes::sptCOctagon: return new OOXMLShapes::COctagon();
|
||||
case OOXMLShapes::sptCParallelogram: return new OOXMLShapes::CParallelogram();
|
||||
case OOXMLShapes::sptCPentagon: return new OOXMLShapes::CPentagon();
|
||||
case OOXMLShapes::sptCPie: return new OOXMLShapes::CPie();
|
||||
case OOXMLShapes::sptCPieWedge: return new OOXMLShapes::CPieWedge();
|
||||
case OOXMLShapes::sptCPlaque: return new OOXMLShapes::CPlaque();
|
||||
case OOXMLShapes::sptCPlaqueTabs: return new OOXMLShapes::CPlaqueTabs();
|
||||
case OOXMLShapes::sptCPlus: return new OOXMLShapes::CPlus();
|
||||
case OOXMLShapes::sptCQuadArrow: return new OOXMLShapes::CQuadArrow();
|
||||
case OOXMLShapes::sptCQuadArrowCallout: return new OOXMLShapes::CQuadArrowCallout();
|
||||
case OOXMLShapes::sptCRect: return new OOXMLShapes::CRect();
|
||||
case OOXMLShapes::sptCRibbon: return new OOXMLShapes::CRibbon();
|
||||
case OOXMLShapes::sptCRibbon2: return new OOXMLShapes::CRibbon2();
|
||||
case OOXMLShapes::sptCRightArrow: return new OOXMLShapes::CRightArrow();
|
||||
case OOXMLShapes::sptCRightArrowCallout: return new OOXMLShapes::CRightArrowCallout();
|
||||
case OOXMLShapes::sptCRightBrace: return new OOXMLShapes::CRightBrace();
|
||||
case OOXMLShapes::sptCRightBracket: return new OOXMLShapes::CRightBracket();
|
||||
case OOXMLShapes::sptCRound1Rect: return new OOXMLShapes::CRound1Rect();
|
||||
case OOXMLShapes::sptCRound2DiagRect: return new OOXMLShapes::CRound2DiagRect();
|
||||
case OOXMLShapes::sptCRound2SameRect: return new OOXMLShapes::CRound2SameRect();
|
||||
case OOXMLShapes::sptCRoundRect: return new OOXMLShapes::CRoundRect();
|
||||
case OOXMLShapes::sptCRtTriangle: return new OOXMLShapes::CRtTriangle();
|
||||
case OOXMLShapes::sptCSmileyFace: return new OOXMLShapes::CSmileyFace();
|
||||
case OOXMLShapes::sptCSnip1Rect: return new OOXMLShapes::CSnip1Rect();
|
||||
case OOXMLShapes::sptCSnip2DiagRect: return new OOXMLShapes::CSnip2DiagRect();
|
||||
case OOXMLShapes::sptCSnip2SameRect: return new OOXMLShapes::CSnip2SameRect();
|
||||
case OOXMLShapes::sptCSnipRoundRect: return new OOXMLShapes::CSnipRoundRect();
|
||||
case OOXMLShapes::sptCSquareTabs: return new OOXMLShapes::CSquareTabs();
|
||||
case OOXMLShapes::sptCStar10: return new OOXMLShapes::CStar10();
|
||||
case OOXMLShapes::sptCStar12: return new OOXMLShapes::CStar12();
|
||||
case OOXMLShapes::sptCStar16: return new OOXMLShapes::CStar16();
|
||||
case OOXMLShapes::sptCStar24: return new OOXMLShapes::CStar24();
|
||||
case OOXMLShapes::sptCStar32: return new OOXMLShapes::CStar32();
|
||||
case OOXMLShapes::sptCStar4: return new OOXMLShapes::CStar4();
|
||||
case OOXMLShapes::sptCStar5: return new OOXMLShapes::CStar5();
|
||||
case OOXMLShapes::sptCStar6: return new OOXMLShapes::CStar6();
|
||||
case OOXMLShapes::sptCStar7: return new OOXMLShapes::CStar7();
|
||||
case OOXMLShapes::sptCStar8: return new OOXMLShapes::CStar8();
|
||||
case OOXMLShapes::sptCStraightConnector1: return new OOXMLShapes::CStraightConnector1();
|
||||
case OOXMLShapes::sptCStripedRightArrow: return new OOXMLShapes::CStripedRightArrow();
|
||||
case OOXMLShapes::sptCSun: return new OOXMLShapes::CSun();
|
||||
case OOXMLShapes::sptCSwooshArrow: return new OOXMLShapes::CSwooshArrow();
|
||||
case OOXMLShapes::sptCTeardrop: return new OOXMLShapes::CTeardrop();
|
||||
case OOXMLShapes::sptCTextArchDown: return new OOXMLShapes::CTextArchDown();
|
||||
case OOXMLShapes::sptCTextArchDownPour: return new OOXMLShapes::CTextArchDownPour();
|
||||
case OOXMLShapes::sptCTextArchUp: return new OOXMLShapes::CTextArchUp();
|
||||
case OOXMLShapes::sptCTextArchUpPour: return new OOXMLShapes::CTextArchUpPour();
|
||||
case OOXMLShapes::sptCTextButton: return new OOXMLShapes::CTextButton();
|
||||
case OOXMLShapes::sptCTextButtonPour: return new OOXMLShapes::CTextButtonPour();
|
||||
case OOXMLShapes::sptCTextCanDown: return new OOXMLShapes::CTextCanDown();
|
||||
case OOXMLShapes::sptCTextCanUp: return new OOXMLShapes::CTextCanUp();
|
||||
case OOXMLShapes::sptCTextCascadeDown: return new OOXMLShapes::CTextCascadeDown();
|
||||
case OOXMLShapes::sptCTextCascadeUp: return new OOXMLShapes::CTextCascadeUp();
|
||||
case OOXMLShapes::sptCTextChevron: return new OOXMLShapes::CTextChevron();
|
||||
case OOXMLShapes::sptCTextChevronInverted: return new OOXMLShapes::CTextChevronInverted();
|
||||
case OOXMLShapes::sptCTextCircle: return new OOXMLShapes::CTextCircle();
|
||||
case OOXMLShapes::sptCTextCirclePour: return new OOXMLShapes::CTextCirclePour();
|
||||
case OOXMLShapes::sptCTextCurveDown: return new OOXMLShapes::CTextCurveDown();
|
||||
case OOXMLShapes::sptCTextCurveUp: return new OOXMLShapes::CTextCurveUp();
|
||||
case OOXMLShapes::sptCTextDeflate: return new OOXMLShapes::CTextDeflate();
|
||||
case OOXMLShapes::sptCTextDeflateBottom: return new OOXMLShapes::CTextDeflateBottom();
|
||||
case OOXMLShapes::sptCTextDeflateInflate: return new OOXMLShapes::CTextDeflateInflate();
|
||||
case OOXMLShapes::sptCTextDeflateInflateDeflate:return new OOXMLShapes::CTextDeflateInflateDeflate();
|
||||
case OOXMLShapes::sptCTextDeflateTop: return new OOXMLShapes::CTextDeflateTop();
|
||||
case OOXMLShapes::sptCTextDoubleWave1: return new OOXMLShapes::CTextDoubleWave1();
|
||||
case OOXMLShapes::sptCTextFadeDown: return new OOXMLShapes::CTextFadeDown();
|
||||
case OOXMLShapes::sptCTextFadeLeft: return new OOXMLShapes::CTextFadeLeft();
|
||||
case OOXMLShapes::sptCTextFadeRight: return new OOXMLShapes::CTextFadeRight();
|
||||
case OOXMLShapes::sptCTextFadeUp: return new OOXMLShapes::CTextFadeUp();
|
||||
case OOXMLShapes::sptCTextInflate: return new OOXMLShapes::CTextInflate();
|
||||
case OOXMLShapes::sptCTextInflateBottom: return new OOXMLShapes::CTextInflateBottom();
|
||||
case OOXMLShapes::sptCTextInflateTop: return new OOXMLShapes::CTextInflateTop();
|
||||
case OOXMLShapes::sptCTextPlain: return new OOXMLShapes::CTextPlain();
|
||||
case OOXMLShapes::sptCTextRingInside: return new OOXMLShapes::CTextRingInside();
|
||||
case OOXMLShapes::sptCTextRingOutside: return new OOXMLShapes::CTextRingOutside();
|
||||
case OOXMLShapes::sptCTextSlantDown: return new OOXMLShapes::CTextSlantDown();
|
||||
case OOXMLShapes::sptCTextSlantUp: return new OOXMLShapes::CTextSlantUp();
|
||||
case OOXMLShapes::sptCTextStop: return new OOXMLShapes::CTextStop();
|
||||
case OOXMLShapes::sptCTextTriangle: return new OOXMLShapes::CTextTriangle();
|
||||
case OOXMLShapes::sptCTextTriangleInverted: return new OOXMLShapes::CTextTriangleInverted();
|
||||
case OOXMLShapes::sptCTextWave1: return new OOXMLShapes::CTextWave1();
|
||||
case OOXMLShapes::sptCTextWave2: return new OOXMLShapes::CTextWave2();
|
||||
case OOXMLShapes::sptCTextWave4: return new OOXMLShapes::CTextWave4();
|
||||
case OOXMLShapes::sptCTrapezoid: return new OOXMLShapes::CTrapezoid();
|
||||
case OOXMLShapes::sptCTriangle: return new OOXMLShapes::CTriangle();
|
||||
case OOXMLShapes::sptCUpArrow: return new OOXMLShapes::CUpArrow();
|
||||
case OOXMLShapes::sptCUpArrowCallout: return new OOXMLShapes::CUpArrowCallout();
|
||||
case OOXMLShapes::sptCUpDownArrow: return new OOXMLShapes::CUpDownArrow();
|
||||
case OOXMLShapes::sptCUpDownArrowCallout: return new OOXMLShapes::CUpDownArrowCallout();
|
||||
case OOXMLShapes::sptCUturnArrow: return new OOXMLShapes::CUturnArrow();
|
||||
case OOXMLShapes::sptCVerticalScroll: return new OOXMLShapes::CVerticalScroll();
|
||||
case OOXMLShapes::sptCWave: return new OOXMLShapes::CWave();
|
||||
case OOXMLShapes::sptCWedgeEllipseCallout: return new OOXMLShapes::CWedgeEllipseCallout();
|
||||
case OOXMLShapes::sptCWedgeRectCallout: return new OOXMLShapes::CWedgeRectCallout();
|
||||
case OOXMLShapes::sptCWedgeRoundRectCallout: return new OOXMLShapes::CWedgeRoundRectCallout();
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@ -477,7 +477,7 @@ public:
|
||||
virtual bool SetAdjustment(long index, long value)
|
||||
{
|
||||
FManager.Clear();
|
||||
if (index < m_arAdjustments.size() && index >=0)
|
||||
if (index < (long)m_arAdjustments.size() && index >=0)
|
||||
{
|
||||
m_arAdjustments[index] = value;
|
||||
return TRUE;
|
||||
@ -508,7 +508,8 @@ public:
|
||||
}
|
||||
|
||||
static CPPTXShape* CreateByType(OOXMLShapes::ShapeType type);
|
||||
virtual const ClassType GetClassType()const
|
||||
|
||||
virtual const ClassType GetClassType()const
|
||||
{
|
||||
return NSBaseShape::pptx;
|
||||
}
|
||||
|
||||
@ -967,7 +967,7 @@ namespace NSPresentationEditor
|
||||
{
|
||||
m_eRuler = oSrc.m_eRuler;
|
||||
m_arPoints.clear();
|
||||
for (int nIndex = 0; nIndex < oSrc.m_arPoints.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < oSrc.m_arPoints.size(); ++nIndex)
|
||||
{
|
||||
m_arPoints.push_back(oSrc.m_arPoints[nIndex]);
|
||||
}
|
||||
@ -1282,7 +1282,7 @@ namespace NSPresentationEditor
|
||||
LONG lValue;
|
||||
bool bRes = true;
|
||||
|
||||
for (int nIndex = 0; nIndex < oArray.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < oArray.size(); ++nIndex)
|
||||
{
|
||||
lValue = GetValue(oArray[nIndex], eParamType, bRes);
|
||||
if (bRes)
|
||||
@ -1291,7 +1291,7 @@ namespace NSPresentationEditor
|
||||
{
|
||||
case ptFormula:
|
||||
{
|
||||
if (0 <= lValue && lValue < pManager.m_arResults.size())
|
||||
if (0 <= lValue && lValue < (LONG)pManager.m_arResults.size())
|
||||
{
|
||||
lValue = pManager.m_arResults[lValue];
|
||||
}
|
||||
@ -1303,7 +1303,7 @@ namespace NSPresentationEditor
|
||||
}
|
||||
case ptAdjust:
|
||||
{
|
||||
if (0 <= lValue && lValue < pManager.m_pAdjustments->size())
|
||||
if (0 <= lValue && lValue < (LONG)pManager.m_pAdjustments->size())
|
||||
{
|
||||
lValue = (*(pManager.m_pAdjustments))[lValue];
|
||||
}
|
||||
@ -1364,8 +1364,7 @@ namespace NSPresentationEditor
|
||||
|
||||
//pRenderer->BeginCommand(c_nPathType);
|
||||
|
||||
int nSlises = m_arSlices.size();
|
||||
for (int nIndex = 0; nIndex < nSlises; ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < m_arSlices.size(); ++nIndex)
|
||||
{
|
||||
m_arSlices[nIndex].ToRenderer(pRenderer, pGeomInfo, width, height, ClassType);
|
||||
}
|
||||
@ -1383,8 +1382,7 @@ namespace NSPresentationEditor
|
||||
pRenderer->m_dWidthMM = pInfo.m_lMillimetresHor;
|
||||
pRenderer->m_dHeightMM = pInfo.m_lMillimetresVer;
|
||||
|
||||
int nSlises = m_arSlices.size();
|
||||
for (int nIndex = 0; nIndex < nSlises; ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < m_arSlices.size(); ++nIndex)
|
||||
{
|
||||
m_arSlices[nIndex].ToRenderer(pRenderer, pGeomInfo, width, height, ClassType);
|
||||
}
|
||||
@ -1399,7 +1397,7 @@ namespace NSPresentationEditor
|
||||
height = oSrc.height;
|
||||
|
||||
m_arSlices.clear();
|
||||
for (int nIndex = 0; nIndex < oSrc.m_arSlices.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < oSrc.m_arSlices.size(); ++nIndex)
|
||||
{
|
||||
m_arSlices.push_back(oSrc.m_arSlices[nIndex]);
|
||||
}
|
||||
@ -1433,7 +1431,7 @@ namespace NSPresentationEditor
|
||||
std::vector<std::wstring> oArray;
|
||||
boost::algorithm::split(oArray, strPath, boost::algorithm::is_any_of(L"e"), boost::algorithm::token_compress_on);
|
||||
|
||||
for (int nIndex = 0; nIndex < oArray.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < oArray.size(); ++nIndex)
|
||||
{
|
||||
CPartPath oPath;
|
||||
m_arParts.push_back(oPath);
|
||||
@ -1444,7 +1442,7 @@ namespace NSPresentationEditor
|
||||
std::wstring ToXml(CGeomShapeInfo& pGeomInfo, double dStartTime, double dEndTime, CPen& pPen, CBrush& pFore, CMetricInfo& pInfo, NSBaseShape::ClassType ClassType)
|
||||
{
|
||||
std::wstring strResult = _T("");
|
||||
for (int nIndex = 0; nIndex < m_arParts.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < m_arParts.size(); ++nIndex)
|
||||
{
|
||||
strResult += m_arParts[nIndex].ToXml(pGeomInfo, dStartTime, dEndTime, pPen, pFore, pInfo, ClassType);
|
||||
}
|
||||
@ -1458,8 +1456,7 @@ namespace NSPresentationEditor
|
||||
oPath.Pen = pPen;
|
||||
oPath.Brush = pFore;
|
||||
|
||||
int nSize = m_arParts.size();
|
||||
for (int nIndex = 0; nIndex < nSize; ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < m_arParts.size(); ++nIndex)
|
||||
{
|
||||
oPath.Clear();
|
||||
m_arParts[nIndex].ToRenderer(&oPath, pGeomInfo, dStartTime, dEndTime, pPen, pFore, pInfo, ClassType);
|
||||
@ -1471,7 +1468,7 @@ namespace NSPresentationEditor
|
||||
CPath& operator =(const CPath& oSrc)
|
||||
{
|
||||
m_arParts.clear();
|
||||
for (int nIndex = 0; nIndex < oSrc.m_arParts.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < oSrc.m_arParts.size(); ++nIndex)
|
||||
{
|
||||
m_arParts.push_back(oSrc.m_arParts[nIndex]);
|
||||
}
|
||||
@ -1480,7 +1477,7 @@ namespace NSPresentationEditor
|
||||
|
||||
void SetCoordsize(LONG lWidth, LONG lHeight)
|
||||
{
|
||||
for (int nIndex = 0; nIndex < m_arParts.size(); ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < m_arParts.size(); ++nIndex)
|
||||
{
|
||||
m_arParts[nIndex].width = lWidth;
|
||||
m_arParts[nIndex].height = lHeight;
|
||||
|
||||
@ -67,7 +67,6 @@ public:
|
||||
|
||||
CTextAttributesEx m_oText;
|
||||
|
||||
|
||||
double m_dWidthLogic;
|
||||
double m_dHeightLogic;
|
||||
|
||||
@ -81,7 +80,7 @@ public:
|
||||
|
||||
CBaseShape* m_pShape;
|
||||
|
||||
std::wstring m_strPPTXShape;
|
||||
std::wstring m_strPPTXShape;
|
||||
public:
|
||||
CShape(NSBaseShape::ClassType ClassType, int ShapeType_) : m_rcBounds()
|
||||
{
|
||||
|
||||
@ -110,7 +110,7 @@ namespace NSPresentationEditor
|
||||
strPitchFamily = oSrc.strPitchFamily;
|
||||
lFontFixed = oSrc.lFontFixed;
|
||||
|
||||
for (int i =0 ; i< oSrc.arFontCharsets.size(); i++)
|
||||
for (size_t i =0 ; i< oSrc.arFontCharsets.size(); i++)
|
||||
arFontCharsets.push_back(oSrc.arFontCharsets[i]);
|
||||
|
||||
return *this;
|
||||
@ -844,7 +844,7 @@ namespace NSPresentationEditor
|
||||
size_t nCountSpans = m_arSpans.size();
|
||||
for (size_t i = 0; i < nCountSpans; ++i)
|
||||
{
|
||||
int nLen = m_arSpans[i].m_strText.length();
|
||||
size_t nLen = m_arSpans[i].m_strText.length();
|
||||
|
||||
if (nLen > 1)
|
||||
return false;
|
||||
|
||||
@ -107,9 +107,9 @@ namespace NSPresentationEditor
|
||||
m_bHasFooter = oSrc.m_bHasFooter;
|
||||
m_nFormatDate = oSrc.m_nFormatDate;
|
||||
|
||||
for (int i = 0 ; i < 3 ; i++) m_PlaceholdersReplaceString[i] = oSrc.m_PlaceholdersReplaceString[i];
|
||||
for (size_t i = 0 ; i < 3 ; i++) m_PlaceholdersReplaceString[i] = oSrc.m_PlaceholdersReplaceString[i];
|
||||
|
||||
for (int i = 0; i < oSrc.m_arExtraColorScheme.size(); ++i)
|
||||
for (size_t i = 0; i < oSrc.m_arExtraColorScheme.size(); ++i)
|
||||
{
|
||||
m_arExtraColorScheme.push_back(oSrc.m_arExtraColorScheme[i]);
|
||||
}
|
||||
|
||||
@ -160,12 +160,12 @@ namespace NSFontCutter
|
||||
}
|
||||
void CheckString(const std::wstring& val)
|
||||
{
|
||||
int len = val.length();
|
||||
size_t len = val.length();
|
||||
|
||||
std::wstring str_lower = XmlUtils::GetLower(val);
|
||||
std::wstring str_upper = XmlUtils::GetUpper(val);
|
||||
|
||||
for (int i = 0; i < len; ++i)
|
||||
for (size_t i = 0; i < len; ++i)
|
||||
{
|
||||
m_CharMap [str_lower[i]] = true;
|
||||
m_CharMap [str_upper[i]] = true;
|
||||
@ -175,7 +175,7 @@ namespace NSFontCutter
|
||||
template<typename T>
|
||||
void WriteEmbeddedFonts(T* pWriter)
|
||||
{
|
||||
#if defined(BUILD_CONFIG_FULL_VERSION) && !defined(DONT_WRITE_EMBEDDED_FONTS)
|
||||
#if !defined(DONT_WRITE_EMBEDDED_FONTS)
|
||||
ULONG nCount = 0;
|
||||
|
||||
for(std::map<std::wstring, CEmbeddedFontInfo>::iterator pPair = m_mapFontsEmbeddded.begin(); pPair != m_mapFontsEmbeddded.end(); ++pPair)
|
||||
@ -338,7 +338,7 @@ namespace NSFontCutter
|
||||
|
||||
delete [] pArrayUnicodes;
|
||||
RELEASEINTERFACE(pFontConverter);
|
||||
#endif // #if defined(BUILD_CONFIG_FULL_VERSION) && !defined(DONT_WRITE_EMBEDDED_FONTS)
|
||||
#endif // #if !defined(DONT_WRITE_EMBEDDED_FONTS)
|
||||
}
|
||||
|
||||
bool GenerateSafearray(USHORT **ppArray, size_t& nCount)
|
||||
@ -373,7 +373,7 @@ namespace NSFontCutter
|
||||
return true;
|
||||
}
|
||||
|
||||
#if defined(BUILD_CONFIG_FULL_VERSION) && !defined(DONT_WRITE_EMBEDDED_FONTS)
|
||||
#if !defined(DONT_WRITE_EMBEDDED_FONTS)
|
||||
void WriteFont(std::wstring& strName, LONG& lFaceIndex, std::wstring& strFontPath, CFile* pFile, USHORT* pArrayUnicodes, size_t pArrayUnicodesLength, Fonts::IFontConverter* pFontConverter)
|
||||
{
|
||||
LONG lFontConverterFlag = 16; // truetype only
|
||||
@ -415,7 +415,7 @@ namespace NSFontCutter
|
||||
|
||||
RELEASEARRAY(pArrayData);
|
||||
}
|
||||
#endif // #if defined(BUILD_CONFIG_FULL_VERSION) && !defined(DONT_WRITE_EMBEDDED_FONTS)
|
||||
#endif // #if !defined(DONT_WRITE_EMBEDDED_FONTS)
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -86,10 +86,10 @@ namespace NSFontCutter
|
||||
{
|
||||
std::wstring sFind = strTypeface;
|
||||
|
||||
int nFindTh = sFind.find(_T("+mj"));
|
||||
int nFindTh = (int)sFind.find(_T("+mj"));
|
||||
if (0 == nFindTh)
|
||||
return sFind;
|
||||
nFindTh = sFind.find(_T("+mn"));
|
||||
nFindTh = (int)sFind.find(_T("+mn"));
|
||||
if (0 == nFindTh)
|
||||
return sFind;
|
||||
|
||||
|
||||
@ -780,7 +780,7 @@ namespace NSBinPptxRW
|
||||
if (true)
|
||||
{
|
||||
// notes theme
|
||||
std::wstring strTheme = L"<Override PartName=\"/ppt/theme/theme" + std::to_wstring(m_arThemes.size() + 1) +
|
||||
std::wstring strTheme = L"<Override PartName=\"/ppt/theme/theme" + std::to_wstring((int)m_arThemes.size() + 1) +
|
||||
L".xml\" ContentType=\"application/vnd.openxmlformats-officedocument.theme+xml\"/>";
|
||||
oContentTypes.WriteString(strTheme);
|
||||
|
||||
|
||||
@ -104,7 +104,7 @@ namespace NSBinPptxRW
|
||||
//m_lSize *= 2; - бесконтрольно ..
|
||||
m_lSize += (std::max)(nSize, (size_t) 1024);
|
||||
}
|
||||
int size_alloc = m_lSize * sizeof(wchar_t);
|
||||
size_t size_alloc = m_lSize * sizeof(wchar_t);
|
||||
#if defined(_WIN32) || defined (_WIN64)
|
||||
wchar_t* pRealloc = (wchar_t*)realloc(m_pData, size_alloc );
|
||||
if (NULL != pRealloc)
|
||||
@ -551,7 +551,7 @@ namespace NSBinPptxRW
|
||||
{
|
||||
CFile oFile;
|
||||
oFile.CreateFile(strFilePath);
|
||||
oFile.WriteFile((void*)strData.c_str(), strData.length());
|
||||
oFile.WriteFile((void*)strData.c_str(), (DWORD)strData.length());
|
||||
oFile.CloseFile();
|
||||
}
|
||||
else
|
||||
|
||||
@ -277,10 +277,10 @@ namespace NSShapeImageGen
|
||||
CImageInfo WriteImage(const std::wstring& strFile, const std::wstring& strOleFile, double& x, double& y, double& width, double& height)
|
||||
{
|
||||
bool bIsDownload = false;
|
||||
int n1 = strFile.find (L"www");
|
||||
int n2 = strFile.find (L"http");
|
||||
int n3 = strFile.find (L"ftp");
|
||||
int n4 = strFile.find (L"https");
|
||||
int n1 = (int)strFile.find (L"www");
|
||||
int n2 = (int)strFile.find (L"http");
|
||||
int n3 = (int)strFile.find (L"ftp");
|
||||
int n4 = (int)strFile.find (L"https");
|
||||
|
||||
//если nI сранивать не с 0, то будут проблемы
|
||||
//потому что в инсталяции мы кладем файлы в /var/www...
|
||||
|
||||
@ -42,11 +42,49 @@
|
||||
#include "../../Common/DocxFormat/Source/DocxFormat/ContentTypes.h"
|
||||
#include "../../Common/DocxFormat/Source/DocxFormat/External/HyperLink.h"
|
||||
#include "../../Common/DocxFormat/Source/DocxFormat/FileTypes.h"
|
||||
#include "../../DesktopEditor/common/Directory.h"
|
||||
|
||||
#include <map>
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
static std::wstring arDefDirectories [9][2] = //in ppt Directory
|
||||
{
|
||||
{L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide", L"slides"},
|
||||
{L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout", L"slideLayouts"},
|
||||
{L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster", L"slideMasters"},
|
||||
{L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide", L"notesSlides"},
|
||||
{L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesMaster", L"notesMasters"},
|
||||
{L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/handoutMaster", L"handoutMasters"},
|
||||
{L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments", L"comments"},
|
||||
{L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/commentAuthors", L""},
|
||||
{L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme", L"theme"},
|
||||
};
|
||||
|
||||
static std::wstring FindFileInDirectory(std::wstring directory, std::wstring filename)
|
||||
{
|
||||
if (directory.empty()) return L"";
|
||||
|
||||
if (directory[directory.length() - 1] == FILE_SEPARATOR_CHAR)
|
||||
directory = directory.substr(0, directory.length() - 1);
|
||||
|
||||
int pos_ppt = directory.rfind(L"ppt");
|
||||
if (pos_ppt >= 0)
|
||||
{
|
||||
directory = directory.substr(0, pos_ppt - 1); //root directory
|
||||
}
|
||||
CArray<std::wstring> arrFiles = NSDirectory::GetFiles(directory, true);
|
||||
|
||||
for (int i = 0 ; i < arrFiles.GetCount(); i++)
|
||||
{
|
||||
if (std::wstring::npos != arrFiles[i].find(filename))
|
||||
{
|
||||
return arrFiles[i];
|
||||
}
|
||||
}
|
||||
return L"";
|
||||
}
|
||||
|
||||
void FileContainer::read(const OOX::CPath& filename)
|
||||
{
|
||||
//not implement FileContainer.read
|
||||
@ -70,6 +108,39 @@ namespace PPTX
|
||||
read(rels, path, map, Event);
|
||||
}
|
||||
|
||||
OOX::CPath FileContainer::CorrectPathRels(const OOX::CPath& path, OOX::Rels::CRelationShip* relation )
|
||||
{
|
||||
OOX::CPath filename = path / relation->Target();
|
||||
|
||||
if ( NSFile::CFileBinary::Exists(filename.GetPath()) == true ) return filename;
|
||||
|
||||
//file_1_ (1).pptx
|
||||
std::wstring strDefDirectory;
|
||||
for (int i = 0; i < 9; i++)
|
||||
{
|
||||
if (relation->Type() == arDefDirectories[i][0])
|
||||
{
|
||||
strDefDirectory = arDefDirectories[i][1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
OOX::CPath new_filename = strDefDirectory + FILE_SEPARATOR_STR + relation->Filename().GetFilename();
|
||||
|
||||
filename = path / new_filename;
|
||||
|
||||
if (NSFile::CFileBinary::Exists(filename.GetPath()) == false)
|
||||
{
|
||||
filename = FindFileInDirectory(path.GetPath(), relation->Filename().GetFilename()); // find true path by filename
|
||||
|
||||
if (NSFile::CFileBinary::Exists(filename.GetPath()) == false)
|
||||
return filename;
|
||||
}
|
||||
|
||||
*relation = OOX::Rels::CRelationShip( relation->rId(), relation->Type(), filename);
|
||||
|
||||
return filename;
|
||||
}
|
||||
void FileContainer::read(const OOX::CRels& rels, const OOX::CPath& path, FileMap& map, IPPTXEvent* Event)
|
||||
{
|
||||
bool bIsSlide = false;
|
||||
@ -81,10 +152,11 @@ namespace PPTX
|
||||
|
||||
for (size_t i = 0; i < nCount; ++i)
|
||||
{
|
||||
const OOX::Rels::CRelationShip* pRelation = rels.m_arrRelations[i];
|
||||
OOX::CPath normPath = path / pRelation->Target();
|
||||
OOX::Rels::CRelationShip* pRelation = rels.m_arrRelations[i];
|
||||
|
||||
std::map<std::wstring, smart_ptr<OOX::File>>::const_iterator pPair = map.find(normPath);
|
||||
OOX::CPath normPath = CorrectPathRels(path, pRelation);
|
||||
|
||||
std::map<std::wstring, smart_ptr<OOX::File>>::const_iterator pPair = map.find(normPath);
|
||||
|
||||
if (bIsSlide && (pRelation->Type() == OOX::Presentation::FileTypes::Slide))
|
||||
{
|
||||
@ -112,7 +184,10 @@ namespace PPTX
|
||||
{
|
||||
long percent = Event->GetPercent();
|
||||
|
||||
smart_ptr<OOX::File> file = PPTX::FileFactory::CreateFilePPTX(path, *pRelation, map);
|
||||
smart_ptr<OOX::File> file = PPTX::FileFactory::CreateFilePPTX(normPath, *pRelation, map);
|
||||
|
||||
if (file.IsInit() == false)
|
||||
continue;
|
||||
|
||||
map.add(normPath, file);
|
||||
Add(pRelation->rId(), file);
|
||||
@ -223,9 +298,11 @@ namespace PPTX
|
||||
size_t nCount = rels.m_arrRelations.size();
|
||||
for (size_t i = 0; i < nCount; ++i)
|
||||
{
|
||||
const OOX::Rels::CRelationShip* pRelation = rels.m_arrRelations[i];
|
||||
OOX::Rels::CRelationShip* pRelation = rels.m_arrRelations[i];
|
||||
|
||||
smart_ptr<OOX::File> _file = PPTX::FileFactory::CreateFilePPTX_OnlyMedia(path, *pRelation);
|
||||
OOX::CPath normPath = CorrectPathRels(path, pRelation);
|
||||
|
||||
smart_ptr<OOX::File> _file = PPTX::FileFactory::CreateFilePPTX_OnlyMedia(normPath, *pRelation);
|
||||
Add(pRelation->rId(), _file);
|
||||
}
|
||||
}
|
||||
|
||||
@ -64,6 +64,7 @@ namespace PPTX
|
||||
void write(OOX::CRels& rels, const OOX::CPath& current, const OOX::CPath& directory, OOX::CContentTypes& content) const;
|
||||
|
||||
void WrittenSetFalse();
|
||||
OOX::CPath CorrectPathRels(const OOX::CPath& path, OOX::Rels::CRelationShip* relation );
|
||||
|
||||
long m_lPercent;
|
||||
bool m_bCancelled;
|
||||
|
||||
@ -30,13 +30,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "FileFactory.h"
|
||||
|
||||
#include "../../Common/DocxFormat/Source/DocxFormat/File.h"
|
||||
#include "../../Common/DocxFormat/Source/DocxFormat/Rels.h"
|
||||
#include "../../Common/DocxFormat/Source/DocxFormat/FileTypes.h"
|
||||
#include "FileTypes.h"
|
||||
|
||||
#include "FileFactory.h"
|
||||
#include "App.h"
|
||||
#include "Core.h"
|
||||
#include "Theme.h"
|
||||
@ -69,11 +69,15 @@
|
||||
|
||||
#include "FileMap.h"
|
||||
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
const smart_ptr<OOX::File> FileFactory::CreateFilePPTX(const OOX::CPath& path, const OOX::Rels::CRelationShip& relation, FileMap& map)
|
||||
const smart_ptr<OOX::File> FileFactory::CreateFilePPTX(const OOX::CPath& filename, OOX::Rels::CRelationShip& relation, FileMap& map)
|
||||
{
|
||||
OOX::CPath filename = path / relation.Filename();
|
||||
if (NSFile::CFileBinary::Exists(filename.GetPath()) == false)
|
||||
{
|
||||
return smart_ptr<OOX::File>(NULL);
|
||||
}
|
||||
|
||||
if (relation.Type() == OOX::Presentation::FileTypes::App)
|
||||
return smart_ptr<OOX::File>(new PPTX::App(filename, map));
|
||||
@ -138,7 +142,7 @@ namespace PPTX
|
||||
return smart_ptr<OOX::File>(new OOX::UnknowTypeFile());
|
||||
}
|
||||
|
||||
const smart_ptr<OOX::File> FileFactory::CreateFilePPTX_OnlyMedia(const OOX::CPath& path, const OOX::Rels::CRelationShip& relation)
|
||||
const smart_ptr<OOX::File> FileFactory::CreateFilePPTX_OnlyMedia(const OOX::CPath& norm_filename, OOX::Rels::CRelationShip& relation)
|
||||
{
|
||||
bool bIsDownload = false;
|
||||
std::wstring strFile = relation.Filename().GetPath();
|
||||
@ -152,7 +156,7 @@ namespace PPTX
|
||||
if (0 == n1 || 0 == n2 || 0 == n3 || 0 == n4)
|
||||
bIsDownload = true;
|
||||
|
||||
OOX::CPath filename = path / relation.Filename();
|
||||
OOX::CPath filename = norm_filename;
|
||||
|
||||
if (bIsDownload)
|
||||
filename = relation.Filename();
|
||||
|
||||
@ -30,9 +30,6 @@
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
#ifndef PPTX_FILE_FACTORY_INCLUDE_H_
|
||||
#define PPTX_FILE_FACTORY_INCLUDE_H_
|
||||
|
||||
#include "../../Common/DocxFormat/Source/DocxFormat/File.h"
|
||||
|
||||
namespace OOX {namespace Rels {class CRelationShip;}}
|
||||
@ -44,9 +41,7 @@ namespace PPTX
|
||||
class FileFactory
|
||||
{
|
||||
public:
|
||||
static const smart_ptr<OOX::File> CreateFilePPTX(const OOX::CPath& path, const OOX::Rels::CRelationShip& relation, FileMap& map);
|
||||
static const smart_ptr<OOX::File> CreateFilePPTX_OnlyMedia(const OOX::CPath& path, const OOX::Rels::CRelationShip& relation);
|
||||
static const smart_ptr<OOX::File> CreateFilePPTX(const OOX::CPath& path, OOX::Rels::CRelationShip& relation, FileMap& map);
|
||||
static const smart_ptr<OOX::File> CreateFilePPTX_OnlyMedia(const OOX::CPath& path, OOX::Rels::CRelationShip& relation);
|
||||
};
|
||||
} // namespace PPTX
|
||||
|
||||
#endif // PPTX_FILE_FACTORY_INCLUDE_H_
|
||||
@ -33,7 +33,7 @@
|
||||
#ifndef PPTXOOX_FILE_TYPES_INCLUDE_H_
|
||||
#define PPTXOOX_FILE_TYPES_INCLUDE_H_
|
||||
|
||||
#include "../../../Common/DocxFormat/Source/DocxFormat/FileType.h"
|
||||
#include "../../Common/DocxFormat/Source/DocxFormat/FileType.h"
|
||||
|
||||
namespace OOX
|
||||
{
|
||||
|
||||
@ -75,7 +75,7 @@ namespace PPTX
|
||||
CFile file;
|
||||
if (file.OpenFile(filename.GetPath()) == S_OK)
|
||||
{
|
||||
m_DataSize = file.GetFileSize();
|
||||
m_DataSize = (int)file.GetFileSize();
|
||||
m_Data = new BYTE[m_DataSize];
|
||||
|
||||
if (m_Data)
|
||||
@ -200,7 +200,7 @@ namespace PPTX
|
||||
//rgTextPFRun (variable)
|
||||
//rgTextCFRun (variable)
|
||||
|
||||
ParseTextProps(m_Data + pos, rec.RecLen, m_Text.length());
|
||||
ParseTextProps(m_Data + pos, rec.RecLen, (int)m_Text.length());
|
||||
}break;
|
||||
case 0x0FAA: //TextSpecialInfoAtom
|
||||
{
|
||||
@ -416,7 +416,7 @@ namespace PPTX
|
||||
|
||||
if (fontAlign_)
|
||||
{
|
||||
props.fontAlgn = *(_UINT16*)(Data + pos); pos += 2;
|
||||
props.fontAlgn = (BYTE)(*(_UINT16*)(Data + pos)); pos += 2;
|
||||
}
|
||||
|
||||
if (charWrap_ || wordWrap_ || overflow_)
|
||||
@ -541,7 +541,7 @@ namespace PPTX
|
||||
|
||||
if (BaseLineOffset_)
|
||||
{
|
||||
int BaseLineOffset = (double)(*(_UINT16*)(Data + pos)); pos += 2;
|
||||
int BaseLineOffset = static_cast<int>((double)(*(_UINT16*)(Data + pos))); pos += 2;
|
||||
}
|
||||
|
||||
// или два последних наоборот????
|
||||
|
||||
@ -104,25 +104,26 @@ namespace PPTX
|
||||
!noSelect.is_init() &&
|
||||
!noUngrp.is_init())
|
||||
{
|
||||
pWriter->WriteString(_T("<") + strNS + _T(":cNvGrpSpPr/>"));
|
||||
pWriter->WriteString(L"<" + strNS + L":cNvGrpSpPr/>");
|
||||
return;
|
||||
}
|
||||
|
||||
pWriter->StartNode(strNS + _T(":cNvGrpSpPr"));
|
||||
pWriter->StartNode(_T("a:grpSpLocks"));
|
||||
pWriter->StartNode(strNS + L":cNvGrpSpPr");
|
||||
pWriter->EndAttributes();
|
||||
pWriter->StartNode(L"a:grpSpLocks");
|
||||
|
||||
pWriter->StartAttributes();
|
||||
pWriter->WriteAttribute(_T("noChangeAspect"), noChangeAspect);
|
||||
pWriter->WriteAttribute(_T("noGrp"), noGrp);
|
||||
pWriter->WriteAttribute(_T("noMove"), noMove);
|
||||
pWriter->WriteAttribute(_T("noResize"), noResize);
|
||||
pWriter->WriteAttribute(_T("noRot"), noRot);
|
||||
pWriter->WriteAttribute(_T("noSelect"), noSelect);
|
||||
pWriter->WriteAttribute(_T("noUngrp"), noUngrp);
|
||||
pWriter->WriteAttribute(L"noChangeAspect", noChangeAspect);
|
||||
pWriter->WriteAttribute(L"noGrp", noGrp);
|
||||
pWriter->WriteAttribute(L"noMove", noMove);
|
||||
pWriter->WriteAttribute(L"noResize", noResize);
|
||||
pWriter->WriteAttribute(L"noRot", noRot);
|
||||
pWriter->WriteAttribute(L"noSelect", noSelect);
|
||||
pWriter->WriteAttribute(L"noUngrp", noUngrp);
|
||||
pWriter->EndAttributes();
|
||||
|
||||
pWriter->EndNode(_T("a:grpSpLocks"));
|
||||
pWriter->EndNode(strNS + _T(":cNvGrpSpPr"));
|
||||
pWriter->EndNode(L"a:grpSpLocks");
|
||||
pWriter->EndNode(strNS + L":cNvGrpSpPr");
|
||||
}
|
||||
|
||||
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
|
||||
|
||||
@ -46,11 +46,16 @@ namespace PPTX
|
||||
public:
|
||||
PPTX_LOGIC_BASE(CNvPr)
|
||||
|
||||
public:
|
||||
virtual OOX::EElementType getType () const
|
||||
{
|
||||
return OOX::et_p_cNvPr;
|
||||
}
|
||||
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
id = node.ReadAttributeInt(L"id");
|
||||
name = node.GetAttribute(L"name");
|
||||
|
||||
node.ReadAttributeBase(L"descr", descr);
|
||||
node.ReadAttributeBase(L"hidden", hidden);
|
||||
node.ReadAttributeBase(L"title", title);
|
||||
@ -193,7 +198,7 @@ namespace PPTX
|
||||
|
||||
public:
|
||||
int id;
|
||||
std::wstring name;
|
||||
std::wstring name;
|
||||
nullable_string descr;
|
||||
nullable_bool hidden;
|
||||
nullable_string title;
|
||||
|
||||
@ -107,7 +107,7 @@ namespace PPTX
|
||||
|
||||
pWriter->StartRecord(2); //pWriter->WriteRecordArray(2, 0, spTree.SpTreeElems); - вручную
|
||||
pWriter->WriteULONG((_UINT32)spTree.SpTreeElems.size() + (controls.IsInit() ? 1 : 0));
|
||||
for(int i = 0; i < spTree.SpTreeElems.size();i++)
|
||||
for(size_t i = 0; i < spTree.SpTreeElems.size();i++)
|
||||
pWriter->WriteRecord1(0, spTree.SpTreeElems[i]);
|
||||
|
||||
if (controls.IsInit()) controls->toPPTY(pWriter); //можно искуственно добавить controls в sptree .. и все "это" перенести туда
|
||||
|
||||
@ -116,16 +116,6 @@ namespace PPTX
|
||||
//Надо сделать примерно также для "origin color" и setter'ы
|
||||
//Нет, нет и нет!!! Setter'ы делать только в УниКолор, т.к. при установке цвета меняется его тип!
|
||||
|
||||
protected:
|
||||
//origin color
|
||||
unsigned char alpha;
|
||||
unsigned char red;
|
||||
unsigned char green;
|
||||
unsigned char blue;
|
||||
unsigned char hue;
|
||||
unsigned char saturation;
|
||||
unsigned char luminance;
|
||||
|
||||
enum ColorType {ctRGBA, ctARGB, ctBGRA, ctABGR};
|
||||
virtual DWORD ApplyModifiers(const ColorType ct)const
|
||||
{
|
||||
@ -389,6 +379,15 @@ namespace PPTX
|
||||
return 0;
|
||||
}
|
||||
|
||||
protected:
|
||||
//origin color
|
||||
unsigned char alpha;
|
||||
unsigned char red;
|
||||
unsigned char green;
|
||||
unsigned char blue;
|
||||
unsigned char hue;
|
||||
unsigned char saturation;
|
||||
unsigned char luminance;
|
||||
//Эти функции использовать для заполнения "origin color"
|
||||
void SetRGB2HSL()
|
||||
{
|
||||
@ -585,8 +584,8 @@ namespace PPTX
|
||||
if (0 == _type)
|
||||
{
|
||||
std::wstring _name = pReader->GetString2();
|
||||
int _find = _name.find(_T(":"));
|
||||
if (_find >= 0 && _find < (_name.length() - 1))
|
||||
int _find = (int)_name.find(_T(":"));
|
||||
if (_find >= 0 && _find < (int)(_name.length() - 1))
|
||||
_name = _name.substr(_find + 1);
|
||||
|
||||
_mod.name = _T("a:") + _name;
|
||||
|
||||
@ -171,7 +171,7 @@ namespace PPTX
|
||||
|
||||
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
|
||||
{
|
||||
for (int i = 0; i <arrControls.size(); i++)
|
||||
for (size_t i = 0; i <arrControls.size(); i++)
|
||||
arrControls[i].toPPTY(pWriter);
|
||||
}
|
||||
void AddObjectsTo (const std::vector<PPTX::Logic::SpTreeElem> *spTreeElements, NSShapeImageGen::CImageManager* pImageManager) const;
|
||||
@ -186,7 +186,7 @@ namespace PPTX
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
for (int i = 0; i <arrControls.size(); i++)
|
||||
for (size_t i = 0; i <arrControls.size(); i++)
|
||||
arrControls[i].SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
|
||||
@ -308,20 +308,20 @@ namespace PPTX
|
||||
bool bBase64 = false;
|
||||
|
||||
strOrigBase64 = strUrl;
|
||||
int nFind = strUrl.find(_T(","));
|
||||
int nFind = (int)strUrl.find(_T(","));
|
||||
|
||||
std::wstring sImageExtension;
|
||||
|
||||
std::wstring sFormatDataString = XmlUtils::GetLower(strUrl.substr(5,nFind-5));
|
||||
{
|
||||
int nFind1 = sFormatDataString.find(_T("base64"));
|
||||
int nFind1 = (int)sFormatDataString.find(_T("base64"));
|
||||
if (nFind1 >=0 ) bBase64 = true;
|
||||
|
||||
nFind1 = sFormatDataString.find(_T("image/"));
|
||||
if (nFind1>=0)
|
||||
nFind1 = (int)sFormatDataString.find(_T("image/"));
|
||||
if (nFind1 >= 0)
|
||||
{
|
||||
int nFind2 = sFormatDataString.find(_T(";"));
|
||||
if (nFind2 < 0) nFind2 = sFormatDataString.length();
|
||||
int nFind2 = (int)sFormatDataString.find(_T(";"));
|
||||
if (nFind2 < 0) nFind2 = (int)sFormatDataString.length();
|
||||
|
||||
sImageExtension = sFormatDataString.substr(nFind1 + 6, nFind2 - 6 - nFind1);
|
||||
}
|
||||
@ -329,7 +329,7 @@ namespace PPTX
|
||||
strUrl.erase(0, nFind + 1);
|
||||
|
||||
std::string __s = std::string(strUrl.begin(), strUrl.end());
|
||||
int len = __s.length();
|
||||
int len = (int)__s.length();
|
||||
BYTE* pDstBuffer = NULL;
|
||||
int dstLen = 0;
|
||||
|
||||
|
||||
@ -56,7 +56,7 @@ namespace PPTX
|
||||
ea = oSrc.ea;
|
||||
cs = oSrc.cs;
|
||||
|
||||
for (int i=0; i < oSrc.Fonts.size(); i++)
|
||||
for (size_t i=0; i < oSrc.Fonts.size(); i++)
|
||||
Fonts.push_back(oSrc.Fonts[i]);
|
||||
|
||||
m_name = oSrc.m_name;
|
||||
|
||||
@ -80,11 +80,11 @@ namespace PPTX
|
||||
{
|
||||
pWriter->WriteString2(0, name);
|
||||
|
||||
int nStart = 0;
|
||||
int nCurrent = 0;
|
||||
size_t nStart = 0;
|
||||
size_t nCurrent = 0;
|
||||
|
||||
const wchar_t* pData = fmla->c_str();
|
||||
int nLen = fmla->length();
|
||||
size_t nLen = fmla->length();
|
||||
|
||||
int nFound = 0;
|
||||
while (nCurrent < nLen)
|
||||
|
||||
@ -40,12 +40,12 @@ namespace PPTX
|
||||
{
|
||||
void Geometry::ConvertToCustomVML(IRenderer* pOOXToVMLRenderer, std::wstring& strPath, std::wstring& strRect, LONG& lWidth, LONG& lHeight)
|
||||
{
|
||||
#ifdef AVS_USE_CONVERT_PPTX_TOCUSTOM_VML
|
||||
if (!pOOXToVMLRenderer) return;
|
||||
|
||||
NSPresentationEditor::CShapeElement* lpShapeElement = NULL;
|
||||
if (this->is<PPTX::Logic::PrstGeom>())
|
||||
{
|
||||
const PPTX::Logic::PrstGeom lpGeom = this->as<PPTX::Logic::PrstGeom>();
|
||||
const PPTX::Logic::PrstGeom & lpGeom = this->as<PPTX::Logic::PrstGeom>();
|
||||
|
||||
OOXMLShapes::ShapeType _lspt = PPTX2EditorAdvanced::GetShapeTypeFromStr(lpGeom.prst.get());
|
||||
if(_lspt == OOXMLShapes::sptNil)
|
||||
@ -57,7 +57,7 @@ namespace PPTX
|
||||
}
|
||||
else if (this->is<PPTX::Logic::CustGeom>())
|
||||
{
|
||||
const PPTX::Logic::CustGeom lpGeom = this->as<PPTX::Logic::CustGeom>();
|
||||
const PPTX::Logic::CustGeom & lpGeom = this->as<PPTX::Logic::CustGeom>();
|
||||
std::wstring strShape = lpGeom.GetODString();
|
||||
lpShapeElement = new NSPresentationEditor::CShapeElement(strShape);
|
||||
}
|
||||
@ -92,8 +92,7 @@ namespace PPTX
|
||||
NSPresentationEditor::CGraphicPath oGrPath;
|
||||
CMetricInfo oMetricInfo;
|
||||
|
||||
int nSize = oPath.m_arParts.size();
|
||||
for (int nIndex = 0; nIndex < nSize; ++nIndex)
|
||||
for (size_t nIndex = 0; nIndex < oPath.m_arParts.size(); ++nIndex)
|
||||
{
|
||||
oGrPath.Clear();
|
||||
oPath.m_arParts[nIndex].ToRendererOOX(&oGrPath, oInfo, oMetricInfo, NSBaseShape::pptx);
|
||||
@ -131,7 +130,6 @@ namespace PPTX
|
||||
std::to_wstring((int)(dkoefX * txRect.right)) + L"," +
|
||||
std::to_wstring((int)(dkoefY * txRect.bottom));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -295,7 +295,7 @@ namespace PPTX
|
||||
std::wstring *main_props = NULL;
|
||||
|
||||
oDrawingConverter.SetRelsPath(xml_object_rels);
|
||||
oDrawingConverter.SetAdditionalParam(L"xfrm_override", (BYTE*)&xfrm, sizeof(xfrm));
|
||||
oDrawingConverter.SetAdditionalParam(L"xfrm_override", (BYTE*)xfrm.GetPointer(), sizeof(xfrm));
|
||||
|
||||
HRESULT hRes = oDrawingConverter.AddObject(temp, &main_props);
|
||||
if (hRes == S_OK && oDrawingConverter.m_pBinaryWriter->GetPosition() > 10)
|
||||
|
||||
@ -62,7 +62,10 @@ namespace PPTX
|
||||
bwMode = oSrc.bwMode;
|
||||
return *this;
|
||||
}
|
||||
|
||||
virtual OOX::EElementType getType () const
|
||||
{
|
||||
return OOX::et_p_groupSpPr;
|
||||
}
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
|
||||
@ -58,7 +58,10 @@ namespace PPTX
|
||||
nvPr = oSrc.nvPr;
|
||||
return *this;
|
||||
}
|
||||
|
||||
virtual OOX::EElementType getType () const
|
||||
{
|
||||
return OOX::et_p_NvGrpSpPr;
|
||||
}
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node);
|
||||
//{
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user