mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
Compare commits
7 Commits
v6.3.0.10
...
v6.2.0.142
| Author | SHA1 | Date | |
|---|---|---|---|
| 8da8ad22d0 | |||
| 140d86b7ec | |||
| d57b9f975a | |||
| 80f51fa151 | |||
| ad1bf1def6 | |||
| d9c6ade2d9 | |||
| 448dc65550 |
@ -39,7 +39,7 @@
|
||||
namespace Writers
|
||||
{
|
||||
|
||||
FileWriter::FileWriter(std::wstring sDirOutput,std::wstring sFontDir, bool bNoFontDir, int nVersion, NSBinPptxRW::CDrawingConverter* pDrawingConverter, std::wstring sThemePath)
|
||||
FileWriter::FileWriter(std::wstring sDirOutput,std::wstring sFontDir, bool bNoFontDir, int nVersion, bool bSaveChartAsImg, NSBinPptxRW::CDrawingConverter* pDrawingConverter, std::wstring sThemePath)
|
||||
:
|
||||
m_oMain(sDirOutput, sFontDir, bNoFontDir, nVersion),
|
||||
m_oGlossary(sDirOutput, sFontDir, bNoFontDir, nVersion),
|
||||
@ -47,6 +47,7 @@ FileWriter::FileWriter(std::wstring sDirOutput,std::wstring sFontDir, bool bNoFo
|
||||
m_oChartWriter (sDirOutput),
|
||||
m_oCustomXmlWriter (sDirOutput, pDrawingConverter),
|
||||
m_pDrawingConverter (pDrawingConverter),
|
||||
m_bSaveChartAsImg (bSaveChartAsImg),
|
||||
m_sThemePath (sThemePath),
|
||||
m_oDocumentRelsWriter (sDirOutput),
|
||||
m_nDocPrIndex (0),
|
||||
|
||||
@ -120,7 +120,7 @@ namespace Writers
|
||||
_part_summary_writers m_oGlossary;
|
||||
public:
|
||||
|
||||
FileWriter(std::wstring sDirOutput, std::wstring sFontDir, bool bNoFontDir, int nVersion, NSBinPptxRW::CDrawingConverter* pDrawingConverter, std::wstring sThemePath);
|
||||
FileWriter(std::wstring sDirOutput, std::wstring sFontDir, bool bNoFontDir, int nVersion, bool bSaveChartAsImg, NSBinPptxRW::CDrawingConverter* pDrawingConverter, std::wstring sThemePath);
|
||||
~FileWriter();
|
||||
|
||||
FontTableWriter& get_font_table_writer() { return m_bGlossaryMode ? m_oGlossary.font_table : m_oMain.font_table; }
|
||||
@ -161,7 +161,7 @@ namespace Writers
|
||||
smart_ptr<OOX::VbaProject> m_pVbaProject;
|
||||
|
||||
NSBinPptxRW::CDrawingConverter* m_pDrawingConverter;
|
||||
|
||||
bool m_bSaveChartAsImg;
|
||||
std::wstring m_sThemePath;
|
||||
int m_nDocPrIndex;
|
||||
BinDocxRW::CComments* m_pComments;
|
||||
|
||||
@ -387,16 +387,17 @@ class Shd
|
||||
public:
|
||||
BYTE Value;
|
||||
docRGB Color;
|
||||
docRGB Fill;
|
||||
CThemeColor ThemeColor;
|
||||
|
||||
bool bValue = false;
|
||||
bool bColor = false;
|
||||
bool bThemeColor = false;
|
||||
bool bFill = false;
|
||||
|
||||
Shd(){}
|
||||
CThemeColor ThemeColor;
|
||||
|
||||
bool bValue;
|
||||
bool bColor;
|
||||
bool bThemeColor;
|
||||
Shd()
|
||||
{
|
||||
bValue = false;
|
||||
bColor = false;
|
||||
bThemeColor = false;
|
||||
}
|
||||
std::wstring ToString()
|
||||
{
|
||||
std::wstring sShd;
|
||||
@ -449,17 +450,17 @@ public:
|
||||
}
|
||||
}
|
||||
if (bColor)
|
||||
{
|
||||
sShd += L" w:fill=\"" + Color.ToString() + L"\"";
|
||||
sShd += L" w:color=\"" + Color.ToString() + L"\"";
|
||||
|
||||
if (bFill)
|
||||
sShd += L" w:fill=\"#" + Fill.ToString() + L"\"";
|
||||
|
||||
if (!bColor && !bFill)
|
||||
}
|
||||
else
|
||||
{
|
||||
sShd += L" w:color=\"auto\"";
|
||||
|
||||
}
|
||||
if(bThemeColor && ThemeColor.IsNoEmpty())
|
||||
{
|
||||
if(ThemeColor.Auto && !bColor && !bFill)
|
||||
if(ThemeColor.Auto && !bColor)
|
||||
sShd += L" w:fill=\"auto\"";
|
||||
if(ThemeColor.bColor)
|
||||
sShd += L" w:themeFill=\"" + ThemeColor.ToStringColor() + L"\"";
|
||||
@ -504,10 +505,6 @@ public:
|
||||
std::wstring FontHAnsi;
|
||||
std::wstring FontAE;
|
||||
std::wstring FontCS;
|
||||
std::wstring FontAsciiTheme;
|
||||
std::wstring FontHAnsiTheme;
|
||||
std::wstring FontAETheme;
|
||||
std::wstring FontCSTheme;
|
||||
long FontSize;
|
||||
docRGB Color;
|
||||
BYTE VertAlign;
|
||||
@ -631,7 +628,7 @@ public:
|
||||
{
|
||||
return bBold || bItalic || bUnderline || bStrikeout || bFontAscii || bFontHAnsi || bFontAE || bFontCS || bFontSize || bColor || bVertAlign || nHighLight > 0 || bShd ||
|
||||
bRStyle || bSpacing || bDStrikeout || bCaps || bSmallCaps || bPosition || bFontHint || bBoldCs || bItalicCs || bFontSizeCs || bCs || bRtl || bLang || bLangBidi || bLangEA || bThemeColor || bVanish ||
|
||||
!Outline.empty() || !Fill.empty() || !Del.empty() || !Ins.empty() || !MoveFrom.empty() || !MoveTo.empty() || !rPrChange.empty() || !FontAsciiTheme.empty() || !FontHAnsiTheme.empty() || !FontAETheme.empty() || !FontCSTheme.empty();
|
||||
!Outline.empty() || !Fill.empty() || !Del.empty() || !Ins.empty() || !MoveFrom.empty() || !MoveTo.empty() || !rPrChange.empty();
|
||||
}
|
||||
void Write(NSStringUtils::CStringBuilder* pCStringWriter)
|
||||
{
|
||||
@ -640,7 +637,7 @@ public:
|
||||
{
|
||||
pCStringWriter->WriteString(L"<w:rStyle w:val=\"" + RStyle + L"\"/>");
|
||||
}
|
||||
if(bFontAscii || bFontHAnsi || bFontAE || bFontCS || bFontHint || !FontAsciiTheme.empty() || !FontHAnsiTheme.empty() || !FontAETheme.empty() || !FontCSTheme.empty())
|
||||
if(bFontAscii || bFontHAnsi || bFontAE || bFontCS || bFontHint)
|
||||
{
|
||||
std::wstring sFont = _T("<w:rFonts");
|
||||
if(bFontAscii)
|
||||
@ -663,22 +660,6 @@ public:
|
||||
sFont += L" w:eastAsia=\"" + FontAE + L"\"";
|
||||
m_mapFonts[FontAE] = 1;
|
||||
}
|
||||
if(!FontAsciiTheme.empty())
|
||||
{
|
||||
sFont += L" w:asciiTheme=\"" + FontAsciiTheme + L"\"";
|
||||
}
|
||||
if(!FontHAnsiTheme.empty())
|
||||
{
|
||||
sFont += L" w:hAnsiTheme=\"" + FontHAnsiTheme + L"\"";
|
||||
}
|
||||
if(!FontAETheme.empty())
|
||||
{
|
||||
sFont += L" w:eastAsiaTheme=\"" + FontAETheme + L"\"";
|
||||
}
|
||||
if(!FontCSTheme.empty())
|
||||
{
|
||||
sFont += L" w:cstheme=\"" + FontCSTheme + L"\"";
|
||||
}
|
||||
if(bFontHint)
|
||||
{
|
||||
switch(FontHint)
|
||||
@ -2355,41 +2336,40 @@ public:
|
||||
unsigned int nObjectId;
|
||||
BYTE nObjectType;
|
||||
|
||||
long DataPos;
|
||||
long DataLength;
|
||||
BYTE Type;
|
||||
bool BehindDoc;
|
||||
__int64 DistL;
|
||||
__int64 DistT;
|
||||
__int64 DistR;
|
||||
__int64 DistB;
|
||||
bool LayoutInCell;
|
||||
long DataPos;
|
||||
long DataLength;
|
||||
BYTE Type;
|
||||
bool BehindDoc;
|
||||
__int64 DistL;
|
||||
__int64 DistT;
|
||||
__int64 DistR;
|
||||
__int64 DistB;
|
||||
bool LayoutInCell;
|
||||
unsigned long RelativeHeight;
|
||||
bool BSimplePos;
|
||||
__int64 EffectExtentL;
|
||||
__int64 EffectExtentT;
|
||||
__int64 EffectExtentR;
|
||||
__int64 EffectExtentB;
|
||||
__int64 Width;
|
||||
__int64 Height;
|
||||
BYTE PositionHRelativeFrom;
|
||||
BYTE PositionHAlign;
|
||||
__int64 PositionHPosOffset;
|
||||
double PositionHPctOffset;
|
||||
BYTE PositionVRelativeFrom;
|
||||
BYTE PositionVAlign;
|
||||
__int64 PositionVPosOffset;
|
||||
double PositionVPctOffset;
|
||||
__int64 SimplePosX;
|
||||
__int64 SimplePosY;
|
||||
bool BSimplePos;
|
||||
__int64 EffectExtentL;
|
||||
__int64 EffectExtentT;
|
||||
__int64 EffectExtentR;
|
||||
__int64 EffectExtentB;
|
||||
__int64 Width;
|
||||
__int64 Height;
|
||||
BYTE PositionHRelativeFrom;
|
||||
BYTE PositionHAlign;
|
||||
__int64 PositionHPosOffset;
|
||||
double PositionHPctOffset;
|
||||
BYTE PositionVRelativeFrom;
|
||||
BYTE PositionVAlign;
|
||||
__int64 PositionVPosOffset;
|
||||
double PositionVPctOffset;
|
||||
__int64 SimplePosX;
|
||||
__int64 SimplePosY;
|
||||
std::wstring sChartRels;
|
||||
std::wstring sSizeRelH;
|
||||
std::wstring sSizeRelV;
|
||||
int m_nDocPr;
|
||||
int m_nDocPr;
|
||||
std::wstring sGraphicFramePr;
|
||||
std::wstring sDocPr;
|
||||
|
||||
std::wstring sGraphicFrameContent;
|
||||
|
||||
CDrawingPropertyWrap DrawingPropertyWrap;
|
||||
|
||||
bool bDataPos;
|
||||
@ -2457,9 +2437,9 @@ public:
|
||||
bSimplePosY = false;
|
||||
bDrawingPropertyWrap = false;
|
||||
}
|
||||
bool IsGraphicFrameContent()
|
||||
bool IsChart()
|
||||
{
|
||||
return false == sGraphicFrameContent.empty();
|
||||
return false == sChartRels.empty();
|
||||
}
|
||||
std::wstring Write()
|
||||
{
|
||||
@ -2467,22 +2447,17 @@ public:
|
||||
|
||||
std::wstring sXml;
|
||||
|
||||
bool bGraphicFrameContent = IsGraphicFrameContent();
|
||||
|
||||
if(c_oAscWrapStyle::Inline == Type)
|
||||
bool bChart = IsChart();
|
||||
if(c_oAscWrapStyle::Inline == Type)
|
||||
{
|
||||
if(bWidth && bHeight)
|
||||
{
|
||||
if (bGraphicFrameContent)
|
||||
{
|
||||
sXml += L"<w:drawing><wp:inline distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\">\
|
||||
<wp:extent cx=\"" + std::to_wstring(Width) + L"\" cy=\"" + std::to_wstring(Height) + L"\"/>";
|
||||
}
|
||||
else
|
||||
{
|
||||
sXml += L"<wp:inline xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" \
|
||||
if(false == bChart)
|
||||
sXml += L"<wp:inline xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" \
|
||||
distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"" + std::to_wstring(Width) + L"\" cy=\"" + std::to_wstring(Height) + L"\"/>";
|
||||
}
|
||||
else
|
||||
sXml += L"<w:drawing><wp:inline distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\">\
|
||||
<wp:extent cx=\"" + std::to_wstring(Width) + L"\" cy=\"" + std::to_wstring(Height) + L"\"/>";
|
||||
|
||||
if(bEffectExtentL && bEffectExtentT && bEffectExtentR && bEffectExtentB)
|
||||
{
|
||||
@ -2498,17 +2473,18 @@ distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"" + std::to_wstr
|
||||
{
|
||||
sXml += L"<wp:docPr id=\"" + std::to_wstring(m_nDocPr) + L"\" name=\"\"/>";
|
||||
}
|
||||
if (!sGraphicFramePr.empty())
|
||||
if(!sGraphicFramePr.empty())
|
||||
{
|
||||
sXml += sGraphicFramePr;
|
||||
sXml += (sGraphicFramePr);
|
||||
}
|
||||
else
|
||||
{
|
||||
sXml += L"<wp:cNvGraphicFramePr/>";
|
||||
}
|
||||
if (bGraphicFrameContent)
|
||||
if(bChart)
|
||||
{
|
||||
sXml += sGraphicFrameContent + L"</wp:inline></w:drawing>";
|
||||
sXml += L"<a:graphic xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\"><a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/chart\"><c:chart xmlns:c=\"http://schemas.openxmlformats.org/drawingml/2006/chart\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" r:id=\""
|
||||
+ sChartRels + L"\"/></a:graphicData></a:graphic></wp:inline></w:drawing>";
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2548,10 +2524,9 @@ distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"" + std::to_wstr
|
||||
if(bLayoutInCell && false == LayoutInCell)
|
||||
nLayoutInCell = 0;
|
||||
|
||||
if (bGraphicFrameContent)
|
||||
{
|
||||
sXml += L"<w:drawing>";
|
||||
}
|
||||
if(bChart)
|
||||
sXml += L"<w:drawing>";
|
||||
|
||||
sXml += L"<wp:anchor xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\"\
|
||||
distT=\"" + std::to_wstring(emuDistT) +
|
||||
L"\" distB=\"" + std::to_wstring(emuDistB) +
|
||||
@ -2570,7 +2545,7 @@ distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"" + std::to_wstr
|
||||
emuY = SimplePosY;
|
||||
sXml += L"<wp:simplePos x=\"" + std::to_wstring(emuX) + L"\" y=\"" + std::to_wstring(emuY) + L"\"/>";
|
||||
|
||||
if (bPositionHRelativeFrom && (bPositionHAlign || bPositionHPosOffset || bPositionHPctOffset))
|
||||
if(bPositionHRelativeFrom && (bPositionHAlign || bPositionHPosOffset || bPositionHPctOffset))
|
||||
{
|
||||
std::wstring sRelativeFrom;
|
||||
switch(PositionHRelativeFrom)
|
||||
@ -2607,7 +2582,7 @@ distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"" + std::to_wstr
|
||||
}
|
||||
sXml += L"<wp:positionH relativeFrom=\"" + sRelativeFrom + L"\">" + sContent + L"</wp:positionH>";
|
||||
}
|
||||
if (bPositionVRelativeFrom && (bPositionVAlign || bPositionVPosOffset || bPositionVPctOffset))
|
||||
if(bPositionVRelativeFrom && (bPositionVAlign || bPositionVPosOffset || bPositionVPctOffset))
|
||||
{
|
||||
std::wstring sRelativeFrom;
|
||||
switch(PositionVRelativeFrom)
|
||||
@ -2622,7 +2597,7 @@ distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"" + std::to_wstr
|
||||
case 7: sRelativeFrom = _T("topMargin");break;
|
||||
}
|
||||
std::wstring sContent;
|
||||
if (bPositionVAlign)
|
||||
if(bPositionVAlign)
|
||||
{
|
||||
switch(PositionVAlign)
|
||||
{
|
||||
@ -2646,22 +2621,22 @@ distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"" + std::to_wstr
|
||||
}
|
||||
sXml += L"<wp:extent cx=\"" + std::to_wstring(Width) + L"\" cy=\"" + std::to_wstring(Height)+ L"\"/>";
|
||||
|
||||
if (bEffectExtentL && bEffectExtentT && bEffectExtentR && bEffectExtentB)
|
||||
if(bEffectExtentL && bEffectExtentT && bEffectExtentR && bEffectExtentB)
|
||||
{
|
||||
sXml += L"<wp:effectExtent l=\"" + std::to_wstring(EffectExtentL) +
|
||||
L"\" t=\"" + std::to_wstring(EffectExtentT) + L"\" r=\"" + std::to_wstring(EffectExtentR) +
|
||||
L"\" b=\"" + std::to_wstring(EffectExtentB) + L"\"/>";
|
||||
}
|
||||
if (bDrawingPropertyWrap && DrawingPropertyWrap.bWrappingType)
|
||||
if(bDrawingPropertyWrap && DrawingPropertyWrap.bWrappingType)
|
||||
{
|
||||
std::wstring sTagName;
|
||||
switch(DrawingPropertyWrap.WrappingType)
|
||||
{
|
||||
case c_oSerImageType2::WrapNone:sTagName = _T("wrapNone"); break;
|
||||
case c_oSerImageType2::WrapSquare:sTagName = _T("wrapSquare"); break;
|
||||
case c_oSerImageType2::WrapThrough:sTagName = _T("wrapThrough"); break;
|
||||
case c_oSerImageType2::WrapTight:sTagName = _T("wrapTight"); break;
|
||||
case c_oSerImageType2::WrapTopAndBottom:sTagName = _T("wrapTopAndBottom"); break;
|
||||
case c_oSerImageType2::WrapNone:sTagName = _T("wrapNone"); break;
|
||||
case c_oSerImageType2::WrapSquare:sTagName = _T("wrapSquare"); break;
|
||||
case c_oSerImageType2::WrapThrough:sTagName = _T("wrapThrough"); break;
|
||||
case c_oSerImageType2::WrapTight:sTagName = _T("wrapTight"); break;
|
||||
case c_oSerImageType2::WrapTopAndBottom:sTagName = _T("wrapTopAndBottom"); break;
|
||||
}
|
||||
if(DrawingPropertyWrap.bStart || DrawingPropertyWrap.Points.size() > 0)
|
||||
{
|
||||
@ -2727,9 +2702,10 @@ distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"" + std::to_wstr
|
||||
{
|
||||
sXml += L"<wp:cNvGraphicFramePr/>";
|
||||
}
|
||||
if (bGraphicFrameContent)
|
||||
if(bChart)
|
||||
{
|
||||
sXml += sGraphicFrameContent;
|
||||
sXml += L"<a:graphic xmlns:a=\"http://schemas.openxmlformats.org/drawingml/2006/main\"><a:graphicData uri=\"http://schemas.openxmlformats.org/drawingml/2006/chart\"><c:chart xmlns:c=\"http://schemas.openxmlformats.org/drawingml/2006/chart\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" r:id=\""
|
||||
+ sChartRels + L"\"/></a:graphicData></a:graphic>";
|
||||
}
|
||||
|
||||
if(!sSizeRelH.empty())
|
||||
@ -2743,7 +2719,7 @@ distT=\"0\" distB=\"0\" distL=\"0\" distR=\"0\"><wp:extent cx=\"" + std::to_wstr
|
||||
|
||||
sXml += L"</wp:anchor>";
|
||||
|
||||
if (bGraphicFrameContent)
|
||||
if(bChart)
|
||||
sXml += L"</w:drawing>";
|
||||
}
|
||||
}
|
||||
|
||||
@ -307,10 +307,6 @@ int Binary_CommonReader2::ReadShd(BYTE type, long length, void* poResult)
|
||||
pShd->bThemeColor = true;
|
||||
ReadThemeColor(length, pShd->ThemeColor);
|
||||
break;
|
||||
case c_oSerShdType::Fill:
|
||||
pShd->bFill = true;
|
||||
pShd->Fill = ReadColor();
|
||||
break;
|
||||
default:
|
||||
res = c_oSerConstants::ReadUnknown;
|
||||
break;
|
||||
@ -478,13 +474,6 @@ int Binary_rPrReader::ReadContent(BYTE type, long length, void* poResult)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case c_oSerProp_rPrType::FontAsciiTheme:
|
||||
{
|
||||
SimpleTypes::CTheme<> theme;
|
||||
theme.SetValue((SimpleTypes::ETheme)m_oBufferedStream.GetUChar());
|
||||
orPr->FontAsciiTheme = theme.ToString();
|
||||
break;
|
||||
}
|
||||
case c_oSerProp_rPrType::FontHAnsi:
|
||||
{
|
||||
std::wstring sFontName(m_oBufferedStream.GetString3(length));
|
||||
@ -496,13 +485,6 @@ int Binary_rPrReader::ReadContent(BYTE type, long length, void* poResult)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case c_oSerProp_rPrType::FontHAnsiTheme:
|
||||
{
|
||||
SimpleTypes::CTheme<> theme;
|
||||
theme.SetValue((SimpleTypes::ETheme)m_oBufferedStream.GetUChar());
|
||||
orPr->FontHAnsiTheme = theme.ToString();
|
||||
break;
|
||||
}
|
||||
case c_oSerProp_rPrType::FontCS:
|
||||
{
|
||||
std::wstring sFontName(m_oBufferedStream.GetString3(length));
|
||||
@ -514,13 +496,6 @@ int Binary_rPrReader::ReadContent(BYTE type, long length, void* poResult)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case c_oSerProp_rPrType::FontCSTheme:
|
||||
{
|
||||
SimpleTypes::CTheme<> theme;
|
||||
theme.SetValue((SimpleTypes::ETheme)m_oBufferedStream.GetUChar());
|
||||
orPr->FontCSTheme = theme.ToString();
|
||||
break;
|
||||
}
|
||||
case c_oSerProp_rPrType::FontAE:
|
||||
{
|
||||
std::wstring sFontName(m_oBufferedStream.GetString3(length));
|
||||
@ -532,13 +507,6 @@ int Binary_rPrReader::ReadContent(BYTE type, long length, void* poResult)
|
||||
}
|
||||
break;
|
||||
}
|
||||
case c_oSerProp_rPrType::FontAETheme:
|
||||
{
|
||||
SimpleTypes::CTheme<> theme;
|
||||
theme.SetValue((SimpleTypes::ETheme)m_oBufferedStream.GetUChar());
|
||||
orPr->FontAETheme = theme.ToString();
|
||||
break;
|
||||
}
|
||||
case c_oSerProp_rPrType::FontSize:
|
||||
{
|
||||
long nFontSize = m_oBufferedStream.GetLong();
|
||||
@ -7721,15 +7689,14 @@ int Binary_DocumentTableReader::ReadRunContent(BYTE type, long length, void* poR
|
||||
CDrawingProperty oCDrawingProperty(m_oFileWriter.getNextDocPr());
|
||||
READ2_DEF(length, res, this->ReadPptxDrawing, &oCDrawingProperty);
|
||||
|
||||
if(oCDrawingProperty.IsGraphicFrameContent())
|
||||
if(oCDrawingProperty.IsChart())
|
||||
{
|
||||
GetRunStringWriter().WriteString(oCDrawingProperty.Write());
|
||||
}
|
||||
else if(oCDrawingProperty.bDataPos && oCDrawingProperty.bDataLength)
|
||||
{
|
||||
std::wstring sDrawingProperty = oCDrawingProperty.Write();
|
||||
|
||||
if(false == sDrawingProperty.empty())
|
||||
if(false == sDrawingProperty.empty())
|
||||
{
|
||||
ReadDrawing(oCDrawingProperty);
|
||||
}
|
||||
@ -8248,58 +8215,110 @@ int Binary_DocumentTableReader::ReadPptxDrawing(BYTE type, long length, void* po
|
||||
{
|
||||
int res = c_oSerConstants::ReadOk;
|
||||
CDrawingProperty* pDrawingProperty = static_cast<CDrawingProperty*>(poResult);
|
||||
if (c_oSerImageType2::Type == type)
|
||||
if ( c_oSerImageType2::Type == type )
|
||||
{
|
||||
pDrawingProperty->bType = true;
|
||||
pDrawingProperty->Type = m_oBufferedStream.GetUChar();
|
||||
}
|
||||
else if (c_oSerImageType2::PptxData == type)
|
||||
else if ( c_oSerImageType2::PptxData == type )
|
||||
{
|
||||
pDrawingProperty->bDataPos = true;
|
||||
pDrawingProperty->bDataLength = true;
|
||||
pDrawingProperty->DataPos = m_oBufferedStream.GetPos();
|
||||
pDrawingProperty->DataLength = length;
|
||||
//сейчас пропуская, потому что перед чтение этого поля надо собрать остальные данные
|
||||
//сейчас пропуская, потому что перед чтение этого поля надо собрать остальные данные
|
||||
res = c_oSerConstants::ReadUnknown;
|
||||
}
|
||||
else if (c_oSerImageType2::Chart == type)
|
||||
else if ( c_oSerImageType2::Chart2 == type )
|
||||
{
|
||||
OOX::CPath pathCharts = m_oFileWriter.m_oChartWriter.m_sDir + FILE_SEPARATOR_STR + L"word" + FILE_SEPARATOR_STR + L"charts";
|
||||
OOX::CSystemUtility::CreateDirectories(pathCharts.GetPath());
|
||||
|
||||
m_oBufferedStream.m_pRels->m_pManager->SetDstCharts(pathCharts.GetPath());
|
||||
|
||||
m_oBufferedStream.Seek(m_oBufferedStream.GetPos() - 4); //roll back length
|
||||
|
||||
PPTX::Logic::GraphicFrame graphicFrame;
|
||||
|
||||
graphicFrame.chartRec.Init();
|
||||
graphicFrame.chartRec->fromPPTY(&m_oBufferedStream);
|
||||
|
||||
if (graphicFrame.chartRec->id_data.IsInit())
|
||||
if(false == m_oFileWriter.m_bSaveChartAsImg)
|
||||
{
|
||||
pDrawingProperty->sGraphicFrameContent = graphicFrame.toXML2();
|
||||
OOX::CPath pathChartsDir = m_oFileWriter.m_oChartWriter.m_sDir + FILE_SEPARATOR_STR + L"word" + FILE_SEPARATOR_STR + L"charts";
|
||||
OOX::CSystemUtility::CreateDirectories(pathChartsDir.GetPath());
|
||||
|
||||
OOX::CPath pathChartsRelsDir = pathChartsDir.GetPath() + FILE_SEPARATOR_STR + L"_rels";
|
||||
OOX::CSystemUtility::CreateDirectories(pathChartsRelsDir.GetPath());
|
||||
|
||||
OOX::CPath pathChartsWorksheetDir = m_oFileWriter.m_oChartWriter.m_sDir + FILE_SEPARATOR_STR + L"word" + FILE_SEPARATOR_STR + L"embeddings";
|
||||
OOX::CSystemUtility::CreateDirectories(pathChartsWorksheetDir.GetPath());
|
||||
|
||||
int nativeDocumentType = m_oFileWriter.m_pDrawingConverter->m_pImageManager->m_nDocumentType;
|
||||
|
||||
m_oFileWriter.m_pDrawingConverter->m_pImageManager->m_nDocumentType = XMLWRITER_DOC_TYPE_XLSX;
|
||||
m_oFileWriter.m_pDrawingConverter->SetDstContentRels();
|
||||
|
||||
std::wstring sThemePath = m_oFileWriter.m_sThemePath;
|
||||
std::wstring sDrawingsPath = m_oFileWriter.m_oChartWriter.m_sDir + FILE_SEPARATOR_STR + L"word" + FILE_SEPARATOR_STR + L"drawings";
|
||||
|
||||
size_t nPos = sThemePath.rfind(FILE_SEPARATOR_STR);
|
||||
if (std::wstring::npos != nPos)
|
||||
{
|
||||
sThemePath = sThemePath.substr(0, nPos);
|
||||
}
|
||||
|
||||
BinXlsxRW::SaveParams oSaveParams(sDrawingsPath, sThemePath, m_oFileWriter.m_pDrawingConverter->GetContentTypes());
|
||||
BinXlsxRW::BinaryChartReader oBinaryChartReader(m_oBufferedStream, oSaveParams, m_oFileWriter.m_pDrawingConverter);
|
||||
|
||||
OOX::Spreadsheet::CChartSpace* pChartSpace = new OOX::Spreadsheet::CChartSpace(NULL);
|
||||
oBinaryChartReader.ReadCT_ChartSpace(length, pChartSpace);
|
||||
|
||||
//save xlsx
|
||||
_INT32 nChartCount = m_oFileWriter.m_pDrawingConverter->GetDocumentChartsCount();
|
||||
_INT32 nChartIndex = nChartCount + 1;
|
||||
m_oFileWriter.m_pDrawingConverter->SetDocumentChartsCount(nChartCount + 1);
|
||||
std::wstring sXlsxFilename = L"Microsoft_Excel_Worksheet" + std::to_wstring(nChartIndex) + L".xlsx";
|
||||
std::wstring sXlsxPath = pathChartsWorksheetDir.GetPath() + FILE_SEPARATOR_STR + sXlsxFilename;
|
||||
BinXlsxRW::CXlsxSerializer oXlsxSerializer;
|
||||
if (oXlsxSerializer.writeChartXlsx(sXlsxPath, *pChartSpace))
|
||||
{
|
||||
std::wstring sChartsWorksheetRelsName = L"../embeddings/" + sXlsxFilename;
|
||||
unsigned int rIdXlsx;
|
||||
std::wstring bstrChartsWorksheetRelType = OOX::FileTypes::MicrosoftOfficeExcelWorksheet.RelationType();
|
||||
|
||||
m_oFileWriter.m_pDrawingConverter->WriteRels(bstrChartsWorksheetRelType, sChartsWorksheetRelsName, std::wstring(), &rIdXlsx);
|
||||
m_oFileWriter.m_pDrawingConverter->m_pImageManager->m_pContentTypes->AddDefault(L"xlsx");
|
||||
|
||||
pChartSpace->m_oChartSpace.m_externalData = new OOX::Spreadsheet::CT_ExternalData();
|
||||
pChartSpace->m_oChartSpace.m_externalData->m_id = new std::wstring();
|
||||
pChartSpace->m_oChartSpace.m_externalData->m_id->append(L"rId");
|
||||
pChartSpace->m_oChartSpace.m_externalData->m_id->append(std::to_wstring(rIdXlsx));
|
||||
pChartSpace->m_oChartSpace.m_externalData->m_autoUpdate = new OOX::Spreadsheet::CT_Boolean();
|
||||
pChartSpace->m_oChartSpace.m_externalData->m_autoUpdate->m_val = new bool(false);
|
||||
}
|
||||
|
||||
std::wstring sFilename = L"chart" + std::to_wstring(nChartIndex) + L".xml";
|
||||
std::wstring sRelsName = L"charts/" + sFilename;
|
||||
|
||||
OOX::CPath pathChartsFile = pathChartsDir + FILE_SEPARATOR_STR + sFilename;
|
||||
pChartSpace->write(pathChartsFile, OOX::CPath(L"/word/charts"), *m_oFileWriter.m_pDrawingConverter->GetContentTypes());
|
||||
|
||||
OOX::CPath pathChartsRels = pathChartsRelsDir.GetPath() + FILE_SEPARATOR_STR + sFilename + L".rels";
|
||||
m_oFileWriter.m_pDrawingConverter->SaveDstContentRels(pathChartsRels.GetPath());
|
||||
|
||||
unsigned int rIdChart;
|
||||
std::wstring bstrChartRelType = OOX::FileTypes::Chart.RelationType();
|
||||
|
||||
m_oFileWriter.m_pDrawingConverter->WriteRels(bstrChartRelType, sRelsName, std::wstring(), &rIdChart);
|
||||
//m_oFileWriter.m_pDrawingConverter->Registration(L"application/vnd.openxmlformats-officedocument.drawingml.chart+xml", L"/word/charts", sFilename);
|
||||
|
||||
pDrawingProperty->sChartRels = L"rId" + std::to_wstring( rIdChart);
|
||||
|
||||
m_oFileWriter.m_pDrawingConverter->m_pImageManager->m_nDocumentType = nativeDocumentType;
|
||||
}
|
||||
else
|
||||
res = c_oSerConstants::ReadUnknown;
|
||||
}
|
||||
else if (c_oSerImageType2::ChartEx == type)
|
||||
else if ( c_oSerImageType2::ChartImg == type )
|
||||
{
|
||||
OOX::CPath pathCharts = m_oFileWriter.m_oChartWriter.m_sDir + FILE_SEPARATOR_STR + L"word" + FILE_SEPARATOR_STR + L"charts";
|
||||
OOX::CSystemUtility::CreateDirectories(pathCharts.GetPath());
|
||||
|
||||
m_oBufferedStream.m_pRels->m_pManager->SetDstCharts(pathCharts.GetPath());
|
||||
|
||||
m_oBufferedStream.Seek(m_oBufferedStream.GetPos() - 4); //roll back length
|
||||
|
||||
PPTX::Logic::GraphicFrame graphicFrame;
|
||||
|
||||
graphicFrame.chartRec.Init();
|
||||
graphicFrame.chartRec->m_bChartEx = true;
|
||||
graphicFrame.chartRec->fromPPTY(&m_oBufferedStream);
|
||||
|
||||
if (graphicFrame.chartRec->id_data.IsInit())
|
||||
if(true == m_oFileWriter.m_bSaveChartAsImg)
|
||||
{
|
||||
pDrawingProperty->sGraphicFrameContent = graphicFrame.toXML2();
|
||||
pDrawingProperty->bDataPos = true;
|
||||
pDrawingProperty->bDataLength = true;
|
||||
pDrawingProperty->DataPos = m_oBufferedStream.GetPos();
|
||||
pDrawingProperty->DataLength = length;
|
||||
//сейчас пропуская, потому что перед чтение этого поля надо собрать остальные данные
|
||||
}
|
||||
res = c_oSerConstants::ReadUnknown;
|
||||
}
|
||||
else if ( c_oSerImageType2::BehindDoc == type )
|
||||
{
|
||||
@ -8488,12 +8507,11 @@ int Binary_DocumentTableReader::ReadEmbedded(BYTE type, long length, void* poRes
|
||||
|
||||
std::wstring strDstEmbeddedTempThemePath = strDstEmbeddedTempXl + FILE_SEPARATOR_STR + L"theme";
|
||||
std::wstring strDstEmbeddedTempDrawingPath = strDstEmbeddedTempXl + FILE_SEPARATOR_STR + L"drawings";
|
||||
std::wstring strDstEmbeddedTempEmbeddingsPath = strDstEmbeddedTempXl + FILE_SEPARATOR_STR + L"embeddings";
|
||||
|
||||
|
||||
int id = m_oFileWriter.m_oChartWriter.nEmbeddedCount++;
|
||||
|
||||
std::wstring sXlsxFilename = L"Microsoft_Excel_Worksheet" + std::to_wstring( id + 1) + L".xlsx";
|
||||
BinXlsxRW::SaveParams oSaveParams(strDstEmbeddedTempDrawingPath, strDstEmbeddedTempEmbeddingsPath, strDstEmbeddedTempThemePath, m_oFileWriter.m_pDrawingConverter->GetContentTypes());//???
|
||||
BinXlsxRW::SaveParams oSaveParams(strDstEmbeddedTempDrawingPath, strDstEmbeddedTempThemePath, m_oFileWriter.m_pDrawingConverter->GetContentTypes());//???
|
||||
|
||||
OOX::Spreadsheet::CXlsx oXlsx;
|
||||
|
||||
|
||||
@ -411,11 +411,7 @@ extern int g_nCurFormatVersion;
|
||||
MoveFrom = 36,
|
||||
MoveTo = 37,
|
||||
SpacingTwips = 38,
|
||||
PositionHps = 39,
|
||||
FontAsciiTheme = 40,
|
||||
FontHAnsiTheme = 41,
|
||||
FontAETheme = 42,
|
||||
FontCSTheme = 43
|
||||
PositionHps = 39
|
||||
};}
|
||||
namespace c_oSerProp_rowPrType{enum c_oSerProp_rowPrType
|
||||
{
|
||||
@ -643,7 +639,9 @@ extern int g_nCurFormatVersion;
|
||||
WrapThrough = 20,
|
||||
WrapTight = 21,
|
||||
WrapTopAndBottom = 22,
|
||||
Chart = 25,
|
||||
Chart = 23,
|
||||
ChartImg = 24,
|
||||
Chart2 = 25,
|
||||
CachedImage = 26,
|
||||
SizeRelH = 27,
|
||||
SizeRelV = 28,
|
||||
@ -653,8 +651,7 @@ extern int g_nCurFormatVersion;
|
||||
DistBEmu = 32,
|
||||
DistLEmu = 33,
|
||||
DistREmu = 34,
|
||||
DistTEmu = 35,
|
||||
ChartEx = 36
|
||||
DistTEmu = 35
|
||||
};}
|
||||
namespace c_oSerEffectExtent{enum c_oSerEffectExtent
|
||||
{
|
||||
@ -752,8 +749,7 @@ extern int g_nCurFormatVersion;
|
||||
{
|
||||
Value = 0,
|
||||
Color = 1,
|
||||
ColorTheme = 2,
|
||||
Fill = 3
|
||||
ColorTheme = 2
|
||||
};}
|
||||
namespace c_oSerPaddingType{enum c_oSerPaddingType
|
||||
{
|
||||
|
||||
@ -305,15 +305,13 @@ void BinaryCommonWriter::WriteShd(const ComplexTypes::Word::CShading& Shd)
|
||||
m_oStream.WriteBYTE(Shd.m_oVal.get().GetValue()); //Misalignment-footer.doc
|
||||
|
||||
}
|
||||
//Color
|
||||
if (false != Shd.m_oColor.IsInit())
|
||||
WriteColor(c_oSerShdType::Color, Shd.m_oColor.get());
|
||||
|
||||
WriteThemeColor(c_oSerShdType::ColorTheme, Shd.m_oFill, Shd.m_oThemeFill, Shd.m_oThemeFillTint, Shd.m_oThemeFillShade);
|
||||
|
||||
//Fill
|
||||
//Value
|
||||
if (false != Shd.m_oFill.IsInit())
|
||||
WriteColor(c_oSerShdType::Fill, Shd.m_oFill.get());
|
||||
WriteColor(c_oSerShdType::Color, Shd.m_oFill.get());
|
||||
else if (false != Shd.m_oColor.IsInit())
|
||||
WriteColor(c_oSerShdType::Color, Shd.m_oColor.get());
|
||||
|
||||
WriteThemeColor(c_oSerShdType::ColorTheme, Shd.m_oFill, Shd.m_oThemeFill, Shd.m_oThemeFillTint, Shd.m_oThemeFillShade);
|
||||
}
|
||||
void BinaryCommonWriter::WritePaddings(const nullable<SimpleTypes::CTwipsMeasure>& left, const nullable<SimpleTypes::CTwipsMeasure>& top,
|
||||
const nullable<SimpleTypes::CTwipsMeasure>& right, const nullable<SimpleTypes::CTwipsMeasure>& bottom)
|
||||
@ -347,7 +345,7 @@ void BinaryCommonWriter::WritePaddings(const nullable<SimpleTypes::CTwipsMeasure
|
||||
m_oStream.WriteLONG(bottom->ToTwips());
|
||||
}
|
||||
}
|
||||
void BinaryCommonWriter::WriteFont(std::wstring sFontName, BYTE bType, DocWrapper::FontProcessor& m_oFontProcessor)
|
||||
void BinaryCommonWriter::WriteFont(std::wstring& sFontName, BYTE bType, DocWrapper::FontProcessor& m_oFontProcessor)
|
||||
{
|
||||
if(!sFontName.empty())
|
||||
{
|
||||
@ -522,39 +520,92 @@ void Binary_rPrWriter::Write_rPr(OOX::Logic::CRunProperty* rPr)
|
||||
//FontFamily
|
||||
if(false != rPr->m_oRFonts.IsInit())
|
||||
{
|
||||
std::wstring sFontAscii;
|
||||
std::wstring sFontHAnsi;
|
||||
std::wstring sFontAE;
|
||||
std::wstring sFontCS;
|
||||
const ComplexTypes::Word::CFonts& oFont = rPr->m_oRFonts.get();
|
||||
if(oFont.m_sAscii.IsInit())
|
||||
m_oBcw.WriteFont(oFont.m_sAscii.get(), c_oSerProp_rPrType::FontAscii, *m_oParamsWriter.m_pFontProcessor);
|
||||
if(oFont.m_oAsciiTheme.IsInit())
|
||||
|
||||
if(NULL != m_oParamsWriter.m_pTheme && oFont.m_oAsciiTheme.IsInit())
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerProp_rPrType::FontAsciiTheme);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBYTE((BYTE)oFont.m_oAsciiTheme->GetValue());
|
||||
const SimpleTypes::ETheme& eTheme = oFont.m_oAsciiTheme.get().GetValue();
|
||||
switch(eTheme)
|
||||
{
|
||||
case SimpleTypes::themeMajorAscii:
|
||||
case SimpleTypes::themeMajorBidi:
|
||||
case SimpleTypes::themeMajorEastAsia:
|
||||
case SimpleTypes::themeMajorHAnsi: sFontAscii = m_oParamsWriter.m_pTheme->themeElements.fontScheme.majorFont.latin.typeface; break;
|
||||
case SimpleTypes::themeMinorAscii:
|
||||
case SimpleTypes::themeMinorBidi:
|
||||
case SimpleTypes::themeMinorEastAsia:
|
||||
case SimpleTypes::themeMinorHAnsi: sFontAscii = m_oParamsWriter.m_pTheme->themeElements.fontScheme.minorFont.latin.typeface; break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(oFont.m_sHAnsi.IsInit())
|
||||
m_oBcw.WriteFont(oFont.m_sHAnsi.get(), c_oSerProp_rPrType::FontHAnsi, *m_oParamsWriter.m_pFontProcessor);
|
||||
if(oFont.m_oHAnsiTheme.IsInit())
|
||||
else if(oFont.m_sAscii.IsInit())
|
||||
sFontAscii = oFont.m_sAscii.get();
|
||||
|
||||
if(NULL != m_oParamsWriter.m_pTheme && oFont.m_oHAnsiTheme.IsInit())
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerProp_rPrType::FontHAnsiTheme);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBYTE((BYTE)oFont.m_oHAnsiTheme->GetValue());
|
||||
const SimpleTypes::ETheme& eTheme = oFont.m_oHAnsiTheme.get().GetValue();
|
||||
switch(eTheme)
|
||||
{
|
||||
case SimpleTypes::themeMajorAscii:
|
||||
case SimpleTypes::themeMajorBidi:
|
||||
case SimpleTypes::themeMajorEastAsia:
|
||||
case SimpleTypes::themeMajorHAnsi: sFontHAnsi = m_oParamsWriter.m_pTheme->themeElements.fontScheme.majorFont.latin.typeface; break;
|
||||
case SimpleTypes::themeMinorAscii:
|
||||
case SimpleTypes::themeMinorBidi:
|
||||
case SimpleTypes::themeMinorEastAsia:
|
||||
case SimpleTypes::themeMinorHAnsi: sFontHAnsi = m_oParamsWriter.m_pTheme->themeElements.fontScheme.minorFont.latin.typeface; break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(oFont.m_sEastAsia.IsInit())
|
||||
m_oBcw.WriteFont(oFont.m_sEastAsia.get(), c_oSerProp_rPrType::FontAE, *m_oParamsWriter.m_pFontProcessor);
|
||||
if(oFont.m_oEastAsiaTheme.IsInit())
|
||||
else if(oFont.m_sHAnsi.IsInit())
|
||||
sFontHAnsi = oFont.m_sHAnsi.get();
|
||||
if(NULL != m_oParamsWriter.m_pTheme && oFont.m_oCsTheme.IsInit())
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerProp_rPrType::FontAETheme);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBYTE((BYTE)oFont.m_oEastAsiaTheme->GetValue());
|
||||
const SimpleTypes::ETheme& eTheme = oFont.m_oCsTheme.get().GetValue();
|
||||
switch(eTheme)
|
||||
{
|
||||
case SimpleTypes::themeMajorAscii:
|
||||
case SimpleTypes::themeMajorBidi:
|
||||
case SimpleTypes::themeMajorEastAsia:
|
||||
case SimpleTypes::themeMajorHAnsi: sFontCS = m_oParamsWriter.m_pTheme->themeElements.fontScheme.majorFont.latin.typeface; break;
|
||||
case SimpleTypes::themeMinorAscii:
|
||||
case SimpleTypes::themeMinorBidi:
|
||||
case SimpleTypes::themeMinorEastAsia:
|
||||
case SimpleTypes::themeMinorHAnsi: sFontCS = m_oParamsWriter.m_pTheme->themeElements.fontScheme.minorFont.latin.typeface; break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
if(oFont.m_sCs.IsInit())
|
||||
m_oBcw.WriteFont(oFont.m_sCs.get(), c_oSerProp_rPrType::FontCS, *m_oParamsWriter.m_pFontProcessor);
|
||||
if(oFont.m_oCsTheme.IsInit())
|
||||
else if(oFont.m_sCs.IsInit())
|
||||
sFontCS = oFont.m_sCs.get();
|
||||
if(NULL != m_oParamsWriter.m_pTheme && oFont.m_oEastAsiaTheme.IsInit())
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerProp_rPrType::FontCSTheme);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Byte);
|
||||
m_oBcw.m_oStream.WriteBYTE((BYTE)oFont.m_oCsTheme->GetValue());
|
||||
const SimpleTypes::ETheme& eTheme = oFont.m_oEastAsiaTheme.get().GetValue();
|
||||
switch(eTheme)
|
||||
{
|
||||
case SimpleTypes::themeMajorAscii:
|
||||
case SimpleTypes::themeMajorBidi:
|
||||
case SimpleTypes::themeMajorEastAsia:
|
||||
case SimpleTypes::themeMajorHAnsi: sFontAE = m_oParamsWriter.m_pTheme->themeElements.fontScheme.majorFont.latin.typeface; break;
|
||||
case SimpleTypes::themeMinorAscii:
|
||||
case SimpleTypes::themeMinorBidi:
|
||||
case SimpleTypes::themeMinorEastAsia:
|
||||
case SimpleTypes::themeMinorHAnsi: sFontAE = m_oParamsWriter.m_pTheme->themeElements.fontScheme.minorFont.latin.typeface; break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
else if(oFont.m_sEastAsia.IsInit())
|
||||
sFontAE = oFont.m_sEastAsia.get();
|
||||
m_oBcw.WriteFont(sFontAscii, c_oSerProp_rPrType::FontAscii, *m_oParamsWriter.m_pFontProcessor);
|
||||
m_oBcw.WriteFont(sFontHAnsi, c_oSerProp_rPrType::FontHAnsi, *m_oParamsWriter.m_pFontProcessor);
|
||||
m_oBcw.WriteFont(sFontAE, c_oSerProp_rPrType::FontAE, *m_oParamsWriter.m_pFontProcessor);
|
||||
m_oBcw.WriteFont(sFontCS, c_oSerProp_rPrType::FontCS, *m_oParamsWriter.m_pFontProcessor);
|
||||
|
||||
//Hint
|
||||
if(false != oFont.m_oHint.IsInit())
|
||||
{
|
||||
@ -6345,7 +6396,7 @@ void BinaryDocumentTableWriter::WriteDrawing(std::wstring* pXml, OOX::Logic::CDr
|
||||
{
|
||||
if (pGraphic->chartRec.IsInit() && pGraphic->chartRec->id_data.IsInit() )
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(pGraphic->chartRec->m_bChartEx ? c_oSerImageType2::ChartEx : c_oSerImageType2::Chart);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerImageType2::Chart2);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Variable);
|
||||
|
||||
int nCurPos = m_oBcw.WriteItemWithLengthStart();
|
||||
@ -6411,12 +6462,11 @@ void BinaryDocumentTableWriter::WriteDrawing(std::wstring* pXml, OOX::Logic::CDr
|
||||
WriteEffectExtent(pInline.m_oEffectExtent.get());
|
||||
m_oBcw.WriteItemWithLengthEnd(nCurPos);
|
||||
}
|
||||
if (pInline.m_oGraphic.nvGraphicFramePr.IsInit())
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerImageType2::GraphicFramePr);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Variable);
|
||||
nCurPos = m_oBcw.WriteItemWithLengthStart();
|
||||
WriteNvGraphicFramePr(pInline.m_oGraphic.nvGraphicFramePr.get());
|
||||
WriteNvGraphicFramePr(pInline.m_oGraphic.nvGraphicFramePr);
|
||||
m_oBcw.WriteItemWithLengthEnd(nCurPos);
|
||||
}
|
||||
if(pInline.m_oDocPr.IsInit())
|
||||
@ -6595,12 +6645,11 @@ void BinaryDocumentTableWriter::WriteDrawing(std::wstring* pXml, OOX::Logic::CDr
|
||||
WriteWrapTopBottom(pAnchor.m_oWrapTopAndBottom.get());
|
||||
m_oBcw.WriteItemWithLengthEnd(nCurPos);
|
||||
}
|
||||
if (pAnchor.m_oGraphic.nvGraphicFramePr.IsInit())
|
||||
{
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerImageType2::GraphicFramePr);
|
||||
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Variable);
|
||||
nCurPos = m_oBcw.WriteItemWithLengthStart();
|
||||
WriteNvGraphicFramePr(pAnchor.m_oGraphic.nvGraphicFramePr.get());
|
||||
WriteNvGraphicFramePr(pAnchor.m_oGraphic.nvGraphicFramePr);
|
||||
m_oBcw.WriteItemWithLengthEnd(nCurPos);
|
||||
}
|
||||
if(pAnchor.m_oDocPr.IsInit())
|
||||
|
||||
@ -136,7 +136,7 @@ namespace BinDocxRW
|
||||
void WriteShd(const ComplexTypes::Word::CShading& Shd);
|
||||
void WritePaddings(const nullable<SimpleTypes::CTwipsMeasure>& left, const nullable<SimpleTypes::CTwipsMeasure>& top,
|
||||
const nullable<SimpleTypes::CTwipsMeasure>& right, const nullable<SimpleTypes::CTwipsMeasure>& bottom);
|
||||
void WriteFont(std::wstring sFontName, BYTE bType, DocWrapper::FontProcessor& m_oFontProcessor);
|
||||
void WriteFont(std::wstring& sFontName, BYTE bType, DocWrapper::FontProcessor& m_oFontProcessor);
|
||||
void WriteBytesArray(BYTE* pData, long nDataSize);
|
||||
template<typename T> void WriteTrackRevision(const T& elem);
|
||||
};
|
||||
@ -567,4 +567,4 @@ namespace BinDocxRW
|
||||
void ParagraphAddBreak(OOX::Logic::CParagraph* pParagraph);
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
@ -182,6 +182,7 @@ BinDocxRW::CDocxSerializer::CDocxSerializer()
|
||||
|
||||
m_bIsNoBase64Save = false;
|
||||
m_bIsNoBase64 = false;
|
||||
m_bSaveChartAsImg = false;
|
||||
}
|
||||
BinDocxRW::CDocxSerializer::~CDocxSerializer()
|
||||
{
|
||||
@ -406,7 +407,7 @@ bool BinDocxRW::CDocxSerializer::loadFromFile(const std::wstring& sSrcFileName,
|
||||
oDrawingConverter.SetMediaDstPath(sMediaPath);
|
||||
oDrawingConverter.SetEmbedDstPath(sEmbedPath);
|
||||
|
||||
m_pCurFileWriter = new Writers::FileWriter(sDstPath, m_sFontDir, false, nVersion, &oDrawingConverter, sThemePath);
|
||||
m_pCurFileWriter = new Writers::FileWriter(sDstPath, m_sFontDir, false, nVersion, m_bSaveChartAsImg, &oDrawingConverter, sThemePath);
|
||||
|
||||
//папка с картинками
|
||||
std::wstring strFileInDir = NSSystemPath::GetDirectoryName(sSrcFileName);
|
||||
@ -599,6 +600,11 @@ void BinDocxRW::CDocxSerializer::setIsNoBase64(bool bIsNoBase64)
|
||||
{
|
||||
m_bIsNoBase64 = bIsNoBase64;
|
||||
}
|
||||
void BinDocxRW::CDocxSerializer::setSaveChartAsImg(bool bSaveChartAsImg)
|
||||
{
|
||||
m_bSaveChartAsImg = bSaveChartAsImg;
|
||||
}
|
||||
|
||||
bool BinDocxRW::CDocxSerializer::unpackageFile(const std::wstring& sSrcFileName, const std::wstring& sDstPath)
|
||||
{
|
||||
BinDocxRW::CPackageFile file;
|
||||
|
||||
@ -54,6 +54,7 @@ namespace BinDocxRW
|
||||
std::wstring m_sEmbeddedFontsDir;
|
||||
bool m_bIsNoBase64Save;
|
||||
bool m_bIsNoBase64;
|
||||
bool m_bSaveChartAsImg;
|
||||
ParamsWriter* m_pParamsWriter;
|
||||
Writers::FileWriter* m_pCurFileWriter;
|
||||
|
||||
|
||||
@ -141,61 +141,59 @@ namespace BinXlsxRW{
|
||||
RELEASEOBJECT(pFontPicker);
|
||||
return result;
|
||||
}
|
||||
bool CXlsxSerializer::saveChart(NSBinPptxRW::CBinaryFileReader* pReader, long lLength, NSCommon::smart_ptr<OOX::File> &file, const int& nChartNumber)
|
||||
bool CXlsxSerializer::saveChart(NSBinPptxRW::CBinaryFileReader* pReader, long lLength, const std::wstring& sFilepath, const long& lChartNumber)
|
||||
{
|
||||
if (NULL == pReader) return false;
|
||||
if (NULL == m_pExternalDrawingConverter) return false;
|
||||
|
||||
if (false == file.IsInit()) return false;
|
||||
bool bRes = false;
|
||||
|
||||
m_pExternalDrawingConverter->SetDstContentRels();
|
||||
|
||||
//получаем sThemePath из bsFilename предполагая что папка theme находится на уровень выше bsFilename
|
||||
std::wstring sDrawingsPath;
|
||||
std::wstring sThemePath;
|
||||
std::wstring sEmbedingPath;
|
||||
std::wstring sContentTypePath;
|
||||
|
||||
size_t nIndex = (int)sFilepath.rfind(FILE_SEPARATOR_CHAR);
|
||||
nIndex = (int)sFilepath.rfind(FILE_SEPARATOR_CHAR, nIndex - 1);
|
||||
|
||||
if(std::wstring::npos != nIndex)
|
||||
{
|
||||
std::wstring sFilepathLeft = sFilepath.substr(0, nIndex + 1);
|
||||
|
||||
sThemePath = sFilepathLeft + L"theme";
|
||||
sEmbedingPath = sFilepathLeft + L"embeddings";
|
||||
sDrawingsPath = sFilepathLeft + L"drawings";
|
||||
}
|
||||
if (pReader->m_nDocumentType == XMLWRITER_DOC_TYPE_DOCX ||
|
||||
pReader->m_nDocumentType == XMLWRITER_DOC_TYPE_DOCX_GLOSSARY) sContentTypePath = L"/word/charts/";
|
||||
else if (pReader->m_nDocumentType == XMLWRITER_DOC_TYPE_XLSX) sContentTypePath = L"/xl/charts/";
|
||||
else sContentTypePath = L"/ppt/charts/";
|
||||
|
||||
std::wstring sChartPath = pReader->m_pRels->m_pManager->GetDstCharts();
|
||||
size_t nIndex = sChartPath.rfind(FILE_SEPARATOR_CHAR);
|
||||
|
||||
std::wstring sFilePathDocument = sChartPath;
|
||||
if (std::wstring::npos != nIndex)
|
||||
{
|
||||
sFilePathDocument = sFilePathDocument.substr(0, nIndex + 1);
|
||||
}
|
||||
std::wstring sDrawingsPath = sFilePathDocument + L"drawings";
|
||||
std::wstring sThemePath = sFilePathDocument + L"theme";
|
||||
std::wstring sEmbedingPath = sFilePathDocument + L"embeddings";
|
||||
|
||||
std::wstring sFileName;
|
||||
|
||||
BinXlsxRW::SaveParams oSaveParams(sDrawingsPath, sEmbedingPath, sThemePath, m_pExternalDrawingConverter->GetContentTypes());
|
||||
//todo theme path
|
||||
BinXlsxRW::SaveParams oSaveParams(sDrawingsPath, sThemePath, m_pExternalDrawingConverter->GetContentTypes());
|
||||
OOX::Spreadsheet::CChartSpace oChartSpace(NULL);
|
||||
BinXlsxRW::BinaryChartReader oBinaryChartReader(*pReader, oSaveParams, m_pExternalDrawingConverter);
|
||||
|
||||
bool bResult = false;
|
||||
|
||||
int nDocumentTypeOwner = pReader->m_pRels->m_pManager->m_nDocumentType;
|
||||
pReader->m_pRels->m_pManager->m_nDocumentType = XMLWRITER_DOC_TYPE_XLSX;
|
||||
|
||||
NSCommon::smart_ptr<OOX::Spreadsheet::CChartFile> chart_file = file.smart_dynamic_cast<OOX::Spreadsheet::CChartFile>();
|
||||
if (chart_file.IsInit())
|
||||
try
|
||||
{
|
||||
sFileName = L"chart" + std::to_wstring(nChartNumber) + L".xml";
|
||||
|
||||
bResult = (0 == oBinaryChartReader.ReadCT_ChartFile(lLength, chart_file.GetPointer()));
|
||||
oBinaryChartReader.ReadCT_ChartSpace(lLength, &oChartSpace);
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
//todooo
|
||||
}
|
||||
|
||||
bool bXlsxPresent = (chart_file->m_oChartSpace.m_externalData) && (chart_file->m_oChartSpace.m_externalData->m_id);
|
||||
|
||||
if (bResult && pReader->m_nDocumentType != XMLWRITER_DOC_TYPE_XLSX && !sEmbedingPath.empty() && !bXlsxPresent)
|
||||
if(oChartSpace.isValid())
|
||||
{
|
||||
//save xlsx embedded for chart
|
||||
if(pReader->m_nDocumentType != XMLWRITER_DOC_TYPE_XLSX && !sEmbedingPath.empty())
|
||||
{
|
||||
std::wstring sXlsxFilename = L"Microsoft_Excel_Worksheet" + std::to_wstring(pReader->m_nCountEmbedded) + L".xlsx";
|
||||
std::wstring sXlsxFilename = L"Microsoft_Excel_Worksheet" + std::to_wstring(lChartNumber) + L".xlsx";
|
||||
std::wstring sXlsxPath = sEmbedingPath + FILE_SEPARATOR_STR + sXlsxFilename;
|
||||
|
||||
pReader->m_nCountEmbedded++;
|
||||
|
||||
if (writeChartXlsx(sXlsxPath, file))
|
||||
|
||||
if (writeChartXlsx(sXlsxPath, oChartSpace))
|
||||
{
|
||||
pReader->m_pRels->m_pManager->m_pContentTypes->AddDefault(L"xlsx");
|
||||
|
||||
@ -204,48 +202,31 @@ namespace BinXlsxRW{
|
||||
std::wstring bstrChartsWorksheetRelType = OOX::FileTypes::MicrosoftOfficeExcelWorksheet.RelationType();
|
||||
m_pExternalDrawingConverter->WriteRels(bstrChartsWorksheetRelType, sChartsWorksheetRelsName, std::wstring(), &rId);
|
||||
|
||||
chart_file->m_oChartSpace.m_externalData = new OOX::Spreadsheet::CT_ExternalData();
|
||||
chart_file->m_oChartSpace.m_externalData->m_id = new std::wstring();
|
||||
chart_file->m_oChartSpace.m_externalData->m_id->append(L"rId");
|
||||
chart_file->m_oChartSpace.m_externalData->m_id->append(std::to_wstring(rId));
|
||||
chart_file->m_oChartSpace.m_externalData->m_autoUpdate = new OOX::Spreadsheet::CT_Boolean();
|
||||
chart_file->m_oChartSpace.m_externalData->m_autoUpdate->m_val = new bool(false);
|
||||
oChartSpace.m_oChartSpace.m_externalData = new OOX::Spreadsheet::CT_ExternalData();
|
||||
oChartSpace.m_oChartSpace.m_externalData->m_id = new std::wstring();
|
||||
oChartSpace.m_oChartSpace.m_externalData->m_id->append(L"rId");
|
||||
oChartSpace.m_oChartSpace.m_externalData->m_id->append(std::to_wstring(rId));
|
||||
oChartSpace.m_oChartSpace.m_externalData->m_autoUpdate = new OOX::Spreadsheet::CT_Boolean();
|
||||
oChartSpace.m_oChartSpace.m_externalData->m_autoUpdate->m_val = new bool(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
NSCommon::smart_ptr<OOX::Spreadsheet::CChartExFile> chartEx_file = file.smart_dynamic_cast<OOX::Spreadsheet::CChartExFile>();
|
||||
if (chartEx_file.IsInit())
|
||||
{
|
||||
sFileName = L"chartEx" + std::to_wstring(nChartNumber) + L".xml";
|
||||
|
||||
bResult = (0 == oBinaryChartReader.ReadCT_ChartExFile(lLength, chartEx_file.GetPointer()));
|
||||
|
||||
bool bXlsxPresent = (chartEx_file->m_oChartSpace.m_chartData.m_externalData.IsInit()) &&
|
||||
(chartEx_file->m_oChartSpace.m_chartData.m_externalData->m_id.IsInit());
|
||||
}
|
||||
}
|
||||
pReader->m_pRels->m_pManager->m_nDocumentType = nDocumentTypeOwner;
|
||||
|
||||
if(bResult)
|
||||
{
|
||||
if (pReader->m_nDocumentType != XMLWRITER_DOC_TYPE_DOCX && pReader->m_nDocumentType != XMLWRITER_DOC_TYPE_DOCX_GLOSSARY)
|
||||
{
|
||||
file->m_sOutputFilename = L"../";
|
||||
}
|
||||
file->m_sOutputFilename += L"charts/" + sFileName;
|
||||
|
||||
std::wstring sFilePath = sChartPath + FILE_SEPARATOR_STR + sFileName;
|
||||
file->write(sFilePath, sContentTypePath, *pReader->m_pRels->m_pManager->m_pContentTypes);
|
||||
|
||||
OOX::CPath pathRelsDir = sChartPath + FILE_SEPARATOR_STR + _T("_rels");
|
||||
std::wstring strFilepath = sFilepath;
|
||||
std::wstring strDir = NSSystemPath::GetDirectoryName(strFilepath);
|
||||
std::wstring strFilename = NSSystemPath::GetFileName(strFilepath);
|
||||
|
||||
OOX::CPath pathRelsDir = strDir + FILE_SEPARATOR_STR + _T("_rels");
|
||||
|
||||
OOX::CSystemUtility::CreateDirectories(pathRelsDir.GetPath());
|
||||
|
||||
OOX::CPath pathRelsFile = pathRelsDir + FILE_SEPARATOR_STR + NSSystemPath::GetFileName(sFilePath) + _T(".rels");
|
||||
oChartSpace.write(sFilepath, sContentTypePath, *pReader->m_pRels->m_pManager->m_pContentTypes);
|
||||
|
||||
OOX::CPath pathRelsFile = pathRelsDir + FILE_SEPARATOR_STR + strFilename + _T(".rels");
|
||||
m_pExternalDrawingConverter->SaveDstContentRels(pathRelsFile.GetPath());
|
||||
|
||||
bRes = true;
|
||||
}
|
||||
return bResult;
|
||||
return bRes;
|
||||
}
|
||||
void CXlsxSerializer::setFontDir(const std::wstring& sFontDir)
|
||||
{
|
||||
@ -264,14 +245,11 @@ namespace BinXlsxRW{
|
||||
m_bIsNoBase64 = bIsNoBase64;
|
||||
}
|
||||
|
||||
bool CXlsxSerializer::writeChartXlsx(const std::wstring& sDstFile, NSCommon::smart_ptr<OOX::File> &file)
|
||||
bool CXlsxSerializer::writeChartXlsx(const std::wstring& sDstFile, const OOX::Spreadsheet::CChartSpace& oChart)
|
||||
{
|
||||
NSCommon::smart_ptr<OOX::Spreadsheet::CChartFile> oChart = file.smart_dynamic_cast<OOX::Spreadsheet::CChartFile>();
|
||||
|
||||
if (oChart.IsInit() == false) return false;
|
||||
//анализируем chart
|
||||
BinXlsxRW::ChartWriter helper;
|
||||
helper.parseChart(oChart->m_oChartSpace.m_chart);
|
||||
helper.parseChart(oChart.m_oChartSpace.m_chart);
|
||||
//создаем temp
|
||||
std::wstring sTempDir = NSSystemPath::GetDirectoryName(sDstFile) + FILE_SEPARATOR_STR + NSSystemPath::GetFileName(sDstFile) + L"_TEMP";
|
||||
NSDirectory::CreateDirectory(sTempDir);
|
||||
|
||||
@ -29,15 +29,18 @@
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
#ifndef XLSX_SERIALIZER
|
||||
#define XLSX_SERIALIZER
|
||||
|
||||
#include <string>
|
||||
#include "../../Common/DocxFormat/Source/Base/Types_32.h"
|
||||
#include "../../Common/DocxFormat/Source/Base/SmartPtr.h"
|
||||
|
||||
namespace OOX
|
||||
{
|
||||
class File;
|
||||
namespace Spreadsheet
|
||||
{
|
||||
class CChartSpace;
|
||||
}
|
||||
}
|
||||
namespace NSBinPptxRW{
|
||||
class CDrawingConverter;
|
||||
@ -48,8 +51,7 @@ namespace NSBinPptxRW{
|
||||
}
|
||||
namespace BinXlsxRW {
|
||||
|
||||
class CXlsxSerializer
|
||||
{
|
||||
class CXlsxSerializer{
|
||||
private:
|
||||
std::wstring m_sFontDir;
|
||||
std::wstring m_sEmbeddedFontsDir;
|
||||
@ -64,14 +66,15 @@ namespace BinXlsxRW {
|
||||
_UINT32 loadFromFile (const std::wstring& sSrcFileName, const std::wstring& sDstPath, const std::wstring& sXMLOptions, const std::wstring& sMediaDir, const std::wstring& sEmbedPath);
|
||||
_UINT32 saveToFile (const std::wstring& sSrcFileName, const std::wstring& sDstPath, const std::wstring& sXMLOptions);
|
||||
|
||||
bool saveChart (NSBinPptxRW::CBinaryFileReader* pReader, long lLength, NSCommon::smart_ptr<OOX::File> &file, const int& nChartNumber);
|
||||
bool saveChart (NSBinPptxRW::CBinaryFileReader* pReader, long lLength, const std::wstring& sFilename, const long& lChartNumber);
|
||||
|
||||
void setFontDir (const std::wstring& sFontDir);
|
||||
void setEmbeddedFontsDir(const std::wstring& sEmbeddedFontsDir);
|
||||
void setDrawingConverter(NSBinPptxRW::CDrawingConverter* pDrawingConverter);
|
||||
void setIsNoBase64 (bool bIsNoBase64);
|
||||
|
||||
bool writeChartXlsx (const std::wstring& sDstFile, NSCommon::smart_ptr<OOX::File> &file);
|
||||
bool writeChartXlsx (const std::wstring& sDstFile ,const OOX::Spreadsheet::CChartSpace& oChart);
|
||||
bool hasPivot (const std::wstring& sSrcPath);
|
||||
};
|
||||
}
|
||||
#endif // #ifndef XLSX_SERIALIZER
|
||||
|
||||
@ -36,7 +36,7 @@
|
||||
#include "../utils.h"
|
||||
|
||||
#include "../../../Common/DocxFormat/Source/DocxFormat/Diagram/DiagramDrawing.h"
|
||||
#include "../../../Common/DocxFormat/Source/XlsxFormat/Chart/ChartDrawing.h"
|
||||
#include "../../../Common/DocxFormat/Source/DocxFormat/ChartDrawing.h"
|
||||
#include "../../../Common/DocxFormat/Source/XlsxFormat/Chart/Chart.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Slide.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/SpTreeElem.h"
|
||||
@ -105,7 +105,7 @@ void OoxConverter::convert(PPTX::Logic::GraphicFrame *oox_graphic_frame)
|
||||
{
|
||||
if (!oox_graphic_frame)return;
|
||||
|
||||
convert(oox_graphic_frame->nvGraphicFramePr.GetPointer());
|
||||
convert(&oox_graphic_frame->nvGraphicFramePr);
|
||||
convert(oox_graphic_frame->xfrm.GetPointer());
|
||||
|
||||
if ( oox_graphic_frame->chartRec.is_init())
|
||||
@ -444,8 +444,8 @@ void OoxConverter::convert(PPTX::Logic::ChartRec *oox_chart)
|
||||
smart_ptr<OOX::File> oFile = find_file_by_id (oox_chart->id_data->get());
|
||||
if (oFile.IsInit())
|
||||
{
|
||||
OOX::Spreadsheet::CChartFile* pChart = dynamic_cast<OOX::Spreadsheet::CChartFile*>(oFile.GetPointer());
|
||||
OOX::Spreadsheet::CChartExFile* pChartEx = dynamic_cast<OOX::Spreadsheet::CChartExFile*>(oFile.GetPointer());
|
||||
OOX::Spreadsheet::CChartSpace* pChart = dynamic_cast<OOX::Spreadsheet::CChartSpace*>(oFile.GetPointer());
|
||||
OOX::Spreadsheet::CChartSpaceEx* pChartEx = dynamic_cast<OOX::Spreadsheet::CChartSpaceEx*>(oFile.GetPointer());
|
||||
|
||||
if (pChart || pChartEx)
|
||||
{
|
||||
|
||||
@ -916,26 +916,15 @@ void PptxConverter::convert(PPTX::Logic::CTn *oox_time_common)
|
||||
//nullable<CondLst> endCondLst;
|
||||
//nullable<Cond> endSync;
|
||||
//nullable<Iterate> iterate;
|
||||
if (oox_time_common->childTnLst.IsInit())
|
||||
{
|
||||
for (size_t i = 0; i < oox_time_common->childTnLst->list.size(); i++)
|
||||
{
|
||||
if (oox_time_common->childTnLst->list[i].is_init() == false) continue;
|
||||
|
||||
// TODO
|
||||
// for (auto& child : oox_time_common->childTnLst)
|
||||
// {
|
||||
// for (size_t i = 0; i <child.m_node. .list.size(); i++)
|
||||
// {
|
||||
// if (tnLst.list[i].is_init() == false) continue;
|
||||
|
||||
// convert(&oox_time_common->childTnLst->list[i]);
|
||||
// }
|
||||
// }
|
||||
// if (oox_time_common->childTnLst.IsInit())
|
||||
// {
|
||||
// for (size_t i = 0; i < oox_time_common->childTnLst->list.size(); i++)
|
||||
// {
|
||||
// if (oox_time_common->childTnLst->list[i].is_init() == false) continue;
|
||||
|
||||
// convert(&oox_time_common->childTnLst->list[i]);
|
||||
// }
|
||||
// }
|
||||
convert(&oox_time_common->childTnLst->list[i]);
|
||||
}
|
||||
}
|
||||
//if (oox_time_common->subTnLst.IsInit())
|
||||
//{
|
||||
// for (size_t i = 0; i < oox_time_common->subTnLst->list.size(); i++)
|
||||
|
||||
@ -1,265 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#include "RecordType.h"
|
||||
|
||||
using namespace PPT_FORMAT;
|
||||
|
||||
//#define RECORDNAME_BY_TYPE(RECORD_TYPE, RECORD_NAME) \
|
||||
// case RECORD_TYPE: { name = RECORD_NAME; break;} \
|
||||
|
||||
//std::string GetRecordName(RecordType dwType)
|
||||
//{
|
||||
// std::string name;
|
||||
// switch (dwType) {
|
||||
// RECORDNAME_BY_TYPE ( RT_Document, "DocumentContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_DocumentAtom, "DocumentAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_EndDocumentAtom, "EndDocumentAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Slide, "SlideContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideAtom, "SlideAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Notes, "Notes" )
|
||||
// RECORDNAME_BY_TYPE ( RT_NotesAtom, "NotesAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Environment, "Environment" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlidePersistAtom, "SlidePersistAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_MainMaster, "MainMaster" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideShowSlideInfoAtom, "SlideShowSlideInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideViewInfo, "SlideViewInfo" )
|
||||
// RECORDNAME_BY_TYPE ( RT_GuideAtom, "GuideAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ViewInfoAtom, "ViewInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideViewInfoAtom, "SlideViewInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_VbaInfo, "VbaInfo" )
|
||||
// RECORDNAME_BY_TYPE ( RT_VbaInfoAtom, "VbaInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideShowDocInfoAtom, "SlideShowDocInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Summary, "Summary" )
|
||||
// RECORDNAME_BY_TYPE ( RT_DocRoutingSlipAtom, "DocRoutingSlipAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_OutlineViewInfo, "OutlineViewInfo" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SorterViewInfo, "SorterViewInfo" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalObjectList, "ExternalObjectList" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalObjectListAtom, "ExternalObjectListAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_DrawingGroup, "DrawingGroup" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Drawing, "Drawing" )
|
||||
// RECORDNAME_BY_TYPE ( RT_GridSpacing10Atom, "GridSpacing10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripTheme12Atom, "RoundTripTheme12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripColorMapping12Atom, "RoundTripColorMapping12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_NamedShows, "NamedShows" )
|
||||
// RECORDNAME_BY_TYPE ( RT_NamedShow, "NamedShow" )
|
||||
// RECORDNAME_BY_TYPE ( RT_NamedShowSlidesAtom, "NamedShowSlidesAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_NotesTextViewInfo9, "NotesTextViewInfo9" )
|
||||
// RECORDNAME_BY_TYPE ( RT_NormalViewSetInfo9, "NormalViewSetInfo9" )
|
||||
// RECORDNAME_BY_TYPE ( RT_NormalViewSetInfo9Atom, "NormalViewSetInfo9Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripOriginalMainMasterId12Atom, "RoundTripOriginalMainMasterId12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripCompositeMasterId12Atom, "RoundTripCompositeMasterId12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripContentMasterInfo12Atom, "RoundTripContentMasterInfo12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripShapeId12Atom, "RoundTripShapeId12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripHFPlaceholder12Atom, "RoundTripHFPlaceholder12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripContentMasterId12Atom, "RoundTripContentMasterId12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripOArtTextStyles12Atom, "RoundTripOArtTextStyles12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripHeaderFooterDefaults12Atom, "RoundTripHeaderFooterDefaults12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripDocFlags12Atom, "RoundTripDocFlags12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripShapeCheckSumForCL12Atom, "RoundTripShapeCheckSumForCL12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripNotesMasterTextStyles12Atom, "RoundTripNotesMasterTextStyles12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripCustomTableStyles12Atom, "RoundTripCustomTableStyles12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_List, "List" )
|
||||
// RECORDNAME_BY_TYPE ( RT_FontCollection, "FontCollection" )
|
||||
// RECORDNAME_BY_TYPE ( RT_FontCollection10, "FontCollection10" )
|
||||
// RECORDNAME_BY_TYPE ( RT_BookmarkCollection, "BookmarkCollection" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SoundCollection, "SoundCollection" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SoundCollectionAtom, "SoundCollectionAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Sound, "Sound" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SoundDataBlob, "SoundDataBlob" )
|
||||
// RECORDNAME_BY_TYPE ( RT_BookmarkSeedAtom, "BookmarkSeedAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ColorSchemeAtom, "ColorSchemeAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_BlipCollection9, "BlipCollection9" )
|
||||
// RECORDNAME_BY_TYPE ( RT_BlipEntity9Atom, "BlipEntity9Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalObjectRefAtom, "ExternalObjectRefAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_PlaceholderAtom, "PlaceholderAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ShapeAtom, "ShapeAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ShapeFlags10Atom, "ShapeFlags10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripNewPlaceholderId12Atom, "RoundTripNewPlaceholderId12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_OutlineTextRefAtom, "OutlineTextRefAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextHeaderAtom, "TextHeaderAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextCharsAtom, "TextCharsAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_StyleTextPropAtom, "StyleTextPropAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_MasterTextPropAtom, "MasterTextPropAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextMasterStyleAtom, "TextMasterStyleAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextCharFormatExceptionAtom, "TextCharFormatExceptionAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextParagraphFormatExceptionAtom, "TextParagraphFormatExceptionAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextRulerAtom, "TextRulerAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextBookmarkAtom, "TextBookmarkAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextBytesAtom, "TextBytesAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextSpecialInfoDefaultAtom, "TextSpecialInfoDefaultAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextSpecialInfoAtom, "TextSpecialInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_DefaultRulerAtom, "DefaultRulerAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_StyleTextProp9Atom, "StyleTextProp9Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextMasterStyle9Atom, "TextMasterStyle9Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_OutlineTextProps9, "OutlineTextProps9" )
|
||||
// RECORDNAME_BY_TYPE ( RT_OutlineTextPropsHeader9Atom, "OutlineTextPropsHeader9Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextDefaults9Atom, "TextDefaults9Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_StyleTextProp10Atom, "StyleTextProp10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextMasterStyle10Atom, "TextMasterStyle10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_OutlineTextProps10, "OutlineTextProps10" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextDefaults10Atom, "TextDefaults10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_OutlineTextProps11, "OutlineTextProps11" )
|
||||
// RECORDNAME_BY_TYPE ( RT_StyleTextProp11Atom, "StyleTextProp11Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_FontEntityAtom, "FontEntityAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_FontEmbedDataBlob, "FontEmbedDataBlob" )
|
||||
// RECORDNAME_BY_TYPE ( RT_CString, "CString" )
|
||||
// RECORDNAME_BY_TYPE ( RT_MetaFile, "MetaFile" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalOleObjectAtom, "ExternalOleObjectAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Kinsoku, "Kinsoku" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Handout, "Handout" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalOleEmbed, "ExternalOleEmbed" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalOleEmbedAtom, "ExternalOleEmbedAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalOleLink, "ExternalOleLink" )
|
||||
// RECORDNAME_BY_TYPE ( RT_BookmarkEntityAtom, "BookmarkEntityAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalOleLinkAtom, "ExternalOleLinkAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_KinsokuAtom, "KinsokuAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalHyperlinkAtom, "ExternalHyperlinkAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalHyperlink, "ExternalHyperlink" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideNumberMetaCharAtom, "SlideNumberMetaCharAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_HeadersFooters, "HeadersFooters" )
|
||||
// RECORDNAME_BY_TYPE ( RT_HeadersFootersAtom, "HeadersFootersAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TextInteractiveInfoAtom, "TextInteractiveInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalHyperlink9, "ExternalHyperlink9" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RecolorInfoAtom, "RecolorInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalOleControl, "ExternalOleControl" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideListWithText, "SlideListWithText" )
|
||||
// RECORDNAME_BY_TYPE ( RT_AnimationInfoAtom, "AnimationInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_InteractiveInfo, "InteractiveInfo" )
|
||||
// RECORDNAME_BY_TYPE ( RT_InteractiveInfoAtom, "InteractiveInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_UserEditAtom, "UserEditAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_CurrentUserAtom, "CurrentUserAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_DateTimeMetaCharAtom, "DateTimeMetaCharAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_GenericDateMetaCharAtom, "GenericDateMetaCharAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_HeaderMetaCharAtom, "HeaderMetaCharAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_FooterMetaCharAtom, "FooterMetaCharAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalOleControlAtom, "ExternalOleControlAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalMediaAtom, "ExternalMediaAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalVideo, "ExternalVideo" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalAviMovie, "ExternalAviMovie" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalMciMovie, "ExternalMciMovie" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalMidiAudio, "ExternalMidiAudio" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalCdAudio, "ExternalCdAudio" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalWavAudioEmbedded, "ExternalWavAudioEmbedded" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalWavAudioLink, "ExternalWavAudioLink" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalOleObjectStg, "ExternalOleObjectStg" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalCdAudioAtom, "ExternalCdAudioAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalWavAudioEmbeddedAtom, "ExternalWavAudioEmbeddedAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_AnimationInfo, "AnimationInfo" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RtfDateTimeMetaCharAtom, "RtfDateTimeMetaCharAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ExternalHyperlinkFlagsAtom, "ExternalHyperlinkFlagsAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ProgTags, "ProgTags" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ProgStringTag, "ProgStringTag" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ProgBinaryTag, "ProgBinaryTag" )
|
||||
// RECORDNAME_BY_TYPE ( RT_BinaryTagDataBlob, "BinaryTagDataBlob" )
|
||||
// RECORDNAME_BY_TYPE ( RT_PrintOptionsAtom, "PrintOptionsAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_PersistDirectoryAtom, "PersistDirectoryAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_PresentationAdvisorFlags9Atom, "PresentationAdvisorFlags9Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_HtmlDocInfo9Atom, "HtmlDocInfo9Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_HtmlPublishInfoAtom, "HtmlPublishInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_HtmlPublishInfo9, "HtmlPublishInfo9" )
|
||||
// RECORDNAME_BY_TYPE ( RT_BroadcastDocInfo9, "BroadcastDocInfo9" )
|
||||
// RECORDNAME_BY_TYPE ( RT_BroadcastDocInfo9Atom, "BroadcastDocInfo9Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_EnvelopeFlags9Atom, "EnvelopeFlags9Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_EnvelopeData9Atom, "EnvelopeData9Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_VisualShapeAtom, "VisualShapeAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_HashCodeAtom, "HashCodeAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_VisualPageAtom, "VisualPageAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_BuildList, "BuildList" )
|
||||
// RECORDNAME_BY_TYPE ( RT_BuildAtom, "BuildAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ChartBuild, "ChartBuild" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ChartBuildAtom, "ChartBuildAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_DiagramBuild, "DiagramBuild" )
|
||||
// RECORDNAME_BY_TYPE ( RT_DiagramBuildAtom, "DiagramBuildAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ParaBuild, "ParaBuild" )
|
||||
// RECORDNAME_BY_TYPE ( RT_ParaBuildAtom, "ParaBuildAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_LevelInfoAtom, "LevelInfoAtom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripAnimationAtom12Atom, "RoundTripAnimationAtom12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripAnimationHashAtom12Atom, "RoundTripAnimationHashAtom12Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Comment10, "Comment10" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Comment10Atom, "Comment10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_CommentIndex10, "CommentIndex10" )
|
||||
// RECORDNAME_BY_TYPE ( RT_CommentIndex10Atom, "CommentIndex10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_LinkedShape10Atom, "LinkedShape10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_LinkedSlide10Atom, "LinkedSlide10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideFlags10Atom, "SlideFlags10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideTime10Atom, "SlideTime10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_DiffTree10, "DiffTree10" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Diff10, "Diff10" )
|
||||
// RECORDNAME_BY_TYPE ( RT_Diff10Atom, "Diff10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideListTableSize10Atom, "SlideListTableSize10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideListEntry10Atom, "SlideListEntry10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SlideListTable10, "SlideListTable10" )
|
||||
// RECORDNAME_BY_TYPE ( RT_CryptSession10Container, "CryptSession10Container" )
|
||||
// RECORDNAME_BY_TYPE ( RT_FontEmbedFlags10Atom, "FontEmbedFlags10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_FilterPrivacyFlags10Atom, "FilterPrivacyFlags10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_DocToolbarStates10Atom, "DocToolbarStates10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_PhotoAlbumInfo10Atom, "PhotoAlbumInfo10Atom" )
|
||||
// RECORDNAME_BY_TYPE ( RT_SmartTagStore11Container, "SmartTagStore11Container" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripSlideSyncInfo12, "RoundTripSlideSyncInfo12" )
|
||||
// RECORDNAME_BY_TYPE ( RT_RoundTripSlideSyncInfoAtom12, "RoundTripSlideSyncInfoAtom12" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeConditionContainer, "TimeConditionContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeNode, "TimeNode" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeCondition, "TimeCondition" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeModifier, "TimeModifier" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeBehaviorContainer, "TimeBehaviorContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeAnimateBehaviorContainer, "TimeAnimateBehaviorContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeColorBehaviorContainer, "TimeColorBehaviorContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeEffectBehaviorContainer, "TimeEffectBehaviorContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeMotionBehaviorContainer, "TimeMotionBehaviorContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeRotationBehaviorContainer, "TimeRotationBehaviorContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeScaleBehaviorContainer, "TimeScaleBehaviorContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeSetBehaviorContainer, "TimeSetBehaviorContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeCommandBehaviorContainer, "TimeCommandBehaviorContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeBehavior, "TimeBehavior" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeAnimateBehavior, "TimeAnimateBehavior" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeColorBehavior, "TimeColorBehavior" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeEffectBehavior, "TimeEffectBehavior" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeMotionBehavior, "TimeMotionBehavior" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeRotationBehavior, "TimeRotationBehavior" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeScaleBehavior, "TimeScaleBehavior" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeSetBehavior, "TimeSetBehavior" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeCommandBehavior, "TimeCommandBehavior" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeClientVisualElement, "TimeClientVisualElement" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimePropertyList, "TimePropertyList" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeVariantList, "TimeVariantList" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeAnimationValueList, "TimeAnimationValueList" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeIterateData, "TimeIterateData" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeSequenceData, "TimeSequenceData" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeVariant, "TimeVariant" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeAnimationValue, "TimeAnimationValue" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeExtTimeNodeContainer, "TimeExtTimeNodeContainer" )
|
||||
// RECORDNAME_BY_TYPE ( RT_TimeSubEffectContainer, "TimeSubEffectContainer" )
|
||||
// default:
|
||||
// name = "UnknownRecord!";
|
||||
// }
|
||||
// return name;
|
||||
//}
|
||||
@ -1,318 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
|
||||
|
||||
namespace PPT_FORMAT {
|
||||
|
||||
enum RecordType : unsigned short
|
||||
{
|
||||
RT_NONE,
|
||||
RT_Document = 0x03E8,
|
||||
RT_DocumentAtom,
|
||||
RT_EndDocumentAtom,
|
||||
RT_Slide = 0x03EE,
|
||||
RT_SlideAtom,
|
||||
RT_Notes,
|
||||
RT_NotesAtom,
|
||||
RT_Environment,
|
||||
RT_SlidePersistAtom,
|
||||
RT_MainMaster = 0x03F8,
|
||||
RT_SlideShowSlideInfoAtom,
|
||||
RT_SlideViewInfo,
|
||||
RT_GuideAtom,
|
||||
RT_ViewInfoAtom = 0x03FD,
|
||||
RT_SlideViewInfoAtom,
|
||||
RT_VbaInfo,
|
||||
RT_VbaInfoAtom,
|
||||
RT_SlideShowDocInfoAtom,
|
||||
RT_Summary,
|
||||
RT_DocRoutingSlipAtom = 0x0406,
|
||||
RT_OutlineViewInfo,
|
||||
RT_SorterViewInfo,
|
||||
RT_ExternalObjectList,
|
||||
RT_ExternalObjectListAtom,
|
||||
RT_DrawingGroup,
|
||||
RT_Drawing,
|
||||
RT_GridSpacing10Atom,
|
||||
RT_RoundTripTheme12Atom,
|
||||
RT_RoundTripColorMapping12Atom,
|
||||
RT_NamedShows,
|
||||
RT_NamedShow,
|
||||
RT_NamedShowSlidesAtom,
|
||||
RT_NotesTextViewInfo9,
|
||||
RT_NormalViewSetInfo9,
|
||||
RT_NormalViewSetInfo9Atom,
|
||||
RT_RoundTripOriginalMainMasterId12Atom = 0x041C,
|
||||
RT_RoundTripCompositeMasterId12Atom,
|
||||
RT_RoundTripContentMasterInfo12Atom,
|
||||
RT_RoundTripShapeId12Atom,
|
||||
RT_RoundTripHFPlaceholder12Atom,
|
||||
RT_RoundTripContentMasterId12Atom = 0x0422,
|
||||
RT_RoundTripOArtTextStyles12Atom,
|
||||
RT_RoundTripHeaderFooterDefaults12Atom,
|
||||
RT_RoundTripDocFlags12Atom,
|
||||
RT_RoundTripShapeCheckSumForCL12Atom,
|
||||
RT_RoundTripNotesMasterTextStyles12Atom,
|
||||
RT_RoundTripCustomTableStyles12Atom,
|
||||
RT_List = 0x07D0,
|
||||
RT_FontCollection = 0x07D5,
|
||||
RT_FontCollection10,
|
||||
RT_BookmarkCollection = 0x07E3,
|
||||
RT_SoundCollection,
|
||||
RT_SoundCollectionAtom,
|
||||
RT_Sound,
|
||||
RT_SoundDataBlob,
|
||||
RT_BookmarkSeedAtom = 0x07E9,
|
||||
RT_ColorSchemeAtom = 0x07F0,
|
||||
RT_BlipCollection9 = 0x07F8,
|
||||
RT_BlipEntity9Atom,
|
||||
RT_ExternalObjectRefAtom = 0x0BC1,
|
||||
RT_PlaceholderAtom = 0x0BC3,
|
||||
RT_ShapeAtom = 0x0BDB,
|
||||
RT_ShapeFlags10Atom,
|
||||
RT_RoundTripNewPlaceholderId12Atom,
|
||||
RT_OutlineTextRefAtom = 0x0F9E,
|
||||
RT_TextHeaderAtom,
|
||||
RT_TextCharsAtom,
|
||||
RT_StyleTextPropAtom,
|
||||
RT_MasterTextPropAtom,
|
||||
RT_TextMasterStyleAtom,
|
||||
RT_TextCharFormatExceptionAtom,
|
||||
RT_TextParagraphFormatExceptionAtom,
|
||||
RT_TextRulerAtom,
|
||||
RT_TextBookmarkAtom,
|
||||
RT_TextBytesAtom,
|
||||
RT_TextSpecialInfoDefaultAtom,
|
||||
RT_TextSpecialInfoAtom,
|
||||
RT_DefaultRulerAtom,
|
||||
RT_StyleTextProp9Atom,
|
||||
RT_TextMasterStyle9Atom,
|
||||
RT_OutlineTextProps9,
|
||||
RT_OutlineTextPropsHeader9Atom,
|
||||
RT_TextDefaults9Atom,
|
||||
RT_StyleTextProp10Atom,
|
||||
RT_TextMasterStyle10Atom,
|
||||
RT_OutlineTextProps10,
|
||||
RT_TextDefaults10Atom,
|
||||
RT_OutlineTextProps11,
|
||||
RT_StyleTextProp11Atom,
|
||||
RT_FontEntityAtom,
|
||||
RT_FontEmbedDataBlob,
|
||||
RT_CString = 0x0FBA,
|
||||
RT_MetaFile = 0x0FC1,
|
||||
RT_ExternalOleObjectAtom = 0x0FC3,
|
||||
RT_Kinsoku = 0x0FC8,
|
||||
RT_Handout,
|
||||
RT_ExternalOleEmbed = 0x0FCC,
|
||||
RT_ExternalOleEmbedAtom,
|
||||
RT_ExternalOleLink,
|
||||
RT_BookmarkEntityAtom = 0x0FD0,
|
||||
RT_ExternalOleLinkAtom,
|
||||
RT_KinsokuAtom,
|
||||
RT_ExternalHyperlinkAtom,
|
||||
RT_ExternalHyperlink = 0x0FD7,
|
||||
RT_SlideNumberMetaCharAtom,
|
||||
RT_HeadersFooters,
|
||||
RT_HeadersFootersAtom,
|
||||
RT_TextInteractiveInfoAtom = 0x0FDF,
|
||||
RT_ExternalHyperlink9 = 0x0FE4,
|
||||
RT_RecolorInfoAtom = 0x0FE7,
|
||||
RT_ExternalOleControl = 0x0FEE,
|
||||
RT_SlideListWithText = 0x0FF0,
|
||||
RT_AnimationInfoAtom,
|
||||
RT_InteractiveInfo,
|
||||
RT_InteractiveInfoAtom,
|
||||
RT_UserEditAtom = 0x0FF5,
|
||||
RT_CurrentUserAtom,
|
||||
RT_DateTimeMetaCharAtom,
|
||||
RT_GenericDateMetaCharAtom,
|
||||
RT_HeaderMetaCharAtom,
|
||||
RT_FooterMetaCharAtom,
|
||||
RT_ExternalOleControlAtom,
|
||||
RT_ExternalMediaAtom = 0x1004,
|
||||
RT_ExternalVideo,
|
||||
RT_ExternalAviMovie,
|
||||
RT_ExternalMciMovie,
|
||||
RT_ExternalMidiAudio = 0x100D,
|
||||
RT_ExternalCdAudio,
|
||||
RT_ExternalWavAudioEmbedded,
|
||||
RT_ExternalWavAudioLink,
|
||||
RT_ExternalOleObjectStg,
|
||||
RT_ExternalCdAudioAtom,
|
||||
RT_ExternalWavAudioEmbeddedAtom,
|
||||
RT_AnimationInfo,
|
||||
RT_RtfDateTimeMetaCharAtom,
|
||||
RT_ExternalHyperlinkFlagsAtom = 0x1018,
|
||||
RT_ProgTags = 0x1388,
|
||||
RT_ProgStringTag,
|
||||
RT_ProgBinaryTag,
|
||||
RT_BinaryTagDataBlob,
|
||||
RT_PrintOptionsAtom = 0x1770,
|
||||
RT_PersistDirectoryAtom = 0x1772,
|
||||
RT_PresentationAdvisorFlags9Atom = 0x177A,
|
||||
RT_HtmlDocInfo9Atom,
|
||||
RT_HtmlPublishInfoAtom,
|
||||
RT_HtmlPublishInfo9,
|
||||
RT_BroadcastDocInfo9,
|
||||
RT_BroadcastDocInfo9Atom,
|
||||
RT_EnvelopeFlags9Atom = 0x1784,
|
||||
RT_EnvelopeData9Atom,
|
||||
RT_VisualShapeAtom = 0x2AFB,
|
||||
RT_HashCodeAtom = 0x2B00,
|
||||
RT_VisualPageAtom,
|
||||
RT_BuildList,
|
||||
RT_BuildAtom,
|
||||
RT_ChartBuild,
|
||||
RT_ChartBuildAtom,
|
||||
RT_DiagramBuild,
|
||||
RT_DiagramBuildAtom,
|
||||
RT_ParaBuild,
|
||||
RT_ParaBuildAtom,
|
||||
RT_LevelInfoAtom,
|
||||
RT_RoundTripAnimationAtom12Atom,
|
||||
RT_RoundTripAnimationHashAtom12Atom = 0x2B0D,
|
||||
RT_Comment10 = 0x2EE0,
|
||||
RT_Comment10Atom,
|
||||
RT_CommentIndex10 = 0x2EE4,
|
||||
RT_CommentIndex10Atom,
|
||||
RT_LinkedShape10Atom,
|
||||
RT_LinkedSlide10Atom,
|
||||
RT_SlideFlags10Atom = 0x2EEA,
|
||||
RT_SlideTime10Atom,
|
||||
RT_DiffTree10,
|
||||
RT_Diff10,
|
||||
RT_Diff10Atom,
|
||||
RT_SlideListTableSize10Atom,
|
||||
RT_SlideListEntry10Atom,
|
||||
RT_SlideListTable10,
|
||||
RT_CryptSession10Container = 0x2F14,
|
||||
RT_FontEmbedFlags10Atom = 0x32C8,
|
||||
RT_FilterPrivacyFlags10Atom = 0x36B0,
|
||||
RT_DocToolbarStates10Atom,
|
||||
RT_PhotoAlbumInfo10Atom,
|
||||
RT_SmartTagStore11Container,
|
||||
RT_RoundTripSlideSyncInfo12 = 0x3714,
|
||||
RT_RoundTripSlideSyncInfoAtom12,
|
||||
|
||||
|
||||
RTE_DGG_CONTAINER = 0xF000,
|
||||
RTE_BSTORE_CONTAINER = 0xF001,
|
||||
RTE_DG_CONTAINER = 0xF002,
|
||||
RTE_SPGR_CONTAINER = 0xF003,
|
||||
RTE_SP_CONTAINER = 0xF004,
|
||||
RTE_SOLVERCONTAINER = 0xF005,
|
||||
RTE_DGG = 0xF006,
|
||||
RTE_BSE = 0xF007,
|
||||
RTE_DG = 0xF008,
|
||||
RTE_SPGR = 0xF009,
|
||||
RTE_SP = 0xF00A,
|
||||
RTE_OPT = 0xF00B,
|
||||
RTE_TEXTBOX = 0xF00C,
|
||||
RTE_CLIENTTEXTBOX = 0xF00D,
|
||||
RTE_ANCHOR = 0xF00E,
|
||||
RTE_CHILDANCHOR = 0xF00F,
|
||||
RTE_CLIENTANCHOR = 0xF010,
|
||||
RTE_CLIENTDATA = 0xF011,
|
||||
RTE_CONNECTORRULE = 0xF012,
|
||||
RTE_ALIGNRULE = 0xF013,
|
||||
RTE_ARCRULE = 0xF014,
|
||||
RTE_CLIENTRULE = 0xF015,
|
||||
RTE_CLSID = 0xF016,
|
||||
RTE_CALLOUTRULE = 0xF017,
|
||||
RTE_BLIP_START = 0xF018,
|
||||
|
||||
|
||||
RTE_BLIP_EMF = 0xF01A,
|
||||
RTE_BLIP_WMF = 0xF01B,
|
||||
RTE_BLIP_PICT = 0xF01C,
|
||||
RTE_BLIP_JPEG = 0xF01D,
|
||||
RTE_BLIP_PNG = 0xF01E,
|
||||
RTE_BLIP_DIB = 0xF01F,
|
||||
|
||||
|
||||
RTE_BLIP_END = 0xF117,
|
||||
RTE_REGROUPITEMS = 0xF118,
|
||||
RTE_SELECTION = 0xF119,
|
||||
|
||||
|
||||
RTE_COLORMRU = 0xF11A,
|
||||
RTE_DELETEDPSPL = 0xF11D,
|
||||
RTE_SPLITMENUCOLORS = 0xF11E,
|
||||
RTE_OLEOBJECT = 0xF11F,
|
||||
RTE_COLORSCHEME = 0xF120,
|
||||
RTE_SECONDARY_OPT = 0xF121,
|
||||
RTE_TETRIARY_OPT = 0xF122,
|
||||
RTE_BLIP_TIFF = 0xF029,
|
||||
|
||||
|
||||
|
||||
|
||||
RT_TimeConditionContainer = 0xF125,
|
||||
RT_TimeNode = 0xF127,
|
||||
RT_TimeCondition,
|
||||
RT_TimeModifier,
|
||||
RT_TimeBehaviorContainer,
|
||||
RT_TimeAnimateBehaviorContainer,
|
||||
RT_TimeColorBehaviorContainer,
|
||||
RT_TimeEffectBehaviorContainer,
|
||||
RT_TimeMotionBehaviorContainer,
|
||||
RT_TimeRotationBehaviorContainer,
|
||||
RT_TimeScaleBehaviorContainer,
|
||||
RT_TimeSetBehaviorContainer,
|
||||
RT_TimeCommandBehaviorContainer,
|
||||
RT_TimeBehavior,
|
||||
RT_TimeAnimateBehavior,
|
||||
RT_TimeColorBehavior,
|
||||
RT_TimeEffectBehavior,
|
||||
RT_TimeMotionBehavior,
|
||||
RT_TimeRotationBehavior,
|
||||
RT_TimeScaleBehavior,
|
||||
RT_TimeSetBehavior,
|
||||
RT_TimeCommandBehavior,
|
||||
RT_TimeClientVisualElement,
|
||||
RT_TimePropertyList,
|
||||
RT_TimeVariantList,
|
||||
RT_TimeAnimationValueList,
|
||||
RT_TimeIterateData,
|
||||
RT_TimeSequenceData,
|
||||
RT_TimeVariant,
|
||||
RT_TimeAnimationValue,
|
||||
RT_TimeExtTimeNodeContainer,
|
||||
RT_TimeSubEffectContainer
|
||||
};
|
||||
|
||||
|
||||
//std::string GetRecordName(RecordType dwType);
|
||||
}
|
||||
@ -1,35 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "enums.h"
|
||||
#include "RecordType.h"
|
||||
@ -1,607 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
#include "../../../DesktopEditor/common/Types.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
enum AnimAfterEffectEnum : BYTE
|
||||
{
|
||||
AI_NoAfterEffect,
|
||||
AI_Dim,
|
||||
AI_Hide,
|
||||
AI_HideImmediately
|
||||
};
|
||||
|
||||
|
||||
enum AnimBuildTypeEnum : BYTE
|
||||
{
|
||||
BT_NoBuild,
|
||||
BT_OneBuild,
|
||||
BT_Level1Build,
|
||||
BT_Level2Build,
|
||||
BT_Level3Build,
|
||||
BT_Level4Build,
|
||||
BT_Level5Build,
|
||||
BT_GraphBySeries,
|
||||
BT_GraphByCategory,
|
||||
BT_GraphByElementInSeries,
|
||||
BT_GraphByElementInCategory,
|
||||
BT_FollowMaster = 0xFE
|
||||
};
|
||||
|
||||
|
||||
enum BuildTypeEnum
|
||||
{
|
||||
TL_BuildParagraph,
|
||||
TL_BuildChart,
|
||||
TL_BuildDiagram
|
||||
};
|
||||
|
||||
|
||||
enum ChartBuildEnum
|
||||
{
|
||||
TLCB_AsOneObject,
|
||||
TLCB_BySeries,
|
||||
TLCB_ByCategory,
|
||||
TLCB_ByElementInSeries,
|
||||
TLCB_ByElementInCategory,
|
||||
TLCB_Custom
|
||||
};
|
||||
|
||||
|
||||
enum ColorModeEnum : BYTE
|
||||
{
|
||||
CM_BlackAndWhite,
|
||||
CM_Grayscale,
|
||||
CM_Color
|
||||
};
|
||||
|
||||
// TODO add different tupes for enum
|
||||
enum ConditionEnum
|
||||
{
|
||||
TL_CT_None,
|
||||
TL_CT_Begin,
|
||||
TL_CT_End,
|
||||
TL_CT_Next,
|
||||
TL_CT_Previous,
|
||||
TL_CT_EndSync
|
||||
};
|
||||
|
||||
|
||||
enum DiagramBuildEnum
|
||||
{
|
||||
TLDB_AsOneObject,
|
||||
TLDB_DepthByNode,
|
||||
TLDB_DepthByBranch,
|
||||
TLDB_BreadthByNode,
|
||||
TLDB_BreadthByLevel,
|
||||
TLDB_ClockWise,
|
||||
TLDB_ClockWiseIn,
|
||||
TLDB_ClockWiseOut,
|
||||
TLDB_CounterClockWise,
|
||||
TLDB_CounterClockWiseIn,
|
||||
TLDB_CounterClockWiseOut,
|
||||
TLDB_InByRing,
|
||||
TLDB_OutByRing,
|
||||
TLDB_Up,
|
||||
TLDB_Down,
|
||||
TLDB_AllAtOnce,
|
||||
TLDB_Custom
|
||||
};
|
||||
|
||||
|
||||
enum DiffTypeEnum
|
||||
{
|
||||
Diff_DocDiff,
|
||||
Diff_SlideDiff = 0x2,
|
||||
Diff_MainMasterDiff,
|
||||
Diff_SlideListDiff,
|
||||
Diff_MasterListDiff,
|
||||
Diff_ShapeListDiff,
|
||||
Diff_ShapeDiff,
|
||||
Diff_TextDiff = 0x9,
|
||||
Diff_NotesDiff,
|
||||
Diff_SlideShowDiff,
|
||||
Diff_HeaderFooterDiff,
|
||||
Diff_NamedShowDiff = 0xE,
|
||||
Diff_NamedShowListDiff,
|
||||
Diff_RecolorInfoDiff = 0x12,
|
||||
Diff_ExternalObjectDiff,
|
||||
Diff_TableListDiff = 0x15,
|
||||
Diff_TableDiff,
|
||||
Diff_InteractiveInfoDiff
|
||||
};
|
||||
|
||||
|
||||
enum ElementTypeEnum
|
||||
{
|
||||
TL_ET_ShapeType = 1,
|
||||
TL_ET_SoundType
|
||||
};
|
||||
|
||||
|
||||
enum ExColorFollowEnum
|
||||
{
|
||||
ExColor_FollowNone,
|
||||
ExColor_FollowScheme,
|
||||
ExColor_FollowTextAndBackground
|
||||
};
|
||||
|
||||
|
||||
enum ExOleObjSubTypeEnum
|
||||
{
|
||||
ExOleSub_Default,
|
||||
ExOleSub_Clipart,
|
||||
ExOleSub_WordDoc,
|
||||
ExOleSub_Excel,
|
||||
ExOleSub_Graph,
|
||||
ExOleSub_OrgChart,
|
||||
ExOleSub_Equation,
|
||||
ExOleSub_WordArt,
|
||||
ExOleSub_Sound,
|
||||
ExOleSub_Project = 0xC,
|
||||
ExOleSub_NoteIt,
|
||||
ExOleSub_ExcelChart,
|
||||
ExOleSub_MediaPlayer,
|
||||
ExOleSub_WordPad,
|
||||
ExOleSub_Visio,
|
||||
ExOleSub_WordODF,
|
||||
ExOleSub_ExcelODF,
|
||||
ExOleSub_PPTODF
|
||||
};
|
||||
|
||||
|
||||
enum ExOleObjTypeEnum
|
||||
{
|
||||
ExOle_Embedded,
|
||||
ExOle_Link,
|
||||
ExOle_Control
|
||||
};
|
||||
|
||||
|
||||
enum InteractiveInfoActionEnum
|
||||
{
|
||||
II_NoAction,
|
||||
II_MacroAction,
|
||||
II_RunProgramAction,
|
||||
II_JumpAction,
|
||||
II_HyperlinkAction,
|
||||
II_OLEAction,
|
||||
II_MediaAction,
|
||||
II_CustomShowAction
|
||||
};
|
||||
|
||||
|
||||
enum InteractiveInfoJumpEnum
|
||||
{
|
||||
II_NoJump,
|
||||
II_NextSlide,
|
||||
II_PreviousSlide,
|
||||
II_FirstSlide,
|
||||
II_LastSlide,
|
||||
II_LastSlideViewed,
|
||||
II_EndShow
|
||||
};
|
||||
|
||||
|
||||
enum LinkToEnum
|
||||
{
|
||||
LT_NextSlide,
|
||||
LT_PreviousSlide,
|
||||
LT_FirstSlide,
|
||||
LT_LastSlide,
|
||||
LT_CustomShow = 0x6,
|
||||
LT_SlideNumber,
|
||||
LT_Url,
|
||||
LT_OtherPresentation,
|
||||
LT_OtherFile,
|
||||
LT_Nil = 0xFF
|
||||
};
|
||||
|
||||
|
||||
enum NormalViewSetBarStates
|
||||
{
|
||||
BS_Minimized,
|
||||
BS_Restored,
|
||||
BS_Maximized
|
||||
};
|
||||
|
||||
|
||||
enum OLEVerbEnum
|
||||
{
|
||||
OV_Primary,
|
||||
OV_Secondary,
|
||||
OV_Tertiary
|
||||
};
|
||||
|
||||
|
||||
enum ParaBuildEnum
|
||||
{
|
||||
TLPB_AllAtOnce,
|
||||
TLPB_BuildByNthLevel,
|
||||
TLPB_CustomBuild,
|
||||
TLPB_AsAWhole
|
||||
};
|
||||
|
||||
|
||||
enum PhotoAlbumFrameShapeEnum
|
||||
{
|
||||
PA_Rectangle,
|
||||
PA_RoundedRectangle,
|
||||
PA_Beveled,
|
||||
PA_Oval,
|
||||
PA_Octagon,
|
||||
PA_Cross,
|
||||
PA_Plaque
|
||||
};
|
||||
|
||||
|
||||
enum PhotoAlbumLayoutEnum
|
||||
{
|
||||
PA_FitToSlide,
|
||||
PA_OnePicture,
|
||||
PA_TwoPictures,
|
||||
PA_FourPictures,
|
||||
PA_OnePictureAndTitle,
|
||||
PA_TwoPicturesAndTitle,
|
||||
PA_FourPicturesAndTitle
|
||||
};
|
||||
|
||||
|
||||
enum PlaceholderEnum : BYTE
|
||||
{
|
||||
PT_None,
|
||||
PT_MasterTitle,
|
||||
PT_MasterBody,
|
||||
PT_MasterCenterTitle,
|
||||
PT_MasterSubTitle,
|
||||
PT_MasterNotesSlideImage,
|
||||
PT_MasterNotesBody,
|
||||
PT_MasterDate,
|
||||
PT_MasterSlideNumber,
|
||||
PT_MasterFooter,
|
||||
PT_MasterHeader,
|
||||
PT_NotesSlideImage,
|
||||
PT_NotesBody,
|
||||
PT_Title,
|
||||
PT_Body,
|
||||
PT_CenterTitle,
|
||||
PT_SubTitle,
|
||||
PT_VerticalTitle,
|
||||
PT_VerticalBody,
|
||||
PT_Object,
|
||||
PT_Graph,
|
||||
PT_Table,
|
||||
PT_ClipArt,
|
||||
PT_OrgChart,
|
||||
PT_Media,
|
||||
PT_VerticalObject,
|
||||
PT_Picture,
|
||||
PT_Body_Empty = 0xFF
|
||||
};
|
||||
|
||||
|
||||
enum PlaceholderSize
|
||||
{
|
||||
PS_Full,
|
||||
PS_Half,
|
||||
PS_Quarter
|
||||
};
|
||||
|
||||
|
||||
enum PrintWhatEnum
|
||||
{
|
||||
PW_Slides,
|
||||
PW_BuildSlides,
|
||||
PW_Handouts2,
|
||||
PW_Handouts3,
|
||||
PW_Handouts6,
|
||||
PW_Notes,
|
||||
PW_Outline,
|
||||
PW_Handouts4,
|
||||
PW_Handouts9,
|
||||
PW_Handouts1
|
||||
};
|
||||
|
||||
|
||||
enum SlideLayoutType
|
||||
{
|
||||
SL_TitleSlide,
|
||||
SL_TitleBody,
|
||||
SL_MasterTitle,
|
||||
SL_TitleOnly = 0x7,
|
||||
SL_TwoColumns,
|
||||
SL_TwoRows,
|
||||
SL_ColumnTwoRows,
|
||||
SL_TwoRowsColumn,
|
||||
SL_TwoColumnsRow = 0xD,
|
||||
SL_FourObjects,
|
||||
SL_BigObject,
|
||||
SL_Blank,
|
||||
SL_VerticalTitleBody,
|
||||
SL_VerticalTwoRows
|
||||
};
|
||||
|
||||
|
||||
enum SlideSizeEnum
|
||||
{
|
||||
SS_Screen,
|
||||
SS_LetterPaper,
|
||||
SS_A4Paper,
|
||||
SS_35mm,
|
||||
SS_Overhead,
|
||||
SS_Banner,
|
||||
SS_Custom
|
||||
};
|
||||
|
||||
|
||||
enum TextAlignmentEnum
|
||||
{
|
||||
Tx_ALIGNLeft,
|
||||
Tx_ALIGNCenter,
|
||||
Tx_ALIGNRight,
|
||||
Tx_ALIGNJustify,
|
||||
Tx_ALIGNDistributed,
|
||||
Tx_ALIGNThaiDistributed,
|
||||
Tx_ALIGNJustifyLow
|
||||
};
|
||||
|
||||
|
||||
enum TextAutoNumberSchemeEnum : USHORT
|
||||
{
|
||||
ANM_AlphaLcPeriod,
|
||||
ANM_AlphaUcPeriod,
|
||||
ANM_ArabicParenRight,
|
||||
ANM_ArabicPeriod,
|
||||
ANM_RomanLcParenBoth,
|
||||
ANM_RomanLcParenRight,
|
||||
ANM_RomanLcPeriod,
|
||||
ANM_RomanUcPeriod,
|
||||
ANM_AlphaLcParenBoth,
|
||||
ANM_AlphaLcParenRight,
|
||||
ANM_AlphaUcParenBoth,
|
||||
ANM_AlphaUcParenRight,
|
||||
ANM_ArabicParenBoth,
|
||||
ANM_ArabicPlain,
|
||||
ANM_RomanUcParenBoth,
|
||||
ANM_RomanUcParenRight,
|
||||
ANM_ChsPlain,
|
||||
ANM_ChsPeriod,
|
||||
ANM_CircleNumDBPlain,
|
||||
ANM_CircleNumWDBWhitePlain,
|
||||
ANM_CircleNumWDBBlackPlain,
|
||||
ANM_ChtPlain,
|
||||
ANM_ChtPeriod,
|
||||
ANM_Arabic1Minus,
|
||||
ANM_Arabic2Minus,
|
||||
ANM_Hebrew2Minus,
|
||||
ANM_JpnKorPlain,
|
||||
ANM_JpnKorPeriod,
|
||||
ANM_ArabicDbPlain,
|
||||
ANM_ArabicDbPeriod,
|
||||
ANM_ThaiAlphaPeriod,
|
||||
ANM_ThaiAlphaParenRight,
|
||||
ANM_ThaiAlphaParenBoth,
|
||||
ANM_ThaiNumPeriod,
|
||||
ANM_ThaiNumParenRight,
|
||||
ANM_ThaiNumParenBoth,
|
||||
ANM_HindiAlphaPeriod,
|
||||
ANM_HindiNumPeriod,
|
||||
ANM_JpnChsDBPeriod,
|
||||
ANM_HindiNumParenRight,
|
||||
ANM_HindiAlpha1Period
|
||||
};
|
||||
|
||||
|
||||
enum TextBuildSubEffectEnum
|
||||
{
|
||||
TXB_BuildByNone,
|
||||
TXB_BuildByWord,
|
||||
TXB_BuildByCharacter
|
||||
};
|
||||
|
||||
|
||||
enum TextDirectionEnum
|
||||
{
|
||||
LeftToRight,
|
||||
RightToLeft
|
||||
};
|
||||
|
||||
|
||||
enum TextFontAlignmentEnum
|
||||
{
|
||||
Tx_ALIGNFONTRoman,
|
||||
Tx_ALIGNFONTHanging,
|
||||
Tx_ALIGNFONTCenter,
|
||||
Tx_ALIGNFONTUpholdFixed
|
||||
};
|
||||
|
||||
|
||||
enum TextTabTypeEnum
|
||||
{
|
||||
Tx_TABLeft,
|
||||
Tx_TABCenter,
|
||||
Tx_TABRight,
|
||||
Tx_TABDecimal
|
||||
};
|
||||
|
||||
|
||||
enum TextTypeEnum : unsigned
|
||||
{
|
||||
Tx_TYPE_TITLE,
|
||||
Tx_TYPE_BODY,
|
||||
Tx_TYPE_NOTES,
|
||||
Tx_TYPE_OTHER = 0x4,
|
||||
Tx_TYPE_CENTERBODY,
|
||||
Tx_TYPE_CENTERTITLE,
|
||||
Tx_TYPE_HALFBODY,
|
||||
Tx_TYPE_QUARTERBODY,
|
||||
|
||||
NoPresent = 0xFF
|
||||
};
|
||||
|
||||
|
||||
enum TimeAnimateBehaviorValueTypeEnum
|
||||
{
|
||||
TL_TABVT_String,
|
||||
TL_TABVT_Number,
|
||||
TL_TABVT_Color
|
||||
};
|
||||
|
||||
|
||||
enum TimeCommandBehaviorTypeEnum
|
||||
{
|
||||
TL_TCBT_Eventv,
|
||||
TL_TCBT_Call,
|
||||
TL_TCBT_OleVerb
|
||||
};
|
||||
|
||||
|
||||
enum TimeNodeTypeEnum
|
||||
{
|
||||
TL_TNT_Parallel,
|
||||
TL_TNT_Sequential,
|
||||
TL_TNT_Behavior = 0x3,
|
||||
TL_TNT_Media
|
||||
};
|
||||
|
||||
|
||||
enum TimePropertyID4TimeBehavior
|
||||
{
|
||||
TL_TBPID_UnknownPropertyList = 0x1,
|
||||
TL_TBPID_RuntimeContext,
|
||||
TL_TBPID_MotionPathEditRelative,
|
||||
TL_TBPID_ColorColorModel,
|
||||
TL_TBPID_ColorDirection,
|
||||
TL_TBPID_Override,
|
||||
TL_TBPID_PathEditRotationAngle,
|
||||
TL_TBPID_PathEditRotationX,
|
||||
TL_TBPID_PathEditRotationY,
|
||||
TL_TBPID_PointsTypes
|
||||
};
|
||||
|
||||
|
||||
enum TimePropertyID4TimeNode
|
||||
{
|
||||
TL_TPID_Display = 0x02,
|
||||
TL_TPID_MasterPos = 0x05,
|
||||
TL_TPID_SubType,
|
||||
TL_TPID_EffectID = 0x09,
|
||||
TL_TPID_EffectDir,
|
||||
TL_TPID_EffectType,
|
||||
TL_TPID_AfterEffect = 0x0D,
|
||||
TL_TPID_SlideCount = 0x0F,
|
||||
TL_TPID_TimeFilter,
|
||||
TL_TPID_EventFilter,
|
||||
TL_TPID_HideWhenStopped,
|
||||
TL_TPID_GroupID,
|
||||
TL_TPID_EffectNodeType,
|
||||
TL_TPID_PlaceholderNode,
|
||||
TL_TPID_MediaVolume,
|
||||
TL_TPID_MediaMute,
|
||||
TL_TPID_ZoomToFullScreen = 0x1A
|
||||
};
|
||||
|
||||
|
||||
enum TimeVariantTypeEnum
|
||||
{
|
||||
TL_TVT_Bool,
|
||||
TL_TVT_Int,
|
||||
TL_TVT_Float,
|
||||
TL_TVT_String
|
||||
};
|
||||
|
||||
|
||||
enum TimeVisualElementEnum
|
||||
{
|
||||
TL_TVET_Shape,
|
||||
TL_TVET_Page,
|
||||
TL_TVET_TextRange,
|
||||
TL_TVET_Audio,
|
||||
TL_TVET_Video,
|
||||
TL_TVET_ChartElement,
|
||||
TL_TVET_ShapeOnly,
|
||||
TL_TVET_AllTextRange = 0x8
|
||||
};
|
||||
|
||||
|
||||
enum TriggerObjectEnum
|
||||
{
|
||||
TL_TOT_None,
|
||||
TL_TOT_VisualElement,
|
||||
TL_TOT_TimeNode,
|
||||
TL_TOT_RuntimeNodeRef
|
||||
};
|
||||
|
||||
|
||||
enum ViewTypeEnum
|
||||
{
|
||||
V_Slide,
|
||||
V_SlideMaster,
|
||||
V_Notes,
|
||||
V_Handout,
|
||||
V_NotesMaster,
|
||||
V_OutlineMaster,
|
||||
V_Outline,
|
||||
V_SlideSorter,
|
||||
V_VisualBasic,
|
||||
V_TitleMaster,
|
||||
V_SlideShow,
|
||||
V_SlideShowFullScreen,
|
||||
V_NotesText,
|
||||
V_PrintPreview,
|
||||
V_Thumbnails,
|
||||
V_MasterThumbnails,
|
||||
V_PodiumSlideView,
|
||||
V_PodiumNotesView
|
||||
};
|
||||
|
||||
|
||||
enum WebFrameColorsEnum
|
||||
{
|
||||
MSOWOPTBrowserColors,
|
||||
MSOWOPTPresentationSchemeTextColor,
|
||||
MSOWOPTPresentationSchemeAccentColor,
|
||||
MSOWOPTWhiteTextOnBlack,
|
||||
MSOWOPTBlackTextOnWhite
|
||||
};
|
||||
|
||||
|
||||
enum WebOutputEnum
|
||||
{
|
||||
HTML_EXPORTVersion3 = 0x1,
|
||||
HTML_EXPORTVersion4,
|
||||
HTML_EXPORTDual = 0x4
|
||||
};
|
||||
}
|
||||
@ -27,340 +27,7 @@ DEFINES += UNICODE \
|
||||
#DISABLE_FILE_DOWNLOADER
|
||||
|
||||
HEADERS += \
|
||||
# ../../../ASCOfficePPTXFile/Editor/Drawing/Animations.h \
|
||||
# ../../../ASCOfficePPTXFile/Editor/Drawing/Attributes.h \
|
||||
# ../../../ASCOfficePPTXFile/Editor/Drawing/AudioOverlay.h \
|
||||
# ../../../ASCOfficePPTXFile/Editor/Drawing/Document.h \
|
||||
# ../../../ASCOfficePPTXFile/Editor/Drawing/Effects.h \
|
||||
# ../../../ASCOfficePPTXFile/Editor/Drawing/Interactive.h \
|
||||
# ../../../ASCOfficePPTXFile/Editor/Drawing/Metric.h \
|
||||
# ../../../ASCOfficePPTXFile/Editor/Drawing/SlideShow.h \
|
||||
# ../../../ASCOfficePPTXFile/Editor/Drawing/Structures.h \
|
||||
# ../../../ASCOfficePPTXFile/Editor/Drawing/XmlStringWriter.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/AlbumLayout.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/AnimationDgmBuild.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/BWMode.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/BaseLimit.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/BevelType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/BlendMode.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/BlipCompression.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/CameraType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/ChartBuild.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/ChartBuildType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/ColorSchemeIndex.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/CompoundLine.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/Conformance.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/ContentStatus.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/CornerDirectionVal.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/DgmBuild.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/DgmBuildType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/EffectContainerType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/EightDirectionVal.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/FillPath.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/Flip.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/FontAlign.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/FontStyleIndex.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/FrameShape.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/HorzOverflow.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/InOutDirectionVal.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/IterateType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/LastView.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/LightRigType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/LineCap.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/LineEndSize.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/LineEndType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/Material.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/OnOff.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/Orient.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/ParaBuildType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/PathFillMode.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/PattFillVal.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/PenAlign.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/PlaceholderSize.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/PlaceholderType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/PresetShadowVal.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/PrstClrVal.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/PrstDashVal.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/RectAlign.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/SchemeClrVal.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/ShapeType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/SideDirectionVal.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/SlideLayoutType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/SlideSize.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/SplitterBarState.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/SysClrVal.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLAccumulate.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLAdditive.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLCalcMode.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLChartSubElement.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLColorDirection.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLColorSpace.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLCommandType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLMasterRelation.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLNextAc.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLNodeFillType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLNodeType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLOrigin.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLOverride.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLPathEditMode.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLPresetClass.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLPrevAc.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLRestart.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLRuntimeTrigger.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLSyncBehavior.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLTransform.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLTransition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLTriggerEvent.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TLValueType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TextAlign.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TextAnchor.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TextAutonumberScheme.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TextCaps.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TextShapeType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TextStrike.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TextTabAlignType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TextUnderline.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TextVerticalType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TextWrap.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/TransitionSpeed.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/VariantType.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Limit/VertOverflow.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Ah.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/AhBase.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/AhPolar.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/AhXY.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Backdrop.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bevel.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bg.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/BgPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/BodyPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BuAutoNum.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BuBlip.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BuChar.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BuClr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BuClrTx.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BuFontTx.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BuNone.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BuSzPct.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BuSzPts.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BuSzTx.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/Bullet.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BulletColor.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BulletSize.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bullets/BulletTypeface.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/CNvCxnSpPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/CNvGraphicFramePr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/CNvGrpSpPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/CNvPicPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/CNvPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/CNvSpPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/CSld.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Camera.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Cell3D.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/ClrMap.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/ClrMapOvr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Colors/ColorBase.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Colors/ColorModifier.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Colors/PrstClr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Colors/SchemeClr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Colors/SrgbClr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Colors/SysClr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/ContentPart.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Controls.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/CustGeom.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Cxn.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/CxnSp.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/DefaultShapeDefinition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/EffectDag.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/EffectLst.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/EffectProperties.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/EffectStyle.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/AlphaBiLevel.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/AlphaCeiling.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/AlphaFloor.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/AlphaInv.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/AlphaMod.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/AlphaModFix.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/AlphaOutset.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/AlphaRepl.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/BiLevel.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/Blend.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/Blur.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/ClrChange.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/ClrRepl.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/Duotone.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/EffectElement.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/FillEffect.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/FillOverlay.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/Glow.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/Grayscl.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/HslEffect.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/InnerShdw.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/LumEffect.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/OuterShdw.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/PrstShdw.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/Reflection.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/RelOff.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/SoftEdge.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/TintEffect.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Effects/XfrmEffect.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/ExtP.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/FillStyle.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Fills/Blip.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Fills/BlipFill.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Fills/GradFill.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Fills/NoFill.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Fills/PattFill.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Fills/SolidFill.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Fills/Stretch.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Fills/Tile.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/FontCollection.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/FontRef.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Gd.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Geometry.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/GraphicFrame.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/GrpSpPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Gs.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/HeadingVariant.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Hf.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Hyperlink.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/LightRig.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Lin.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/LineEnd.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/LineJoin.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/LineStyle.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Ln.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Media/AudioCD.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Media/MediaFile.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Media/WavAudioFile.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/NvCxnSpPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/NvGraphicFramePr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/NvGrpSpPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/NvPicPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/NvPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/NvSpPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Paragraph.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/PartTitle.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Path.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Path2D.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Path2D/ArcTo.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Path2D/Close.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Path2D/CubicBezTo.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Path2D/LineTo.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Path2D/MoveTo.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Path2D/PathBase.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Path2D/QuadBezTo.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Ph.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Pic.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/PrstDash.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/PrstGeom.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/PrstTxWarp.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Rect.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Rot.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/RunElem.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/RunProperties.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Runs/Br.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Runs/Fld.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Runs/MathParaWrapper.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Runs/Run.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Runs/RunBase.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Scene3d.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Shape.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/ShapeStyle.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/SmartArt.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Sp3d.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/SpPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/SpTree.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/SpTreeElem.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/StyleRef.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/SupplementalFont.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Tab.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Table/Table.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableCell.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableCellProperties.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableCol.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableProperties.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableRow.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TableBgStyle.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TablePartStyle.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TableStyle.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TcBdr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TcStyle.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TcTxStyle.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TextFit.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TextFont.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TextListStyle.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TextParagraphPr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TextSpacing.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Anim.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimClr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimEffect.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimMotion.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimRot.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimScale.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimVariant.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AttrName.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AttrNameLst.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Audio.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldDgm.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldGraphic.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldLst.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldOleChart.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldP.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldSub.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BuildNodeBase.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CBhvr.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CMediaNode.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CTn.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/ChildTnLst.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Cmd.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Cond.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CondLst.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Excl.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/GraphicEl.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Iterate.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Par.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Seq.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Set.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/SpTgt.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Tav.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TavLst.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TgtEl.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TimeNodeBase.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Timing.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Tmpl.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TmplLst.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TnLst.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TxEl.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Video.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/CornerDirectionTransition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/EightDirectionTransition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/EmptyTransition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/OptionalBlackTransition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/OrientationTransition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/SideDirectionTransition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/SndAc.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/SplitTransition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/StSnd.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/Transition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/TransitionBase.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/WheelTransition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/ZoomTransition.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TxBody.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TxStyles.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/UniColor.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/UniEffect.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/UniFill.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/UniMedia.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/UniPath2D.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Xfrm.h \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/XmlId.h \
|
||||
../Enums/RecordType.h \
|
||||
../Enums/_includer.h \
|
||||
../Enums/enums.h \
|
||||
../PPTFormatLib.h \
|
||||
../PPTXWriter/Animation.h \
|
||||
../PPTXWriter/ridmanager.h \
|
||||
../Reader/ClassesAtom.h \
|
||||
../Reader/CommonZLib.h \
|
||||
../Reader/PPTDocumentInfo.h \
|
||||
@ -372,79 +39,10 @@ HEADERS += \
|
||||
../Reader/Slide.h \
|
||||
../Reader/SlideInfo.h \
|
||||
../Reader/SlidePersist.h \
|
||||
../Records/Animations/AnimationInfoAtom.h \
|
||||
../Records/Animations/AnimationInfoContainer.h \
|
||||
../Records/Animations/BuildAtom.h \
|
||||
../Records/Animations/BuildListContainer.h \
|
||||
../Records/Animations/ChartBuildAtom.h \
|
||||
../Records/Animations/ChartBuildContainer.h \
|
||||
../Records/Animations/ClientVisualElementContainer.h \
|
||||
../Records/Animations/DiagramBuildAtom.h \
|
||||
../Records/Animations/DiagramBuildContainer.h \
|
||||
../Records/Animations/ExtTimeNodeContainer.h \
|
||||
../Records/Animations/HashCode10Atom.h \
|
||||
../Records/Animations/LevelInfoAtom.h \
|
||||
../Records/Animations/ParaBuildAtom.h \
|
||||
../Records/Animations/ParaBuildContainer.h \
|
||||
../Records/Animations/ParaBuildLevel.h \
|
||||
../Records/Animations/SubEffectContainer.h \
|
||||
../Records/Animations/TimeAnimateBehaviorAtom.h \
|
||||
../Records/Animations/TimeAnimateBehaviorContainer.h \
|
||||
../Records/Animations/TimeAnimateColor.h \
|
||||
../Records/Animations/TimeAnimateColorBy.h \
|
||||
../Records/Animations/TimeAnimationValueAtom.h \
|
||||
../Records/Animations/TimeAnimationValueListContainer.h \
|
||||
../Records/Animations/TimeAnimationValueListEntry.h \
|
||||
../Records/Animations/TimeBehaviorAtom.h \
|
||||
../Records/Animations/TimeBehaviorContainer.h \
|
||||
../Records/Animations/TimeColorBehaviorAtom.h \
|
||||
../Records/Animations/TimeColorBehaviorContainer.h \
|
||||
../Records/Animations/TimeCommandBehaviorAtom.h \
|
||||
../Records/Animations/TimeCommandBehaviorContainer.h \
|
||||
../Records/Animations/TimeConditionAtom.h \
|
||||
../Records/Animations/TimeConditionContainer.h \
|
||||
../Records/Animations/TimeDisplayType.h \
|
||||
../Records/Animations/TimeEffectBehaviorAtom.h \
|
||||
../Records/Animations/TimeEffectBehaviorContainer.h \
|
||||
../Records/Animations/TimeEffectID.h \
|
||||
../Records/Animations/TimeEffectNodeType.h \
|
||||
../Records/Animations/TimeEffectType.h \
|
||||
../Records/Animations/TimeGroupID.h \
|
||||
../Records/Animations/TimeIterateDataAtom.h \
|
||||
../Records/Animations/TimeMasterRelType.h \
|
||||
../Records/Animations/TimeModifierAtom.h \
|
||||
../Records/Animations/TimeMotionBehaviorAtom.h \
|
||||
../Records/Animations/TimeMotionBehaviorContainer.h \
|
||||
../Records/Animations/TimeNodeAtom.h \
|
||||
../Records/Animations/TimeNodeTimeFilter.h \
|
||||
../Records/Animations/TimePropertyList4TimeBehavior.h \
|
||||
../Records/Animations/TimePropertyList4TimeNodeContainer.h \
|
||||
../Records/Animations/TimeRotationBehaviorAtom.h \
|
||||
../Records/Animations/TimeRotationBehaviorContainer.h \
|
||||
../Records/Animations/TimeScaleBehaviorAtom.h \
|
||||
../Records/Animations/TimeScaleBehaviorContainer.h \
|
||||
../Records/Animations/TimeSequenceDataAtom.h \
|
||||
../Records/Animations/TimeSetBehaviorAtom.h \
|
||||
../Records/Animations/TimeSetBehaviorContainer.h \
|
||||
../Records/Animations/TimeStringListContainer.h \
|
||||
../Records/Animations/TimeVariant.h \
|
||||
../Records/Animations/TimeVariant4Behavior.h \
|
||||
../Records/Animations/VisualPageAtom.h \
|
||||
../Records/Animations/VisualShapeAtom.h \
|
||||
../Records/Animations/VisualShapeChartElementAtom.h \
|
||||
../Records/Animations/VisualShapeGeneralAtom.h \
|
||||
../Records/Animations/VisualSoundAtom.h \
|
||||
../Records/Animations/_includer.h \
|
||||
../Records/AnimationInfoAtom.h \
|
||||
../Records/BlipEntityAtom.h \
|
||||
../Records/BookmarkEntityAtom.h \
|
||||
../Records/BookmarkSeedAtom.h \
|
||||
../Records/BuildAtom.h \
|
||||
../Records/DocInfoListContainer.h \
|
||||
../Records/DocProgTagsContainer.h \
|
||||
../Records/OfficeArtClientData.h \
|
||||
../Records/PlaceHolderAtom.h \
|
||||
../Records/ShapeProgBinaryTagSubContainerOrAtom.h \
|
||||
../Records/CFMasks.h \
|
||||
../Records/ColorSchemeAtom.h \
|
||||
../Records/CString.h \
|
||||
../Records/CurrentUserAtom.h \
|
||||
@ -473,9 +71,6 @@ HEADERS += \
|
||||
../Records/HeadersFootersAtom.h \
|
||||
../Records/InteractiveInfoAtom.h \
|
||||
../Records/KinsokuAtom.h \
|
||||
../Records/KinsokuContainer.h \
|
||||
../Records/KinsokuFollowingAtom.h \
|
||||
../Records/KinsokuLeadingAtom.h \
|
||||
../Records/MasterPersistAtom.h \
|
||||
../Records/MasterTextPropAtom.h \
|
||||
../Records/MetafileBlob.h \
|
||||
@ -486,14 +81,8 @@ HEADERS += \
|
||||
../Records/NotesPersistAtom.h \
|
||||
../Records/NoZoomViewInfoAtom.h \
|
||||
../Records/OutlineTextRefAtom.h \
|
||||
../Records/FontCollection10Container.h \
|
||||
../Records/FontEmbedFlags10Atom.h \
|
||||
../Records/OutlineTextProps9Container.h \
|
||||
../Records/OutlineTextPropsHeaderExAtom.h \
|
||||
../Records/PFMasks.h \
|
||||
../Records/PersistDirectoryAtom.h \
|
||||
../Records/PlaceHolderAtom.h \
|
||||
../Records/ProgStringTagContainer.h \
|
||||
../Records/RecordsIncluder.h \
|
||||
../Records/RoundTripColorMappingAtom.h \
|
||||
../Records/RoundTripCompositeMainMasterId12Atom.h \
|
||||
@ -502,18 +91,11 @@ HEADERS += \
|
||||
../Records/RoundTripThemeAtom.h \
|
||||
../Records/ShapeFlags10Atom.h \
|
||||
../Records/ShapeFlagsAtom.h \
|
||||
../Records/Comment10Container.h \
|
||||
../Records/LinkedShape10Atom.h \
|
||||
../Records/LinkedSlide10Atom.h \
|
||||
../Records/SlideFlags10Atom.h \
|
||||
../Records/SlideProgTagsContainer.h \
|
||||
../Records/SlideTime10Atom.h \
|
||||
../Records/SlideAtom.h \
|
||||
../Records/SlideColorSchemeAtom.h \
|
||||
../Records/SlideContainer.h \
|
||||
../Records/SlideListWithText.h \
|
||||
../Records/SlidePersistAtom.h \
|
||||
../Records/SlideProgTagsContainer.h \
|
||||
../Records/SlideViewInfoAtom.h \
|
||||
../Records/SoundCollAtom.h \
|
||||
../Records/SoundCollectionContainer.h \
|
||||
@ -523,15 +105,6 @@ HEADERS += \
|
||||
../Records/SSlideLayoutAtom.h \
|
||||
../Records/SSSlideInfoAtom.h \
|
||||
../Records/StyleTextPropAtom.h \
|
||||
../Records/StyleTextProp10Atom.h \
|
||||
../Records/StyleTextProp11Atom.h \
|
||||
../Records/StyleTextProp9Atom.h \
|
||||
../Records/TextCFException10.h \
|
||||
../Records/TextCFException9.h \
|
||||
../Records/TextDefaults9Atom.h \
|
||||
../Records/TextMasterStyle9Atom.h \
|
||||
../Records/TextMasterStyle9Level.h \
|
||||
../Records/TextSIException.h \
|
||||
../Records/TextBookmarkAtom.h \
|
||||
../Records/TextBytesAtom.h \
|
||||
../Records/TextCFExceptionAtom.h \
|
||||
@ -539,10 +112,7 @@ HEADERS += \
|
||||
../Records/TextFullSettings.h \
|
||||
../Records/TextHeaderAtom.h \
|
||||
../Records/TextInteractiveInfoAtom.h \
|
||||
../Records/TextMasterStyle9Atom.h \
|
||||
../Records/TextMasterStyle9Level.h \
|
||||
../Records/TextMasterStyleAtom.h \
|
||||
../Records/TextPFException9.h \
|
||||
../Records/TextPFExceptionAtom.h \
|
||||
../Records/TextRulerAtom.h \
|
||||
../Records/TextSIExceptionAtom.h \
|
||||
@ -578,20 +148,7 @@ HEADERS += \
|
||||
../../../ASCOfficePPTXFile/Editor/Drawing/TextAttributesEx.h \
|
||||
../../../ASCOfficePPTXFile/Editor/Drawing/TextStructures.h \
|
||||
../../../ASCOfficePPTXFile/Editor/Drawing/Theme.h \
|
||||
../../../Common/3dParty/pole/pole.h \
|
||||
../Structures/ColorIndex.h \
|
||||
../Structures/ColorIndexStruct.h \
|
||||
../Structures/ColorStruct.h \
|
||||
../Structures/DateTimeStruct.h \
|
||||
../Structures/IStruct.h \
|
||||
../Structures/PointStruct.h \
|
||||
../Structures/RatioStruct.h \
|
||||
../Structures/RectStruct.h \
|
||||
../Structures/ScalingStruct.h \
|
||||
../Structures/SmallRectStruct.h \
|
||||
../Structures/TmsfTimeStruct.h \
|
||||
../Structures/WideColorStruct.h \
|
||||
../Structures/_includer.h
|
||||
../../../Common/3dParty/pole/pole.h
|
||||
|
||||
core_release {
|
||||
SOURCES += \
|
||||
@ -605,6 +162,7 @@ SOURCES += \
|
||||
../Reader/Records.cpp \
|
||||
../Reader/PPTFileReader.cpp \
|
||||
../Reader/SlidePersist.cpp \
|
||||
../Records/Animations/AnimationTypes.cpp \
|
||||
../Records/Drawing/ArtBlip.cpp \
|
||||
../Records/Drawing/ShapeContainer.cpp \
|
||||
../PPTXWriter/Converter.cpp \
|
||||
@ -612,46 +170,8 @@ SOURCES += \
|
||||
}
|
||||
|
||||
SOURCES += \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Bg.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/CNvGrpSpPr.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Colors/SchemeClr.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/ContentPart.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Controls.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/CxnSp.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/EffectDag.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/EffectLst.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/EffectProperties.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/EffectStyle.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Fills/Blip.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Fills/BlipFill.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Geometry.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/GraphicFrame.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/GrpSpPr.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Hyperlink.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Media/WavAudioFile.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/NvGraphicFramePr.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/NvGrpSpPr.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Pic.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Runs/MathParaWrapper.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Shape.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/SmartArt.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/SpPr.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/SpTree.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/SpTreeElem.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Table/TableCell.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BuildNodeBase.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TimeNodeBase.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/Transitions/TransitionBase.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/TxBody.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/UniColor.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/UniEffect.cpp \
|
||||
# ../../../ASCOfficePPTXFile/PPTXFormat/Logic/UniFill.cpp \
|
||||
../Enums/RecordType.cpp \
|
||||
../PPTFormatLib.cpp \
|
||||
../../../ASCOfficePPTXFile/Editor/Drawing/Elements.cpp \
|
||||
../../../ASCOfficePPTXFile/Editor/Drawing/TextAttributesEx.cpp \
|
||||
../../../Common/3dParty/pole/pole.cpp \
|
||||
../PPTXWriter/Animation.cpp \
|
||||
../PPTXWriter/ridmanager.cpp \
|
||||
../Records/Animations/TimeVariant.cpp
|
||||
../../../Common/3dParty/pole/pole.cpp
|
||||
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
#include "../Reader/PPTFileReader.cpp"
|
||||
#include "../Reader/Records.cpp"
|
||||
#include "../Reader/SlidePersist.cpp"
|
||||
//#include "../Records/Animations/AnimationTypes.cpp"
|
||||
#include "../Records/Animations/AnimationTypes.cpp"
|
||||
#include "../Records/Drawing/ArtBlip.cpp"
|
||||
#include "../Records/Drawing/ShapeContainer.cpp"
|
||||
#include "../PPTXWriter/Converter.cpp"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,179 +0,0 @@
|
||||
/*
|
||||
*(c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
*This program is a free software product. You can redistribute it and/or
|
||||
*modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
*version 3 as published by the Free Software Foundation. In accordance with
|
||||
*Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
*that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
*of any third-party rights.
|
||||
*
|
||||
*This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
*warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
*details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
*You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
*street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
*The interactive user interfaces in modified source and object code versions
|
||||
*of the Program must display Appropriate Legal Notices, as required under
|
||||
*Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
*Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
*logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
*grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
*All the Product's GUI elements, including illustrations and icon sets, as
|
||||
*well as technical writing content are licensed under the terms of the
|
||||
*Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
*terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Timing.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldP.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Anim.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimClr.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimEffect.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimMotion.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimRot.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimScale.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimVariant.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Audio.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CBhvr.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/ChildTnLst.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Cmd.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CondLst.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Par.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Seq.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Set.h"
|
||||
#include "../../../ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Video.h"
|
||||
|
||||
#include "../Records/SlideProgTagsContainer.h"
|
||||
#include "../Records/SoundCollectionContainer.h"
|
||||
#include "../Records/Animations/AnimationInfoContainer.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
struct SOldAnimation
|
||||
{
|
||||
UINT shapeId;
|
||||
CRecordAnimationInfoContainer* anim;
|
||||
|
||||
// There will be additional records for animation here;
|
||||
};
|
||||
|
||||
// Extenstion for CRecordExtTimeNodeContainer
|
||||
class Animation
|
||||
{
|
||||
public:
|
||||
Animation(CRecordPP10SlideBinaryTagExtension *pPPT10Ext, const std::vector<SOldAnimation> &oldAnim) :
|
||||
m_pPPT10(pPPT10Ext),
|
||||
m_arrOldAnim(oldAnim),
|
||||
m_pSoundContainer(nullptr),
|
||||
m_cTnId(1),
|
||||
m_pBldLst(nullptr),
|
||||
m_currentBldP(nullptr)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
// Not delete any pointers
|
||||
CRecordPP10SlideBinaryTagExtension *m_pPPT10; // Must be it xor (maybe 'or' i dunno)
|
||||
std::vector<SOldAnimation> m_arrOldAnim; // this one
|
||||
|
||||
CRecordSoundCollectionContainer *m_pSoundContainer; // Optional
|
||||
|
||||
// Call it and only it to convert animation
|
||||
void Convert(PPTX::Logic::Timing &oTiming);
|
||||
|
||||
private:
|
||||
void FillTnLst(
|
||||
CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::TnLst &oTnLst);
|
||||
void FillCTn(
|
||||
CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::CTn &oCTn);
|
||||
void FillTnChild(
|
||||
CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::TimeNodeBase &oChild);
|
||||
void FillAnim(
|
||||
CRecordTimeAnimateBehaviorContainer *pTimeAnimateBehavior,
|
||||
PPTX::Logic::Anim &oAnim);
|
||||
void FillAnimClr(
|
||||
CRecordTimeColorBehaviorContainer *pColor,
|
||||
CRecordTimePropertyList4TimeNodeContainer *pProp,
|
||||
PPTX::Logic::AnimClr &oAnimClr);
|
||||
void FillAnimEffect(
|
||||
CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::AnimEffect &oAnim);
|
||||
void FillAnimMotion(
|
||||
CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::AnimMotion &oAnim);
|
||||
void FillAnimRot(
|
||||
CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::AnimRot &oAnim);
|
||||
void FillAnimScale(
|
||||
CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::AnimScale &oAnim);
|
||||
void FillAudio(
|
||||
PPT_FORMAT::CRecordClientVisualElementContainer *pCVEC,
|
||||
PPTX::Logic::Audio &oAudio);
|
||||
void FillCmd(
|
||||
CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::Cmd &oCmd);
|
||||
void FillVideo(
|
||||
CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::Video &oVideo);
|
||||
void FillPar(
|
||||
CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::Par &oPar);
|
||||
void FillSeq(
|
||||
PPT_FORMAT::CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::Seq &oSec);
|
||||
void FillCBhvr(
|
||||
CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::CBhvr &oBhvr);
|
||||
void FillCBhvr(
|
||||
CRecordTimeBehaviorContainer *pBhvr,
|
||||
PPTX::Logic::CBhvr &oBhvr);
|
||||
void FillCBhvr(
|
||||
int dur, UINT spid, std::wstring attrname, int delay,
|
||||
PPTX::Logic::CBhvr &oBhvr);
|
||||
void FillCond(
|
||||
PPT_FORMAT::CRecordTimeConditionContainer *oldCond,
|
||||
PPTX::Logic::Cond &cond);
|
||||
void FillBldLst(
|
||||
PPT_FORMAT::CRecordBuildListContainer *pBLC,
|
||||
PPTX::Logic::BldLst &oBL);
|
||||
void FillBldP(
|
||||
PPT_FORMAT::CRecordParaBuildContainer *pPBC,
|
||||
PPTX::Logic::BldP &oBP);
|
||||
void FillSet(
|
||||
PPT_FORMAT::CRecordExtTimeNodeContainer *pETNC,
|
||||
PPTX::Logic::Set& oSet);
|
||||
void FillSubTnLst (
|
||||
std::vector<CRecordSubEffectContainer*> &vecSEC,
|
||||
PPTX::Logic::TnLst &oSubTnLst);
|
||||
void FillCondLst(
|
||||
std::vector<CRecordTimeConditionContainer*>& oCondVec,
|
||||
PPTX::Logic::CondLst &oCondLst);
|
||||
void FillCTn(
|
||||
CRecordTimePropertyList4TimeNodeContainer *pProp,
|
||||
PPTX::Logic::CTn &oCTn);
|
||||
// void SubEffectToETNC(
|
||||
// const CRecordSubEffectContainer *pSub,
|
||||
// CRecordExtTimeNodeContainer *pETNC);
|
||||
|
||||
// For old animation.
|
||||
void InitTimingTags(PPTX::Logic::Timing &oTiming); // Initialize non-exist (in 95-97 format) struct
|
||||
void FillOldAnim(SOldAnimation& oldAnim, PPTX::Logic::TimeNodeBase &oTimeNodeBase);
|
||||
|
||||
private:
|
||||
unsigned m_cTnId;
|
||||
PPTX::Logic::BldLst *m_pBldLst; // Do not delete
|
||||
PPTX::Logic::BldP *m_currentBldP;
|
||||
};
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -32,14 +32,10 @@
|
||||
#pragma once
|
||||
|
||||
#include "ImageManager.h"
|
||||
#include "ridmanager.h"
|
||||
|
||||
|
||||
class CStylesWriter;
|
||||
class CPPTUserInfo;
|
||||
class CStringWriter;
|
||||
class CSlideShowInfo;
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
@ -82,9 +78,8 @@ namespace PPT_FORMAT
|
||||
void WriteLayout (CLayoutPtr pLayout, int nIndexLayout, int nStartLayout, int nIndexTheme);
|
||||
void WriteSlide (int nIndexSlide);
|
||||
void WriteNotes (int nIndexNotes);
|
||||
void WriteTiming (CStringWriter& oWriter, CRelsGenerator &oRels, int nIndexSlide); // TODO write spec class for timing
|
||||
|
||||
void WriteTransition (CStringWriter& oWriter, CSlideShowInfo& oSSInfo);
|
||||
void WriteTransition (CStringWriter& oWriter, CTransition& transition);
|
||||
void WriteColorScheme (CStringWriter& oWriter, const std::wstring & name, const std::vector<CColor> & colors, bool extra = false);
|
||||
void WriteBackground (CStringWriter& oWriter, CRelsGenerator& oRels, CBrush& oBackground);
|
||||
void WriteElement (CStringWriter& oWriter, CRelsGenerator& oRels, CElementPtr pElement, CLayout* pLayout = NULL);
|
||||
|
||||
@ -34,16 +34,12 @@
|
||||
#ifndef DISABLE_FILE_DOWNLOADER
|
||||
#include "../../../Common/FileDownloader/FileDownloader.h"
|
||||
#endif
|
||||
#include "ridmanager.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CMediaManager
|
||||
{
|
||||
public:
|
||||
RIDManager m_ridManager;
|
||||
|
||||
private:
|
||||
private:
|
||||
std::map<std::wstring, std::wstring> m_mapMedia;
|
||||
|
||||
long m_lIndexNextAudio;
|
||||
@ -143,17 +139,7 @@ namespace PPT_FORMAT
|
||||
m_mapMedia[strInput] = strMediaName;
|
||||
return strMediaName;
|
||||
}
|
||||
inline void WriteAudioCollection(const std::vector<CExFilesInfo>& audioCont)
|
||||
{
|
||||
if (audioCont.empty()) return;
|
||||
|
||||
for (auto& audio : audioCont)
|
||||
{
|
||||
auto pathAudio = GenerateAudio(audio.m_strFilePath);
|
||||
m_ridManager.addSoundPath(pathAudio);
|
||||
}
|
||||
|
||||
}
|
||||
inline bool IsNeedDownload(const std::wstring& strFile)
|
||||
{
|
||||
int n1 = strFile.find(L"www");
|
||||
@ -186,11 +172,11 @@ namespace PPT_FORMAT
|
||||
}
|
||||
class CRelsGenerator
|
||||
{
|
||||
private:
|
||||
PPT_FORMAT::CStringWriter m_oWriter;
|
||||
private:
|
||||
PPT_FORMAT::CStringWriter m_oWriter;
|
||||
int m_lNextRelsID;
|
||||
std::map<std::wstring, int> m_mapMediaRelsID;
|
||||
CMediaManager* m_pManager;
|
||||
CMediaManager* m_pManager;
|
||||
std::map<std::wstring, std::wstring> m_mapHyperlinks;
|
||||
|
||||
public:
|
||||
@ -353,7 +339,7 @@ namespace PPT_FORMAT
|
||||
std::wstring strMedia = m_pManager->FindMedia(strMediaPath);
|
||||
|
||||
if (strMedia.empty()) return WriteHyperlinkMedia(CorrectXmlString3(strMediaPath), true, true);
|
||||
return WriteHyperlinkMedia(strMedia, false, false); // changed
|
||||
return WriteHyperlinkMedia(strMedia, false, true);
|
||||
}
|
||||
inline std::wstring WriteImage(const std::wstring& strImagePath)
|
||||
{
|
||||
@ -390,7 +376,5 @@ namespace PPT_FORMAT
|
||||
return WriteHyperlinkVideo(strVideo, false);
|
||||
}
|
||||
}
|
||||
|
||||
inline int getRId()const{return m_lNextRelsID;}
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@ -156,12 +156,6 @@ void CStylesWriter::ConvertStyleLevel(PPT_FORMAT::CTextStyleLevel& oLevel, PPT_F
|
||||
oWriter.WriteStringXML(std::wstring(&bu, 1));
|
||||
oWriter.WriteString(L"\"/>");
|
||||
}
|
||||
// if (!pPF->bulletAutoNum.is_init())
|
||||
// {
|
||||
// oWriter.WriteString(L"<a:buAutoNum type=\"");
|
||||
// oWriter.WriteString(L"arabicPeriod");
|
||||
// oWriter.WriteString(L"\"/>");
|
||||
// }
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1196,14 +1190,14 @@ void PPT_FORMAT::CShapeWriter::WriteTextInfo()
|
||||
}
|
||||
m_oWriter.WriteString(L"</a:bodyPr>");
|
||||
|
||||
if (0 == nCount)
|
||||
if (0 == nCount)
|
||||
{
|
||||
m_oWriter.WriteString(L"<a:lstStyle/><a:p><a:endParaRPr dirty=\"0\"/></a:p></p:txBody>");
|
||||
return;
|
||||
}
|
||||
m_oWriter.WriteString(L"<a:lstStyle>");
|
||||
|
||||
if (!m_bWordArt)
|
||||
if (!m_bWordArt)
|
||||
{
|
||||
CStylesWriter styleWriter(m_pTheme);
|
||||
styleWriter.ConvertStyles(pShapeElement->m_pShape->m_oText.m_oStyles, m_oWriter);
|
||||
@ -1343,12 +1337,6 @@ void PPT_FORMAT::CShapeWriter::WriteTextInfo()
|
||||
}
|
||||
m_oWriter.WriteString(std::wstring(L"/>"));
|
||||
}
|
||||
if (pPF->bulletAutoNum.is_init()) // TODO Numbering
|
||||
{
|
||||
m_oWriter.WriteString(L"<a:buAutoNum type=\"");
|
||||
m_oWriter.WriteString(pPF->bulletAutoNum->type.get());
|
||||
m_oWriter.WriteString(L"\"/>");
|
||||
}
|
||||
|
||||
bool set = true;
|
||||
if (pPF->bulletFontProperties.is_init() == false && pPF->bulletSize.is_init() == false)
|
||||
@ -1638,7 +1626,7 @@ std::wstring PPT_FORMAT::CShapeWriter::ConvertShape()
|
||||
CImageElement* pImageElement = dynamic_cast<CImageElement*>(m_pElement.get());
|
||||
CGroupElement* pGroupElement = dynamic_cast<CGroupElement*>(m_pElement.get());
|
||||
CShapeElement* pShapeElement = dynamic_cast<CShapeElement*>(m_pElement.get());
|
||||
|
||||
|
||||
if (pImageElement) return ConvertImage();
|
||||
if (pGroupElement) return ConvertGroup();
|
||||
|
||||
@ -2733,4 +2721,4 @@ HRESULT PPT_FORMAT::CShapeWriter::put_ClipMode(const LONG& lMode)
|
||||
{
|
||||
m_lClipMode = lMode;
|
||||
return S_OK;
|
||||
}
|
||||
}
|
||||
@ -1,115 +0,0 @@
|
||||
#include "ridmanager.h"
|
||||
|
||||
#include "../Records/SoundContainer.h"
|
||||
#include <map>
|
||||
#include <cmath>
|
||||
|
||||
RIDManager::RIDManager() :
|
||||
m_RID(1),
|
||||
m_haveSetedSoundRIDCollection(false)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
std::vector<std::wstring> RIDManager::getPathesForSlideRels()
|
||||
{
|
||||
std::vector<std::wstring> paths;
|
||||
if (m_arrRID.empty())
|
||||
return paths;
|
||||
|
||||
|
||||
std::map<_UINT32, _UINT32*> mapRIDs; // first value is old rId : second new rId
|
||||
unsigned i = 0;
|
||||
for (auto* pRID : m_arrRID)
|
||||
{
|
||||
auto searchIter(mapRIDs.find(*pRID));
|
||||
if (searchIter == mapRIDs.end())
|
||||
{
|
||||
mapRIDs.insert(std::make_pair(*pRID, pRID));
|
||||
*pRID = m_RID++;
|
||||
}
|
||||
else
|
||||
*pRID = *(searchIter->second);
|
||||
|
||||
if (i < m_soundRIDCollection.size())
|
||||
*(m_soundRIDCollection[i++]) = std::to_wstring(*pRID);
|
||||
}
|
||||
|
||||
for (auto RID : mapRIDs)
|
||||
paths.push_back(m_soundPaths[RID.first - 1]);
|
||||
return paths;
|
||||
}
|
||||
|
||||
void RIDManager::setRIDfromAnimation(Animation& anim)
|
||||
{
|
||||
clearRIDSforSlide();
|
||||
|
||||
setSoundRIDCollection(anim.m_pSoundContainer);
|
||||
if (anim.m_pPPT10)
|
||||
searchSound(anim.m_pPPT10->m_pExtTimeNodeContainer);
|
||||
else if (!anim.m_arrOldAnim.empty())
|
||||
searchSound(anim.m_arrOldAnim);
|
||||
}
|
||||
|
||||
void RIDManager::setSoundRIDCollection(CRecordSoundCollectionContainer* pColection)
|
||||
{
|
||||
if (!pColection) return;
|
||||
|
||||
if (!m_haveSetedSoundRIDCollection)
|
||||
{
|
||||
for (auto* pRec : pColection->m_arRecords)
|
||||
{
|
||||
auto soundCont = dynamic_cast<CRecordSoundContainer*>(pRec);
|
||||
if (soundCont)
|
||||
{
|
||||
auto recStr = dynamic_cast<CRecordCString*>(soundCont->m_arRecords[2]);
|
||||
if (recStr)
|
||||
m_soundRIDCollection.push_back(&(recStr->m_strText));
|
||||
}
|
||||
}
|
||||
m_haveSetedSoundRIDCollection = true;
|
||||
}
|
||||
}
|
||||
|
||||
void RIDManager::addSoundPath(std::wstring& path)
|
||||
{
|
||||
m_soundPaths.push_back(path);
|
||||
}
|
||||
|
||||
void RIDManager::searchSound (CRecordExtTimeNodeContainer* const pETNC)
|
||||
{
|
||||
if (!pETNC) return;
|
||||
|
||||
if (pETNC->m_haveClientVisualElement && pETNC->m_pClientVisualElement)
|
||||
addSound(pETNC->m_pClientVisualElement);
|
||||
|
||||
for (auto* pSubEffect : pETNC->m_arrRgSubEffect)
|
||||
addSound(pSubEffect->m_pClientVisualElement);
|
||||
|
||||
for (auto* pETNCChildren : pETNC->m_arrRgExtTimeNodeChildren)
|
||||
searchSound(pETNCChildren);
|
||||
}
|
||||
|
||||
void RIDManager::searchSound (const std::vector<SOldAnimation> &arrAnim)
|
||||
{
|
||||
for (auto anim : arrAnim)
|
||||
{
|
||||
if (anim.anim->m_AnimationAtom.m_fSound)
|
||||
m_arrRID.push_back(&(anim.anim->m_AnimationAtom.m_SoundIdRef));
|
||||
}
|
||||
}
|
||||
|
||||
void RIDManager::addSound(CRecordClientVisualElementContainer* const pCVEC)
|
||||
{
|
||||
if (!pCVEC) return;
|
||||
|
||||
if (pCVEC->m_bVisualShapeAtom)
|
||||
m_arrRID.push_back(&(pCVEC->m_oVisualShapeAtom.m_nObjectIdRef));
|
||||
}
|
||||
|
||||
void RIDManager::clearRIDSforSlide()
|
||||
{
|
||||
m_arrRID.clear();
|
||||
m_arrSoundRef.clear();
|
||||
m_RID = 1;
|
||||
}
|
||||
@ -1,60 +0,0 @@
|
||||
#ifndef RIDMANAGER_H
|
||||
#define RIDMANAGER_H
|
||||
|
||||
#include "Animation.h"
|
||||
|
||||
// This class is heeded for rId audio in the first.
|
||||
// And later maybe will be used for video.
|
||||
class RIDManager
|
||||
{
|
||||
public:
|
||||
RIDManager();
|
||||
|
||||
// This methods take all rid by ref and correct it
|
||||
// Look at the example
|
||||
/*
|
||||
It for animation
|
||||
we have rIDs in ppt ETNC | we need (add some constants(1) and rewrite array)
|
||||
1 slide 1 2 3 2 4 1 1 1 slide 2 3 4 3 5 2 2
|
||||
2 slide 3 3 5 6 6 2 slide 2 2 3 4 4
|
||||
3 slide 7 3 slide 2
|
||||
|
||||
|
||||
we have soundCollection. It's an array [1,2,3,4,5,6,7] with rIDs inside
|
||||
|
|
||||
we need new arrays with [1 2 3 4], [3 5 6], [7]. It for _rels
|
||||
|
||||
and write in _rels (rId : assciate with audio №)
|
||||
1 rels 2:1 3:2 4:3 5:4
|
||||
2 rels 2:3 3:5 4:6
|
||||
3 rels 2:7
|
||||
*/
|
||||
// It sets in first
|
||||
void addSoundPath(std::wstring& path);
|
||||
|
||||
void setRIDfromTransitions(int &soundRID);
|
||||
void setRIDfromAnimation(Animation& anim);
|
||||
void setRID(int RID) // It's num was added to output //// add some constants(1)
|
||||
{m_RID = RID;}
|
||||
std::vector<std::wstring> getPathesForSlideRels(); // Correct RIDs and get paths for rels in current slide
|
||||
|
||||
private:
|
||||
// It set once
|
||||
void setSoundRIDCollection(CRecordSoundCollectionContainer* pColection);
|
||||
|
||||
void searchSound (CRecordExtTimeNodeContainer* const pETNC);
|
||||
void searchSound (const std::vector<SOldAnimation> &arrAnim);
|
||||
void addSound(CRecordClientVisualElementContainer* const pCVEC);
|
||||
void clearRIDSforSlide();
|
||||
private:
|
||||
// for input --> rewrite --> output
|
||||
std::vector<_UINT32*> m_arrRID; // It's for one slide animation
|
||||
std::vector<_UINT32*> m_arrSoundRef; // It's for one slide _rels
|
||||
int m_RID;
|
||||
|
||||
bool m_haveSetedSoundRIDCollection;
|
||||
std::vector<std::wstring*> m_soundRIDCollection; // It sets once
|
||||
std::vector<std::wstring > m_soundPaths; // It sets once
|
||||
};
|
||||
|
||||
#endif // RIDMANAGER_H
|
||||
@ -58,7 +58,7 @@ public:
|
||||
while(0 != nCount)
|
||||
{
|
||||
if (NULL != m_arUsers[nCount-1])
|
||||
RELEASEOBJECT(m_arUsers[nCount-1])
|
||||
delete m_arUsers[nCount-1];
|
||||
|
||||
m_arUsers.pop_back();
|
||||
--nCount;
|
||||
@ -99,8 +99,7 @@ public:
|
||||
|
||||
if (bResult == false)
|
||||
{
|
||||
delete pInfo;
|
||||
pInfo = NULL; // may not work
|
||||
delete pInfo;
|
||||
|
||||
if (m_oCurrentUser.m_bIsEncrypt)
|
||||
return false;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -32,8 +32,7 @@
|
||||
#pragma once
|
||||
#include "ClassesAtom.h"
|
||||
|
||||
#include "../Records/Animations/_includer.h"
|
||||
#include "../Enums/_includer.h"
|
||||
#include "../Records/Animations/AnimationTypes.h"
|
||||
#include "../Records/ExObjListContainer.h"
|
||||
#include "../Records/CryptSession10Container.h"
|
||||
|
||||
@ -81,7 +80,7 @@ public:
|
||||
CSlideInfo* m_pHandoutMasterWrapper;
|
||||
|
||||
std::vector<CRecordBlipStoreContainer*> m_arrBlipStore;
|
||||
std::vector<CFontProperty> m_arrFonts;
|
||||
std::vector<CFontProperty> m_arrFonts;
|
||||
|
||||
PPT_FORMAT::CTextStyles m_oDefaultTextStyle;
|
||||
|
||||
@ -96,7 +95,7 @@ public:
|
||||
CRecordVbaProjectStg* m_VbaProjectStg;
|
||||
int m_lIndexThisUser;
|
||||
|
||||
// std::map <_UINT32, Animations::CSlideTimeLine*> m_mapAnimations;
|
||||
std::map <_UINT32, Animations::CSlideTimeLine*> m_mapAnimations;
|
||||
|
||||
double m_nWriteSlideTimeOffset;
|
||||
double m_nWriteSlideTime;
|
||||
@ -157,8 +156,6 @@ public:
|
||||
void LoadExVideo(CRecordsContainer* pExObject);
|
||||
void LoadExAudio(CRecordsContainer* pExObject);
|
||||
|
||||
void LoadAutoNumbering(CRecordGroupShapeContainer* pGroupContainer, PPT_FORMAT::CTheme* pTheme);
|
||||
|
||||
void CreateDefaultStyle(PPT_FORMAT::CTextStyles& pStyle, PPT_FORMAT::CTheme* pTheme);
|
||||
void CorrectColorScheme(std::vector<CColor>& oScheme)
|
||||
{
|
||||
@ -215,7 +212,7 @@ public:
|
||||
|
||||
int ind = 0;
|
||||
if (layoutRecord.m_pPlaceHolderID[0] == 13 && layoutRecord.m_pPlaceHolderID[1] != 0) ind++;
|
||||
PlaceholderEnum phbody = (PlaceholderEnum)layoutRecord.m_pPlaceHolderID[ind];
|
||||
ePlaceholderType phbody = (ePlaceholderType)layoutRecord.m_pPlaceHolderID[ind];
|
||||
switch (phbody)
|
||||
{
|
||||
case PT_MasterTitle: type = L"title"; name = L"Title and Object Slide"; break;
|
||||
@ -233,8 +230,8 @@ public:
|
||||
}break;
|
||||
case SL_TwoColumns:
|
||||
{
|
||||
PlaceholderEnum leftType = (PlaceholderEnum)layoutRecord.m_pPlaceHolderID[1];
|
||||
PlaceholderEnum rightType = (PlaceholderEnum)layoutRecord.m_pPlaceHolderID[2];
|
||||
ePlaceholderType leftType = (ePlaceholderType)layoutRecord.m_pPlaceHolderID[1];
|
||||
ePlaceholderType rightType = (ePlaceholderType)layoutRecord.m_pPlaceHolderID[2];
|
||||
|
||||
name = L"Two Objects Slide";
|
||||
type = L"twoObj";
|
||||
@ -282,8 +279,8 @@ public:
|
||||
}break;
|
||||
case SL_TwoRows:
|
||||
{
|
||||
PlaceholderEnum topType = (PlaceholderEnum)layoutRecord.m_pPlaceHolderID[1];
|
||||
PlaceholderEnum bottomType = (PlaceholderEnum)layoutRecord.m_pPlaceHolderID[2];
|
||||
ePlaceholderType topType = (ePlaceholderType)layoutRecord.m_pPlaceHolderID[1];
|
||||
ePlaceholderType bottomType = (ePlaceholderType)layoutRecord.m_pPlaceHolderID[2];
|
||||
|
||||
if (topType == PT_Body && bottomType == PT_Object)
|
||||
{
|
||||
@ -298,7 +295,7 @@ public:
|
||||
}break;
|
||||
case SL_ColumnTwoRows:
|
||||
{
|
||||
PlaceholderEnum leftType = (PlaceholderEnum)layoutRecord.m_pPlaceHolderID[1];
|
||||
ePlaceholderType leftType = (ePlaceholderType)layoutRecord.m_pPlaceHolderID[1];
|
||||
|
||||
if (leftType == PT_Object)
|
||||
{
|
||||
@ -311,7 +308,7 @@ public:
|
||||
}break;
|
||||
case SL_TwoRowsColumn:
|
||||
{
|
||||
PlaceholderEnum rightType = (PlaceholderEnum)layoutRecord.m_pPlaceHolderID[2];
|
||||
ePlaceholderType rightType = (ePlaceholderType)layoutRecord.m_pPlaceHolderID[2];
|
||||
|
||||
if (rightType == PT_Object)
|
||||
{
|
||||
|
||||
@ -49,7 +49,7 @@ typedef BYTE BOOL1;
|
||||
#define RECORD_TYPE_DOCUMENT_ATOM 1001
|
||||
#define RECORD_TYPE_ENDDOCUMENT 1002
|
||||
#define RECORD_TYPE_SLIDE 1006
|
||||
#define RECORD_TYPE_SLIDE_ATOM 1007
|
||||
#define RECORD_TYPE_SLIDE_ATOM 1007
|
||||
#define RECORD_TYPE_NOTES 1008
|
||||
#define RECORD_TYPE_NOTES_ATOM 1009
|
||||
#define RECORD_TYPE_ENVIRONMENT 1010
|
||||
@ -58,7 +58,7 @@ typedef BYTE BOOL1;
|
||||
#define RECORD_TYPE_MAINMASTER 1016
|
||||
#define RECORD_TYPE_SSSLIDE_INFO_ATOM 1017
|
||||
#define RECORD_TYPE_SLIDE_VIEWINFO 1018
|
||||
#define RECORD_TYPE_GUIDE_ATOM 1019
|
||||
#define RECORD_TYPE_GUIDE_ATOM 1019
|
||||
#define RECORD_TYPE_VIEWINFO 1020
|
||||
#define RECORD_TYPE_VIEWINFO_ATOM 1021
|
||||
#define RECORD_TYPE_SLIDE_VIEWINFO_ATOM 1022
|
||||
@ -73,8 +73,8 @@ typedef BYTE BOOL1;
|
||||
#define RECORD_TYPE_EXOBJLIST_ATOM 1034
|
||||
#define RECORD_TYPE_PPDRAWING_GROUP 1035
|
||||
#define RECORD_TYPE_PPDRAWING 1036
|
||||
#define RECORD_TYPE_RoundTripTheme12Atom 1038
|
||||
#define RECORD_TYPE_RoundTripColorMapping12Atom 1039
|
||||
#define RT_RoundTripTheme12Atom 1038
|
||||
#define RT_RoundTripColorMapping12Atom 1039
|
||||
#define RECORD_TYPE_NAMEDSHOWS 1040
|
||||
#define RECORD_TYPE_NAMEDSHOW 1041
|
||||
#define RECORD_TYPE_NAMEDSHOW_SLIDES 1042
|
||||
@ -189,18 +189,15 @@ typedef BYTE BOOL1;
|
||||
#define RECORD_TYPE_PERSISTPTRINCREMENTALBLOCK 6002
|
||||
#define RECORD_TYPE_GSCALING_ATOM2 10001
|
||||
#define RECORD_TYPE_GRCOLOR_ATOM2 10002
|
||||
#define RECORD_TYPE_CHARTBUILD_ATOM 11013
|
||||
#define RECORD_TYPE_DIAGRAMBUILD 11014
|
||||
#define RECORD_TYPE_DIAGRAMBUILD_ATOM 11015
|
||||
|
||||
//// Records ~12000 seem to be related to the Comments used in PPT 2000/XP
|
||||
//// (Comments in PPT97 are normal Escher text boxes)
|
||||
// Records ~12000 seem to be related to the Comments used in PPT 2000/XP
|
||||
// (Comments in PPT97 are normal Escher text boxes)
|
||||
#define RECORD_TYPE_COMMENT2000 12000
|
||||
#define RECORD_TYPE_COMMENT2000ATOM 12001
|
||||
#define RECORD_TYPE_COMMENT2000SUMMARY 12004
|
||||
#define RECORD_TYPE_COMMENT2000SUMMARYATOM 12005
|
||||
|
||||
//// Records ~12050 seem to be related to Document Encryption
|
||||
// Records ~12050 seem to be related to Document Encryption
|
||||
#define RECORD_TYPE_DOCUMENT_ENCRYPTION_ATOM 0x2F14
|
||||
|
||||
|
||||
@ -249,6 +246,208 @@ typedef BYTE BOOL1;
|
||||
#define RECORD_TYPE_ESCHER_OLEOBJECT 0xF11F
|
||||
#define RECORD_TYPE_ESCHER_SECONDARY_OPT 0xF121
|
||||
#define RECORD_TYPE_ESCHER_TETRIARY_OPT 0xF122
|
||||
#define RECORD_TYPE_TIME_NODE 0xF127
|
||||
#define RECORD_TYPE_TIME_ANIMATE_BEHAVIOR 0xF134
|
||||
|
||||
/// Animations defines ///
|
||||
|
||||
#define RECORD_PROG_TAGS 0x1388 // RT_ProgTags SlideProgTagsContainer
|
||||
#define RECORD_PROG_STRING_TAG 0x1389 // RT_ProgStringTag ProgStringTagContainer
|
||||
#define RECORD_PROG_BINARY_TAG 0x138A // RT_ProgBinaryTag SlideProgTagsContainer-DocProgTagsContainer-ShapeProgTagsContainer
|
||||
#define RECORD_TEXT_MASTER_STYLE10_ATOM 0x0FB2 // RT_TextMasterStyle10Atom TextMasterStyle10Atom
|
||||
|
||||
|
||||
static std::string GetRecordName(_UINT32 dwType)
|
||||
{
|
||||
std::string strName = ("Unknown");
|
||||
|
||||
switch (dwType)
|
||||
{
|
||||
case RECORD_TYPE_UNKNOWN : { strName = ("Unknown"); break; }
|
||||
case RECORD_TYPE_DOCUMENT : { strName = ("Document"); break; }
|
||||
case RECORD_TYPE_DOCUMENT_ATOM : { strName = ("DocumentAtom"); break; }
|
||||
case RECORD_TYPE_ENDDOCUMENT : { strName = ("EndDocument"); break; }
|
||||
case RECORD_TYPE_SLIDE : { strName = ("Slide"); break; }
|
||||
case RECORD_TYPE_SLIDE_ATOM : { strName = ("SlideAtom"); break; }
|
||||
case RECORD_TYPE_NOTES : { strName = ("Notes"); break; }
|
||||
case RECORD_TYPE_NOTES_ATOM : { strName = ("NotesAtom"); break; }
|
||||
case RECORD_TYPE_ENVIRONMENT : { strName = ("Environment"); break; }
|
||||
case RECORD_TYPE_SLIDE_PERSIST_ATOM : { strName = ("SlidePersistAtom"); break; }
|
||||
case RECORD_TYPE_SSLIDE_LAYOUT_ATOM : { strName = ("SSlideLayoutAtom"); break; }
|
||||
case RECORD_TYPE_MAINMASTER : { strName = ("MainMaster"); break; }
|
||||
case RECORD_TYPE_SSSLIDE_INFO_ATOM : { strName = ("SSSlideInfoAtom"); break; }
|
||||
case RECORD_TYPE_SLIDE_VIEWINFO : { strName = ("SlideViewInfo"); break; }
|
||||
case RECORD_TYPE_GUIDE_ATOM : { strName = ("GuideAtom"); break; }
|
||||
case RECORD_TYPE_VIEWINFO : { strName = ("ViewInfo"); break; }
|
||||
case RECORD_TYPE_VIEWINFO_ATOM : { strName = ("ViewInfoAtom"); break; }
|
||||
case RECORD_TYPE_SLIDE_VIEWINFO_ATOM : { strName = ("SlideViewInfoAtom"); break; }
|
||||
case RECORD_TYPE_VBAINFO : { strName = ("VBAInfo"); break; }
|
||||
case RECORD_TYPE_VBAINFO_ATOM : { strName = ("VBAInfoAtom"); break; }
|
||||
case RECORD_TYPE_SSDOCINFO_ATOM : { strName = ("SSDocInfoAtom"); break; }
|
||||
case RECORD_TYPE_SUMMARY : { strName = ("Summary"); break; }
|
||||
case RECORD_TYPE_DOC_ROUTING_SLIP : { strName = ("DocRoutingSlip"); break; }
|
||||
case RECORD_TYPE_OUTLINE_VIEWINFO : { strName = ("OutlineViewInfo"); break; }
|
||||
case RECORD_TYPE_SORTER_VIEWINFO : { strName = ("SorterViewInfo"); break; }
|
||||
case RECORD_TYPE_EXOBJLIST : { strName = ("ExObjList"); break; }
|
||||
case RECORD_TYPE_EXOBJLIST_ATOM : { strName = ("ExObjectListAtom"); break; }
|
||||
case RECORD_TYPE_PPDRAWING_GROUP : { strName = ("PPDrawingGroup"); break; }
|
||||
case RECORD_TYPE_PPDRAWING : { strName = ("PPDrawing"); break; }
|
||||
case RECORD_TYPE_NAMEDSHOWS : { strName = ("NamedShows"); break; }
|
||||
case RECORD_TYPE_NAMEDSHOW : { strName = ("NamedShow"); break; }
|
||||
case RECORD_TYPE_NAMEDSHOW_SLIDES : { strName = ("NamedShowSlides"); break; }
|
||||
case RECORD_TYPE_SHEET_PROPERTIES : { strName = ("SheetProperties"); break; }
|
||||
case RECORD_TYPE_LIST : { strName = ("List"); break; }
|
||||
case RECORD_TYPE_FONTCOLLECTION : { strName = ("FontCollection"); break; }
|
||||
case RECORD_TYPE_BOOKMARKCOLLECTION : { strName = ("BookmarkCollection"); break; }
|
||||
case RECORD_TYPE_SOUNDCOLLECTION : { strName = ("SoundCollection"); break; }
|
||||
case RECORD_TYPE_SOUNDCOLL_ATOM : { strName = ("SoundCollAtom"); break; }
|
||||
case RECORD_TYPE_SOUND : { strName = ("Sound"); break; }
|
||||
case RECORD_TYPE_SOUNDDATA : { strName = ("SoundData"); break; }
|
||||
case RECORD_TYPE_BOOKMARK_SEED_ATOM : { strName = ("BookMarkSeedAtom"); break; }
|
||||
case RECORD_TYPE_COLOR_SCHEME_ATOM : { strName = ("ColorSchemeAtom"); break; }
|
||||
case RECORD_TYPE_OESHAPE_ATOM : { strName = ("OEShapeAtom"); break; }
|
||||
case RECORD_TYPE_EX_OBJREF_ATOM : { strName = ("ExObjRefAtom"); break; }
|
||||
case RECORD_TYPE_OEPLACEHOLDER_ATOM : { strName = ("PlaceHolderAtom"); break; }
|
||||
case RECORD_TYPE_GPOPUBLICINT_ATOM : { strName = ("GpOpublicintAtom"); break; }
|
||||
case RECORD_TYPE_GRCOLOR : { strName = ("GrColor"); break; }
|
||||
case RECORD_TYPE_GRECT_ATOM : { strName = ("GRectAtom"); break; }
|
||||
case RECORD_TYPE_GRATIO_ATOM : { strName = ("GRatioAtom"); break; }
|
||||
case RECORD_TYPE_GSCALING_ATOM : { strName = ("GScalingAtom"); break; }
|
||||
case RECORD_TYPE_GPOINT_ATOM : { strName = ("GPointAtom"); break; }
|
||||
case RECORD_TYPE_OUTLINE_TEXTREF_ATOM : { strName = ("OutlineTextRefAtom"); break; }
|
||||
case RECORD_TYPE_TEXT_HEADER_ATOM : { strName = ("TextHeaderAtom"); break; }
|
||||
case RECORD_TYPE_TEXT_CHARS_ATOM : { strName = ("TextCharsAtom"); break; }
|
||||
case RECORD_TYPE_STYLE_TEXTPROP_ATOM : { strName = ("StyleTextPropAtom"); break; }
|
||||
case RECORD_TYPE_BASE_TEXTPROP_ATOM : { strName = ("BaseTextPropAtom"); break; }
|
||||
case RECORD_TYPE_TXMASTERSTYLE_ATOM : { strName = ("TxMasterStyleAtom"); break; }
|
||||
case RECORD_TYPE_TXCFSTYLE_ATOM : { strName = ("TxCfStyleAtom"); break; }
|
||||
case RECORD_TYPE_TXPFSTYLE_ATOM : { strName = ("TxPfStyleAtom"); break; }
|
||||
case RECORD_TYPE_TEXTRULER_ATOM : { strName = ("TextRulerAtom"); break; }
|
||||
case RECORD_TYPE_TEXTBOOKMARK_ATOM : { strName = ("TextBookmarkAtom"); break; }
|
||||
case RECORD_TYPE_TEXTBYTES_ATOM : { strName = ("TextBytesAtom"); break; }
|
||||
case RECORD_TYPE_TXSISTYLE_ATOM : { strName = ("TxSiStyleAtom"); break; }
|
||||
case RECORD_TYPE_TEXTSPECINFO_ATOM : { strName = ("TextSpecInfoAtom"); break; }
|
||||
case RECORD_TYPE_DEFAULTRULER_ATOM : { strName = ("DefaultRulerAtom"); break; }
|
||||
case RECORD_TYPE_FONTENTITY_ATOM : { strName = ("FontEntityAtom"); break; }
|
||||
case RECORD_TYPE_FONT_EMBEDDEDDATA : { strName = ("FontEmbeddedData"); break; }
|
||||
case RECORD_TYPE_CSTRING : { strName = ("CString"); break; }
|
||||
case RECORD_TYPE_METAFILE : { strName = ("Metafile"); break; }
|
||||
case RECORD_TYPE_EXOLEOBJ_ATOM : { strName = ("ExOleObjAtom"); break; }
|
||||
case RECORD_TYPE_SRKINSOKU : { strName = ("SrKinsoku"); break; }
|
||||
case RECORD_TYPE_HANDOUT : { strName = ("Handout"); break; }
|
||||
case RECORD_TYPE_EXEMBED : { strName = ("Exembed"); break; }
|
||||
case RECORD_TYPE_EXEMBEDATOM : { strName = ("ExembedAtom"); break; }
|
||||
case RECORD_TYPE_EXLINK : { strName = ("ExLink"); break; }
|
||||
case RECORD_TYPE_BOOKMARK_ENTITY_ATOM : { strName = ("BookmarkEntityAtom"); break; }
|
||||
case RECORD_TYPE_EXLINK_ATOM : { strName = ("ExLinkAtom"); break; }
|
||||
case RECORD_TYPE_SRKINSOKU_ATOM : { strName = ("SrKinsokuAtom"); break; }
|
||||
case RECORD_TYPE_EXHYPERLINK_ATOM : { strName = ("ExHyperlinkAtom"); break; }
|
||||
case RECORD_TYPE_EXHYPERLINK : { strName = ("ExHyperlink"); break; }
|
||||
case RECORD_TYPE_SLIDENUMBER_META_ATOM : { strName = ("SlideNumberMcAtom"); break; }
|
||||
case RECORD_TYPE_HEADERSFOOTERS : { strName = ("HeadersFooters"); break; }
|
||||
case RECORD_TYPE_HEADERSFOOTERS_ATOM : { strName = ("HeadersFootersAtom"); break; }
|
||||
case RECORD_TYPE_TXINTERACTIVEINFO_ATOM : { strName = ("TxInteractiveInfoAtom"); break; }
|
||||
case RECORD_TYPE_CHARFORMAT_ATOM : { strName = ("CharFormatAtom"); break; }
|
||||
case RECORD_TYPE_PARAFORMAT_ATOM : { strName = ("ParaFormatAtom"); break; }
|
||||
case RECORD_TYPE_RECOLORINFO_ATOM : { strName = ("ReColorInfoAtom"); break; }
|
||||
case RECORD_TYPE_EXQUICKTIMEMOVIE : { strName = ("ExQuicktimeMovie"); break; }
|
||||
case RECORD_TYPE_EXQUICKTIMEMOVIEDATA : { strName = ("ExQuicktimeMovieData"); break; }
|
||||
case RECORD_TYPE_EXCONTROL : { strName = ("ExControl"); break; }
|
||||
case RECORD_TYPE_SLIDELISTWITHTEXT : { strName = ("SlidelistWithText"); break; }
|
||||
case RECORD_TYPE_INTERACTIVEINFO : { strName = ("InteractiveInfo"); break; }
|
||||
case RECORD_TYPE_INTERACTIVEINFO_ATOM : { strName = ("InteractiveInfoAtom"); break; }
|
||||
case RECORD_TYPE_USER_EDIT_ATOM : { strName = ("UserEditAtom"); break; }
|
||||
case RECORD_TYPE_CURRENTUSER_ATOM : { strName = ("CurrentUserAtom"); break; }
|
||||
case RECORD_TYPE_DATETIME_META_ATOM : { strName = ("DateTimeMCAtom"); break; }
|
||||
case RECORD_TYPE_GENERICDATE_META_ATOM : { strName = ("GenericDateMCAtom"); break; }
|
||||
case RECORD_TYPE_FOOTER_META_ATOM : { strName = ("FooterMCAtom"); break; }
|
||||
case RECORD_TYPE_EXCONTROL_ATOM : { strName = ("ExControlAtom"); break; }
|
||||
case RECORD_TYPE_EX_MEDIA_ATOM : { strName = ("ExMediaAtom"); break; }
|
||||
case RECORD_TYPE_EX_VIDEOCONTAINER : { strName = ("ExVideoContainer"); break; }
|
||||
case RECORD_TYPE_EX_AVIMOVIE : { strName = ("ExAviMovie"); break; }
|
||||
case RECORD_TYPE_EX_MCIMOVIE : { strName = ("ExMciMovie"); break; }
|
||||
case RECORD_TYPE_EX_MIDIAUDIO : { strName = ("ExMidAudio"); break; }
|
||||
case RECORD_TYPE_EX_CDAUDIO : { strName = ("ExCDAudio"); break; }
|
||||
case RECORD_TYPE_EX_WAVAUDIOEMBEDDED : { strName = ("ExWavAudioEmbedded"); break; }
|
||||
case RECORD_TYPE_EX_WAVAUDIOLINK : { strName = ("ExWavAudioLink"); break; }
|
||||
case RECORD_TYPE_EX_OLEOBJSTG : { strName = ("ExOleObjStg"); break; }
|
||||
case RECORD_TYPE_EX_CDAUDIO_ATOM : { strName = ("ExCDAudioAtom"); break; }
|
||||
case RECORD_TYPE_EXWAVAUDIOEMBEDDED_ATOM : { strName = ("ExWavAudioEmbeddedAtom"); break; }
|
||||
case RECORD_TYPE_ANIMATIONINFO : { strName = ("AnimationInfo"); break; }
|
||||
case RECORD_TYPE_ANIMATIONINFO_ATOM : { strName = ("AnimationInfoAtom"); break; }
|
||||
case RECORD_TYPE_RTFDATETIME_META_ATOM : { strName = ("RtfDateTimeMCAtom"); break; }
|
||||
case RECORD_TYPE_PROGTAGS : { strName = ("ProgTags"); break; }
|
||||
case RECORD_TYPE_PROGSTRINGTAG : { strName = ("ProgStringTag"); break; }
|
||||
case RECORD_TYPE_PROGBINARYTAG : { strName = ("ProgBinaryTag"); break; }
|
||||
case RECORD_TYPE_BINARYTAGDATA : { strName = ("BinaryTagData"); break; }
|
||||
case RECORD_TYPE_PRPUBLICINTOPTIONS : { strName = ("PrPublicIntOptions"); break; }
|
||||
case RECORD_TYPE_PERSISTPTRFULLBLOCK : { strName = ("PersistPtrFullBlock"); break; }
|
||||
case RECORD_TYPE_PERSISTPTRINCREMENTALBLOCK : { strName = ("PersistPtrIncrementalBlock"); break; }
|
||||
case RECORD_TYPE_GSCALING_ATOM2 : { strName = ("GScalingAtom2"); break; }
|
||||
case RECORD_TYPE_GRCOLOR_ATOM2 : { strName = ("GRColorAtom2"); break; }
|
||||
case RECORD_TYPE_NORMALVIEW_SETINFO9 : { strName = ("NormalViewSetInfoAtom"); break; }
|
||||
|
||||
// Records ~12000 seem to be related to the Comments used in PPT 2000/XP
|
||||
// (Comments in PPT97 are normal Escher text boxes)
|
||||
case RECORD_TYPE_COMMENT2000 : { strName = ("Comment2000"); break; }
|
||||
case RECORD_TYPE_COMMENT2000ATOM : { strName = ("Comment2000Atom"); break; }
|
||||
case RECORD_TYPE_COMMENT2000SUMMARY : { strName = ("Comment2000Summary"); break; }
|
||||
case RECORD_TYPE_COMMENT2000SUMMARYATOM : { strName = ("Comment2000SummaryAtom"); break; }
|
||||
|
||||
// Records ~12050 seem to be related to Document Encryption
|
||||
case RECORD_TYPE_DOCUMENT_ENCRYPTION_ATOM : { strName = ("DocumentEncryption"); break; }
|
||||
|
||||
case RECORD_TYPE_ORIGINALMAINMASTERID : { strName = ("OriginalMainMasterID"); break; }
|
||||
case RECORD_TYPE_COMPOSITEMASTERID : { strName = ("CompositeMasterID"); break; }
|
||||
case RECORD_TYPE_ROUNDTRIPCONTENTMASTERINFO12 : { strName = ("RoundTripContentMasterInfo12"); break; }
|
||||
case RECORD_TYPE_ROUNDTRIPSHAPEID12 : { strName = ("RoundTripShapeID12"); break; }
|
||||
case RECORD_TYPE_ROUNDTRIPHFPLACEHOLDER12 : { strName = ("RoundTripHfPlaceholder12"); break; }
|
||||
case RECORD_TYPE_ROUNDTRIPCONTENTMASTERID : { strName = ("RoundTripContentMasterID"); break; }
|
||||
case RECORD_TYPE_ROUNDTRIPOARTTEXTSTYLES12 : { strName = ("RoundTripOartTextStyles12"); break; }
|
||||
case RECORD_TYPE_ROUNDTRIPSHAPECHECKSUMFORCUSTOMLAYOUTS12 : { strName = ("RoundTripShapeChecksumForCustomLayouts12"); break; }
|
||||
case RECORD_TYPE_ROUNDTRIPNOTESMASTERTEXTSTYLES12 : { strName = ("RoundTripNotesMasterTextStyles12"); break; }
|
||||
case RECORD_TYPE_ROUNDTRIPCUSTOMTABLESTYLES12 : { strName = ("RoundTripCustomTableStyles12"); break; }
|
||||
|
||||
case RECORD_TYPE_ESCHER_DGG_CONTAINER : { strName = ("DrawingGroupContainer"); break; }
|
||||
case RECORD_TYPE_ESCHER_DGG : { strName = ("DrawingGroupRecord"); break; }
|
||||
case RECORD_TYPE_ESCHER_CLSID : { strName = ("CLSID_Record"); break; }
|
||||
case RECORD_TYPE_ESCHER_OPT : { strName = ("OPT"); break; }
|
||||
case RECORD_TYPE_ESCHER_BSTORE_CONTAINER : { strName = ("BlipStoreContainer"); break; }
|
||||
case RECORD_TYPE_ESCHER_BSE : { strName = ("BlipStoreEntry"); break; }
|
||||
case RECORD_TYPE_ESCHER_BLIP_START : { strName = ("BlipStart"); break; }
|
||||
case RECORD_TYPE_ESCHER_BLIP_END : { strName = ("BlipEnd"); break; }
|
||||
case RECORD_TYPE_ESCHER_DG_CONTAINER : { strName = ("DrawingContainer"); break; }
|
||||
case RECORD_TYPE_ESCHER_DG : { strName = ("DrawingRecord"); break; }
|
||||
case RECORD_TYPE_ESCHER_REGROUPITEMS : { strName = ("RegGroupItems"); break; }
|
||||
case RECORD_TYPE_ESCHER_COLORSCHEME : { strName = ("ColorSheme"); break; }
|
||||
case RECORD_TYPE_ESCHER_SPGR_CONTAINER : { strName = ("GroupShapeContainer"); break; }
|
||||
case RECORD_TYPE_ESCHER_SP_CONTAINER : { strName = ("ShapeContainer"); break; }
|
||||
case RECORD_TYPE_ESCHER_SPGR : { strName = ("GroupShapeRecord"); break; }
|
||||
case RECORD_TYPE_ESCHER_SP : { strName = ("ShapeRecord"); break; }
|
||||
case RECORD_TYPE_ESCHER_TEXTBOX : { strName = ("TextBox"); break; }
|
||||
case RECORD_TYPE_ESCHER_CLIENTTEXTBOX : { strName = ("ClientTextBox"); break; }
|
||||
case RECORD_TYPE_ESCHER_ANCHOR : { strName = ("Anchor"); break; }
|
||||
case RECORD_TYPE_ESCHER_CHILDANCHOR : { strName = ("ChildAnchor"); break; }
|
||||
case RECORD_TYPE_ESCHER_CLIENTANCHOR : { strName = ("ClientAnchor"); break; }
|
||||
case RECORD_TYPE_ESCHER_CLIENTDATA : { strName = ("ClientData"); break; }
|
||||
case RECORD_TYPE_ESCHER_SOLVERCONTAINER : { strName = ("SolverContainer"); break; }
|
||||
case RECORD_TYPE_ESCHER_CONNECTORRULE : { strName = ("ConnectorRule"); break; }
|
||||
case RECORD_TYPE_ESCHER_ALIGNRULE : { strName = ("AlignRule"); break; }
|
||||
case RECORD_TYPE_ESCHER_ARCRULE : { strName = ("ArcRule"); break; }
|
||||
case RECORD_TYPE_ESCHER_CLIENTRULE : { strName = ("ClientRule"); break; }
|
||||
case RECORD_TYPE_ESCHER_CALLOUTRULE : { strName = ("CallOutRule"); break; }
|
||||
case RECORD_TYPE_ESCHER_SELECTION : { strName = ("Selection"); break; }
|
||||
case RECORD_TYPE_ESCHER_COLORMRU : { strName = ("ColorMRU"); break; }
|
||||
case RECORD_TYPE_ESCHER_DELETEDPSPL : { strName = ("DeletedPSPL"); break; }
|
||||
case RECORD_TYPE_ESCHER_SPLITMENUCOLORS : { strName = ("SplitMenuColors"); break; }
|
||||
case RECORD_TYPE_ESCHER_OLEOBJECT : { strName = ("OleObject"); break; }
|
||||
case RECORD_TYPE_ESCHER_SECONDARY_OPT : { strName = ("SecondaryOPT"); break; }
|
||||
case RECORD_TYPE_ESCHER_TETRIARY_OPT : { strName = ("TetriaryOPT"); break; }
|
||||
default: break;
|
||||
};
|
||||
|
||||
if ((dwType > RECORD_TYPE_ESCHER_BLIP_START) && (dwType < RECORD_TYPE_ESCHER_BLIP_END))
|
||||
{
|
||||
strName = ("Blip");
|
||||
}
|
||||
|
||||
return strName;
|
||||
}
|
||||
|
||||
@ -56,7 +56,7 @@ protected:
|
||||
bool ReadCurrentUser(POLE::Stream *pStm);
|
||||
void ReadEncryptedSummary();
|
||||
void ReadDocumentSummary();
|
||||
void ReadPictures();
|
||||
void ReadPictures();
|
||||
|
||||
private:
|
||||
bool m_bDualStorage;
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
#include "../../../ASCOfficePPTXFile/Editor/Drawing/TextAttributesEx.h"
|
||||
#include "SlidePersist.h"
|
||||
#include "../../../OfficeUtils/src/OfficeUtils.h"
|
||||
//#include "../Records/OfficeArtClientData.h"
|
||||
|
||||
|
||||
using namespace PPT_FORMAT;
|
||||
|
||||
|
||||
@ -32,10 +32,8 @@
|
||||
#include "Records.h"
|
||||
|
||||
#include "../Records/RecordsIncluder.h"
|
||||
#include "../Records/Animations/_includer.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
|
||||
std::wstring CUnknownRecord::ReadStringW(const CFStreamPtr &pStream, int lLen)
|
||||
{
|
||||
@ -162,486 +160,157 @@ void CRecordsContainer::ReadFromStream(SRecordHeader & oHeader, POLE::Stream* pS
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#define RECORDNAME_BY_TYPE(RECORD_TYPE, RECORD_NAME) \
|
||||
case RECORD_TYPE: { name = RECORD_NAME; break;} \
|
||||
|
||||
std::string GetRecordName(PPT_FORMAT::RecordType dwType)
|
||||
{
|
||||
std::string name;
|
||||
switch (dwType) {
|
||||
RECORDNAME_BY_TYPE ( RT_Document, "DocumentContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_DocumentAtom, "DocumentAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_EndDocumentAtom, "EndDocumentAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_Slide, "SlideContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideAtom, "SlideAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_Notes, "Notes" )
|
||||
RECORDNAME_BY_TYPE ( RT_NotesAtom, "NotesAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_Environment, "Environment" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlidePersistAtom, "SlidePersistAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_MainMaster, "MainMaster" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideShowSlideInfoAtom, "SlideShowSlideInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideViewInfo, "SlideViewInfo" )
|
||||
RECORDNAME_BY_TYPE ( RT_GuideAtom, "GuideAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ViewInfoAtom, "ViewInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideViewInfoAtom, "SlideViewInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_VbaInfo, "VbaInfo" )
|
||||
RECORDNAME_BY_TYPE ( RT_VbaInfoAtom, "VbaInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideShowDocInfoAtom, "SlideShowDocInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_Summary, "Summary" )
|
||||
RECORDNAME_BY_TYPE ( RT_DocRoutingSlipAtom, "DocRoutingSlipAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_OutlineViewInfo, "OutlineViewInfo" )
|
||||
RECORDNAME_BY_TYPE ( RT_SorterViewInfo, "SorterViewInfo" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalObjectList, "ExternalObjectList" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalObjectListAtom, "ExternalObjectListAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_DrawingGroup, "DrawingGroup" )
|
||||
RECORDNAME_BY_TYPE ( RT_Drawing, "Drawing" )
|
||||
RECORDNAME_BY_TYPE ( RT_GridSpacing10Atom, "GridSpacing10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripTheme12Atom, "RoundTripTheme12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripColorMapping12Atom, "RoundTripColorMapping12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_NamedShows, "NamedShows" )
|
||||
RECORDNAME_BY_TYPE ( RT_NamedShow, "NamedShow" )
|
||||
RECORDNAME_BY_TYPE ( RT_NamedShowSlidesAtom, "NamedShowSlidesAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_NotesTextViewInfo9, "NotesTextViewInfo9" )
|
||||
RECORDNAME_BY_TYPE ( RT_NormalViewSetInfo9, "NormalViewSetInfo9" )
|
||||
RECORDNAME_BY_TYPE ( RT_NormalViewSetInfo9Atom, "NormalViewSetInfo9Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripOriginalMainMasterId12Atom, "RoundTripOriginalMainMasterId12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripCompositeMasterId12Atom, "RoundTripCompositeMasterId12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripContentMasterInfo12Atom, "RoundTripContentMasterInfo12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripShapeId12Atom, "RoundTripShapeId12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripHFPlaceholder12Atom, "RoundTripHFPlaceholder12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripContentMasterId12Atom, "RoundTripContentMasterId12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripOArtTextStyles12Atom, "RoundTripOArtTextStyles12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripHeaderFooterDefaults12Atom, "RoundTripHeaderFooterDefaults12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripDocFlags12Atom, "RoundTripDocFlags12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripShapeCheckSumForCL12Atom, "RoundTripShapeCheckSumForCL12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripNotesMasterTextStyles12Atom, "RoundTripNotesMasterTextStyles12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripCustomTableStyles12Atom, "RoundTripCustomTableStyles12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_List, "List" )
|
||||
RECORDNAME_BY_TYPE ( RT_FontCollection, "FontCollection" )
|
||||
RECORDNAME_BY_TYPE ( RT_FontCollection10, "FontCollection10" )
|
||||
RECORDNAME_BY_TYPE ( RT_BookmarkCollection, "BookmarkCollection" )
|
||||
RECORDNAME_BY_TYPE ( RT_SoundCollection, "SoundCollection" )
|
||||
RECORDNAME_BY_TYPE ( RT_SoundCollectionAtom, "SoundCollectionAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_Sound, "Sound" )
|
||||
RECORDNAME_BY_TYPE ( RT_SoundDataBlob, "SoundDataBlob" )
|
||||
RECORDNAME_BY_TYPE ( RT_BookmarkSeedAtom, "BookmarkSeedAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ColorSchemeAtom, "ColorSchemeAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_BlipCollection9, "BlipCollection9" )
|
||||
RECORDNAME_BY_TYPE ( RT_BlipEntity9Atom, "BlipEntity9Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalObjectRefAtom, "ExternalObjectRefAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_PlaceholderAtom, "PlaceholderAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ShapeAtom, "ShapeAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ShapeFlags10Atom, "ShapeFlags10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripNewPlaceholderId12Atom, "RoundTripNewPlaceholderId12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_OutlineTextRefAtom, "OutlineTextRefAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextHeaderAtom, "TextHeaderAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextCharsAtom, "TextCharsAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_StyleTextPropAtom, "StyleTextPropAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_MasterTextPropAtom, "MasterTextPropAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextMasterStyleAtom, "TextMasterStyleAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextCharFormatExceptionAtom, "TextCharFormatExceptionAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextParagraphFormatExceptionAtom, "TextParagraphFormatExceptionAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextRulerAtom, "TextRulerAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextBookmarkAtom, "TextBookmarkAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextBytesAtom, "TextBytesAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextSpecialInfoDefaultAtom, "TextSpecialInfoDefaultAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextSpecialInfoAtom, "TextSpecialInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_DefaultRulerAtom, "DefaultRulerAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_StyleTextProp9Atom, "StyleTextProp9Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextMasterStyle9Atom, "TextMasterStyle9Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_OutlineTextProps9, "OutlineTextProps9" )
|
||||
RECORDNAME_BY_TYPE ( RT_OutlineTextPropsHeader9Atom, "OutlineTextPropsHeader9Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextDefaults9Atom, "TextDefaults9Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_StyleTextProp10Atom, "StyleTextProp10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextMasterStyle10Atom, "TextMasterStyle10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_OutlineTextProps10, "OutlineTextProps10" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextDefaults10Atom, "TextDefaults10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_OutlineTextProps11, "OutlineTextProps11" )
|
||||
RECORDNAME_BY_TYPE ( RT_StyleTextProp11Atom, "StyleTextProp11Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_FontEntityAtom, "FontEntityAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_FontEmbedDataBlob, "FontEmbedDataBlob" )
|
||||
RECORDNAME_BY_TYPE ( RT_CString, "CString" )
|
||||
RECORDNAME_BY_TYPE ( RT_MetaFile, "MetaFile" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalOleObjectAtom, "ExternalOleObjectAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_Kinsoku, "Kinsoku" )
|
||||
RECORDNAME_BY_TYPE ( RT_Handout, "Handout" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalOleEmbed, "ExternalOleEmbed" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalOleEmbedAtom, "ExternalOleEmbedAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalOleLink, "ExternalOleLink" )
|
||||
RECORDNAME_BY_TYPE ( RT_BookmarkEntityAtom, "BookmarkEntityAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalOleLinkAtom, "ExternalOleLinkAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_KinsokuAtom, "KinsokuAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalHyperlinkAtom, "ExternalHyperlinkAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalHyperlink, "ExternalHyperlink" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideNumberMetaCharAtom, "SlideNumberMetaCharAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_HeadersFooters, "HeadersFooters" )
|
||||
RECORDNAME_BY_TYPE ( RT_HeadersFootersAtom, "HeadersFootersAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_TextInteractiveInfoAtom, "TextInteractiveInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalHyperlink9, "ExternalHyperlink9" )
|
||||
RECORDNAME_BY_TYPE ( RT_RecolorInfoAtom, "RecolorInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalOleControl, "ExternalOleControl" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideListWithText, "SlideListWithText" )
|
||||
RECORDNAME_BY_TYPE ( RT_AnimationInfoAtom, "AnimationInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_InteractiveInfo, "InteractiveInfo" )
|
||||
RECORDNAME_BY_TYPE ( RT_InteractiveInfoAtom, "InteractiveInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_UserEditAtom, "UserEditAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_CurrentUserAtom, "CurrentUserAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_DateTimeMetaCharAtom, "DateTimeMetaCharAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_GenericDateMetaCharAtom, "GenericDateMetaCharAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_HeaderMetaCharAtom, "HeaderMetaCharAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_FooterMetaCharAtom, "FooterMetaCharAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalOleControlAtom, "ExternalOleControlAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalMediaAtom, "ExternalMediaAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalVideo, "ExternalVideo" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalAviMovie, "ExternalAviMovie" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalMciMovie, "ExternalMciMovie" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalMidiAudio, "ExternalMidiAudio" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalCdAudio, "ExternalCdAudio" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalWavAudioEmbedded, "ExternalWavAudioEmbedded" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalWavAudioLink, "ExternalWavAudioLink" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalOleObjectStg, "ExternalOleObjectStg" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalCdAudioAtom, "ExternalCdAudioAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalWavAudioEmbeddedAtom, "ExternalWavAudioEmbeddedAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_AnimationInfo, "AnimationInfo" )
|
||||
RECORDNAME_BY_TYPE ( RT_RtfDateTimeMetaCharAtom, "RtfDateTimeMetaCharAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ExternalHyperlinkFlagsAtom, "ExternalHyperlinkFlagsAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ProgTags, "ProgTags" )
|
||||
RECORDNAME_BY_TYPE ( RT_ProgStringTag, "ProgStringTag" )
|
||||
RECORDNAME_BY_TYPE ( RT_ProgBinaryTag, "ProgBinaryTag" )
|
||||
RECORDNAME_BY_TYPE ( RT_BinaryTagDataBlob, "BinaryTagDataBlob" )
|
||||
RECORDNAME_BY_TYPE ( RT_PrintOptionsAtom, "PrintOptionsAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_PersistDirectoryAtom, "PersistDirectoryAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_PresentationAdvisorFlags9Atom, "PresentationAdvisorFlags9Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_HtmlDocInfo9Atom, "HtmlDocInfo9Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_HtmlPublishInfoAtom, "HtmlPublishInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_HtmlPublishInfo9, "HtmlPublishInfo9" )
|
||||
RECORDNAME_BY_TYPE ( RT_BroadcastDocInfo9, "BroadcastDocInfo9" )
|
||||
RECORDNAME_BY_TYPE ( RT_BroadcastDocInfo9Atom, "BroadcastDocInfo9Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_EnvelopeFlags9Atom, "EnvelopeFlags9Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_EnvelopeData9Atom, "EnvelopeData9Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_VisualShapeAtom, "VisualShapeAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_HashCodeAtom, "HashCodeAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_VisualPageAtom, "VisualPageAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_BuildList, "BuildList" )
|
||||
RECORDNAME_BY_TYPE ( RT_BuildAtom, "BuildAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ChartBuild, "ChartBuild" )
|
||||
RECORDNAME_BY_TYPE ( RT_ChartBuildAtom, "ChartBuildAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_DiagramBuild, "DiagramBuild" )
|
||||
RECORDNAME_BY_TYPE ( RT_DiagramBuildAtom, "DiagramBuildAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_ParaBuild, "ParaBuild" )
|
||||
RECORDNAME_BY_TYPE ( RT_ParaBuildAtom, "ParaBuildAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_LevelInfoAtom, "LevelInfoAtom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripAnimationAtom12Atom, "RoundTripAnimationAtom12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripAnimationHashAtom12Atom, "RoundTripAnimationHashAtom12Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_Comment10, "Comment10" )
|
||||
RECORDNAME_BY_TYPE ( RT_Comment10Atom, "Comment10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_CommentIndex10, "CommentIndex10" )
|
||||
RECORDNAME_BY_TYPE ( RT_CommentIndex10Atom, "CommentIndex10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_LinkedShape10Atom, "LinkedShape10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_LinkedSlide10Atom, "LinkedSlide10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideFlags10Atom, "SlideFlags10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideTime10Atom, "SlideTime10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_DiffTree10, "DiffTree10" )
|
||||
RECORDNAME_BY_TYPE ( RT_Diff10, "Diff10" )
|
||||
RECORDNAME_BY_TYPE ( RT_Diff10Atom, "Diff10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideListTableSize10Atom, "SlideListTableSize10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideListEntry10Atom, "SlideListEntry10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_SlideListTable10, "SlideListTable10" )
|
||||
RECORDNAME_BY_TYPE ( RT_CryptSession10Container, "CryptSession10Container" )
|
||||
RECORDNAME_BY_TYPE ( RT_FontEmbedFlags10Atom, "FontEmbedFlags10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_FilterPrivacyFlags10Atom, "FilterPrivacyFlags10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_DocToolbarStates10Atom, "DocToolbarStates10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_PhotoAlbumInfo10Atom, "PhotoAlbumInfo10Atom" )
|
||||
RECORDNAME_BY_TYPE ( RT_SmartTagStore11Container, "SmartTagStore11Container" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripSlideSyncInfo12, "RoundTripSlideSyncInfo12" )
|
||||
RECORDNAME_BY_TYPE ( RT_RoundTripSlideSyncInfoAtom12, "RoundTripSlideSyncInfoAtom12" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeConditionContainer, "TimeConditionContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeNode, "TimeNode" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeCondition, "TimeCondition" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeModifier, "TimeModifier" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeBehaviorContainer, "TimeBehaviorContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeAnimateBehaviorContainer, "TimeAnimateBehaviorContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeColorBehaviorContainer, "TimeColorBehaviorContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeEffectBehaviorContainer, "TimeEffectBehaviorContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeMotionBehaviorContainer, "TimeMotionBehaviorContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeRotationBehaviorContainer, "TimeRotationBehaviorContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeScaleBehaviorContainer, "TimeScaleBehaviorContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeSetBehaviorContainer, "TimeSetBehaviorContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeCommandBehaviorContainer, "TimeCommandBehaviorContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeBehavior, "TimeBehavior" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeAnimateBehavior, "TimeAnimateBehavior" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeColorBehavior, "TimeColorBehavior" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeEffectBehavior, "TimeEffectBehavior" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeMotionBehavior, "TimeMotionBehavior" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeRotationBehavior, "TimeRotationBehavior" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeScaleBehavior, "TimeScaleBehavior" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeSetBehavior, "TimeSetBehavior" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeCommandBehavior, "TimeCommandBehavior" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeClientVisualElement, "TimeClientVisualElement" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimePropertyList, "TimePropertyList" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeVariantList, "TimeVariantList" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeAnimationValueList, "TimeAnimationValueList" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeIterateData, "TimeIterateData" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeSequenceData, "TimeSequenceData" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeVariant, "TimeVariant" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeAnimationValue, "TimeAnimationValue" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeExtTimeNodeContainer, "TimeExtTimeNodeContainer" )
|
||||
RECORDNAME_BY_TYPE ( RT_TimeSubEffectContainer, "TimeSubEffectContainer" )
|
||||
|
||||
RECORDNAME_BY_TYPE ( RTE_DGG_CONTAINER, "DGG_CONTAINER" )
|
||||
RECORDNAME_BY_TYPE ( RTE_BSTORE_CONTAINER, "BSTORE_CONTAINER" )
|
||||
RECORDNAME_BY_TYPE ( RTE_DG_CONTAINER, "DG_CONTAINER" )
|
||||
RECORDNAME_BY_TYPE ( RTE_SPGR_CONTAINER, "SPGR_CONTAINER" )
|
||||
RECORDNAME_BY_TYPE ( RTE_SP_CONTAINER, "SP_CONTAINER" )
|
||||
RECORDNAME_BY_TYPE ( RTE_SOLVERCONTAINER, "SOLVERCONTAINER" )
|
||||
RECORDNAME_BY_TYPE ( RTE_DGG, "DGG" )
|
||||
RECORDNAME_BY_TYPE ( RTE_BSE, "BSE" )
|
||||
RECORDNAME_BY_TYPE ( RTE_DG, "DG" )
|
||||
RECORDNAME_BY_TYPE ( RTE_SPGR, "SPGR" )
|
||||
RECORDNAME_BY_TYPE ( RTE_SP, "SP" )
|
||||
RECORDNAME_BY_TYPE ( RTE_OPT, "OPT" )
|
||||
RECORDNAME_BY_TYPE ( RTE_TEXTBOX, "TEXTBOX" )
|
||||
RECORDNAME_BY_TYPE ( RTE_CLIENTTEXTBOX, "CLIENTTEXTBOX" )
|
||||
RECORDNAME_BY_TYPE ( RTE_ANCHOR, "ANCHOR" )
|
||||
RECORDNAME_BY_TYPE ( RTE_CHILDANCHOR, "CHILDANCHOR" )
|
||||
RECORDNAME_BY_TYPE ( RTE_CLIENTANCHOR, "CLIENTANCHOR" )
|
||||
RECORDNAME_BY_TYPE ( RTE_CLIENTDATA, "CLIENTDATA" )
|
||||
RECORDNAME_BY_TYPE ( RTE_CONNECTORRULE, "CONNECTORRULE" )
|
||||
RECORDNAME_BY_TYPE ( RTE_ALIGNRULE, "ALIGNRULE" )
|
||||
RECORDNAME_BY_TYPE ( RTE_ARCRULE, "ARCRULE" )
|
||||
RECORDNAME_BY_TYPE ( RTE_CLIENTRULE, "CLIENTRULE" )
|
||||
RECORDNAME_BY_TYPE ( RTE_CLSID, "CLSID" )
|
||||
RECORDNAME_BY_TYPE ( RTE_CALLOUTRULE, "CALLOUTRULE" )
|
||||
RECORDNAME_BY_TYPE ( RTE_BLIP_START, "BLIP_START" )
|
||||
|
||||
RECORDNAME_BY_TYPE ( RTE_BLIP_EMF, "BLIP_EMF" )
|
||||
RECORDNAME_BY_TYPE ( RTE_BLIP_WMF, "BLIP_WMF" )
|
||||
RECORDNAME_BY_TYPE ( RTE_BLIP_PICT, "BLIP_PICT" )
|
||||
RECORDNAME_BY_TYPE ( RTE_BLIP_JPEG, "BLIP_JPEG" )
|
||||
RECORDNAME_BY_TYPE ( RTE_BLIP_PNG, "BLIP_PNG" )
|
||||
RECORDNAME_BY_TYPE ( RTE_BLIP_DIB, "BLIP_DIB" )
|
||||
|
||||
RECORDNAME_BY_TYPE ( RTE_BLIP_END, "BLIP_END" )
|
||||
RECORDNAME_BY_TYPE ( RTE_REGROUPITEMS, "REGROUPITEMS" )
|
||||
RECORDNAME_BY_TYPE ( RTE_SELECTION, "SELECTION" )
|
||||
|
||||
RECORDNAME_BY_TYPE ( RTE_COLORMRU, "COLORMRU" )
|
||||
RECORDNAME_BY_TYPE ( RTE_DELETEDPSPL, "DELETEDPSPL" )
|
||||
RECORDNAME_BY_TYPE ( RTE_SPLITMENUCOLORS, "SPLITMENUCOLORS" )
|
||||
RECORDNAME_BY_TYPE ( RTE_OLEOBJECT, "OLEOBJECT" )
|
||||
RECORDNAME_BY_TYPE ( RTE_COLORSCHEME, "COLORSCHEME" )
|
||||
RECORDNAME_BY_TYPE ( RTE_SECONDARY_OPT, "SECONDARY_OPT" )
|
||||
RECORDNAME_BY_TYPE ( RTE_TETRIARY_OPT, "TETRIARY_OPT" )
|
||||
RECORDNAME_BY_TYPE ( RTE_BLIP_TIFF, "BLIP_TIFF" )
|
||||
default:
|
||||
name = "UnknownRecord!";
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
IRecord* CreateByType(SRecordHeader oHeader)
|
||||
{
|
||||
|
||||
IRecord* pRecord = NULL;
|
||||
switch (oHeader.RecType)
|
||||
{
|
||||
CREATE_BY_TYPE(RT_AnimationInfo, CRecordAnimationInfoContainer)
|
||||
CREATE_BY_TYPE(RT_AnimationInfoAtom, CRecordAnimationInfoAtom)
|
||||
CREATE_BY_TYPE(RT_HashCodeAtom, CRecordHashCode10Atom)
|
||||
CREATE_BY_TYPE(RT_BuildList, CRecordBuildListContainer)
|
||||
CREATE_BY_TYPE(RT_ParaBuild, CRecordParaBuildContainer)
|
||||
CREATE_BY_TYPE(RT_ChartBuild, CRecordChartBuildContainer)
|
||||
CREATE_BY_TYPE(RT_DiagramBuild, CRecordDiagramBuildContainer)
|
||||
CREATE_BY_TYPE(RT_ParaBuildAtom, CRecordParaBuildAtom)
|
||||
CREATE_BY_TYPE(RT_LevelInfoAtom, CRecordLevelInfoAtom)
|
||||
CREATE_BY_TYPE(RT_ChartBuildAtom, CRecordChartBuildAtom)
|
||||
CREATE_BY_TYPE(RT_DiagramBuildAtom, CRecordDiagramBuildAtom)
|
||||
CREATE_BY_TYPE(RT_TimeExtTimeNodeContainer, CRecordExtTimeNodeContainer)
|
||||
CREATE_BY_TYPE(RT_TimeSubEffectContainer, CRecordSubEffectContainer)
|
||||
CREATE_BY_TYPE(RT_TimeNode, CRecordTimeNodeAtom)
|
||||
CREATE_BY_TYPE(RT_TimePropertyList, CRecordTimePropertyList4TimeNodeContainer)
|
||||
CREATE_BY_TYPE(RT_TimeAnimateBehaviorContainer, CRecordTimeAnimateBehaviorContainer)
|
||||
CREATE_BY_TYPE(RT_TimeAnimateBehavior, CRecordTimeAnimateBehaviorAtom)
|
||||
CREATE_BY_TYPE(RT_TimeAnimationValueList, CRecordTimeAnimationValueListContainer)
|
||||
CREATE_BY_TYPE(RT_TimeAnimationValue, CRecordTimeAnimationValueAtom)
|
||||
CREATE_BY_TYPE(RT_TimeBehaviorContainer, CRecordTimeBehaviorContainer)
|
||||
CREATE_BY_TYPE(RT_TimeVariantList, CRecordTimeStringListContainer)
|
||||
CREATE_BY_TYPE(RT_TimeClientVisualElement, CRecordClientVisualElementContainer)
|
||||
CREATE_BY_TYPE(RT_VisualPageAtom, CRecordVisualPageAtom)
|
||||
// CREATE_BY_TYPE(RT_VisualShapeAtom, CRecordVisualShapeOrSoundAtom)
|
||||
// CREATE_BY_TYPE(RT_VisualShapeAtom, CRecordVisualSoundAtom)
|
||||
CREATE_BY_TYPE(RT_TimeColorBehaviorContainer, CRecordTimeColorBehaviorContainer)
|
||||
CREATE_BY_TYPE(RT_TimeColorBehavior, CRecordTimeColorBehaviorAtom)
|
||||
CREATE_BY_TYPE(RT_TimeEffectBehaviorContainer, CRecordTimeEffectBehaviorContainer)
|
||||
CREATE_BY_TYPE(RT_TimeEffectBehavior, CRecordTimeEffectBehaviorAtom)
|
||||
CREATE_BY_TYPE(RT_TimeMotionBehaviorContainer, CRecordTimeMotionBehaviorContainer)
|
||||
CREATE_BY_TYPE(RT_TimeMotionBehavior, CRecordTimeMotionBehaviorAtom)
|
||||
CREATE_BY_TYPE(RT_TimeRotationBehaviorContainer, CRecordTimeRotationBehaviorContainer)
|
||||
CREATE_BY_TYPE(RT_TimeRotationBehavior, CRecordTimeRotationBehaviorAtom)
|
||||
CREATE_BY_TYPE(RT_TimeScaleBehaviorContainer, CRecordTimeScaleBehaviorContainer)
|
||||
CREATE_BY_TYPE(RT_TimeScaleBehavior, CRecordTimeScaleBehaviorAtom)
|
||||
CREATE_BY_TYPE(RT_TimeSetBehaviorContainer, CRecordTimeSetBehaviorContainer)
|
||||
CREATE_BY_TYPE(RT_TimeSetBehavior, CRecordTimeSetBehaviorAtom)
|
||||
CREATE_BY_TYPE(RT_TimeCommandBehaviorContainer, CRecordTimeCommandBehaviorContainer)
|
||||
CREATE_BY_TYPE(RT_TimeCommandBehavior, CRecordTimeCommandBehaviorAtom)
|
||||
CREATE_BY_TYPE(RT_TimeIterateData, CRecordTimeIterateDataAtom)
|
||||
CREATE_BY_TYPE(RT_TimeSequenceData, CRecordTimeSequenceDataAtom)
|
||||
CREATE_BY_TYPE(RT_TimeConditionContainer, CRecordTimeConditionContainer)
|
||||
CREATE_BY_TYPE(RT_TimeCondition, CRecordTimeConditionAtom)
|
||||
CREATE_BY_TYPE(RT_TimeModifier, CRecordTimeModifierAtom)
|
||||
switch (oHeader.RecType)
|
||||
{
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SLIDELISTWITHTEXT , CRecordSlideListWithText)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_DOCUMENT_ATOM , CRecordDocumentAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ENDDOCUMENT , CRecordEndDocument)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_SSLIDE_LAYOUT_ATOM , CRecordSSlideLayoutAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SLIDE_ATOM , CRecordSlideAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_NOTES_ATOM , CRecordNotesAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SLIDE_PERSIST_ATOM , CRecordSlidePersistAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ENVIRONMENT , CRecordDocumentTextInfo)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_FONTCOLLECTION , CRecordFontCollection)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_FONTCOLLECTION10 , CRecordFontCollection)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordMasterPersistAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordNotesPersistAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SSSLIDE_INFO_ATOM , CSlideShowSlideInfoAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_GUIDE_ATOM , CRecordGuideAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_VIEWINFO_ATOM , CRecordZoomViewInfoAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_VIEWINFO_ATOM , CRecordNoZoomViewInfoAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_VIEWINFO_ATOM , CRecordViewInfoAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SLIDE_VIEWINFO_ATOM , CRecordSlideViewInfoAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_VBAINFO_ATOM , CRecordVBAInfoAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SSDOCINFO_ATOM , CRecordSSDocInfoAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_DOC_ROUTING_SLIP , CRecordDocRoutingSlipAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EXOBJLIST_ATOM , CRecordExObjListAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordGridSpacing10Atom)
|
||||
CREATE_BY_TYPE(RT_RoundTripTheme12Atom , CRecordRoundTripThemeAtom)
|
||||
CREATE_BY_TYPE(RT_RoundTripColorMapping12Atom , CRecordRoundTripColorMappingAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_NAMEDSHOW_SLIDES , CRecordNamedShowSlidesAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_SHEET_PROPERTIES , CRecordNormalViewSetInfoAtom)
|
||||
|
||||
CREATE_BY_TYPE(RT_SlideListWithText , CRecordSlideListWithText)
|
||||
CREATE_BY_TYPE(RT_DocumentAtom , CRecordDocumentAtom)
|
||||
CREATE_BY_TYPE(RT_EndDocumentAtom , CRecordEndDocument)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_SSLIDE_LAYOUT_ATOM , CRecordSSlideLayoutAtom)
|
||||
CREATE_BY_TYPE(RT_SlideAtom , CRecordSlideAtom)
|
||||
CREATE_BY_TYPE(RT_NotesAtom , CRecordNotesAtom)
|
||||
CREATE_BY_TYPE(RT_SlidePersistAtom , CRecordSlidePersistAtom)
|
||||
CREATE_BY_TYPE(RT_Environment , CRecordDocumentTextInfo)
|
||||
CREATE_BY_TYPE(RT_FontCollection , CRecordFontCollection)
|
||||
CREATE_BY_TYPE(RT_FontCollection10 , CRecordFontCollection)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordMasterPersistAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordNotesPersistAtom)
|
||||
CREATE_BY_TYPE(RT_SlideShowSlideInfoAtom , CSlideShowSlideInfoAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_GUIDE_ATOM , CRecordGuideAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_VIEWINFO_ATOM , CRecordZoomViewInfoAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_VIEWINFO_ATOM , CRecordNoZoomViewInfoAtom)
|
||||
CREATE_BY_TYPE(RT_ViewInfoAtom , CRecordViewInfoAtom)
|
||||
CREATE_BY_TYPE(RT_SlideViewInfoAtom , CRecordSlideViewInfoAtom)
|
||||
CREATE_BY_TYPE(RT_VbaInfoAtom , CRecordVBAInfoAtom)
|
||||
CREATE_BY_TYPE(RT_SlideShowDocInfoAtom , CRecordSSDocInfoAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_DOC_ROUTING_SLIP , CRecordDocRoutingSlipAtom)
|
||||
CREATE_BY_TYPE(RT_ExternalObjectListAtom , CRecordExObjListAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordGridSpacing10Atom)
|
||||
CREATE_BY_TYPE(RT_RoundTripTheme12Atom , CRecordRoundTripThemeAtom)
|
||||
CREATE_BY_TYPE(RT_RoundTripColorMapping12Atom , CRecordRoundTripColorMappingAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_NAMEDSHOW_SLIDES , CRecordNamedShowSlidesAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_SHEET_PROPERTIES , CRecordNormalViewSetInfoAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_COLOR_SCHEME_ATOM , CRecordColorSchemeAtom)
|
||||
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ORIGINALMAINMASTERID , CRecordTripOriginalMasterId12Atom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_COMPOSITEMASTERID , CRecordTripCompositeMasterId12Atom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPCONTENTMASTERINFO12 , CRecordRoundTripContentMasterInfo12Atom) // ECMA-376 дубль
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPSHAPEID12 , CRecordRoundTripShapeId12Atom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPHFPLACEHOLDER12 , CRecordRoundTripHFPlaceholder12Atom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPCONTENTMASTERID , CRecordRoundTripContentMasterId12Atom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPOARTTEXTSTYLES12 , CRecordRoundTripOArtTextStyles12Atom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPHEADERFOOTERDEFAULTS12ATOM , CRecordRoundTripHeaderFooterDefaults12Atom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPNOTESMASTERTEXTSTYLES12 , CRecordRoundTripNotesMasterTextStyles12Atom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPDOCFLAGS12 , CRecordRoundTripDocFlags12Atom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPSHAPECHECKSUMFORCUSTOMLAYOUTS12 , CRecordRoundTripShapeCheckSumForCustomLayouts12Atom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPCUSTOMTABLESTYLES12 , CRecordRoundTripCustomTableStyles12Atom)
|
||||
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_BOOKMARK_SEED_ATOM , CRecordBookmarkSeedAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordBlipEntityAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordExObjRefAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_OEPLACEHOLDER_ATOM , CRecordPlaceHolderAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordShapeFlagsAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordShapeFlags10Atom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordRoundTripNewPlaceholderId12Atom)
|
||||
|
||||
CREATE_BY_TYPE(RECORD_TYPE_OUTLINE_TEXTREF_ATOM , CRecordOutlineTextRefAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_TEXT_HEADER_ATOM , CRecordTextHeaderAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_TEXT_CHARS_ATOM , CRecordTextCharsAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_STYLE_TEXTPROP_ATOM , CRecordStyleTextPropAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_TEXTSPECINFO_ATOM , CRecordTextSpecInfoAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_BASE_TEXTPROP_ATOM , CRecordMasterTextPropAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_TXMASTERSTYLE_ATOM , CRecordTextMasterStyleAtom)
|
||||
|
||||
CREATE_BY_TYPE(RECORD_TYPE_TXCFSTYLE_ATOM , CRecordTextCFExceptionAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_TXPFSTYLE_ATOM , CRecordTextPFExceptionAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_TXSISTYLE_ATOM , CRecordTextSIExceptionAtom)
|
||||
|
||||
CREATE_BY_TYPE(RECORD_TYPE_TEXTRULER_ATOM , CRecordTextRulerAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_TEXTBOOKMARK_ATOM , CRecordTextBookmarkAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_TEXTBYTES_ATOM , CRecordTextBytesAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordOutlineTextPropsHeaderExAtom)
|
||||
|
||||
CREATE_BY_TYPE(RT_SorterViewInfo , CRecordColorSchemeAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_GUIDE_ATOM , CRecordGuideAtom)
|
||||
|
||||
CREATE_BY_TYPE(RECORD_TYPE_FONTENTITY_ATOM , CRecordFontEntityAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_FONT_EMBEDDEDDATA , CRecordFontEmbedDataBlob)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_METAFILE , CRecordMetafileBlob)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_CSTRING , CRecordCString)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SOUNDCOLL_ATOM , CRecordSoundCollAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EXOLEOBJ_ATOM , CRecordExOleObjAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EXEMBEDATOM , CRecordExOleEmbedAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_BOOKMARK_ENTITY_ATOM , CRecordBookmarkEntityAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_EXLINK_ATOM , CRecordExOleLinkAtom)
|
||||
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SRKINSOKU_ATOM , CRecordKinsokuAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EXHYPERLINK , CRecordExHyperlinkContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EXHYPERLINK_ATOM , CRecordExHyperlinkAtom)
|
||||
|
||||
CREATE_BY_TYPE(RT_RoundTripOriginalMainMasterId12Atom , CRecordTripOriginalMasterId12Atom)
|
||||
CREATE_BY_TYPE(RT_RoundTripCompositeMasterId12Atom , CRecordTripCompositeMasterId12Atom)
|
||||
CREATE_BY_TYPE(RT_RoundTripContentMasterInfo12Atom , CRecordRoundTripContentMasterInfo12Atom) // ECMA-376 дубль
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPSHAPEID12 , CRecordRoundTripShapeId12Atom)
|
||||
CREATE_BY_TYPE(RT_RoundTripHFPlaceholder12Atom , CRecordRoundTripHFPlaceholder12Atom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPCONTENTMASTERID , CRecordRoundTripContentMasterId12Atom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPOARTTEXTSTYLES12 , CRecordRoundTripOArtTextStyles12Atom)
|
||||
CREATE_BY_TYPE(RT_RoundTripHeaderFooterDefaults12Atom , CRecordRoundTripHeaderFooterDefaults12Atom)
|
||||
CREATE_BY_TYPE(RT_RoundTripNotesMasterTextStyles12Atom , CRecordRoundTripNotesMasterTextStyles12Atom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPDOCFLAGS12 , CRecordRoundTripDocFlags12Atom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_ROUNDTRIPSHAPECHECKSUMFORCUSTOMLAYOUTS12 , CRecordRoundTripShapeCheckSumForCustomLayouts12Atom)
|
||||
CREATE_BY_TYPE(RT_RoundTripCustomTableStyles12Atom , CRecordRoundTripCustomTableStyles12Atom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_HEADERSFOOTERS , CRecordHeadersFootersContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_HEADERSFOOTERS_ATOM , CRecordHeadersFootersAtom)
|
||||
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_BOOKMARK_SEED_ATOM , CRecordBookmarkSeedAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordBlipEntityAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordExObjRefAtom)
|
||||
CREATE_BY_TYPE(RT_PlaceholderAtom , CRecordPlaceHolderAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordShapeFlagsAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordShapeFlags10Atom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN, CRecordRoundTripNewPlaceholderId12Atom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SLIDENUMBER_META_ATOM , CRecordSlideNumberMetaAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_DATETIME_META_ATOM , CRecordDateTimeMetaAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_HEADER_META_ATOM , CRecordHeaderMetaAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_FOOTER_META_ATOM , CRecordFooterMetaAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_GENERICDATE_META_ATOM , CRecordGenericDateMetaAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_RTFDATETIME_META_ATOM , CRecordRTFDateTimeMetaAtom)
|
||||
|
||||
CREATE_BY_TYPE(RT_OutlineTextRefAtom , CRecordOutlineTextRefAtom)
|
||||
CREATE_BY_TYPE(RT_TextHeaderAtom , CRecordTextHeaderAtom)
|
||||
CREATE_BY_TYPE(RT_TextCharsAtom , CRecordTextCharsAtom)
|
||||
CREATE_BY_TYPE(RT_StyleTextPropAtom , CRecordStyleTextPropAtom)
|
||||
CREATE_BY_TYPE(RT_TextSpecialInfoAtom , CRecordTextSpecInfoAtom)
|
||||
CREATE_BY_TYPE(RT_MasterTextPropAtom , CRecordMasterTextPropAtom)
|
||||
CREATE_BY_TYPE(RT_TextMasterStyleAtom , CRecordTextMasterStyleAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordMouseTextInteractiveInfoAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordRecolorInfoAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordAnimationInfoAtom)
|
||||
|
||||
CREATE_BY_TYPE(RT_TextCharFormatExceptionAtom , CRecordTextCFExceptionAtom)
|
||||
CREATE_BY_TYPE(RT_TextParagraphFormatExceptionAtom , CRecordTextPFExceptionAtom)
|
||||
CREATE_BY_TYPE(RT_TextSpecialInfoDefaultAtom , CRecordTextSIExceptionAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EX_VIDEOCONTAINER , CRecordExVideoContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EX_OBJREF_ATOM , CRecordExObjRefAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EX_MEDIA_ATOM , CRecordExMediaAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EXCONTROL_ATOM , CRecordExControlAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_BSTORE_CONTAINER , CRecordBlipStoreContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_BSE , CRecordBlipStoreEntry)
|
||||
|
||||
CREATE_BY_TYPE(RT_TextRulerAtom , CRecordTextRulerAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_TEXTBOOKMARK_ATOM , CRecordTextBookmarkAtom)
|
||||
CREATE_BY_TYPE(RT_TextBytesAtom , CRecordTextBytesAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordOutlineTextPropsHeaderExAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_DG_CONTAINER , CRecordDrawingContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_DGG , CRecordDrawingGroup)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_DG , CRecordDrawingRecord)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_SPGR , CRecordGroupShape)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_SPGR_CONTAINER , CRecordGroupShapeContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_SP_CONTAINER , CRecordShapeContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_SP , CRecordShape)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_CLIENTANCHOR , CRecordClientAnchor)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_CHILDANCHOR , CRecordChildAnchor)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_OPT , CRecordShapeProperties)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_SECONDARY_OPT , CRecordShapeProperties)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_TETRIARY_OPT , CRecordShapeProperties)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_REGROUPITEMS , CRecordRegGroupItems)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_SPLITMENUCOLORS , CRecordSplitMenuColorRecord)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_ESCHER_COLORMRU , CRecordMostRecentlyUserColors)
|
||||
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EX_CDAUDIO , CRecordExCDAudioContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EX_WAVAUDIOLINK , CRecordWAVAudioLinkContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EX_WAVAUDIOEMBEDDED , CRecordWAVAudioEmbeddedContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EX_MIDIAUDIO , CRecordExMIDIAudioContainer)
|
||||
|
||||
CREATE_BY_TYPE(RT_GuideAtom , CRecordGuideAtom)
|
||||
// интерактив
|
||||
CREATE_BY_TYPE(RECORD_TYPE_INTERACTIVEINFO_ATOM , CRecordInteractiveInfoAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_TXINTERACTIVEINFO_ATOM , CRecordTextInteractiveInfoAtom)
|
||||
|
||||
CREATE_BY_TYPE(RT_FontEntityAtom , CRecordFontEntityAtom)
|
||||
CREATE_BY_TYPE(RT_FontEmbedDataBlob , CRecordFontEmbedDataBlob)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_METAFILE , CRecordMetafileBlob)
|
||||
CREATE_BY_TYPE(RT_CString , CRecordCString)
|
||||
CREATE_BY_TYPE(RT_SoundCollectionAtom , CRecordSoundCollAtom)
|
||||
CREATE_BY_TYPE(RT_ExternalOleObjectAtom , CRecordExOleObjAtom)
|
||||
CREATE_BY_TYPE(RT_ExternalOleEmbedAtom , CRecordExOleEmbedAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_BOOKMARK_ENTITY_ATOM , CRecordBookmarkEntityAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_EXLINK_ATOM , CRecordExOleLinkAtom)
|
||||
// читаем для анимации
|
||||
CREATE_BY_TYPE ( RECORD_PROG_TAGS , SlideProgTagsContainer )
|
||||
|
||||
CREATE_BY_TYPE(RT_KinsokuAtom , CRecordKinsokuAtom)
|
||||
CREATE_BY_TYPE(RT_ExternalHyperlink , CRecordExHyperlinkContainer)
|
||||
CREATE_BY_TYPE(RT_ExternalHyperlinkAtom , CRecordExHyperlinkAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SOUNDCOLLECTION , CRecordSoundCollectionContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_EXOBJLIST , CRecordExObjListContainer)
|
||||
|
||||
CREATE_BY_TYPE(RT_HeadersFooters , CRecordHeadersFootersContainer)
|
||||
CREATE_BY_TYPE(RT_HeadersFootersAtom , CRecordHeadersFootersAtom)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SOUND , CRecordSoundContainer)
|
||||
CREATE_BY_TYPE(RECORD_TYPE_SOUNDDATA , CRecordSoundDataBlob)
|
||||
|
||||
CREATE_BY_TYPE(RT_SlideNumberMetaCharAtom , CRecordSlideNumberMetaAtom)
|
||||
CREATE_BY_TYPE(RT_DateTimeMetaCharAtom , CRecordDateTimeMetaAtom)
|
||||
CREATE_BY_TYPE(RT_HeaderMetaCharAtom , CRecordHeaderMetaAtom)
|
||||
CREATE_BY_TYPE(RT_FooterMetaCharAtom , CRecordFooterMetaAtom)
|
||||
CREATE_BY_TYPE(RT_GenericDateMetaCharAtom , CRecordGenericDateMetaAtom)
|
||||
CREATE_BY_TYPE(RT_RtfDateTimeMetaCharAtom , CRecordRTFDateTimeMetaAtom)
|
||||
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordMouseTextInteractiveInfoAtom)
|
||||
//CREATE_BY_TYPE(RECORD_TYPE_UNKNOWN , CRecordRecolorInfoAtom)
|
||||
|
||||
CREATE_BY_TYPE(RT_ExternalVideo , CRecordExVideoContainer)
|
||||
CREATE_BY_TYPE(RT_ExternalObjectRefAtom , CRecordExObjRefAtom)
|
||||
CREATE_BY_TYPE(RT_ExternalMediaAtom , CRecordExMediaAtom)
|
||||
CREATE_BY_TYPE(RT_ExternalOleControlAtom , CRecordExControlAtom)
|
||||
|
||||
CREATE_BY_TYPE(RTE_BSTORE_CONTAINER , CRecordBlipStoreContainer)
|
||||
CREATE_BY_TYPE(RTE_BSE , CRecordBlipStoreEntry)
|
||||
|
||||
CREATE_BY_TYPE(RTE_DG_CONTAINER , CRecordDrawingContainer)
|
||||
CREATE_BY_TYPE(RTE_DGG , CRecordDrawingGroup)
|
||||
CREATE_BY_TYPE(RTE_DG , CRecordDrawingRecord)
|
||||
CREATE_BY_TYPE(RTE_SPGR , CRecordGroupShape)
|
||||
CREATE_BY_TYPE(RTE_SPGR_CONTAINER , CRecordGroupShapeContainer)
|
||||
CREATE_BY_TYPE(RTE_SP_CONTAINER , CRecordShapeContainer)
|
||||
CREATE_BY_TYPE(RTE_SP , CRecordShape)
|
||||
CREATE_BY_TYPE(RTE_CLIENTANCHOR , CRecordClientAnchor)
|
||||
CREATE_BY_TYPE(RTE_CHILDANCHOR , CRecordChildAnchor)
|
||||
CREATE_BY_TYPE(RTE_OPT , CRecordShapeProperties)
|
||||
CREATE_BY_TYPE(RTE_SECONDARY_OPT , CRecordShapeProperties)
|
||||
CREATE_BY_TYPE(RTE_TETRIARY_OPT , CRecordShapeProperties)
|
||||
CREATE_BY_TYPE(RTE_REGROUPITEMS , CRecordRegGroupItems)
|
||||
CREATE_BY_TYPE(RTE_SPLITMENUCOLORS , CRecordSplitMenuColorRecord)
|
||||
CREATE_BY_TYPE(RTE_COLORMRU , CRecordMostRecentlyUserColors)
|
||||
CREATE_BY_TYPE(RTE_CLIENTDATA , CRecordOfficeArtClientData)
|
||||
|
||||
CREATE_BY_TYPE(RT_ExternalCdAudio , CRecordExCDAudioContainer)
|
||||
CREATE_BY_TYPE(RT_ExternalWavAudioLink , CRecordWAVAudioLinkContainer)
|
||||
CREATE_BY_TYPE(RT_ExternalWavAudioEmbedded , CRecordWAVAudioEmbeddedContainer)
|
||||
CREATE_BY_TYPE(RT_ExternalMidiAudio , CRecordExMIDIAudioContainer)
|
||||
|
||||
CREATE_BY_TYPE(RT_List , CRecordDocInfoListContainer)
|
||||
|
||||
// интерактив
|
||||
CREATE_BY_TYPE(RT_InteractiveInfoAtom , CRecordInteractiveInfoAtom)
|
||||
CREATE_BY_TYPE(RT_TextInteractiveInfoAtom , CRecordTextInteractiveInfoAtom)
|
||||
|
||||
// читаем для анимации
|
||||
|
||||
CREATE_BY_TYPE(RT_SoundCollection , CRecordSoundCollectionContainer)
|
||||
CREATE_BY_TYPE(RT_ExternalObjectList , CRecordExObjListContainer)
|
||||
|
||||
CREATE_BY_TYPE(RT_Sound , CRecordSoundContainer)
|
||||
CREATE_BY_TYPE(RT_SoundDataBlob , CRecordSoundDataBlob)
|
||||
|
||||
|
||||
default:
|
||||
{
|
||||
}break;
|
||||
};
|
||||
default:
|
||||
{
|
||||
}break;
|
||||
};
|
||||
|
||||
if (NULL == pRecord)
|
||||
{
|
||||
|
||||
if (oHeader.IsContainer())
|
||||
{
|
||||
pRecord = new CRecordsContainer();
|
||||
@ -652,11 +321,9 @@ IRecord* CreateByType(SRecordHeader oHeader)
|
||||
#ifdef _DEBUG
|
||||
char str[1024]={};
|
||||
sprintf(str, "Unknown record type: %x\t" , oHeader.RecType);
|
||||
std::cout << str << GetRecordName(oHeader.RecType) << "\n";
|
||||
std::cout << str << GetRecordName((_UINT32)oHeader.RecType) << "\n";
|
||||
#endif
|
||||
}
|
||||
} else
|
||||
{
|
||||
}
|
||||
}
|
||||
return pRecord;
|
||||
}
|
||||
|
||||
@ -32,46 +32,39 @@
|
||||
#pragma once
|
||||
|
||||
#include "PPTFileDefines.h"
|
||||
#include "../Enums/RecordType.h"
|
||||
#include "../Reader/ReadStructures.h"
|
||||
#include "../../../ASCOfficePPTXFile/Editor/Drawing/Shapes/BaseShape/PPTShape/Enums.h"
|
||||
#include "../../../ASCOfficeXlsFile2/source/XlsFormat/Binary/CFStream.h"
|
||||
#include "../../../Common/3dParty/pole/pole.h"
|
||||
#include "../../../OfficeCryptReader/source/CryptTransform.h"
|
||||
#include "../../../Common/DocxFormat/Source/Base/Nullable.h"
|
||||
|
||||
|
||||
#include <boost/smart_ptr/shared_array.hpp>
|
||||
|
||||
//using namespace PPT_FORMAT;
|
||||
using namespace PPT_FORMAT;
|
||||
using namespace XLS;
|
||||
|
||||
using NSCommon::nullable;
|
||||
|
||||
std::string GetRecordName(PPT_FORMAT::RecordType dwType);
|
||||
|
||||
class SRecordHeader
|
||||
{
|
||||
public:
|
||||
unsigned char RecVersion;
|
||||
unsigned short RecInstance;
|
||||
PPT_FORMAT::RecordType RecType;
|
||||
_UINT32 RecLen;
|
||||
unsigned char RecVersion;
|
||||
unsigned short RecInstance;
|
||||
unsigned short RecType;
|
||||
_UINT32 RecLen;
|
||||
|
||||
void Clear()
|
||||
{
|
||||
RecVersion = 0;
|
||||
RecInstance = 0;
|
||||
RecType = RT_NONE;
|
||||
RecType = 0;
|
||||
RecLen = 0;
|
||||
}
|
||||
SRecordHeader()
|
||||
{
|
||||
Clear();
|
||||
}
|
||||
bool ReadFromStream(const CFStreamPtr &pStream)
|
||||
bool ReadFromStream(const CFStreamPtr &pStream)
|
||||
{
|
||||
Clear();
|
||||
Clear();
|
||||
|
||||
if (pStream->isEOF()) return FALSE;
|
||||
POLE::uint64 nRd = 0;
|
||||
@ -156,7 +149,7 @@ public:
|
||||
SRecordHeader m_oHeader;
|
||||
|
||||
virtual ~IRecord(){}
|
||||
virtual void ReadFromStream(SRecordHeader & oHeader, const CFStreamPtr &pStream) = 0;
|
||||
virtual void ReadFromStream(SRecordHeader & oHeader, const CFStreamPtr &pStream) = 0;
|
||||
virtual void ReadFromStream(SRecordHeader & oHeader, POLE::Stream* pStream) = 0;
|
||||
};
|
||||
|
||||
@ -173,7 +166,7 @@ public:
|
||||
~CUnknownRecord()
|
||||
{
|
||||
}
|
||||
virtual void ReadFromStream(SRecordHeader & oHeader, const CFStreamPtr &pStream)
|
||||
virtual void ReadFromStream(SRecordHeader & oHeader, const CFStreamPtr &pStream)
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
@ -186,8 +179,8 @@ public:
|
||||
StreamUtils::StreamSkip((long)m_oHeader.RecLen, pStream);
|
||||
}
|
||||
|
||||
std::wstring ReadStringW(const CFStreamPtr &pStream, int size);
|
||||
std::string ReadStringA(const CFStreamPtr &pStream, int size);
|
||||
std::wstring ReadStringW(const CFStreamPtr &pStream, int size);
|
||||
std::string ReadStringA(const CFStreamPtr &pStream, int size);
|
||||
};
|
||||
|
||||
IRecord* CreateByType(SRecordHeader oHeader);
|
||||
@ -211,11 +204,9 @@ public:
|
||||
size_t nCount = m_arRecords.size();
|
||||
while(0 != nCount)
|
||||
{
|
||||
if (NULL != m_arRecords[nCount-1])
|
||||
{
|
||||
delete m_arRecords[nCount-1];
|
||||
m_arRecords[nCount-1] = NULL;
|
||||
}
|
||||
if (NULL != m_arRecords[nCount-1])
|
||||
delete m_arRecords[nCount-1];
|
||||
|
||||
m_arRecords.pop_back();
|
||||
--nCount;
|
||||
}
|
||||
@ -314,5 +305,5 @@ class CRecordVBAInfo : public CRecordsContainer {};
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
#define CREATE_BY_TYPE(RECORD_TYPE, CLASS_RECORD_NAME) \
|
||||
case RECORD_TYPE: { pRecord = new CLASS_RECORD_NAME(); break; } \
|
||||
case RECORD_TYPE: { pRecord = new CLASS_RECORD_NAME(); break; } \
|
||||
//-------------------------------------------------------------------------------
|
||||
|
||||
@ -1,52 +1,51 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordHashCode10Atom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
_UINT32 m_nHash;
|
||||
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_nHash = StreamUtils::ReadDWORD(pStream);
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
class CRecordAnimationInfoAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
|
||||
CRecordAnimationInfoAtom()
|
||||
{
|
||||
}
|
||||
|
||||
~CRecordAnimationInfoAtom()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void ReadFromStream(SRecordHeader & oHeader, POLE::Stream* pStream)
|
||||
{
|
||||
return CUnknownRecord::ReadFromStream(oHeader, pStream);
|
||||
}
|
||||
};
|
||||
@ -1,136 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../../Structures/ColorIndexStruct.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
struct SFlagsAH {
|
||||
|
||||
USHORT m_fA_H;
|
||||
|
||||
USHORT getH()const {return (m_fA_H & 0xC000) >> 14;}
|
||||
USHORT getG()const {return (m_fA_H & 0x3000) >> 12;}
|
||||
USHORT getF()const {return (m_fA_H & 0xC00) >> 10;}
|
||||
USHORT getE()const {return (m_fA_H & 0x300) >> 8;}
|
||||
USHORT getD()const {return (m_fA_H & 0xC0) >> 6;}
|
||||
USHORT getC()const {return (m_fA_H & 0x30) >> 4;}
|
||||
USHORT getB()const {return (m_fA_H & 0xC) >> 2;}
|
||||
USHORT getA()const {return (m_fA_H & 0x3) >> 0;}
|
||||
|
||||
|
||||
|
||||
void ReadFromStream(POLE::Stream* pStream) {
|
||||
m_fA_H = StreamUtils::ReadWORD(pStream);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class CRecordAnimationInfoAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
ColorIndexStruct m_sDimColor;
|
||||
|
||||
USHORT m_fReverse;
|
||||
USHORT m_fAutomatic;
|
||||
USHORT m_fSound;
|
||||
USHORT m_fStopSound;
|
||||
USHORT m_fPlay;
|
||||
USHORT m_fSynchronous;
|
||||
USHORT m_fHide;
|
||||
USHORT m_fAnimateBg;
|
||||
|
||||
USHORT m_Reserved;
|
||||
|
||||
_UINT32 m_SoundIdRef;
|
||||
_UINT32 m_DelayTime;
|
||||
|
||||
USHORT m_OrderID;
|
||||
USHORT m_SlideCount;
|
||||
|
||||
BYTE m_AnimBuildType;
|
||||
BYTE m_AnimEffect;
|
||||
BYTE m_AnimEffectDirection;
|
||||
BYTE m_AnimAfterEffect;
|
||||
BYTE m_TextBuildSubEffect;
|
||||
BYTE m_OleVerb;
|
||||
public:
|
||||
|
||||
CRecordAnimationInfoAtom()
|
||||
{
|
||||
}
|
||||
|
||||
~CRecordAnimationInfoAtom()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void ReadFromStream(SRecordHeader & oHeader, POLE::Stream* pStream)
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_sDimColor.ReadFromStream(pStream);
|
||||
|
||||
SFlagsAH fAH;
|
||||
fAH.ReadFromStream(pStream);
|
||||
|
||||
m_fReverse = fAH.getA();
|
||||
m_fAutomatic = fAH.getB();
|
||||
m_fSound = fAH.getC();
|
||||
m_fStopSound = fAH.getD();
|
||||
m_fPlay = fAH.getE();
|
||||
m_fSynchronous = fAH.getF();
|
||||
m_fHide = fAH.getG();
|
||||
m_fAnimateBg = fAH.getH();
|
||||
|
||||
m_Reserved = StreamUtils::ReadWORD(pStream);
|
||||
|
||||
m_SoundIdRef = StreamUtils::ReadDWORD(pStream);
|
||||
m_DelayTime = StreamUtils::ReadDWORD(pStream);
|
||||
|
||||
m_OrderID = StreamUtils::ReadWORD(pStream);
|
||||
m_SlideCount = StreamUtils::ReadWORD(pStream);
|
||||
|
||||
m_AnimBuildType = StreamUtils::ReadBYTE(pStream);
|
||||
m_AnimEffect = StreamUtils::ReadBYTE(pStream);
|
||||
m_AnimEffectDirection = StreamUtils::ReadBYTE(pStream);
|
||||
m_AnimAfterEffect = StreamUtils::ReadBYTE(pStream);
|
||||
m_TextBuildSubEffect = StreamUtils::ReadBYTE(pStream);
|
||||
m_OleVerb = StreamUtils::ReadBYTE(pStream);
|
||||
|
||||
|
||||
StreamUtils::StreamSkip(2, pStream);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -1,64 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "AnimationInfoAtom.h"
|
||||
#include "../SoundContainer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordAnimationInfoContainer: public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
CRecordAnimationInfoAtom m_AnimationAtom;
|
||||
CRecordSoundContainer m_AnimationSound;
|
||||
|
||||
CRecordAnimationInfoContainer(){}
|
||||
~CRecordAnimationInfoContainer(){}
|
||||
|
||||
virtual void ReadFromStream(SRecordHeader & thisHeader, POLE::Stream* pStream)
|
||||
{
|
||||
m_oHeader = thisHeader;
|
||||
|
||||
SRecordHeader oHeader;
|
||||
|
||||
if (oHeader.ReadFromStream(pStream))
|
||||
m_AnimationAtom.ReadFromStream ( oHeader, pStream );
|
||||
|
||||
if (m_oHeader.RecLen != 36 && oHeader.ReadFromStream(pStream))
|
||||
m_AnimationSound.ReadFromStream ( oHeader, pStream );
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -0,0 +1,545 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#include "AnimationTypes.h"
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------//
|
||||
// Animation Types //
|
||||
//----------------------------------------------------------------------------------------------------------------------//
|
||||
|
||||
/*
|
||||
static const wchar_t EffectBehaviorBlindsHorizontal [] = L"blinds(horizontal)";
|
||||
static const wchar_t EffectBehaviorBoxIn [] = L"box(in)";
|
||||
static const wchar_t EffectBehaviorBoxOut [] = L"box(out)";
|
||||
static const wchar_t EffectBehaviorCheckerboardAcross [] = L"checkerboard(across)";
|
||||
static const wchar_t EffectBehaviorCheckerboardDown [] = L"checkerboard(down)";
|
||||
static const wchar_t EffectBehaviorCircleIn [] = L"circle(in)";
|
||||
static const wchar_t EffectBehaviorCircleOut [] = L"circle(out)";
|
||||
static const wchar_t EffectBehaviorDiamondIn [] = L"diamond(in)";
|
||||
static const wchar_t EffectBehaviorDiamonOut [] = L"diamond(out)";
|
||||
static const wchar_t EffectBehaviorDissolve [] = L"dissolve";
|
||||
static const wchar_t EffectBehaviorFade [] = L"fade";
|
||||
static const wchar_t EffectBehaviorPlusIn [] = L"plus(in)";
|
||||
static const wchar_t EffectBehaviorPlusOut [] = L"plus(out)";
|
||||
static const wchar_t EffectBehaviorBarnInVertical [] = L"barn(inVertical)";
|
||||
static const wchar_t EffectBehaviorBarnInHorizontal [] = L"barn(inHorizontal)";
|
||||
static const wchar_t EffectBehaviorBarnOutVertical [] = L"barn(outVertical)";
|
||||
static const wchar_t EffectBehaviorBarnOnHorizontal [] = L"barn(outHorizontal)";
|
||||
static const wchar_t EffectBehaviorRandomBarHorizontal [] = L"randombar(horizontal)";
|
||||
static const wchar_t EffectBehaviorRandomBarVertical [] = L"randombar(vertical)";
|
||||
static const wchar_t EffectBehaviorStripsDownLeft [] = L"strips(downLeft)";
|
||||
static const wchar_t EffectBehaviorStripsUpLeft [] = L"strips(upLeft)";
|
||||
static const wchar_t EffectBehaviorStripsDownRight [] = L"strips(downRight)";
|
||||
static const wchar_t EffectBehaviorStripsUpRight [] = L"strips(upRight)";
|
||||
static const wchar_t EffectBehaviorWedge [] = L"wedge";
|
||||
static const wchar_t EffectBehaviorWheel1 [] = L"wheel(1)";
|
||||
static const wchar_t EffectBehaviorWheel2 [] = L"wheel(2)";
|
||||
static const wchar_t EffectBehaviorWheel3 [] = L"wheel(3)";
|
||||
static const wchar_t EffectBehaviorWheel4 [] = L"wheel(4)";
|
||||
static const wchar_t EffectBehaviorWheel8 [] = L"wheel(8)";
|
||||
static const wchar_t EffectBehaviorWipeRight [] = L"wipe(right)";
|
||||
static const wchar_t EffectBehaviorWipeLeft [] = L"wipe(left)";
|
||||
static const wchar_t EffectBehaviorWipeUp [] = L"wipe(up)";
|
||||
static const wchar_t EffectBehaviorWipeDown [] = L"wipe(down)";
|
||||
*/
|
||||
|
||||
#pragma region _MACROSES_
|
||||
|
||||
#define GET_ENUM_STRING(NAMEE, VALUEE)\
|
||||
case TL_##NAMEE##VALUEE: \
|
||||
return std::wstring(_T("TL_")) + std::wstring(_T(#NAMEE)) + std::wstring(_T(#VALUEE)); \
|
||||
break;
|
||||
|
||||
#if defined(_WIN32) || defined (_WIN64)
|
||||
#define GET_EFFECT_NAME_BY_ID(VALUE,DESCRIPTION) \
|
||||
case (##VALUE) : return std::wstring(_T(#DESCRIPTION)); break;
|
||||
#else
|
||||
#define GET_EFFECT_NAME_BY_ID(VALUE,DESCRIPTION) \
|
||||
case ##VALUE : return std::wstring(_T(#DESCRIPTION)); break;
|
||||
#endif
|
||||
#pragma endregion
|
||||
|
||||
namespace Animations
|
||||
{
|
||||
std::wstring Helpers::GetTimePropertyID4TimeNode ( TimePropertyID4TimeNode Value )
|
||||
{
|
||||
switch ( Value )
|
||||
{
|
||||
GET_ENUM_STRING( TPID_, Display );
|
||||
GET_ENUM_STRING( TPID_, MasterPos );
|
||||
GET_ENUM_STRING( TPID_, SlaveType );
|
||||
GET_ENUM_STRING( TPID_, EffectID );
|
||||
GET_ENUM_STRING( TPID_, EffectDir );
|
||||
GET_ENUM_STRING( TPID_, AfterEffect );
|
||||
GET_ENUM_STRING( TPID_, SlideCount );
|
||||
GET_ENUM_STRING( TPID_, TimeFilter );
|
||||
GET_ENUM_STRING( TPID_, EventFilter );
|
||||
GET_ENUM_STRING( TPID_, HideWhenStopped );
|
||||
GET_ENUM_STRING( TPID_, GroupID );
|
||||
GET_ENUM_STRING( TPID_, EffectNodeType );
|
||||
GET_ENUM_STRING( TPID_, PlaceholderNode );
|
||||
GET_ENUM_STRING( TPID_, MediaVolume );
|
||||
GET_ENUM_STRING( TPID_, MediaMute );
|
||||
GET_ENUM_STRING( TPID_, ZoomToFullScreen );
|
||||
|
||||
default:
|
||||
return std::wstring ( _T("TimePropertyID4TimeNode : Unknown Enum") );
|
||||
}
|
||||
};
|
||||
|
||||
std::wstring Helpers::GetTimeVariantTypeEnum ( TimeVariantTypeEnum Value )
|
||||
{
|
||||
switch ( Value )
|
||||
{
|
||||
GET_ENUM_STRING( TVT_, Bool );
|
||||
GET_ENUM_STRING( TVT_, Int );
|
||||
GET_ENUM_STRING( TVT_, Float );
|
||||
GET_ENUM_STRING( TVT_, String );
|
||||
|
||||
default:
|
||||
return std::wstring ( _T("TimeVariantTypeEnum : Unknown Enum") );
|
||||
}
|
||||
};
|
||||
|
||||
std::wstring Helpers::GetTimeNodeTypeEnum ( TimeNodeTypeEnum Value )
|
||||
{
|
||||
switch ( Value )
|
||||
{
|
||||
GET_ENUM_STRING( TNT_, Parallel );
|
||||
GET_ENUM_STRING( TNT_, Sequential );
|
||||
GET_ENUM_STRING( TNT_, Behavior );
|
||||
GET_ENUM_STRING( TNT_, Media );
|
||||
|
||||
default:
|
||||
return std::wstring ( _T("TimeNodeTypeEnum : Unknown Enum") );
|
||||
}
|
||||
};
|
||||
|
||||
std::wstring Helpers::GetTriggerObjectEnum ( TriggerObjectEnum Value )
|
||||
{
|
||||
switch ( Value )
|
||||
{
|
||||
GET_ENUM_STRING( TOT_, None ); // None
|
||||
GET_ENUM_STRING( TOT_, VisualElement ); // An animatable object.
|
||||
GET_ENUM_STRING( TOT_, TimeNode ); // A time node.
|
||||
GET_ENUM_STRING( TOT_, RuntimeNodeRef ); // Runtime child time nodes.
|
||||
|
||||
default:
|
||||
return std::wstring ( _T("TriggerObjectEnum : Unknown Enum") );
|
||||
}
|
||||
}
|
||||
|
||||
std::wstring Helpers::GetTimeVisualElementEnum ( TimeVisualElementEnum Value )
|
||||
{
|
||||
switch ( Value )
|
||||
{
|
||||
GET_ENUM_STRING( TVET_, Shape );
|
||||
GET_ENUM_STRING( TVET_, Page );
|
||||
GET_ENUM_STRING( TVET_, TextRange );
|
||||
GET_ENUM_STRING( TVET_, Audio );
|
||||
GET_ENUM_STRING( TVET_, Video );
|
||||
GET_ENUM_STRING( TVET_, ChartElement );
|
||||
GET_ENUM_STRING( TVET_, ShapeOnly );
|
||||
GET_ENUM_STRING( TVET_, AllTextRange );
|
||||
|
||||
default:
|
||||
return std::wstring ( _T("TimeVisualElementEnum : Unknown Enum") );
|
||||
}
|
||||
}
|
||||
|
||||
std::wstring Helpers::GetElementTypeEnum ( ElementTypeEnum Value )
|
||||
{
|
||||
switch ( Value )
|
||||
{
|
||||
GET_ENUM_STRING( ET_, ShapeType );
|
||||
GET_ENUM_STRING( ET_, SoundType );
|
||||
|
||||
default:
|
||||
return std::wstring ( _T("ElementTypeEnum : Unknown Enum") );
|
||||
}
|
||||
}
|
||||
|
||||
std::wstring Helpers::GetTimeAnimateBehaviorValueTypeEnum ( TimeAnimateBehaviorValueTypeEnum Value )
|
||||
{
|
||||
switch ( Value )
|
||||
{
|
||||
GET_ENUM_STRING( TABVT_, String );
|
||||
GET_ENUM_STRING( TABVT_, Number );
|
||||
GET_ENUM_STRING( TABVT_, Color );
|
||||
|
||||
default:
|
||||
return std::wstring ( _T("TimeAnimateBehaviorValueTypeEnum : Unknown Enum") );
|
||||
}
|
||||
}
|
||||
std::wstring Helpers::GetAnimationClassName ( AnimationsClassType Value )
|
||||
{
|
||||
switch ( Value )
|
||||
{
|
||||
case Animations::RT_TimeNode:
|
||||
return std::wstring (_T("TimeNodeAtom") );
|
||||
|
||||
case Animations::RT_TimePropertyList: // Specifies a TimePropertyList4TimeNodeContainer or TimePropertyList4TimeBehavior.
|
||||
return std::wstring (_T("TimePropertyList4TimeNodeContainer"));
|
||||
|
||||
case Animations::RT_TimeExtTimeNodeContainer:
|
||||
return std::wstring (_T("ExtTimeNodeContainer"));
|
||||
|
||||
case Animations::RT_SlideTime10Atom :
|
||||
return std::wstring (_T("SlideTime10Atom"));
|
||||
|
||||
case Animations::RT_SlideFlags10Atom:
|
||||
return std::wstring (_T("SlideFlags10Atom"));
|
||||
|
||||
case Animations::RT_HashCodeAtom:
|
||||
return std::wstring (_T("HashCode10Atom"));
|
||||
|
||||
case Animations::RT_TimeSequenceData:
|
||||
return std::wstring (_T("TimeSequenceDataAtom"));
|
||||
|
||||
case Animations::RT_TimeConditionContainer:
|
||||
return std::wstring (_T("TimeConditionContainer"));
|
||||
|
||||
case Animations::RT_TimeCondition:
|
||||
return std::wstring (_T("TimeConditionAtom"));
|
||||
}
|
||||
|
||||
return std::wstring (_T(""));
|
||||
}
|
||||
|
||||
std::wstring Helpers::GetEffectTypeOfGroup ( _UINT32 Value )
|
||||
{
|
||||
if ( 0x00000001 == Value )
|
||||
return std::wstring ( _T("Entrance") );
|
||||
if ( 0x00000002 == Value )
|
||||
return std::wstring ( _T("Exit") );
|
||||
if ( 0x00000003 == Value )
|
||||
return std::wstring ( _T("Emphasis") );
|
||||
if ( 0x00000004 == Value )
|
||||
return std::wstring ( _T("MotionPath") );
|
||||
if ( 0x00000005 == Value )
|
||||
return std::wstring ( _T("ActionVerb") );
|
||||
if ( 0x00000006 == Value )
|
||||
return std::wstring ( _T("MediaCommand") );
|
||||
|
||||
return std::wstring ( _T("") );
|
||||
}
|
||||
// the corresponding effect type is an entrance or an exit effect
|
||||
std::wstring Helpers::GetEffectEntranceOrExitNameByID ( _UINT32 EffectID )
|
||||
{
|
||||
switch ( EffectID )
|
||||
{
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000000, Custom ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000001, Appear ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000002, FlyIn ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000003, Blinds ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000004, Box ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000005, CheckBoard ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000006, Circle ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000007, Crawl ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000008, Diamond ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000009, Dissolve ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000A, Fade ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000B, FlashOnce ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000C, Peek ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000D, Plus ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000E, RandomBars ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000F, Spiral ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000010, Split ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000011, Stretch ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000012, Strips ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000013, Swivel ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000014, Wedge ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000015, Wheel ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000016, Wipe ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000017, Zoom ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000018, RandomEffects ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000019, Boomerang ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001A, Bounce ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001B, ColorReveal ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001C, Credits ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001D, EaseIn ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001E, Float ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001F, GrowAndTurn ); // The corresponding effect direction MUST be ignored.
|
||||
//GET_EFFECT_NAME_BY_ID ( 0x00000020, Reserved ); //
|
||||
//GET_EFFECT_NAME_BY_ID ( 0x00000021, Reserved ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000022, LightSpeed ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000023, PinWheel ); // The corresponding effect direction MUST be ignored.
|
||||
//GET_EFFECT_NAME_BY_ID ( 0x00000024, Reserved ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000025, RiseUp ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000026, Swish ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000027, ThinLine ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000028, Unfold ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000029, Whip ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000002A, Ascend ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000002B, CenterRevolve ); // The corresponding effect direction MUST be ignored.
|
||||
//GET_EFFECT_NAME_BY_ID ( 0x0000002C, Reserved ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000002D, FadedSwivel ); // The corresponding effect direction MUST be ignored.
|
||||
//GET_EFFECT_NAME_BY_ID ( 0x0000002E, Reserved ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000002F, Descend ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000030, Sling ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000031, Spinner ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000032, Compress ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000033, Zip ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000034, ArcUp ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000035, FadedZoom ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000036, Glide ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000037, Expand ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000038, Flip ); // The corresponding effect direction MUST be ignored.
|
||||
//GET_EFFECT_NAME_BY_ID ( 0x00000039, Reserved ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000003A, Fold ); // The corresponding effect direction MUST be ignored.
|
||||
default :
|
||||
break;
|
||||
}
|
||||
return std::wstring(_T("Unknown EffectID"));
|
||||
}
|
||||
|
||||
// the corresponding effect type is an emphasis effect
|
||||
std::wstring Helpers::GetEffectEmphasisNameByID ( _UINT32 EffectID )
|
||||
{
|
||||
switch ( EffectID )
|
||||
{
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000001, ChangeFillColor ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000002, ChangeFont ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000003, ChangeFillColor ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000004, ChangeFontSize ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000005, ChangeFontStyle ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000006, GrowAndShrink ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000007, ChangeFillColor ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000008, Spin ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000009, Transparency ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000A, BoldFlash ); // The corresponding effect direction MUST be ignored.
|
||||
//GET_EFFECT_NAME_BY_ID ( 0x0000000B, Reserved ); //
|
||||
//GET_EFFECT_NAME_BY_ID ( 0x0000000C, Reserved ); //
|
||||
//GET_EFFECT_NAME_BY_ID ( 0x0000000D, Reserved ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000E, Blast ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000F, BoldReveal ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000010, BrushOnColor ); // The corresponding effect direction MUST be ignored.
|
||||
//GET_EFFECT_NAME_BY_ID ( 0x00000011, Reserved ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000012, BrushOnUnderline ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000013, ColorBlend ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000014, ColorWave ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000015, ComplementaryColor ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000016, ComplementaryColor2 ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000017, ContrastingColor ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000018, Darken ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000019, Desaturate ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001A, FlashBulb ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001B, Flicker ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001C, GrowWithColor ); // The corresponding effect direction MUST be ignored.
|
||||
//GET_EFFECT_NAME_BY_ID ( 0x0000001D, Reserved ); //
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001E, Lighten ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001F, StyleEmphasis ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000020, Teeter ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000021, VerticalGrow ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000022, Wave ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000023, Blink ); // The corresponding effect direction MUST be ignored.
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000024, Shimmer ); // The corresponding effect direction MUST be ignored.
|
||||
default :
|
||||
break;
|
||||
}
|
||||
return std::wstring(_T("Unknown EffectID"));
|
||||
}
|
||||
// the corresponding effect type is a motion path effect
|
||||
std::wstring Helpers::GetEffectMotionPathNameByID ( _UINT32 EffectID )
|
||||
{
|
||||
switch ( EffectID )
|
||||
{
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000000, Custom );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000001, Circle );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000002, RightTriangle );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000003, Diamond );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000004, Hexagon );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000005, FivePointStar );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000006, CrescentMoon );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000007, Square );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000008, Trapezoid );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000009, Heart );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000A, Octagon );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000B, SixPointStar );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000C, Football );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000D, EqualTriangle );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000E, Parallelogram );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000000F, Pentagon );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000010, FourPointStar );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000011, EightPointStar );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000012, Teardrop );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000013, PointyStar );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000014, CurvedSquare );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000015, CurvedX );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000016, VerticalFigure8 );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000017, CurvyStar );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000018, LoopDeLoop );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000019, BuzzSaw );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001A, HorizontalFigure8 );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001B, Peanut );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001C, Figure8four );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001D, Neutron );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001E, Swoosh );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000001F, Bean );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000020, Plus );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000021, InvertedTriangle );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000022, InvertedSquare );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000023, Left );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000024, TurnRight );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000025, ArcDown );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000026, Zigzag );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000027, SCurve2 );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000028, SineWave );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000029, BounceLeft );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000002A, Down );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000002B, TurnUp );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000002C, ArcUp );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000002D, HeartBeat );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000002E, SpiralRight );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000002F, Wave );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000030, CurvyLeft );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000031, DiagonalDownRight );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000032, TurnDown );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000033, ArcLeft );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000034, Funnel );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000035, Spring );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000036, BounceRight );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000037, SpiralLeft );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000038, DiagonalUpRight );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000039, TurnUpRight );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000003A, ArcRight );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000003B, Scurve1 );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000003C, DecayingWave );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000003D, CurvyRight );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000003E, StairsDown );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x0000003F, Right );
|
||||
GET_EFFECT_NAME_BY_ID ( 0x00000040, Up );
|
||||
default :
|
||||
break;
|
||||
}
|
||||
return std::wstring(_T("Unknown EffectID"));
|
||||
}
|
||||
|
||||
std::wstring Helpers::GetEffectNameByID ( _UINT32 EffectType, _UINT32 EffectID )
|
||||
{
|
||||
switch ( EffectType )
|
||||
{
|
||||
case 0x00000001: // Entrance +
|
||||
case 0x00000002: // Exit
|
||||
return Animations::Helpers::GetEffectEntranceOrExitNameByID ( EffectID );
|
||||
break;
|
||||
case 0x00000003: // Emphasis +
|
||||
return Animations::Helpers::GetEffectEmphasisNameByID ( EffectID );
|
||||
break;
|
||||
case 0x00000004: // Motion path +
|
||||
return Animations::Helpers::GetEffectMotionPathNameByID ( EffectID );
|
||||
break;
|
||||
case 0x00000005: // Action verb
|
||||
case 0x00000006: // Media command
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return std::wstring ( _T("") );
|
||||
}
|
||||
}
|
||||
|
||||
namespace Animations
|
||||
{
|
||||
IRecord* CAnimationFactory::BuildAnimationObject ( WORD Type )
|
||||
{
|
||||
switch ( Type )
|
||||
{
|
||||
case Animations::RT_SlideTime10Atom :
|
||||
return new Animations::SlideTime10Atom ();
|
||||
|
||||
case Animations::RT_SlideFlags10Atom:
|
||||
return new Animations::SlideFlags10Atom ();
|
||||
|
||||
case Animations::RT_HashCodeAtom:
|
||||
return new Animations::HashCode10Atom ();
|
||||
|
||||
case Animations::RT_TimeExtTimeNodeContainer:
|
||||
return new Animations::ExtTimeNodeContainer ();
|
||||
|
||||
case Animations::RT_TimeNode:
|
||||
return new Animations::TimeNodeAtom ();
|
||||
|
||||
case Animations::RT_TimePropertyList: // Specifies a TimePropertyList4TimeNodeContainer or TimePropertyList4TimeBehavior.
|
||||
return new Animations::TimePropertyList4TimeNodeContainer ();
|
||||
|
||||
case Animations::RT_TimeSequenceData:
|
||||
return new Animations::TimeSequenceDataAtom ();
|
||||
|
||||
case Animations::RT_TimeConditionContainer:
|
||||
return new TimeConditionContainer ();
|
||||
|
||||
case Animations::RT_TimeCondition:
|
||||
return new TimeConditionAtom ();
|
||||
|
||||
case Animations::RT_TimeClientVisualElement:
|
||||
return new ClientVisualElementContainer ();
|
||||
|
||||
case Animations::RT_VisualPageAtom:
|
||||
return new VisualPageAtom ();
|
||||
|
||||
case Animations::RT_TimeEffectBehaviorContainer:
|
||||
return new TimeEffectBehaviorContainer ();
|
||||
|
||||
case Animations::RT_TimeEffectBehavior:
|
||||
return new TimeEffectBehaviorAtom ();
|
||||
|
||||
case Animations::RT_TimeBehavior:
|
||||
return new TimeBehaviorAtom ();
|
||||
|
||||
case Animations::RT_TimeBehaviorContainer:
|
||||
return new TimeBehaviorContainer ();
|
||||
|
||||
case Animations::RT_TimeMotionBehaviorContainer:
|
||||
return new TimeMotionBehaviorContainer ();
|
||||
|
||||
case Animations::RT_TimeSetBehaviorContainer:
|
||||
return new TimeSetBehaviorContainer ();
|
||||
|
||||
case Animations::RT_TimeAnimateBehaviorContainer:
|
||||
return new TimeAnimateBehaviorContainer ();
|
||||
|
||||
case Animations::RT_TimeScaleBehaviorContainer:
|
||||
return new TimeScaleBehaviorContainer ();
|
||||
|
||||
case Animations::RT_TimeRotationBehaviorContainer:
|
||||
return new TimeRotationBehaviorContainer ();
|
||||
|
||||
case Animations::RT_TimeSlaveContainer:
|
||||
return new SlaveContainer ();
|
||||
|
||||
case Animations::RT_TimeModifierAtom:
|
||||
return new TimeModifierAtom();
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
3870
ASCOfficePPTFile/PPTFormatLib/Records/Animations/AnimationTypes.h
Normal file
3870
ASCOfficePPTFile/PPTFormatLib/Records/Animations/AnimationTypes.h
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,66 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordBuildAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_nBuildType = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nBuildId = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nShapeIdRef = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
_UINT32 Value = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_fExpanded = ( 0x01 == ( 0x01 & ((BYTE)Value) ) );
|
||||
m_fUIExpanded = ( 0x02 == ( 0x02 & ((BYTE)Value) ) );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
_UINT32 m_nBuildType; // 1 - Paragraph build type, 2 - Chart build type, 3 - Diagram build type
|
||||
_UINT32 m_nBuildId;
|
||||
_UINT32 m_nShapeIdRef;
|
||||
|
||||
bool m_fExpanded;
|
||||
bool m_fUIExpanded;
|
||||
};
|
||||
}
|
||||
@ -1,84 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "ParaBuildContainer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordBuildListContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
|
||||
CRecordBuildListContainer ()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
virtual ~CRecordBuildListContainer()
|
||||
{
|
||||
for ( size_t i = 0; i < n_arrRgChildRec.size(); ++i )
|
||||
RELEASEOBJECT (n_arrRgChildRec[i]);
|
||||
}
|
||||
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos(0); StreamUtils::StreamPosition(lPos, pStream);
|
||||
|
||||
_UINT32 lCurLen(0);
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
while (lCurLen < m_oHeader.RecLen) {
|
||||
if ( ReadHeader.ReadFromStream(pStream) == false )
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
lCurLen += 8 + ReadHeader.RecLen;
|
||||
|
||||
IRecord* pBuildListSubContainer = CreateByType(ReadHeader);
|
||||
pBuildListSubContainer->ReadFromStream(ReadHeader, pStream);
|
||||
|
||||
n_arrRgChildRec.push_back(pBuildListSubContainer);
|
||||
}
|
||||
|
||||
StreamUtils::StreamSeek(lPos + m_oHeader.RecLen, pStream);
|
||||
}
|
||||
public:
|
||||
std::vector <IRecord*> n_arrRgChildRec;
|
||||
};
|
||||
}
|
||||
@ -1,60 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordChartBuildAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
ChartBuildEnum m_ChartBuild;
|
||||
BYTE m_fAnimBackground;
|
||||
|
||||
CRecordChartBuildAtom(){}
|
||||
~CRecordChartBuildAtom(){}
|
||||
|
||||
virtual void ReadFromStream(SRecordHeader & oHeader, POLE::Stream* pStream)
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_ChartBuild = (ChartBuildEnum)StreamUtils::ReadDWORD(pStream);
|
||||
m_fAnimBackground = StreamUtils::ReadBYTE(pStream);
|
||||
|
||||
StreamUtils::StreamSkip(3, pStream);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -1,72 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "BuildAtom.h"
|
||||
#include "ChartBuildAtom.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordChartBuildContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
CRecordChartBuildContainer()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
~CRecordChartBuildContainer()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void ReadFromStream(SRecordHeader &thisHeader, POLE::Stream *pStream) override
|
||||
{
|
||||
m_oHeader = thisHeader;
|
||||
|
||||
|
||||
SRecordHeader oHeader;
|
||||
if (oHeader.ReadFromStream(pStream))
|
||||
m_oBuildAtom.ReadFromStream ( oHeader, pStream );
|
||||
|
||||
if (oHeader.ReadFromStream(pStream))
|
||||
m_oChartBuildAtom.ReadFromStream ( oHeader, pStream );
|
||||
|
||||
}
|
||||
|
||||
public:
|
||||
CRecordBuildAtom m_oBuildAtom;
|
||||
CRecordChartBuildAtom m_oChartBuildAtom;
|
||||
};
|
||||
}
|
||||
@ -1,85 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "VisualPageAtom.h"
|
||||
#include "VisualShapeAtom.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordClientVisualElementContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
CRecordClientVisualElementContainer ()
|
||||
{
|
||||
m_bVisualPageAtom = false;
|
||||
m_bVisualShapeAtom = false;
|
||||
}
|
||||
|
||||
void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream ) override
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos = 0; StreamUtils::StreamPosition ( lPos, pStream );
|
||||
|
||||
SRecordHeader ReadHeader;
|
||||
if (ReadHeader.ReadFromStream(pStream) )
|
||||
{
|
||||
if ( RT_VisualPageAtom == ReadHeader.RecType )
|
||||
{
|
||||
m_bVisualPageAtom = true;
|
||||
m_oVisualPageAtom.ReadFromStream ( ReadHeader, pStream );
|
||||
}
|
||||
|
||||
if ( RT_VisualShapeAtom == ReadHeader.RecType )
|
||||
{
|
||||
m_bVisualShapeAtom = true;
|
||||
m_oVisualShapeAtom.ReadFromStream ( ReadHeader, pStream );
|
||||
}
|
||||
}
|
||||
|
||||
StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
CRecordVisualPageAtom m_oVisualPageAtom;
|
||||
CRecordVisualShapeAtom m_oVisualShapeAtom;
|
||||
|
||||
bool m_bVisualPageAtom;
|
||||
bool m_bVisualShapeAtom;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,56 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordDiagramBuildAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
DiagramBuildEnum m_oDiagramBuild;
|
||||
|
||||
CRecordDiagramBuildAtom(){}
|
||||
~CRecordDiagramBuildAtom(){}
|
||||
|
||||
virtual void ReadFromStream(SRecordHeader & oHeader, POLE::Stream* pStream)
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_oDiagramBuild = (DiagramBuildEnum)StreamUtils::ReadDWORD(pStream);
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -1,73 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "BuildAtom.h"
|
||||
#include "DiagramBuildAtom.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordDiagramBuildContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
CRecordDiagramBuildContainer()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
~CRecordDiagramBuildContainer()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void ReadFromStream(SRecordHeader &thisHeader, POLE::Stream *pStream) override
|
||||
{
|
||||
m_oHeader = thisHeader;
|
||||
|
||||
|
||||
SRecordHeader oHeader;
|
||||
if (oHeader.ReadFromStream(pStream))
|
||||
m_oBuildAtom.ReadFromStream ( oHeader, pStream );
|
||||
|
||||
if (oHeader.ReadFromStream(pStream))
|
||||
m_oDiagramBuildAtom.ReadFromStream ( oHeader, pStream );
|
||||
|
||||
}
|
||||
|
||||
public:
|
||||
CRecordBuildAtom m_oBuildAtom;
|
||||
CRecordDiagramBuildAtom m_oDiagramBuildAtom;
|
||||
};
|
||||
}
|
||||
@ -1,406 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../Enums/_includer.h"
|
||||
|
||||
|
||||
#include "TimeAnimateBehaviorContainer.h"
|
||||
#include "TimeColorBehaviorContainer.h"
|
||||
#include "TimeEffectBehaviorContainer.h"
|
||||
#include "TimeMotionBehaviorContainer.h"
|
||||
#include "TimeRotationBehaviorContainer.h"
|
||||
#include "TimeScaleBehaviorContainer.h"
|
||||
#include "TimeSetBehaviorContainer.h"
|
||||
#include "TimeCommandBehaviorContainer.h"
|
||||
#include "ClientVisualElementContainer.h"
|
||||
#include "TimeIterateDataAtom.h"
|
||||
#include "TimeSequenceDataAtom.h"
|
||||
#include "TimeConditionContainer.h"
|
||||
#include "TimeModifierAtom.h"
|
||||
#include "SubEffectContainer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
|
||||
class CRecordExtTimeNodeContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
|
||||
/*-------------------------------------- record --------------------------------- */
|
||||
|
||||
CRecordTimeNodeAtom m_oTimeNodeAtom;
|
||||
//
|
||||
CRecordTimePropertyList4TimeNodeContainer* m_pTimePropertyList; // OPTIONAL
|
||||
CRecordTimeAnimateBehaviorContainer* m_pTimeAnimateBehavior; // OPTIONAL
|
||||
CRecordTimeColorBehaviorContainer* m_pTimeColorBehavior; // OPTIONAL
|
||||
CRecordTimeEffectBehaviorContainer* m_pTimeEffectBehavior; // OPTIONAL
|
||||
CRecordTimeMotionBehaviorContainer* m_pTimeMotionBehavior; // OPTIONAL
|
||||
CRecordTimeRotationBehaviorContainer* m_pTimeRotationBehavior; // OPTIONAL
|
||||
CRecordTimeScaleBehaviorContainer* m_pTimeScaleBehavior; // OPTIONAL
|
||||
CRecordTimeSetBehaviorContainer* m_pTimeSetBehavior; // OPTIONAL
|
||||
CRecordTimeCommandBehaviorContainer* m_pTimeCommandBehavior; // OPTIONAL
|
||||
CRecordClientVisualElementContainer* m_pClientVisualElement; // OPTIONAL - It MUST exist only if timeNodeAtom.type is TL_TNT_Media
|
||||
|
||||
CRecordTimeIterateDataAtom* m_pTimeIterateDataAtom; // OPTIONAL
|
||||
CRecordTimeSequenceDataAtom* m_pTimeSequenceDataAtom; // OPTIONAL
|
||||
|
||||
std::vector<CRecordTimeConditionContainer*> m_arrRgBeginTimeCondition; // OPTIONAL
|
||||
std::vector<CRecordTimeConditionContainer*> m_arrRgEndTimeCondition; // OPTIONAL
|
||||
CRecordTimeConditionContainer* m_pTimeEndSyncTimeCondition; // OPTIONAL
|
||||
|
||||
std::vector<CRecordTimeModifierAtom*> m_arrRgTimeModifierAtom; // OPTIONAL
|
||||
std::vector<CRecordSubEffectContainer*> m_arrRgSubEffect; // OPTIONAL
|
||||
std::vector <CRecordExtTimeNodeContainer*> m_arrRgExtTimeNodeChildren; // OPTIONAL
|
||||
|
||||
/*-------------------------------------- record --------------------------------- */
|
||||
|
||||
bool m_haveTimePropertyList;
|
||||
bool m_haveAnimateBehavior;
|
||||
bool m_haveColorBehavior;
|
||||
bool m_haveEffectBehavior;
|
||||
bool m_haveMotionBehavior;
|
||||
bool m_haveRotationBehavior;
|
||||
bool m_haveScaleBehavior;
|
||||
bool m_haveSetBehavior;
|
||||
bool m_haveCommandBehavior;
|
||||
bool m_haveClientVisualElement;
|
||||
|
||||
bool m_haveIterateDataAtom;
|
||||
bool m_haveSequenceAtom;
|
||||
|
||||
bool m_haveTimeEndSyncTime;
|
||||
|
||||
public:
|
||||
|
||||
CRecordExtTimeNodeContainer() :
|
||||
m_pTimePropertyList(nullptr),
|
||||
m_pTimeAnimateBehavior(nullptr),
|
||||
m_pTimeColorBehavior(nullptr),
|
||||
m_pTimeEffectBehavior(nullptr),
|
||||
m_pTimeMotionBehavior(nullptr),
|
||||
m_pTimeRotationBehavior(nullptr),
|
||||
m_pTimeScaleBehavior(nullptr),
|
||||
m_pTimeSetBehavior(nullptr),
|
||||
m_pTimeCommandBehavior(nullptr),
|
||||
m_pClientVisualElement(nullptr),
|
||||
|
||||
m_pTimeIterateDataAtom(nullptr),
|
||||
m_pTimeSequenceDataAtom(nullptr),
|
||||
|
||||
m_pTimeEndSyncTimeCondition(nullptr),
|
||||
|
||||
|
||||
m_haveTimePropertyList(false),
|
||||
m_haveAnimateBehavior(false),
|
||||
m_haveColorBehavior(false),
|
||||
m_haveEffectBehavior(false),
|
||||
m_haveMotionBehavior(false),
|
||||
m_haveRotationBehavior(false),
|
||||
m_haveScaleBehavior(false),
|
||||
m_haveSetBehavior(false),
|
||||
m_haveCommandBehavior(false),
|
||||
m_haveClientVisualElement(false),
|
||||
|
||||
m_haveIterateDataAtom(false),
|
||||
m_haveSequenceAtom(false),
|
||||
|
||||
m_haveTimeEndSyncTime(false)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~CRecordExtTimeNodeContainer()
|
||||
{
|
||||
RELEASEOBJECT(m_pTimePropertyList);
|
||||
RELEASEOBJECT(m_pTimeAnimateBehavior);
|
||||
RELEASEOBJECT(m_pTimeColorBehavior);
|
||||
RELEASEOBJECT(m_pTimeEffectBehavior);
|
||||
RELEASEOBJECT(m_pTimeMotionBehavior);
|
||||
RELEASEOBJECT(m_pTimeRotationBehavior);
|
||||
RELEASEOBJECT(m_pTimeScaleBehavior);
|
||||
RELEASEOBJECT(m_pTimeSetBehavior);
|
||||
RELEASEOBJECT(m_pTimeCommandBehavior);
|
||||
RELEASEOBJECT(m_pClientVisualElement);
|
||||
|
||||
RELEASEOBJECT(m_pTimeIterateDataAtom);
|
||||
RELEASEOBJECT(m_pTimeSequenceDataAtom);
|
||||
|
||||
RELEASEOBJECT(m_pTimeEndSyncTimeCondition);
|
||||
|
||||
for ( size_t i = 0; i < m_arrRgBeginTimeCondition.size(); ++i )
|
||||
RELEASEOBJECT ( m_arrRgBeginTimeCondition[i] );
|
||||
|
||||
for ( size_t i = 0; i < m_arrRgEndTimeCondition.size(); ++i )
|
||||
RELEASEOBJECT ( m_arrRgEndTimeCondition[i] );
|
||||
|
||||
for ( size_t i = 0; i < m_arrRgTimeModifierAtom.size(); ++i )
|
||||
RELEASEOBJECT ( m_arrRgTimeModifierAtom[i] );
|
||||
|
||||
for ( size_t i = 0; i < m_arrRgSubEffect.size(); ++i )
|
||||
RELEASEOBJECT ( m_arrRgSubEffect[i] );
|
||||
|
||||
for ( size_t i = 0; i < m_arrRgExtTimeNodeChildren.size(); ++i )
|
||||
RELEASEOBJECT ( m_arrRgExtTimeNodeChildren[i] );
|
||||
}
|
||||
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos = 0;
|
||||
StreamUtils::StreamPosition ( lPos, pStream );
|
||||
|
||||
SRecordHeader rHeader;
|
||||
|
||||
if ( rHeader.ReadFromStream(pStream) )
|
||||
m_oTimeNodeAtom.ReadFromStream ( rHeader, pStream );
|
||||
|
||||
UINT lCurLen = m_oTimeNodeAtom.m_oHeader.RecLen + 8;
|
||||
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
while ( lCurLen < m_oHeader.RecLen )
|
||||
{
|
||||
LONG lPosLoop = 0;
|
||||
StreamUtils::StreamPosition ( lPosLoop, pStream );
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) == false)
|
||||
break;
|
||||
|
||||
lCurLen += 8 + ReadHeader.RecLen;
|
||||
|
||||
switch (ReadHeader.RecType)
|
||||
{
|
||||
case RT_TimePropertyList:
|
||||
{
|
||||
|
||||
m_pTimePropertyList = new CRecordTimePropertyList4TimeNodeContainer;
|
||||
m_pTimePropertyList->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveTimePropertyList = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeAnimateBehaviorContainer:
|
||||
{
|
||||
|
||||
m_pTimeAnimateBehavior = new CRecordTimeAnimateBehaviorContainer;
|
||||
m_pTimeAnimateBehavior->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveAnimateBehavior = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeColorBehaviorContainer:
|
||||
{
|
||||
|
||||
m_pTimeColorBehavior = new CRecordTimeColorBehaviorContainer;
|
||||
m_pTimeColorBehavior->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveColorBehavior = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeEffectBehaviorContainer:
|
||||
{
|
||||
|
||||
m_pTimeEffectBehavior = new CRecordTimeEffectBehaviorContainer();
|
||||
m_pTimeEffectBehavior->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveEffectBehavior = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeMotionBehaviorContainer:
|
||||
{
|
||||
|
||||
m_pTimeMotionBehavior = new CRecordTimeMotionBehaviorContainer();
|
||||
m_pTimeMotionBehavior->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveMotionBehavior = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeRotationBehaviorContainer:
|
||||
{
|
||||
|
||||
m_pTimeRotationBehavior = new CRecordTimeRotationBehaviorContainer();
|
||||
m_pTimeRotationBehavior->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveRotationBehavior = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeScaleBehaviorContainer:
|
||||
{
|
||||
|
||||
m_pTimeScaleBehavior = new CRecordTimeScaleBehaviorContainer();
|
||||
m_pTimeScaleBehavior->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveScaleBehavior = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeSetBehaviorContainer:
|
||||
{
|
||||
|
||||
m_pTimeSetBehavior = new CRecordTimeSetBehaviorContainer();
|
||||
m_pTimeSetBehavior->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveSetBehavior = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeCommandBehaviorContainer:
|
||||
{
|
||||
|
||||
m_pTimeCommandBehavior = new CRecordTimeCommandBehaviorContainer();
|
||||
m_pTimeCommandBehavior->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveCommandBehavior = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeClientVisualElement:
|
||||
{
|
||||
|
||||
m_pClientVisualElement = new CRecordClientVisualElementContainer();
|
||||
m_pClientVisualElement->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveClientVisualElement = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeIterateData:
|
||||
{
|
||||
|
||||
m_pTimeIterateDataAtom = new CRecordTimeIterateDataAtom();
|
||||
m_pTimeIterateDataAtom->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveIterateDataAtom = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeSequenceData:
|
||||
{
|
||||
|
||||
m_pTimeSequenceDataAtom = new CRecordTimeSequenceDataAtom();
|
||||
m_pTimeSequenceDataAtom->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveSequenceAtom = true;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeConditionContainer:
|
||||
{
|
||||
|
||||
CRecordTimeConditionContainer* pTimeCondition =
|
||||
new CRecordTimeConditionContainer();
|
||||
pTimeCondition->ReadFromStream(ReadHeader, pStream);
|
||||
unsigned short recInst = ReadHeader.RecInstance;
|
||||
|
||||
if (recInst == TL_CT_Begin || recInst == TL_CT_Next)
|
||||
m_arrRgBeginTimeCondition.push_back(pTimeCondition);
|
||||
|
||||
else if (recInst == TL_CT_End || recInst == TL_CT_Previous)
|
||||
m_arrRgEndTimeCondition.push_back(pTimeCondition);
|
||||
else
|
||||
m_pTimeEndSyncTimeCondition = pTimeCondition;
|
||||
|
||||
|
||||
break; // A lot of records. Look at instance
|
||||
}
|
||||
|
||||
|
||||
case RT_TimeModifier:
|
||||
{
|
||||
|
||||
CRecordTimeModifierAtom* pModAtom = new CRecordTimeModifierAtom();
|
||||
pModAtom->ReadFromStream(ReadHeader, pStream);
|
||||
m_arrRgTimeModifierAtom.push_back(pModAtom);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeSubEffectContainer:
|
||||
{
|
||||
|
||||
CRecordSubEffectContainer* pSub = new CRecordSubEffectContainer();
|
||||
pSub->ReadFromStream(ReadHeader, pStream);
|
||||
m_arrRgSubEffect.push_back(pSub);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeExtTimeNodeContainer:
|
||||
{
|
||||
|
||||
CRecordExtTimeNodeContainer* pExt = new CRecordExtTimeNodeContainer();
|
||||
pExt->ReadFromStream(ReadHeader, pStream);
|
||||
m_arrRgExtTimeNodeChildren.push_back(pExt);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
// throw ;
|
||||
}
|
||||
|
||||
}
|
||||
StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
inline CRecordTimeModifierAtom* GetModifier (_UINT32 Type)
|
||||
{
|
||||
for ( size_t i = 0; i < m_arrRgTimeModifierAtom.size(); ++i )
|
||||
if (m_arrRgTimeModifierAtom[i]->m_nType == Type)
|
||||
return m_arrRgTimeModifierAtom[i];
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
inline int GetNodeType () const
|
||||
{
|
||||
return m_oTimeNodeAtom.m_dwType;
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,62 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordLevelInfoAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
CRecordLevelInfoAtom()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
~CRecordLevelInfoAtom()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_nLevel = StreamUtils::ReadDWORD ( pStream );
|
||||
}
|
||||
|
||||
|
||||
_UINT32 m_nLevel;
|
||||
};
|
||||
}
|
||||
@ -1,77 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordParaBuildAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_nParaBuild = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nBuildLevel = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
_UINT32 Value = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_fAnimBackground = ( 0x01 == ( 0x01 & ((BYTE)Value) ) );
|
||||
m_fReverse = ( 0x02 == ( 0x02 & ((BYTE)Value) ) );
|
||||
m_fUserSetAnimBackground = ( 0x04 == ( 0x04 & ((BYTE)Value) ) );
|
||||
m_fAutomatic = ( 0x08 == ( 0x08 & ((BYTE)Value) ) );
|
||||
|
||||
m_nDelayTime = StreamUtils::ReadDWORD ( pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
_UINT32 m_nParaBuild; // 0 - All paragraphs in the shape animate at the same time.
|
||||
// 1 - Paragraph levels 1 to n – 1 in the shape animate separately.
|
||||
// All paragraph levels n or greater animate at the same time.
|
||||
// 2 - Applies a custom animation paragraph build type to the
|
||||
// paragraphs of the shape.
|
||||
// 3 - The shape and all paragraphs within the shape animate as one
|
||||
// graphical object.
|
||||
_UINT32 m_nBuildLevel;
|
||||
|
||||
bool m_fAnimBackground;
|
||||
bool m_fReverse;
|
||||
bool m_fUserSetAnimBackground;
|
||||
bool m_fAutomatic;
|
||||
|
||||
_UINT32 m_nDelayTime;
|
||||
};
|
||||
}
|
||||
@ -1,98 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "ParaBuildLevel.h"
|
||||
#include "BuildAtom.h"
|
||||
#include "ParaBuildAtom.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordParaBuildContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
|
||||
CRecordParaBuildContainer()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
virtual ~CRecordParaBuildContainer()
|
||||
{
|
||||
for ( size_t i = 0; i < m_arrRgParaBuildLevel.size(); ++i )
|
||||
RELEASEOBJECT (m_arrRgParaBuildLevel[i]);
|
||||
}
|
||||
|
||||
virtual void ReadFromStream ( SRecordHeader & thisHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = thisHeader;
|
||||
|
||||
LONG lPos(0); StreamUtils::StreamPosition(lPos, pStream);
|
||||
UINT lCurLen = 0;
|
||||
SRecordHeader oHeader;
|
||||
// UINT res = 0;
|
||||
|
||||
if (oHeader.ReadFromStream(pStream)){
|
||||
m_oBuildAtom.ReadFromStream ( oHeader, pStream );
|
||||
lCurLen += oHeader.RecLen + 8;
|
||||
}
|
||||
|
||||
if (oHeader.ReadFromStream(pStream))
|
||||
{
|
||||
m_oParaBuildAtom.ReadFromStream ( oHeader, pStream );
|
||||
lCurLen += oHeader.RecLen + 8;
|
||||
}
|
||||
|
||||
// TODO may not work
|
||||
|
||||
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
while ( lCurLen < m_oHeader.RecLen ) {
|
||||
CRecordParaBuildLevel* pLevel = new CRecordParaBuildLevel();
|
||||
pLevel->ReadFromStream(pStream);
|
||||
|
||||
m_arrRgParaBuildLevel.push_back(pLevel);
|
||||
|
||||
lCurLen += pLevel->getRecordLen();
|
||||
}
|
||||
StreamUtils::StreamSeek(lPos + m_oHeader.RecLen, pStream);
|
||||
}
|
||||
public:
|
||||
CRecordBuildAtom m_oBuildAtom;
|
||||
CRecordParaBuildAtom m_oParaBuildAtom;
|
||||
|
||||
std::vector <CRecordParaBuildLevel*> m_arrRgParaBuildLevel;
|
||||
};
|
||||
}
|
||||
@ -1,75 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "LevelInfoAtom.h"
|
||||
#include "ExtTimeNodeContainer.h"
|
||||
|
||||
|
||||
class CRecordParaBuildLevel
|
||||
{
|
||||
public:
|
||||
CRecordParaBuildLevel () : m_nRecordLen(0)
|
||||
{
|
||||
}
|
||||
|
||||
~CRecordParaBuildLevel()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void ReadFromStream ( POLE::Stream* pStream )
|
||||
{
|
||||
SRecordHeader oHeader;
|
||||
|
||||
if (oHeader.ReadFromStream(pStream))
|
||||
{
|
||||
m_oLevelInfoAtom.ReadFromStream ( oHeader, pStream );
|
||||
m_nRecordLen += oHeader.RecLen + 8;
|
||||
}
|
||||
|
||||
if (oHeader.ReadFromStream(pStream))
|
||||
{
|
||||
m_oTimeNode.ReadFromStream ( oHeader, pStream );
|
||||
m_nRecordLen += oHeader.RecLen + 8;
|
||||
}
|
||||
}
|
||||
|
||||
_UINT32 getRecordLen()const {return m_nRecordLen;}
|
||||
|
||||
CRecordLevelInfoAtom m_oLevelInfoAtom;
|
||||
CRecordExtTimeNodeContainer m_oTimeNode; // ExtTimeNodeContainer
|
||||
|
||||
private:
|
||||
_UINT32 m_nRecordLen;
|
||||
};
|
||||
@ -1,179 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeNodeAtom.h"
|
||||
#include "TimePropertyList4TimeNodeContainer.h"
|
||||
#include "TimeColorBehaviorContainer.h"
|
||||
#include "TimeSetBehaviorContainer.h"
|
||||
#include "ClientVisualElementContainer.h"
|
||||
#include "TimeConditionContainer.h"
|
||||
#include "TimeCommandBehaviorContainer.h"
|
||||
#include "TimeModifierAtom.h"
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
#define SUBEFFECT_CASE(RECORD_TYPE, P_VAR, CLASS_RECORD_NAME, FLAG) \
|
||||
case RECORD_TYPE: { P_VAR = new CLASS_RECORD_NAME(); \
|
||||
P_VAR->ReadFromStream(ReadHeader, pStream); \
|
||||
FLAG = true; \
|
||||
break; } \
|
||||
//-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
struct CRecordSubEffectContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
|
||||
CRecordSubEffectContainer () :
|
||||
m_pTimePropertyList(nullptr),
|
||||
m_pTimeColorBehavior(nullptr),
|
||||
m_pTimeSetBehavior(nullptr),
|
||||
m_pTimeCommandBehavior(nullptr),
|
||||
m_pClientVisualElement(nullptr),
|
||||
|
||||
m_haveTimePropertyList(false),
|
||||
m_haveColorBehavior(false),
|
||||
m_haveSetBehavior(false),
|
||||
m_haveCommandBehavior(false),
|
||||
m_haveClientVisualElement(false)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~CRecordSubEffectContainer ()
|
||||
{
|
||||
RELEASEOBJECT(m_pTimePropertyList);
|
||||
RELEASEOBJECT(m_pTimeColorBehavior);
|
||||
RELEASEOBJECT(m_pTimeSetBehavior);
|
||||
RELEASEOBJECT(m_pTimeCommandBehavior);
|
||||
RELEASEOBJECT(m_pClientVisualElement);
|
||||
|
||||
for (auto pRecord : m_arrRgBeginTimeCondition)
|
||||
RELEASEOBJECT(pRecord);
|
||||
for (auto pRecord : m_arrRgEndTimeCondition)
|
||||
RELEASEOBJECT(pRecord);
|
||||
for (auto pRecord : m_arrRgTimeModifierAtom)
|
||||
RELEASEOBJECT(pRecord);
|
||||
}
|
||||
|
||||
virtual void ReadFromStream (SRecordHeader & oHeader, POLE::Stream* pStream)
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos(0); StreamUtils::StreamPosition(lPos, pStream);
|
||||
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oTimeNodeAtom.ReadFromStream ( ReadHeader, pStream );
|
||||
|
||||
UINT lCurLen = m_oTimeNodeAtom.m_oHeader.RecLen + 8;
|
||||
while ( lCurLen < m_oHeader.RecLen )
|
||||
{
|
||||
if ( ReadHeader.ReadFromStream(pStream) == false)
|
||||
break;
|
||||
|
||||
lCurLen += 8 + ReadHeader.RecLen;
|
||||
|
||||
switch (ReadHeader.RecType)
|
||||
{
|
||||
SUBEFFECT_CASE(RT_TimePropertyList, m_pTimePropertyList,
|
||||
CRecordTimePropertyList4TimeNodeContainer, m_haveTimePropertyList)
|
||||
SUBEFFECT_CASE(RT_TimeColorBehaviorContainer, m_pTimeColorBehavior,
|
||||
CRecordTimeColorBehaviorContainer, m_haveColorBehavior)
|
||||
SUBEFFECT_CASE(RT_TimeSetBehaviorContainer, m_pTimeSetBehavior,
|
||||
CRecordTimeSetBehaviorContainer, m_haveSetBehavior)
|
||||
SUBEFFECT_CASE(RT_TimeCommandBehaviorContainer, m_pTimeCommandBehavior,
|
||||
CRecordTimeCommandBehaviorContainer, m_haveCommandBehavior)
|
||||
SUBEFFECT_CASE(RT_TimeClientVisualElement, m_pClientVisualElement,
|
||||
CRecordClientVisualElementContainer, m_haveClientVisualElement)
|
||||
|
||||
case RT_TimeConditionContainer:
|
||||
{
|
||||
CRecordTimeConditionContainer* pTimeCondition =
|
||||
new CRecordTimeConditionContainer();
|
||||
pTimeCondition->ReadFromStream(ReadHeader, pStream);
|
||||
unsigned short recInst = ReadHeader.RecInstance;
|
||||
|
||||
if (recInst == TL_CT_Begin)
|
||||
m_arrRgBeginTimeCondition.push_back(pTimeCondition);
|
||||
|
||||
else if (recInst == TL_CT_End)
|
||||
m_arrRgEndTimeCondition.push_back(pTimeCondition);
|
||||
else
|
||||
throw ;
|
||||
|
||||
break; // A lot of records. Look at instance
|
||||
}
|
||||
|
||||
case RT_TimeModifier:
|
||||
{
|
||||
CRecordTimeModifierAtom* pModAtom = new CRecordTimeModifierAtom();
|
||||
pModAtom->ReadFromStream(ReadHeader, pStream);
|
||||
m_arrRgTimeModifierAtom.push_back(pModAtom);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
throw ;
|
||||
}
|
||||
}
|
||||
StreamUtils::StreamSeek(lPos + m_oHeader.RecLen, pStream);
|
||||
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
CRecordTimeNodeAtom m_oTimeNodeAtom;
|
||||
CRecordTimePropertyList4TimeNodeContainer* m_pTimePropertyList; // OPTIONAL
|
||||
CRecordTimeColorBehaviorContainer* m_pTimeColorBehavior; // OPTIONAL
|
||||
CRecordTimeSetBehaviorContainer* m_pTimeSetBehavior; // OPTIONAL
|
||||
CRecordTimeCommandBehaviorContainer* m_pTimeCommandBehavior; // OPTIONAL
|
||||
CRecordClientVisualElementContainer* m_pClientVisualElement; // OPTIONAL
|
||||
|
||||
std::vector<CRecordTimeConditionContainer*> m_arrRgBeginTimeCondition; // OPTIONAL
|
||||
std::vector<CRecordTimeConditionContainer*> m_arrRgEndTimeCondition; // OPTIONAL
|
||||
|
||||
std::vector<CRecordTimeModifierAtom*> m_arrRgTimeModifierAtom; // OPTIONAL
|
||||
|
||||
bool m_haveTimePropertyList;
|
||||
bool m_haveColorBehavior;
|
||||
bool m_haveSetBehavior;
|
||||
bool m_haveCommandBehavior;
|
||||
bool m_haveClientVisualElement;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,75 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeAnimateBehaviorAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_nCalcMode = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
_UINT32 Value = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_bByPropertyUsed = ( 0x01 == ( 0x01 & ((BYTE)Value) ) );
|
||||
m_bFromPropertyUsed = ( 0x02 == ( 0x02 & ((BYTE)Value) ) );
|
||||
m_bToPropertyUsed = ( 0x04 == ( 0x04 & ((BYTE)Value) ) );
|
||||
m_bCalcModePropertyUsed = ( 0x08 == ( 0x08 & ((BYTE)Value) ) );
|
||||
m_bAnimationValuesPropertyUsed = ( 0x10 == ( 0x10 & ((BYTE)Value) ) );
|
||||
m_bValueTypePropertyUsed = ( 0x20 == ( 0x20 & ((BYTE)Value) ) );
|
||||
|
||||
m_ValueType = (TimeAnimateBehaviorValueTypeEnum)StreamUtils::ReadDWORD ( pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
_UINT32 m_nCalcMode;
|
||||
|
||||
bool m_bByPropertyUsed;
|
||||
bool m_bFromPropertyUsed;
|
||||
bool m_bToPropertyUsed;
|
||||
bool m_bCalcModePropertyUsed;
|
||||
bool m_bAnimationValuesPropertyUsed;
|
||||
bool m_bValueTypePropertyUsed;
|
||||
|
||||
TimeAnimateBehaviorValueTypeEnum m_ValueType;
|
||||
};
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeVariant.h"
|
||||
#include "TimeAnimateBehaviorAtom.h"
|
||||
#include "TimeStringListContainer.h"
|
||||
#include "TimeAnimationValueListContainer.h"
|
||||
#include "TimeBehaviorContainer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeAnimateBehaviorContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oAnimateBehaviorAtom.ReadFromStream ( ReadHeader, pStream );
|
||||
|
||||
if ( m_oAnimateBehaviorAtom.m_bAnimationValuesPropertyUsed )
|
||||
{
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oAnimateValueList.ReadFromStream ( ReadHeader, pStream );
|
||||
}
|
||||
|
||||
if ( m_oAnimateBehaviorAtom.m_bByPropertyUsed )
|
||||
{
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oVarBy.ReadFromStream ( ReadHeader, pStream );
|
||||
}
|
||||
|
||||
if ( m_oAnimateBehaviorAtom.m_bFromPropertyUsed )
|
||||
{
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oVarFrom.ReadFromStream ( ReadHeader, pStream );
|
||||
}
|
||||
|
||||
if ( m_oAnimateBehaviorAtom.m_bToPropertyUsed )
|
||||
{
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oVarTo.ReadFromStream ( ReadHeader, pStream );
|
||||
}
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oBehavior.ReadFromStream ( ReadHeader, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
CRecordTimeAnimateBehaviorAtom m_oAnimateBehaviorAtom;
|
||||
CRecordTimeAnimationValueListContainer m_oAnimateValueList;
|
||||
|
||||
CRecordTimeVariantString m_oVarBy;
|
||||
CRecordTimeVariantString m_oVarFrom;
|
||||
CRecordTimeVariantString m_oVarTo;
|
||||
|
||||
CRecordTimeBehaviorContainer m_oBehavior;
|
||||
};
|
||||
}
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
struct TimeAnimateColor
|
||||
{
|
||||
_UINT32 model; // 0 - RGB, 2 - IndexScheme
|
||||
_UINT32 component0;
|
||||
_UINT32 component1;
|
||||
_UINT32 component2;
|
||||
|
||||
inline unsigned long FRGB (BYTE alpha = 0xFF)
|
||||
{
|
||||
return ((component2 << 16) | (component1 << 8) | (component0 << 0) | (alpha << 24));
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -1,52 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
struct TimeAnimateColorBy
|
||||
{
|
||||
_UINT32 model; // 0 - RGB, 1 - HSL, 2 - IndexScheme
|
||||
_UINT32 component0;
|
||||
_UINT32 component1;
|
||||
_UINT32 component2;
|
||||
|
||||
inline unsigned long FRGB (BYTE alpha = 0xFF) //
|
||||
{
|
||||
return ((component2 << 16) | (component1 << 8) | (component0 << 0) | (alpha << 24));
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -1,54 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeAnimationValueAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_nTime = StreamUtils::ReadDWORD ( pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
long m_nTime;
|
||||
|
||||
};
|
||||
}
|
||||
@ -1,87 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeAnimationValueListEntry.h"
|
||||
#include <memory>
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeAnimationValueListContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
|
||||
~CRecordTimeAnimationValueListContainer()
|
||||
{
|
||||
for (auto pEntry : m_arrEntry)
|
||||
{
|
||||
RELEASEOBJECT(pEntry);
|
||||
}
|
||||
}
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos = 0;
|
||||
StreamUtils::StreamPosition ( lPos, pStream );
|
||||
|
||||
UINT lCurLen = 0;
|
||||
|
||||
SRecordHeader ReadHeader;
|
||||
while ( lCurLen < m_oHeader.RecLen )
|
||||
{
|
||||
if ( ReadHeader.ReadFromStream(pStream) == false )
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
lCurLen += 8 + ReadHeader.RecLen;
|
||||
|
||||
auto Entry = new CRecordTimeAnimationEntry;
|
||||
Entry->ReadFromStream ( lCurLen, ReadHeader, pStream );
|
||||
|
||||
m_arrEntry.push_back ( Entry );
|
||||
|
||||
}
|
||||
|
||||
StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
std::vector<CRecordTimeAnimationEntry*> m_arrEntry;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,83 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeVariant.h"
|
||||
#include "TimeAnimationValueAtom.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
|
||||
class CRecordTimeAnimationEntry
|
||||
{
|
||||
public:
|
||||
|
||||
CRecordTimeAnimationEntry()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
virtual ~CRecordTimeAnimationEntry()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void ReadFromStream ( UINT& CurLen, SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oTimeAnimationValueAtom.ReadFromStream ( oHeader, pStream );
|
||||
|
||||
// UINT res = 0;
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
{
|
||||
m_pVarValue = TimeVariantFactoryMethod( ReadHeader, pStream );
|
||||
}
|
||||
|
||||
CurLen += 8 + ReadHeader.RecLen;
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
{
|
||||
m_VarFormula.ReadFromStream ( ReadHeader, pStream );
|
||||
}
|
||||
|
||||
CurLen += 8 + ReadHeader.RecLen;
|
||||
}
|
||||
|
||||
CRecordTimeAnimationValueAtom m_oTimeAnimationValueAtom;
|
||||
nullable<CRecordTimeVariant> m_pVarValue;
|
||||
CRecordTimeVariantString m_VarFormula;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,72 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
|
||||
class CRecordTimeBehaviorAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
// LONG lPos = 0; StreamUtils::StreamPosition ( lPos, pStream );
|
||||
|
||||
_UINT32 dwFlags = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_bAdditivePropertyUsed = ( 0x01 == ( 0x01 & ((BYTE)dwFlags) ) );
|
||||
m_bAttributeNamesPropertyUsed = ( 0x04 == ( 0x04 & ((BYTE)dwFlags) ) );
|
||||
|
||||
m_nBehaviorAdditive = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nBehaviorAccumulate = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nBehaviorTransform = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
// StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
bool m_bAdditivePropertyUsed;
|
||||
bool m_bAttributeNamesPropertyUsed;
|
||||
|
||||
_UINT32 m_nBehaviorAdditive;
|
||||
_UINT32 m_nBehaviorAccumulate;
|
||||
_UINT32 m_nBehaviorTransform;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,131 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../Enums/RecordType.h"
|
||||
#include "TimeBehaviorAtom.h"
|
||||
#include "TimeStringListContainer.h"
|
||||
#include "TimePropertyList4TimeBehavior.h"
|
||||
#include "ClientVisualElementContainer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeBehaviorContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
CRecordTimeBehaviorContainer () :
|
||||
m_pStringList(nullptr),
|
||||
m_pPropertyList(nullptr),
|
||||
|
||||
m_haveStringList(false),
|
||||
m_havePropertyList(false)
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~CRecordTimeBehaviorContainer ()
|
||||
{
|
||||
RELEASEOBJECT (m_pStringList);
|
||||
RELEASEOBJECT (m_pPropertyList);
|
||||
}
|
||||
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos(0); StreamUtils::StreamPosition(lPos, pStream);
|
||||
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oBehaviorAtom.ReadFromStream ( ReadHeader, pStream );
|
||||
|
||||
UINT lCurLen = 8 + ReadHeader.RecLen;
|
||||
|
||||
while ( lCurLen < m_oHeader.RecLen )
|
||||
{
|
||||
if (ReadHeader.ReadFromStream(pStream) == false)
|
||||
break;
|
||||
|
||||
lCurLen += 8 + ReadHeader.RecLen;
|
||||
|
||||
RecordType nRecord = ReadHeader.RecType;
|
||||
|
||||
switch (nRecord)
|
||||
{
|
||||
case RT_TimeVariantList:
|
||||
{
|
||||
m_pStringList = new CRecordTimeStringListContainer();
|
||||
m_pStringList->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveStringList = true;
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimePropertyList:
|
||||
{
|
||||
m_pPropertyList = new CRecordTimePropertyList4TimeBehavior();
|
||||
m_pPropertyList->ReadFromStream(ReadHeader, pStream);
|
||||
m_havePropertyList = true;
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeClientVisualElement:
|
||||
{
|
||||
m_oClientVisualElement.ReadFromStream( ReadHeader, pStream );
|
||||
}
|
||||
|
||||
default:
|
||||
break ;
|
||||
}
|
||||
}
|
||||
StreamUtils::StreamSeek(lPos + m_oHeader.RecLen, pStream);
|
||||
}
|
||||
|
||||
|
||||
inline _UINT32 GetObjectID ()
|
||||
{
|
||||
return m_oClientVisualElement.m_oVisualShapeAtom.m_nObjectIdRef;
|
||||
}
|
||||
|
||||
public:
|
||||
CRecordTimeBehaviorAtom m_oBehaviorAtom;
|
||||
CRecordTimeStringListContainer* m_pStringList; // OPTIONAL
|
||||
CRecordTimePropertyList4TimeBehavior* m_pPropertyList; // OPTIONAL
|
||||
CRecordClientVisualElementContainer m_oClientVisualElement;
|
||||
|
||||
bool m_haveStringList;
|
||||
bool m_havePropertyList;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,76 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeAnimateColor.h"
|
||||
#include "TimeAnimateColorBy.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
|
||||
class CRecordTimeColorBehaviorAtom: public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
_UINT32 flag = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_fByPropertyUsed = ( 0x01 == ( 0x01 & ((BYTE)flag) ) );
|
||||
m_fFromPropertyUsed = ( 0x02 == ( 0x02 & ((BYTE)flag) ) );
|
||||
m_fToPropertyUsed = ( 0x04 == ( 0x04 & ((BYTE)flag) ) );
|
||||
m_fColorSpacePropertyUsed = ( 0x08 == ( 0x08 & ((BYTE)flag) ) );
|
||||
m_fDirectionPropertyUsed = ( 0x10 == ( 0x10 & ((BYTE)flag) ) );
|
||||
|
||||
pStream->read ((unsigned char*) &m_sColorBy , sizeof ( TimeAnimateColorBy ) );
|
||||
pStream->read ((unsigned char*) &m_sColorFrom , sizeof ( TimeAnimateColor ) );
|
||||
pStream->read ((unsigned char*) &m_sColorTo , sizeof ( TimeAnimateColor ) );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
bool m_fByPropertyUsed;
|
||||
bool m_fFromPropertyUsed;
|
||||
bool m_fToPropertyUsed;
|
||||
bool m_fColorSpacePropertyUsed;
|
||||
bool m_fDirectionPropertyUsed;
|
||||
|
||||
TimeAnimateColorBy m_sColorBy;
|
||||
TimeAnimateColor m_sColorFrom;
|
||||
TimeAnimateColor m_sColorTo;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,63 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeColorBehaviorAtom.h"
|
||||
#include "TimeBehaviorContainer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
|
||||
class CRecordTimeColorBehaviorContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
SRecordHeader ReadHeader;
|
||||
if (ReadHeader.ReadFromStream(pStream) )
|
||||
m_oColorBehaviorAtom.ReadFromStream ( ReadHeader, pStream );
|
||||
|
||||
if (ReadHeader.ReadFromStream(pStream) )
|
||||
m_oBehavior.ReadFromStream (ReadHeader, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
CRecordTimeColorBehaviorAtom m_oColorBehaviorAtom;
|
||||
CRecordTimeBehaviorContainer m_oBehavior;
|
||||
};
|
||||
}
|
||||
@ -1,73 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeCommandBehaviorAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
CRecordTimeCommandBehaviorAtom ()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
~CRecordTimeCommandBehaviorAtom()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void ReadFromStream(SRecordHeader &oHeader, POLE::Stream *pStream) override
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
_UINT32 flags = StreamUtils::ReadLONG(pStream);
|
||||
|
||||
m_fTypePropertyUsed = ( 0x01 == ( 0x01 & (flags) ) );
|
||||
m_fCommandPropertyUsed = ( 0x02 == ( 0x02 & (flags) ) );
|
||||
|
||||
|
||||
m_eCommandBehaviorType = (TimeCommandBehaviorTypeEnum)
|
||||
StreamUtils::ReadLONG(pStream);
|
||||
|
||||
}
|
||||
public:
|
||||
bool m_fTypePropertyUsed;
|
||||
bool m_fCommandPropertyUsed;
|
||||
TimeCommandBehaviorTypeEnum m_eCommandBehaviorType;
|
||||
};
|
||||
}
|
||||
@ -1,75 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeCommandBehaviorAtom.h"
|
||||
#include "TimeBehaviorContainer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeCommandBehaviorContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
CRecordTimeCommandBehaviorContainer ()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
~CRecordTimeCommandBehaviorContainer ()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void ReadFromStream(SRecordHeader &thisHeader, POLE::Stream *pStream) override
|
||||
{
|
||||
m_oHeader = thisHeader;
|
||||
|
||||
SRecordHeader oHeader;
|
||||
if (oHeader.ReadFromStream(pStream))
|
||||
m_oCommandBehaviorAtom.ReadFromStream ( oHeader, pStream );
|
||||
|
||||
if (oHeader.ReadFromStream(pStream))
|
||||
m_oVarCommand.ReadFromStream ( oHeader, pStream );
|
||||
|
||||
if (oHeader.ReadFromStream(pStream))
|
||||
m_oBevavior.ReadFromStream ( oHeader, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
CRecordTimeCommandBehaviorAtom m_oCommandBehaviorAtom;
|
||||
CRecordTimeVariantString m_oVarCommand;
|
||||
CRecordTimeBehaviorContainer m_oBevavior;
|
||||
};
|
||||
}
|
||||
@ -1,63 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeConditionAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_TriggerObject = ( TriggerObjectEnum )StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_nTriggerEvent = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nID = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nTimeDelay = StreamUtils::ReadLONG ( pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
TriggerObjectEnum m_TriggerObject;
|
||||
_UINT32 m_nTriggerEvent;
|
||||
_UINT32 m_nID;
|
||||
LONG m_nTimeDelay;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,75 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeConditionAtom.h"
|
||||
#include "ClientVisualElementContainer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeConditionContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos = 0; StreamUtils::StreamPosition ( lPos, pStream );
|
||||
|
||||
SRecordHeader header;
|
||||
|
||||
if ( header.ReadFromStream(pStream) )
|
||||
{
|
||||
m_oTimeConditionAtom.ReadFromStream ( header, pStream );
|
||||
|
||||
if ( TL_TOT_VisualElement == m_oTimeConditionAtom.m_TriggerObject )
|
||||
{
|
||||
if ( header.ReadFromStream(pStream) )
|
||||
{
|
||||
m_oVisualElement.ReadFromStream ( header, pStream );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
CRecordTimeConditionAtom m_oTimeConditionAtom;
|
||||
CRecordClientVisualElementContainer m_oVisualElement;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,71 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
|
||||
class CRecordTimeEffectBehaviorAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
// LONG lPos = 0; StreamUtils::StreamPosition ( lPos, pStream );
|
||||
|
||||
_UINT32 dwFlags = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_bTransitionPropertyUsed = ( 0x01 == ( 0x01 & ((BYTE)dwFlags) ) );
|
||||
m_bTypePropertyUsed = ( 0x02 == ( 0x02 & ((BYTE)dwFlags) ) );
|
||||
m_bProgressPropertyUsed = ( 0x04 == ( 0x04 & ((BYTE)dwFlags) ) );
|
||||
m_bRuntimeContextObsolete = ( 0x08 == ( 0x08 & ((BYTE)dwFlags) ) );
|
||||
|
||||
m_nEffectTransition = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
// StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
bool m_bTransitionPropertyUsed;
|
||||
bool m_bTypePropertyUsed;
|
||||
bool m_bProgressPropertyUsed;
|
||||
bool m_bRuntimeContextObsolete;
|
||||
|
||||
_UINT32 m_nEffectTransition;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,103 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeEffectBehaviorAtom.h"
|
||||
#include "TimeVariant.h"
|
||||
#include "TimeBehaviorContainer.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeEffectBehaviorContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos = 0; StreamUtils::StreamPosition ( lPos, pStream );
|
||||
|
||||
SRecordHeader header;
|
||||
if ( header.ReadFromStream(pStream) )
|
||||
m_effectBehaviorAtom.ReadFromStream ( header, pStream );
|
||||
|
||||
if ( m_effectBehaviorAtom.m_bTypePropertyUsed )
|
||||
{
|
||||
if ( header.ReadFromStream(pStream) )
|
||||
m_oVarType.ReadFromStream ( header, pStream );
|
||||
}
|
||||
|
||||
if ( m_effectBehaviorAtom.m_bProgressPropertyUsed )
|
||||
{
|
||||
if ( header.ReadFromStream(pStream) )
|
||||
m_oVarProgress.ReadFromStream ( header, pStream );
|
||||
}
|
||||
|
||||
if ( m_effectBehaviorAtom.m_bRuntimeContextObsolete )
|
||||
{
|
||||
if ( header.ReadFromStream(pStream) )
|
||||
m_oVarRuntimeContext.ReadFromStream ( header, pStream );
|
||||
}
|
||||
|
||||
if ( header.ReadFromStream(pStream) )
|
||||
{
|
||||
if (header.RecType == 0xF12A)
|
||||
{
|
||||
m_oBehavior.ReadFromStream (header, pStream);
|
||||
}
|
||||
else
|
||||
{
|
||||
StreamUtils::StreamSkip (header.RecLen, pStream);
|
||||
if ( header.ReadFromStream(pStream) )
|
||||
{
|
||||
m_oBehavior.ReadFromStream ( header, pStream );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
CRecordTimeEffectBehaviorAtom m_effectBehaviorAtom;
|
||||
|
||||
CRecordTimeVariantString m_oVarType;
|
||||
CRecordTimeVariantFloat m_oVarProgress;
|
||||
CRecordTimeVariantString m_oVarRuntimeContext;
|
||||
CRecordTimeBehaviorContainer m_oBehavior;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,71 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeIterateDataAtom: public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_nIterateInterval = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nIterateType = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nIterateDirection = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nIterateIntervalType = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
_UINT32 Value = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_fIterateDirectionPropertyUsed = ( 0x01 == ( 0x01 & ((BYTE)Value) ) );
|
||||
m_fIterateTypePropertyUsed = ( 0x02 == ( 0x02 & ((BYTE)Value) ) );
|
||||
m_fIterateIntervalPropertyUsed = ( 0x04 == ( 0x04 & ((BYTE)Value) ) );
|
||||
m_fIterateIntervalTypePropertyUsed = ( 0x08 == ( 0x08 & ((BYTE)Value) ) );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
_UINT32 m_nIterateInterval;
|
||||
_UINT32 m_nIterateType;
|
||||
_UINT32 m_nIterateDirection;
|
||||
_UINT32 m_nIterateIntervalType;
|
||||
|
||||
bool m_fIterateDirectionPropertyUsed;
|
||||
bool m_fIterateTypePropertyUsed;
|
||||
bool m_fIterateIntervalPropertyUsed;
|
||||
bool m_fIterateIntervalTypePropertyUsed;
|
||||
};
|
||||
}
|
||||
@ -1,61 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeModifierAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_nType = StreamUtils::ReadDWORD(pStream);
|
||||
m_Value = StreamUtils::ReadFLOAT(pStream);
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
unsigned long m_nType; // 0x00000000 Repeat count.
|
||||
// 0x00000001 Repeat duration.
|
||||
// 0x00000002 Speed.
|
||||
// 0x00000003 Accelerate.
|
||||
// 0x00000004 Decelerate.
|
||||
float m_Value;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,86 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeMotionBehaviorAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
_UINT32 Value = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_bByPropertyUsed = ( 0x01 == ( 0x01 & ((BYTE)Value) ) );
|
||||
m_bFromPropertyUsed = ( 0x02 == ( 0x02 & ((BYTE)Value) ) );
|
||||
m_bToPropertyUsed = ( 0x04 == ( 0x04 & ((BYTE)Value) ) );
|
||||
m_bOriginPropertyUsed = ( 0x08 == ( 0x08 & ((BYTE)Value) ) );
|
||||
m_bPathPropertyUsed = ( 0x10 == ( 0x10 & ((BYTE)Value) ) );
|
||||
|
||||
m_bEditRotationPropertyUsed = ( 0x40 == ( 0x40 & ((BYTE)Value) ) );
|
||||
m_bPointsTypesPropertyUsed = ( 0x80 == ( 0x80 & ((BYTE)Value) ) );
|
||||
|
||||
m_nXBY = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_nYBY = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_nXFROM = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_nYFROM = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_nXTO = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_nYTO = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_nBehaviorOrigin = StreamUtils::ReadDWORD ( pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
bool m_bByPropertyUsed;
|
||||
bool m_bFromPropertyUsed;
|
||||
bool m_bToPropertyUsed;
|
||||
bool m_bOriginPropertyUsed;
|
||||
bool m_bPathPropertyUsed;
|
||||
bool m_bEditRotationPropertyUsed;
|
||||
bool m_bPointsTypesPropertyUsed;
|
||||
|
||||
FLOAT m_nXBY;
|
||||
FLOAT m_nYBY;
|
||||
FLOAT m_nXFROM;
|
||||
FLOAT m_nYFROM;
|
||||
FLOAT m_nXTO;
|
||||
FLOAT m_nYTO;
|
||||
_UINT32 m_nBehaviorOrigin;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,105 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeMotionBehaviorAtom.h"
|
||||
#include "TimeVariant.h"
|
||||
#include "TimeBehaviorContainer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeMotionBehaviorContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos = 0; StreamUtils::StreamPosition ( lPos, pStream );
|
||||
|
||||
//UINT res = 0;
|
||||
|
||||
SRecordHeader header;
|
||||
if ( header.ReadFromStream(pStream) )
|
||||
{
|
||||
m_oMotionBehaviorAtom.ReadFromStream ( header, pStream );
|
||||
}
|
||||
|
||||
UINT lCurLen = m_oMotionBehaviorAtom.m_oHeader.RecLen + 8;
|
||||
while ( lCurLen < m_oHeader.RecLen )
|
||||
{
|
||||
header.ReadFromStream(pStream);
|
||||
|
||||
lCurLen += header.RecLen + 8;
|
||||
|
||||
switch (header.RecType) {
|
||||
case RT_TimeVariant:
|
||||
{
|
||||
if (header.RecLen > 5 ) {
|
||||
m_pVarPath = new CRecordTimeVariantString();
|
||||
m_pVarPath->ReadFromStream(header, pStream);
|
||||
}else if (header.RecLen == 5){
|
||||
StreamUtils::StreamSkip(5, pStream);
|
||||
} else
|
||||
StreamUtils::StreamSkip(header.RecLen, pStream);
|
||||
break;
|
||||
}
|
||||
|
||||
case RT_TimeBehaviorContainer:
|
||||
{
|
||||
m_oTimeBehavior.ReadFromStream(header, pStream);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
StreamUtils::StreamSeek(lPos + m_oHeader.RecLen, pStream);
|
||||
}
|
||||
|
||||
|
||||
~CRecordTimeMotionBehaviorContainer()
|
||||
{
|
||||
RELEASEOBJECT(m_pVarPath)
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
CRecordTimeMotionBehaviorAtom m_oMotionBehaviorAtom;
|
||||
CRecordTimeVariantString* m_pVarPath; // OPTIONAL
|
||||
// reserved (13 bytes): An optional TimeVariantInt record that MUST be ignored.
|
||||
CRecordTimeBehaviorContainer m_oTimeBehavior;
|
||||
};
|
||||
}
|
||||
@ -1,98 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeNodeAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
// LONG lPos = 0; StreamUtils::StreamPosition(lPos, pStream);
|
||||
|
||||
StreamUtils::StreamSkip ( sizeof ( _UINT32 ), pStream );
|
||||
|
||||
// 0x00000000 Does not restart.
|
||||
// 0x00000001 Can restart at any time.
|
||||
// 0x00000002 Can restart when the corresponding time node is not active.
|
||||
// 0x00000003 Same as 0x00000000.
|
||||
m_dwRestart = StreamUtils::ReadDWORD ( pStream );
|
||||
// 0x00000000 specifies that this time node is a parallel time node,
|
||||
// which allows all of its child nodes to start at the same time.
|
||||
m_dwType = (TimeNodeTypeEnum)StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
// 0x00000000 The properties remain at their ending values while the parent time node is still running or holding. After which, the properties reset to their original values.
|
||||
// 0x00000001 The properties reset to their original values after the time node becomes inactive.
|
||||
// 0x00000002 The properties remain at their ending values while the parent time node is still running or holding, or until another sibling time node is started under a sequential time node as specified in the type field. After which, the properties reset to their original values.
|
||||
// 0x00000003 Same as 0x00000000.
|
||||
// 0x00000004 Same as 0x00000001.
|
||||
m_dwFill = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
StreamUtils::StreamSkip ( sizeof ( _UINT32 ), pStream );
|
||||
StreamUtils::StreamSkip ( sizeof ( _UINT32 ), pStream );
|
||||
|
||||
// duration: 0xFFFFFFFF specifies that the duration of the time node is infinite,
|
||||
// and that its actual duration is determined by the durations of its child nodes.
|
||||
m_nDuration = StreamUtils::ReadLONG ( pStream );
|
||||
|
||||
_UINT32 Value = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_fFillProperty = ( 0x01 == ( 0x01 & ((BYTE)Value) ) );
|
||||
m_fRestartProperty = ( 0x02 == ( 0x02 & ((BYTE)Value) ) );
|
||||
|
||||
m_fGroupingTypeProperty = ( 0x08 == ( 0x08 & ((BYTE)Value) ) );
|
||||
m_fDurationProperty = ( 0x10 == ( 0x10 & ((BYTE)Value) ) );
|
||||
|
||||
// StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
_UINT32 m_dwRestart;
|
||||
TimeNodeTypeEnum m_dwType;
|
||||
_UINT32 m_dwFill;
|
||||
long m_nDuration;
|
||||
|
||||
bool m_fFillProperty;
|
||||
bool m_fRestartProperty;
|
||||
bool m_fGroupingTypeProperty;
|
||||
bool m_fDurationProperty;
|
||||
};
|
||||
}
|
||||
@ -1,43 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeVariant.h"
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
struct TimeNodeTimeFilter : public CRecordTimeVariantString
|
||||
{
|
||||
|
||||
};
|
||||
}
|
||||
@ -1,87 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeVariant4Behavior.h"
|
||||
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimePropertyList4TimeBehavior : public CRecordsContainer
|
||||
{
|
||||
public:
|
||||
//static const _UINT32 RT_TimePropertyList = 0xF13D; // Specifies a TimePropertyList4TimeNodeContainer or TimePropertyList4TimeBehavior.
|
||||
|
||||
CRecordTimePropertyList4TimeBehavior ()
|
||||
{
|
||||
}
|
||||
|
||||
virtual ~CRecordTimePropertyList4TimeBehavior ()
|
||||
{
|
||||
CRecordsContainer::Clear();
|
||||
}
|
||||
|
||||
virtual void ReadFromStream ( SRecordHeader & thisHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = thisHeader;
|
||||
|
||||
UINT lCurLen = 0;
|
||||
SRecordHeader oHeader;
|
||||
|
||||
while (lCurLen < m_oHeader.RecLen)
|
||||
{
|
||||
// if (oHeader.ReadFromStream(pStream) == FALSE)
|
||||
// {
|
||||
// break;
|
||||
// }
|
||||
|
||||
if (oHeader.ReadFromStream(pStream)) {
|
||||
lCurLen += 8 + oHeader.RecLen;
|
||||
IRecord* pRecord = FactoryTimeVariant4Behavior::createByInstanse(oHeader.RecInstance);
|
||||
if (pRecord)
|
||||
{
|
||||
pRecord->ReadFromStream(oHeader, pStream);
|
||||
m_arRecords.push_back(pRecord);
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public:
|
||||
// Empty
|
||||
};
|
||||
}
|
||||
@ -1,134 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeVariant.h"
|
||||
#include "../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimePropertyList4TimeNodeContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
//static const _UINT32 RT_TimePropertyList = 0xF13D; // Specifies a CRecordTimePropertyList4TimeNodeContainer or TimePropertyList4TimeBehavior.
|
||||
|
||||
CRecordTimePropertyList4TimeNodeContainer ()
|
||||
{
|
||||
m_bEmtyNode = false;
|
||||
}
|
||||
|
||||
virtual ~CRecordTimePropertyList4TimeNodeContainer ()
|
||||
{
|
||||
ClearNodes ();
|
||||
}
|
||||
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos = 0;
|
||||
StreamUtils::StreamPosition ( lPos, pStream );
|
||||
|
||||
UINT lCurLen = 0;
|
||||
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
if ( 0 == m_oHeader.RecLen )
|
||||
m_bEmtyNode = true;
|
||||
|
||||
while ( lCurLen < m_oHeader.RecLen )
|
||||
{
|
||||
if (ReadHeader.ReadFromStream(pStream) == false)
|
||||
break;
|
||||
|
||||
CRecordTimeVariant* pRecord = NULL;
|
||||
|
||||
TimePropertyID4TimeNode VariableType = ( TimePropertyID4TimeNode ) ReadHeader.RecInstance;
|
||||
|
||||
switch ( VariableType )
|
||||
{
|
||||
case TL_TPID_Display: pRecord = new CRecordTimeDisplayType (); break;
|
||||
case TL_TPID_MasterPos: pRecord = new CRecordTimeMasterRelType (); break;
|
||||
case TL_TPID_SubType: pRecord = new CRecordTimeSubType (); break;
|
||||
case TL_TPID_EffectID: pRecord = new CRecordTimeEffectID (); break;
|
||||
case TL_TPID_EffectDir: pRecord = new CRecordTimeEffectDir (); break;
|
||||
case TL_TPID_EffectType: pRecord = new CRecordTimeEffectType (); break;
|
||||
case TL_TPID_AfterEffect: pRecord = new CRecordTimeAfterEffect (); break;
|
||||
case TL_TPID_SlideCount: pRecord = new CRecordTimeSlideCount (); break;
|
||||
case TL_TPID_TimeFilter: pRecord = new CRecordTimeNodeTimeFilter (); break;
|
||||
case TL_TPID_EventFilter: pRecord = new CRecordTimeEventFilter (); break;
|
||||
case TL_TPID_HideWhenStopped: pRecord = new CRecordTimeHideWhenStopped (); break;
|
||||
case TL_TPID_GroupID: pRecord = new CRecordTimeGroupID (); break;
|
||||
case TL_TPID_EffectNodeType: pRecord = new CRecordTimeEffectNodeType (); break;
|
||||
case TL_TPID_PlaceholderNode: pRecord = new CRecordTimePlaceholderNode (); break;
|
||||
case TL_TPID_MediaVolume: pRecord = new CRecordTimeMediaVolume (); break;
|
||||
case TL_TPID_MediaMute: pRecord = new CRecordTimeMediaMute (); break;
|
||||
case TL_TPID_ZoomToFullScreen: pRecord = new CRecordTimeZoomToFullScreen (); break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
|
||||
pRecord->ReadFromStream ( ReadHeader, pStream );
|
||||
lCurLen += 8 + ReadHeader.RecLen;
|
||||
|
||||
m_arrElements.push_back ( pRecord );
|
||||
}
|
||||
|
||||
StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
}
|
||||
|
||||
inline bool IsEmpty ()
|
||||
{
|
||||
return m_bEmtyNode;
|
||||
}
|
||||
|
||||
void ClearNodes ()
|
||||
{
|
||||
for ( size_t i = 0; i < m_arrElements.size(); ++i )
|
||||
{
|
||||
RELEASEOBJECT ( m_arrElements[i] );
|
||||
}
|
||||
m_arrElements.clear ();
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
bool m_bEmtyNode;
|
||||
|
||||
std::vector <CRecordTimeVariant*> m_arrElements;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,71 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeRotationBehaviorAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
_UINT32 src = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_fByPropertyUsed = ( 0x01 == ( 0x01 & ((BYTE)src) ) );
|
||||
m_fFromPropertyUsed = ( 0x02 == ( 0x02 & ((BYTE)src) ) );
|
||||
m_fToPropertyUsed = ( 0x04 == ( 0x04 & ((BYTE)src) ) );
|
||||
m_fDirectionPropertyUsed = ( 0x08 == ( 0x08 & ((BYTE)src) ) );
|
||||
|
||||
m_By = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_From = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_To = StreamUtils::ReadFLOAT ( pStream );
|
||||
|
||||
m_nRotationDirection = StreamUtils::ReadDWORD ( pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
bool m_fByPropertyUsed;
|
||||
bool m_fFromPropertyUsed;
|
||||
bool m_fToPropertyUsed;
|
||||
bool m_fDirectionPropertyUsed;
|
||||
float m_By;
|
||||
float m_From;
|
||||
float m_To;
|
||||
_UINT32 m_nRotationDirection; // 0 - rotate clockwise, 1 - rotate counter clockwise
|
||||
};
|
||||
}
|
||||
@ -1,66 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeRotationBehaviorAtom.h"
|
||||
#include "TimeBehaviorContainer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeRotationBehaviorContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oRotationBehaviorAtom.ReadFromStream ( ReadHeader, pStream );
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oBehavior.ReadFromStream ( ReadHeader, pStream );
|
||||
}
|
||||
|
||||
|
||||
|
||||
public:
|
||||
|
||||
CRecordTimeRotationBehaviorAtom m_oRotationBehaviorAtom;
|
||||
CRecordTimeBehaviorContainer m_oBehavior;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,80 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeScaleBehaviorAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
_UINT32 src = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_fByPropertyUsed = ( 0x01 == ( 0x01 & ((BYTE)src) ) );
|
||||
m_fFromPropertyUsed = ( 0x02 == ( 0x02 & ((BYTE)src) ) );
|
||||
m_fToPropertyUsed = ( 0x04 == ( 0x04 & ((BYTE)src) ) );
|
||||
m_fZoomContentsUsed = ( 0x08 == ( 0x08 & ((BYTE)src) ) );
|
||||
|
||||
m_XBy = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_YBy = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_XFrom = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_YFrom = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_XTo = StreamUtils::ReadFLOAT ( pStream );
|
||||
m_YTo = StreamUtils::ReadFLOAT ( pStream );
|
||||
|
||||
src = StreamUtils::ReadDWORD ( pStream );
|
||||
m_fZoomContents = ( 0x01 == ( 0x01 & ((BYTE)src) ) );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
bool m_fByPropertyUsed;
|
||||
bool m_fFromPropertyUsed;
|
||||
bool m_fToPropertyUsed;
|
||||
bool m_fZoomContentsUsed;
|
||||
float m_XBy;
|
||||
float m_YBy;
|
||||
float m_XFrom;
|
||||
float m_YFrom;
|
||||
float m_XTo;
|
||||
float m_YTo;
|
||||
bool m_fZoomContents;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,63 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeScaleBehaviorAtom.h"
|
||||
#include "TimeBehaviorContainer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeScaleBehaviorContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oScaleBehaviorAtom.ReadFromStream ( ReadHeader, pStream );
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oBehavior.ReadFromStream ( ReadHeader, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
CRecordTimeScaleBehaviorAtom m_oScaleBehaviorAtom;
|
||||
CRecordTimeBehaviorContainer m_oBehavior;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,73 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeSequenceDataAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
// LONG lPos = 0; StreamUtils::StreamPosition ( lPos, pStream );
|
||||
|
||||
m_nConcurrency = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nNextAction = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nPreviousAction = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
StreamUtils::StreamSkip ( sizeof ( _UINT32 ), pStream );
|
||||
|
||||
_UINT32 Value = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_fConcurrencyPropertyUsed = ( 0x01 == ( 0x01 & ((BYTE)Value) ) );
|
||||
m_fNextActionPropertyUsed = ( 0x02 == ( 0x02 & ((BYTE)Value) ) );
|
||||
m_fPreviousActionPropertyUsed = ( 0x04 == ( 0x04 & ((BYTE)Value) ) );
|
||||
|
||||
// StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
_UINT32 m_nConcurrency;
|
||||
_UINT32 m_nNextAction;
|
||||
_UINT32 m_nPreviousAction;
|
||||
|
||||
bool m_fConcurrencyPropertyUsed;
|
||||
bool m_fNextActionPropertyUsed;
|
||||
bool m_fPreviousActionPropertyUsed;
|
||||
};
|
||||
}
|
||||
@ -1,63 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeSetBehaviorAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
_UINT32 Value = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_bToPropertyUsed = ( 0x01 == ( 0x01 & ((BYTE)Value) ) );
|
||||
m_bValueTypePropertyUsed = ( 0x02 == ( 0x02 & ((BYTE)Value) ) );
|
||||
|
||||
m_eValueType = (TimeAnimateBehaviorValueTypeEnum)StreamUtils::ReadDWORD ( pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
bool m_bToPropertyUsed;
|
||||
bool m_bValueTypePropertyUsed;
|
||||
|
||||
TimeAnimateBehaviorValueTypeEnum m_eValueType;
|
||||
};
|
||||
}
|
||||
@ -1,76 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeSetBehaviorAtom.h"
|
||||
#include "TimeBehaviorContainer.h"
|
||||
#include "TimeVariant.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeSetBehaviorContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos = 0; StreamUtils::StreamPosition ( lPos, pStream );
|
||||
|
||||
//UINT res = 0;
|
||||
SRecordHeader ReadHeader;
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oSetBehaviorAtom.ReadFromStream ( ReadHeader, pStream );
|
||||
|
||||
//if ( m_oSetBehaviorAtom.m_bToPropertyUsed )
|
||||
//{
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oVarTo.ReadFromStream ( ReadHeader, pStream );
|
||||
//}
|
||||
|
||||
if ( ReadHeader.ReadFromStream(pStream) )
|
||||
m_oBehavior.ReadFromStream ( ReadHeader, pStream );
|
||||
|
||||
StreamUtils::StreamSeek ( lPos + m_oHeader.RecLen, pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
CRecordTimeSetBehaviorAtom m_oSetBehaviorAtom;
|
||||
CRecordTimeVariantString m_oVarTo;
|
||||
CRecordTimeBehaviorContainer m_oBehavior;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,73 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "TimeVariant.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordTimeStringListContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos(0); StreamUtils::StreamPosition(lPos, pStream);
|
||||
|
||||
UINT lCurLen = 0;
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
while ( lCurLen < m_oHeader.RecLen )
|
||||
{
|
||||
if (ReadHeader.ReadFromStream(pStream) == false)
|
||||
break;
|
||||
|
||||
CRecordTimeVariantString Element;
|
||||
Element.ReadFromStream ( ReadHeader, pStream );
|
||||
lCurLen += 8 + ReadHeader.RecLen;
|
||||
|
||||
|
||||
m_arrRgChildRec.push_back ( Element );
|
||||
}
|
||||
StreamUtils::StreamSeek(lPos + m_oHeader.RecLen, pStream);
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
std::vector <CRecordTimeVariantString> m_arrRgChildRec;
|
||||
};
|
||||
|
||||
}
|
||||
@ -1,75 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#include "TimeVariant.h"
|
||||
|
||||
using namespace PPT_FORMAT;
|
||||
|
||||
CRecordTimeVariant* PPT_FORMAT::TimeVariantFactoryMethod(SRecordHeader & oHeader, POLE::Stream* pStream)
|
||||
{
|
||||
LONG lPos(0); StreamUtils::StreamPosition(lPos, pStream);
|
||||
|
||||
CRecordTimeVariant* pTimeVariant(nullptr);
|
||||
CRecordTimeVariant tempTimeVariant;
|
||||
tempTimeVariant.ReadFromStream(oHeader, pStream);
|
||||
StreamUtils::StreamSeek(lPos, pStream);
|
||||
|
||||
switch (tempTimeVariant.m_Type)
|
||||
{
|
||||
case TL_TVT_Bool:
|
||||
{
|
||||
pTimeVariant = new CRecordTimeVariantBool;
|
||||
pTimeVariant->ReadFromStream(oHeader, pStream);
|
||||
break;
|
||||
}
|
||||
case TL_TVT_Int:
|
||||
{
|
||||
pTimeVariant = new CRecordTimeVariantInt;
|
||||
pTimeVariant->ReadFromStream(oHeader, pStream);
|
||||
break;
|
||||
}
|
||||
case TL_TVT_Float:
|
||||
{
|
||||
pTimeVariant = new CRecordTimeVariantFloat;
|
||||
pTimeVariant->ReadFromStream(oHeader, pStream);
|
||||
break;
|
||||
}
|
||||
case TL_TVT_String:
|
||||
{
|
||||
pTimeVariant = new CRecordTimeVariantString;
|
||||
pTimeVariant->ReadFromStream(oHeader, pStream);
|
||||
break;
|
||||
}
|
||||
}
|
||||
StreamUtils::StreamSeek(lPos + oHeader.RecLen, pStream);
|
||||
|
||||
return pTimeVariant;
|
||||
}
|
||||
@ -1,293 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../../Reader/Records.h"
|
||||
#include "../../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
|
||||
class CRecordTimeVariant : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_Type = ( TimeVariantTypeEnum )StreamUtils::ReadBYTE ( pStream );
|
||||
}
|
||||
|
||||
virtual ~CRecordTimeVariant(){}
|
||||
|
||||
virtual CRecordTimeVariant& operator=(const CRecordTimeVariant& src)
|
||||
{
|
||||
CUnknownRecord::operator=(src);
|
||||
m_Type = src.m_Type;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
TimeVariantTypeEnum m_Type;
|
||||
};
|
||||
|
||||
|
||||
class CRecordTimeVariantBool : public CRecordTimeVariant
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
CRecordTimeVariant::ReadFromStream(oHeader, pStream);
|
||||
m_Value = ( 0x1 == StreamUtils::ReadBYTE ( pStream ) );
|
||||
}
|
||||
|
||||
virtual CRecordTimeVariant& operator=(const CRecordTimeVariant& src)
|
||||
{
|
||||
CRecordTimeVariant::operator=(src);
|
||||
m_Value = dynamic_cast<const CRecordTimeVariantBool&>(src).m_Value;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
virtual ~CRecordTimeVariantBool(){}
|
||||
|
||||
public:
|
||||
bool m_Value;
|
||||
};
|
||||
|
||||
class CRecordTimeVariantInt : public CRecordTimeVariant
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
CRecordTimeVariant::ReadFromStream(oHeader, pStream);
|
||||
m_Value = StreamUtils::ReadDWORD ( pStream );
|
||||
}
|
||||
|
||||
virtual CRecordTimeVariant& operator=(const CRecordTimeVariant& src)
|
||||
{
|
||||
CRecordTimeVariant::operator=(src);
|
||||
m_Value = dynamic_cast<const CRecordTimeVariantInt&>(src).m_Value;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
virtual ~CRecordTimeVariantInt(){}
|
||||
|
||||
public:
|
||||
_UINT32 m_Value;
|
||||
};
|
||||
|
||||
class CRecordTimeVariantFloat : public CRecordTimeVariant
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
CRecordTimeVariant::ReadFromStream(oHeader, pStream);
|
||||
m_Value = StreamUtils::ReadFLOAT ( pStream );
|
||||
}
|
||||
|
||||
virtual CRecordTimeVariant& operator=(const CRecordTimeVariant& src)
|
||||
{
|
||||
CRecordTimeVariant::operator=(src);
|
||||
m_Value = dynamic_cast<const CRecordTimeVariantFloat&>(src).m_Value;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
virtual ~CRecordTimeVariantFloat(){}
|
||||
|
||||
public:
|
||||
FLOAT m_Value;
|
||||
};
|
||||
|
||||
class CRecordTimeVariantString : public CRecordTimeVariant
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
|
||||
CRecordTimeVariant::ReadFromStream(oHeader, pStream);
|
||||
|
||||
m_Value = StreamUtils::ReadStringW(pStream, m_oHeader.RecLen / 2 - 1);
|
||||
StreamUtils::StreamSkip(2, pStream);
|
||||
}
|
||||
|
||||
virtual CRecordTimeVariant& operator=(const CRecordTimeVariant& src)
|
||||
{
|
||||
CRecordTimeVariant::operator=(src);
|
||||
m_Value = dynamic_cast<const CRecordTimeVariantString&>(src).m_Value;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
virtual ~CRecordTimeVariantString(){}
|
||||
|
||||
|
||||
public:
|
||||
std::wstring m_Value;
|
||||
};
|
||||
|
||||
|
||||
|
||||
class CRecordTimeDisplayType : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeMasterRelType : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeSubType : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeEffectID : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeEffectDir : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeEffectType : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeAfterEffect : public CRecordTimeVariantBool
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeSlideCount : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeNodeTimeFilter : public CRecordTimeVariantString
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeEventFilter : public CRecordTimeVariantString
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeHideWhenStopped : public CRecordTimeVariantBool
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeGroupID : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeEffectNodeType : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimePlaceholderNode : public CRecordTimeVariantBool
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeMediaVolume : public CRecordTimeVariantFloat
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeMediaMute : public CRecordTimeVariantBool
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeZoomToFullScreen : public CRecordTimeVariantBool
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
|
||||
class CRecordTimeRuntimeContext : public CRecordTimeVariantString
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordColorModel : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeColorModel: public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeColorDirection : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimeOverride : public CRecordTimeVariantInt
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTimePointsTypes : public CRecordTimeVariantString
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTagNameAtom : public CRecordTimeVariantString
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
class CRecordTagValueAtom : public CRecordTimeVariantString
|
||||
{
|
||||
|
||||
};
|
||||
|
||||
CRecordTimeVariant* TimeVariantFactoryMethod(SRecordHeader & oHeader, POLE::Stream* pStream);
|
||||
}
|
||||
@ -1,73 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../Enums/_includer.h"
|
||||
#include "TimeVariant.h"
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------------
|
||||
#define CREATE_BY_Instanse(RECORD_Instanse, CLASS_RECORD_NAME) \
|
||||
case RECORD_Instanse: { pRecord = new CLASS_RECORD_NAME(); break; } \
|
||||
//-------------------------------------------------------------------------------
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
//TODO
|
||||
class FactoryTimeVariant4Behavior
|
||||
{
|
||||
public:
|
||||
static IRecord* createByInstanse(unsigned short recInstance)
|
||||
{
|
||||
IRecord* pRecord = nullptr;
|
||||
|
||||
switch (recInstance)
|
||||
{
|
||||
CREATE_BY_Instanse(TL_TBPID_UnknownPropertyList, CRecordTimeVariantString)
|
||||
CREATE_BY_Instanse(TL_TBPID_RuntimeContext, CRecordTimeRuntimeContext)
|
||||
CREATE_BY_Instanse(TL_TBPID_MotionPathEditRelative, CRecordTimeVariantBool)
|
||||
CREATE_BY_Instanse(TL_TBPID_ColorColorModel, CRecordTimeColorModel)
|
||||
CREATE_BY_Instanse(TL_TBPID_ColorDirection, CRecordTimeColorDirection)
|
||||
CREATE_BY_Instanse(TL_TBPID_Override, CRecordTimeOverride)
|
||||
CREATE_BY_Instanse(TL_TBPID_PathEditRotationAngle, CRecordTimeVariantFloat)
|
||||
CREATE_BY_Instanse(TL_TBPID_PathEditRotationX, CRecordTimeVariantFloat)
|
||||
CREATE_BY_Instanse(TL_TBPID_PathEditRotationY, CRecordTimeVariantFloat)
|
||||
CREATE_BY_Instanse(TL_TBPID_PointsTypes, CRecordTimePointsTypes)
|
||||
}
|
||||
|
||||
return pRecord;
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -1,42 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
|
||||
// TODO
|
||||
//class nope : public CUnknownRecord
|
||||
//{
|
||||
|
||||
//};
|
||||
@ -1,55 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../../Enums/_includer.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordVisualPageAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_eType = (TimeVisualElementEnum) StreamUtils::ReadDWORD ( pStream );
|
||||
}
|
||||
|
||||
|
||||
public:
|
||||
|
||||
TimeVisualElementEnum m_eType;
|
||||
};
|
||||
}
|
||||
@ -1,70 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordVisualShapeAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
// Привязка анимации через этот объект к ID объекту
|
||||
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_Type = (TimeVisualElementEnum) StreamUtils::ReadDWORD ( pStream );
|
||||
m_RefType = (ElementTypeEnum) StreamUtils::ReadDWORD ( pStream );
|
||||
m_nObjectIdRef = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nData1 = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nData2 = StreamUtils::ReadDWORD ( pStream );
|
||||
|
||||
m_nOldIdRef = m_nObjectIdRef;
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
TimeVisualElementEnum m_Type;
|
||||
ElementTypeEnum m_RefType;
|
||||
// Warning! It used by RIDManager to change
|
||||
_UINT32 m_nObjectIdRef; // ShapeIdRef || SoundIdRef
|
||||
// This is it's copy
|
||||
_UINT32 m_nOldIdRef;
|
||||
_UINT32 m_nData1;
|
||||
_UINT32 m_nData2;
|
||||
};
|
||||
}
|
||||
@ -1,63 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../../Enums/_includer.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordVisualShapeChartElementAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_eType = (TimeVisualElementEnum)StreamUtils::ReadDWORD(pStream);
|
||||
m_eRefType = (ElementTypeEnum)StreamUtils::ReadDWORD(pStream);
|
||||
|
||||
m_nShapeIdRef = StreamUtils::ReadDWORD(pStream);
|
||||
m_nData1 = StreamUtils::ReadDWORD(pStream);
|
||||
m_nData2 = StreamUtils::ReadDWORD(pStream);
|
||||
}
|
||||
|
||||
public:
|
||||
TimeVisualElementEnum m_eType;
|
||||
ElementTypeEnum m_eRefType;
|
||||
|
||||
_UINT32 m_nShapeIdRef;
|
||||
_UINT32 m_nData1;
|
||||
_INT32 m_nData2;
|
||||
};
|
||||
}
|
||||
@ -1,64 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordVisualShapeGeneralAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
m_eType = (TimeVisualElementEnum)StreamUtils::ReadDWORD(pStream);
|
||||
m_eRefType = (ElementTypeEnum)StreamUtils::ReadDWORD(pStream);
|
||||
|
||||
m_nShapeIdRef = StreamUtils::ReadDWORD(pStream);
|
||||
m_nData1 = StreamUtils::ReadDWORD(pStream);
|
||||
m_nData2 = StreamUtils::ReadDWORD(pStream);
|
||||
}
|
||||
|
||||
public:
|
||||
TimeVisualElementEnum m_eType;
|
||||
ElementTypeEnum m_eRefType;
|
||||
|
||||
_UINT32 m_nShapeIdRef;
|
||||
_INT32 m_nData1;
|
||||
_INT32 m_nData2;
|
||||
|
||||
};
|
||||
}
|
||||
@ -1,67 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../../Enums/_includer.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordVisualSoundAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
// Привязка звука через этот объект к ID объекту
|
||||
|
||||
virtual void ReadFromStream ( SRecordHeader & oHeader, POLE::Stream* pStream )
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_eType = (TimeVisualElementEnum) StreamUtils::ReadDWORD ( pStream );
|
||||
m_eRefType = (ElementTypeEnum) StreamUtils::ReadDWORD ( pStream );
|
||||
m_nSoundIdRef = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nData1 = StreamUtils::ReadDWORD ( pStream );
|
||||
m_nData2 = StreamUtils::ReadDWORD ( pStream );
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
TimeVisualElementEnum m_eType;
|
||||
ElementTypeEnum m_eRefType;
|
||||
_UINT32 m_nSoundIdRef;
|
||||
|
||||
// MUST be 0xFFFFFFFF, and MUST be ignored.
|
||||
_UINT32 m_nData1;
|
||||
_UINT32 m_nData2;
|
||||
};
|
||||
}
|
||||
@ -1,89 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "AnimationInfoAtom.h"
|
||||
#include "AnimationInfoContainer.h"
|
||||
#include "BuildAtom.h"
|
||||
#include "BuildListContainer.h"
|
||||
#include "ChartBuildAtom.h"
|
||||
#include "ChartBuildContainer.h"
|
||||
#include "ClientVisualElementContainer.h"
|
||||
#include "DiagramBuildAtom.h"
|
||||
#include "DiagramBuildContainer.h"
|
||||
#include "ExtTimeNodeContainer.h"
|
||||
#include "HashCode10Atom.h"
|
||||
#include "LevelInfoAtom.h"
|
||||
#include "ParaBuildAtom.h"
|
||||
#include "ParaBuildContainer.h"
|
||||
#include "ParaBuildLevel.h"
|
||||
#include "SubEffectContainer.h"
|
||||
#include "TimeAnimateBehaviorAtom.h"
|
||||
#include "TimeAnimateBehaviorContainer.h"
|
||||
#include "TimeAnimateColorBy.h"
|
||||
#include "TimeAnimateColor.h"
|
||||
#include "TimeAnimationValueAtom.h"
|
||||
#include "TimeAnimationValueListContainer.h"
|
||||
#include "TimeAnimationValueListEntry.h"
|
||||
#include "TimeBehaviorAtom.h"
|
||||
#include "TimeBehaviorContainer.h"
|
||||
#include "TimeColorBehaviorAtom.h"
|
||||
#include "TimeColorBehaviorContainer.h"
|
||||
#include "TimeCommandBehaviorAtom.h"
|
||||
#include "TimeCommandBehaviorContainer.h"
|
||||
#include "TimeConditionAtom.h"
|
||||
#include "TimeConditionContainer.h"
|
||||
#include "TimeEffectBehaviorAtom.h"
|
||||
#include "TimeEffectBehaviorContainer.h"
|
||||
#include "TimeIterateDataAtom.h"
|
||||
#include "TimeModifierAtom.h"
|
||||
#include "TimeMotionBehaviorAtom.h"
|
||||
#include "TimeMotionBehaviorContainer.h"
|
||||
#include "TimeNodeAtom.h"
|
||||
#include "TimePropertyList4TimeBehavior.h"
|
||||
#include "TimePropertyList4TimeNodeContainer.h"
|
||||
#include "TimeRotationBehaviorAtom.h"
|
||||
#include "TimeRotationBehaviorContainer.h"
|
||||
#include "TimeScaleBehaviorAtom.h"
|
||||
#include "TimeScaleBehaviorContainer.h"
|
||||
#include "TimeSequenceDataAtom.h"
|
||||
#include "TimeSetBehaviorAtom.h"
|
||||
#include "TimeSetBehaviorContainer.h"
|
||||
#include "TimeStringListContainer.h"
|
||||
#include "TimeVariant4Behavior.h"
|
||||
#include "TimeVariant.h"
|
||||
#include "VisualPageAtom.h"
|
||||
#include "VisualShapeAtom.h"
|
||||
#include "VisualShapeChartElementAtom.h"
|
||||
#include "VisualShapeGeneralAtom.h"
|
||||
#include "VisualSoundAtom.h"
|
||||
@ -1,73 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
enum BuildTypeEnum : _UINT32
|
||||
{
|
||||
TL_BuildParagraph,
|
||||
TL_BuildChart,
|
||||
TL_BuildDiagram
|
||||
};
|
||||
|
||||
class CRecordBuildAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
BuildTypeEnum m_BuildType;
|
||||
_UINT32 m_BuildId;
|
||||
_UINT32 m_ShapeIdRef;
|
||||
bool m_fExpanded;
|
||||
bool m_fUIExpanded;
|
||||
public:
|
||||
|
||||
CRecordBuildAtom()
|
||||
{
|
||||
}
|
||||
|
||||
~CRecordBuildAtom()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void ReadFromStream(SRecordHeader & oHeader, POLE::Stream* pStream)
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_BuildType = (BuildTypeEnum)StreamUtils::ReadDWORD(pStream);
|
||||
m_BuildId = StreamUtils::ReadDWORD(pStream);
|
||||
m_ShapeIdRef = StreamUtils::ReadDWORD(pStream);
|
||||
|
||||
m_fExpanded = StreamUtils::ReadBYTE(pStream);
|
||||
m_fUIExpanded = StreamUtils::ReadBYTE(pStream);
|
||||
|
||||
StreamUtils::StreamSkip(2, pStream);
|
||||
}
|
||||
};
|
||||
@ -1,102 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
#include "../Reader/Records.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
struct SCFMasks
|
||||
{
|
||||
bool m_bold;
|
||||
bool m_italic;
|
||||
bool m_underline;
|
||||
// unused
|
||||
bool m_shadow;
|
||||
bool m_fehint;
|
||||
// unused2
|
||||
bool m_kumi;
|
||||
// unused3
|
||||
bool m_emboss;
|
||||
_UINT16 m_fHasStyle; // 4 bits
|
||||
// unused 2 bits
|
||||
|
||||
bool m_typeface;
|
||||
bool m_size;
|
||||
bool m_color;
|
||||
bool m_position;
|
||||
bool m_pp10ext;
|
||||
bool m_oldEATypeface;
|
||||
bool m_ansiTypeface;
|
||||
bool m_symbolTypeface;
|
||||
bool m_newEATypeface;
|
||||
bool m_csTypeface;
|
||||
bool m_pp11ext;
|
||||
// reserved 5 bits
|
||||
|
||||
|
||||
void ReadFromStream(POLE::Stream* pStream)
|
||||
{
|
||||
BYTE data1 = StreamUtils::ReadBYTE(pStream);
|
||||
BYTE data2 = StreamUtils::ReadBYTE(pStream);
|
||||
BYTE data3 = StreamUtils::ReadBYTE(pStream);
|
||||
BYTE data4 = StreamUtils::ReadBYTE(pStream);
|
||||
|
||||
m_bold = 0x01 == (0x01 & data1);
|
||||
m_italic = 0x02 == (0x02 & data1);
|
||||
m_underline = 0x04 == (0x04 & data1);
|
||||
// unused
|
||||
m_shadow = 0x10 == (0x10 & data1);
|
||||
m_fehint = 0x20 == (0x20 & data1);
|
||||
// unused2
|
||||
m_kumi = 0x80 == (0x80 & data1);
|
||||
// unused3
|
||||
|
||||
m_emboss = 0x02 == (0x02 & data2);
|
||||
m_fHasStyle = 0x3C & data2; // 4 bits
|
||||
// unused 2 bits
|
||||
|
||||
m_typeface = 0x01 == (0x01 & data3);
|
||||
m_size = 0x02 == (0x02 & data3);
|
||||
m_color = 0x04 == (0x04 & data3);
|
||||
m_position = 0x08 == (0x08 & data3);
|
||||
m_pp10ext = 0x10 == (0x10 & data3);
|
||||
m_oldEATypeface = 0x20 == (0x20 & data3);
|
||||
m_ansiTypeface = 0x40 == (0x40 & data3);
|
||||
m_symbolTypeface = 0x80 == (0x80 & data3);
|
||||
|
||||
m_newEATypeface = 0x01 == (0x01 & data4);
|
||||
m_csTypeface = 0x02 == (0x02 & data4);
|
||||
m_pp11ext = 0x04 == (0x04 & data4);
|
||||
// reserved 5 bits
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -1,181 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "../Reader/Records.h"
|
||||
#include "../Structures/DateTimeStruct.h"
|
||||
#include "../Structures/PointStruct.h"
|
||||
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class CRecordComment10AuthorAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
void ReadFromStream(SRecordHeader &oHeader, POLE::Stream *pStream) override
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_sCommentAuthor = StreamUtils::ReadStringW(pStream, m_oHeader.RecLen);
|
||||
}
|
||||
|
||||
public:
|
||||
std::wstring m_sCommentAuthor;
|
||||
};
|
||||
|
||||
class CRecordComment10TextAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
void ReadFromStream(SRecordHeader &oHeader, POLE::Stream *pStream) override
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_sCommentText = StreamUtils::ReadStringW(pStream, m_oHeader.RecLen);
|
||||
}
|
||||
|
||||
public:
|
||||
std::wstring m_sCommentText;
|
||||
};
|
||||
|
||||
class CRecordComment10AuthorInitialAtom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
void ReadFromStream(SRecordHeader &oHeader, POLE::Stream *pStream) override
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_sCommentAuthorInitials = StreamUtils::ReadStringW(pStream, m_oHeader.RecLen);
|
||||
}
|
||||
|
||||
public:
|
||||
std::wstring m_sCommentAuthorInitials;
|
||||
};
|
||||
|
||||
class CRecordComment10Atom : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
void ReadFromStream(SRecordHeader &oHeader, POLE::Stream *pStream) override
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
m_nIndex = StreamUtils::ReadLONG(pStream);
|
||||
m_oDatetime.ReadFromStream(pStream);
|
||||
m_oAnchor.ReadFromStream(pStream);
|
||||
}
|
||||
|
||||
public:
|
||||
_INT32 m_nIndex;
|
||||
DateTimeStruct m_oDatetime;
|
||||
PointStruct m_oAnchor;
|
||||
};
|
||||
|
||||
|
||||
class CRecordComment10Container : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
|
||||
CRecordComment10Container() :
|
||||
m_pCommentAuthorAtom(nullptr),
|
||||
m_pCommentTextAtom(nullptr),
|
||||
m_pCommentAuthorInitialsAtom(nullptr),
|
||||
|
||||
m_haveAuthorAtom(false),
|
||||
m_haveTextAtom(false),
|
||||
m_haveAuthorInitialAtom(false)
|
||||
{}
|
||||
|
||||
~CRecordComment10Container()
|
||||
{
|
||||
RELEASEOBJECT(m_pCommentAuthorAtom)
|
||||
RELEASEOBJECT(m_pCommentTextAtom)
|
||||
RELEASEOBJECT(m_pCommentAuthorInitialsAtom)
|
||||
}
|
||||
|
||||
void ReadFromStream(SRecordHeader &oHeader, POLE::Stream *pStream) override
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos(0); StreamUtils::StreamPosition(lPos, pStream);
|
||||
|
||||
_UINT32 lCurLen(0);
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
while (lCurLen < m_oHeader.RecLen) {
|
||||
if ( ReadHeader.ReadFromStream(pStream) == false )
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
lCurLen += 8 + ReadHeader.RecLen;
|
||||
|
||||
if (ReadHeader.RecType == RT_CString) {
|
||||
switch (ReadHeader.RecInstance) {
|
||||
case 0:
|
||||
m_pCommentAuthorAtom = new CRecordComment10AuthorAtom();
|
||||
m_pCommentAuthorAtom->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveAuthorAtom = true;
|
||||
break;
|
||||
case 1:
|
||||
m_pCommentTextAtom = new CRecordComment10TextAtom();
|
||||
m_pCommentTextAtom->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveTextAtom = true;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
m_pCommentAuthorInitialsAtom = new CRecordComment10AuthorInitialAtom();
|
||||
m_pCommentAuthorInitialsAtom->ReadFromStream(ReadHeader, pStream);
|
||||
m_haveAuthorInitialAtom = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
} else
|
||||
{
|
||||
m_oCommentAtom.ReadFromStream(ReadHeader, pStream);
|
||||
}
|
||||
}
|
||||
|
||||
StreamUtils::StreamSeek(lPos + m_oHeader.RecLen, pStream);
|
||||
}
|
||||
|
||||
public:
|
||||
CRecordComment10AuthorAtom* m_pCommentAuthorAtom; // OPTIONAL
|
||||
CRecordComment10TextAtom* m_pCommentTextAtom; // OPTIONAL
|
||||
CRecordComment10AuthorInitialAtom* m_pCommentAuthorInitialsAtom; // OPTIONAL
|
||||
CRecordComment10Atom m_oCommentAtom;
|
||||
|
||||
bool m_haveAuthorAtom;
|
||||
bool m_haveTextAtom;
|
||||
bool m_haveAuthorInitialAtom;
|
||||
};
|
||||
}
|
||||
@ -1,109 +0,0 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2019
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
|
||||
* street, Riga, Latvia, EU, LV-1050.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include "DocProgTagsContainer.h"
|
||||
|
||||
namespace PPT_FORMAT
|
||||
{
|
||||
class DocInfoListSubContainerOrAtom
|
||||
{
|
||||
public:
|
||||
nullable<IRecord> m_record;
|
||||
|
||||
void ReadFromStream(SRecordHeader &oHeader, POLE::Stream *pStream)
|
||||
{
|
||||
switch (oHeader.RecType)
|
||||
{
|
||||
case RT_ProgTags:
|
||||
{
|
||||
m_record = new CRecordDocProgTagsContainer;
|
||||
m_record->ReadFromStream(oHeader, pStream);
|
||||
break;
|
||||
}
|
||||
// case RT_OutlineViewInfo:
|
||||
// {
|
||||
|
||||
// }
|
||||
default:
|
||||
StreamUtils::StreamSkip(oHeader.RecLen, pStream);
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class CRecordDocInfoListContainer : public CUnknownRecord
|
||||
{
|
||||
public:
|
||||
std::vector<DocInfoListSubContainerOrAtom* > m_rgChildRec;
|
||||
|
||||
public:
|
||||
CRecordDocInfoListContainer()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
virtual ~CRecordDocInfoListContainer()
|
||||
{
|
||||
for (auto child : m_rgChildRec)
|
||||
{
|
||||
RELEASEOBJECT(child)
|
||||
}
|
||||
}
|
||||
|
||||
virtual void ReadFromStream(SRecordHeader &oHeader, POLE::Stream *pStream)
|
||||
{
|
||||
m_oHeader = oHeader;
|
||||
|
||||
LONG lPos; StreamUtils::StreamPosition(lPos, pStream);
|
||||
LONG lCurLen = 0;
|
||||
SRecordHeader ReadHeader;
|
||||
|
||||
while (lCurLen < m_oHeader.RecLen)
|
||||
{
|
||||
|
||||
if (!ReadHeader.ReadFromStream(pStream))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
lCurLen += 8 + ReadHeader.RecLen;
|
||||
|
||||
auto pRec = new DocInfoListSubContainerOrAtom;
|
||||
pRec->ReadFromStream(ReadHeader, pStream);
|
||||
m_rgChildRec.push_back(pRec);
|
||||
}
|
||||
StreamUtils::StreamSeek(lPos + m_oHeader.RecLen, pStream);
|
||||
}
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user