init repo
This commit is contained in:
102
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Anim.h
Normal file
102
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Anim.h
Normal file
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_ANIM_INCLUDE_H_
|
||||
#define PPTX_LOGIC_ANIM_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CBhvr.h"
|
||||
#include "TavLst.h"
|
||||
#include "./../../Limit/TLCalcMode.h"
|
||||
#include "./../../Limit/TLValueType.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Anim : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Anim)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"by", by);
|
||||
node.ReadAttributeBase(L"from", from);
|
||||
node.ReadAttributeBase(L"to", to);
|
||||
node.ReadAttributeBase(L"calcmode", calcmode);
|
||||
node.ReadAttributeBase(L"valueType", valueType);
|
||||
|
||||
cBhvr = node.ReadNode(_T("p:cBhvr"));
|
||||
tavLst = node.ReadNode(_T("p:tavLst"));
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("by"), by);
|
||||
oAttr.Write(_T("from"), from);
|
||||
oAttr.Write(_T("to"), to);
|
||||
oAttr.WriteLimitNullable(_T("calcmode"), calcmode);
|
||||
oAttr.WriteLimitNullable(_T("valueType"), valueType);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.Write(cBhvr);
|
||||
oValue.WriteNullable(tavLst);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:anim"), oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CBhvr cBhvr;
|
||||
nullable<TavLst> tavLst;
|
||||
|
||||
nullable_string by;
|
||||
nullable_limit<Limit::TLCalcMode> calcmode;
|
||||
nullable_string from;
|
||||
nullable_string to;
|
||||
nullable_limit<Limit::TLValueType> valueType;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cBhvr.SetParentPointer(this);
|
||||
if(tavLst.IsInit())
|
||||
tavLst->SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_ANIM_INCLUDE_H
|
||||
150
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimClr.h
Normal file
150
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimClr.h
Normal file
@@ -0,0 +1,150 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_ANIMCLR_INCLUDE_H_
|
||||
#define PPTX_LOGIC_ANIMCLR_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CBhvr.h"
|
||||
#include "./../UniColor.h"
|
||||
#include "./../../Limit/TLColorSpace.h"
|
||||
#include "./../../Limit/TLColorDirection.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class AnimClr : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(AnimClr)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"clrSpc", clrSpc);
|
||||
node.ReadAttributeBase(L"dir", dir);
|
||||
|
||||
cBhvr = node.ReadNode(_T("cBhvr"));
|
||||
|
||||
XmlUtils::CXmlNode oNodeFrom;
|
||||
if (node.GetNode(_T("p:from"), oNodeFrom))
|
||||
from.GetColorFrom(oNodeFrom);
|
||||
|
||||
XmlUtils::CXmlNode oNodeTo;
|
||||
if (node.GetNode(_T("p:to"), oNodeTo))
|
||||
to.GetColorFrom(oNodeTo);
|
||||
|
||||
XmlUtils::CXmlNode oNodeBy;
|
||||
if (node.GetNode(_T("p:by"), oNodeBy))
|
||||
{
|
||||
XmlUtils::CXmlNode oRGB;
|
||||
XmlUtils::CXmlNode oHSL;
|
||||
if (oNodeBy.GetNode(_T("p:rgb"), oRGB))
|
||||
{
|
||||
oRGB.ReadAttributeBase(L"r", byR);
|
||||
oRGB.ReadAttributeBase(L"g", byG);
|
||||
oRGB.ReadAttributeBase(L"b", byB);
|
||||
}
|
||||
else if (oNodeBy.GetNode(_T("p:hsl"), oRGB))
|
||||
{
|
||||
oHSL.ReadAttributeBase(L"h", byH);
|
||||
oHSL.ReadAttributeBase(L"s", byS);
|
||||
oHSL.ReadAttributeBase(L"l", byL);
|
||||
}
|
||||
}
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.WriteLimitNullable(_T("clrSpc"), clrSpc);
|
||||
oAttr.WriteLimitNullable(_T("dir"), dir);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.Write(cBhvr);
|
||||
|
||||
if (byR.IsInit() && byG.IsInit() && byB.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("r"), byR);
|
||||
oAttr1.Write(_T("g"), byG);
|
||||
oAttr1.Write(_T("b"), byB);
|
||||
|
||||
oValue.m_strValue += (_T("<p:by>") + XmlUtils::CreateNode(_T("p:rgb"), oAttr1) + _T("</p:by>"));
|
||||
}
|
||||
else if (byH.IsInit() && byS.IsInit() && byL.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("h"), byH);
|
||||
oAttr1.Write(_T("s"), byS);
|
||||
oAttr1.Write(_T("l"), byL);
|
||||
|
||||
oValue.m_strValue += (_T("<p:by>") + XmlUtils::CreateNode(_T("p:hsl"), oAttr1) + _T("</p:by>"));
|
||||
}
|
||||
|
||||
if (from.is_init())
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:from"), from.toXML());
|
||||
if (to.is_init())
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:to"), to.toXML());
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:animClr"), oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CBhvr cBhvr;
|
||||
|
||||
nullable_int byR;
|
||||
nullable_int byG;
|
||||
nullable_int byB;
|
||||
nullable_int byH;
|
||||
nullable_int byS;
|
||||
nullable_int byL;
|
||||
UniColor from;
|
||||
UniColor to;
|
||||
|
||||
nullable_limit<Limit::TLColorSpace> clrSpc;
|
||||
nullable_limit<Limit::TLColorDirection> dir;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cBhvr.SetParentPointer(this);
|
||||
from.SetParentPointer(this);
|
||||
to.SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_ANIMCLR_INCLUDE_H
|
||||
@@ -0,0 +1,95 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_ANIMEFFECT_INCLUDE_H_
|
||||
#define PPTX_LOGIC_ANIMEFFECT_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CBhvr.h"
|
||||
#include "AnimVariant.h"
|
||||
#include "./../../Limit/TLTransition.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class AnimEffect : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(AnimEffect)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"filter", filter);
|
||||
node.ReadAttributeBase(L"prLst", prLst);
|
||||
node.ReadAttributeBase(L"transition", transition);
|
||||
|
||||
cBhvr = node.ReadNode(_T("p:cBhvr"));
|
||||
progress = node.ReadNodeNoNS(_T("progress"));
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("filter"), filter);
|
||||
oAttr.Write(_T("prLst"), prLst);
|
||||
oAttr.WriteLimitNullable(_T("transition"), transition);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.Write(cBhvr);
|
||||
oValue.WriteNullable(progress);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:animEffect"), oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CBhvr cBhvr;
|
||||
|
||||
nullable<AnimVariant> progress;
|
||||
nullable_string filter;
|
||||
nullable_string prLst;
|
||||
nullable_limit<Limit::TLTransition> transition;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cBhvr.SetParentPointer(this);
|
||||
if(progress.IsInit())
|
||||
progress->SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_ANIMEFFECT_INCLUDE_H
|
||||
169
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimMotion.h
Normal file
169
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimMotion.h
Normal file
@@ -0,0 +1,169 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_ANIMMOTION_INCLUDE_H_
|
||||
#define PPTX_LOGIC_ANIMMOTION_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CBhvr.h"
|
||||
#include "./../../Limit/TLOrigin.h"
|
||||
#include "./../../Limit/TLPathEditMode.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class AnimMotion : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(AnimMotion)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
cBhvr = node.ReadNode(_T("p:cBhvr"));
|
||||
|
||||
XmlUtils::CXmlNode oNodeBy;
|
||||
if (node.GetNode(_T("p:by"), oNodeBy))
|
||||
{
|
||||
oNodeBy.ReadAttributeBase(L"x", byX);
|
||||
oNodeBy.ReadAttributeBase(L"y", byY);
|
||||
}
|
||||
XmlUtils::CXmlNode oNodeFrom;
|
||||
if (node.GetNode(_T("p:from"), oNodeFrom))
|
||||
{
|
||||
oNodeFrom.ReadAttributeBase(L"x", fromX);
|
||||
oNodeFrom.ReadAttributeBase(L"y", fromY);
|
||||
}
|
||||
XmlUtils::CXmlNode oNodeTo;
|
||||
if (node.GetNode(_T("p:to"), oNodeTo))
|
||||
{
|
||||
oNodeTo.ReadAttributeBase(L"x", toX);
|
||||
oNodeTo.ReadAttributeBase(L"y", toY);
|
||||
}
|
||||
XmlUtils::CXmlNode oNodeCtr;
|
||||
if (node.GetNode(_T("p:rCtr"), oNodeCtr))
|
||||
{
|
||||
oNodeCtr.ReadAttributeBase(L"x", rCtrX);
|
||||
oNodeCtr.ReadAttributeBase(L"y", rCtrY);
|
||||
}
|
||||
|
||||
node.ReadAttributeBase(L"path", path);
|
||||
node.ReadAttributeBase(L"ptsTypes", ptsTypes);
|
||||
node.ReadAttributeBase(L"rAng", rAng);
|
||||
node.ReadAttributeBase(L"origin", origin);
|
||||
node.ReadAttributeBase(L"pathEditMode", pathEditMode);
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.WriteLimitNullable(_T("origin"), origin);
|
||||
oAttr.Write(_T("path"), path);
|
||||
oAttr.WriteLimitNullable(_T("pathEditMode"), pathEditMode);
|
||||
oAttr.Write(_T("rAng"), rAng);
|
||||
oAttr.Write(_T("ptsTypes"), ptsTypes);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
|
||||
if (byX.IsInit() || byY.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("x"), byX);
|
||||
oAttr1.Write(_T("y"), byY);
|
||||
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:by"), oAttr1);
|
||||
}
|
||||
if (fromY.IsInit() || fromY.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("x"), fromX);
|
||||
oAttr1.Write(_T("y"), fromY);
|
||||
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:from"), oAttr1);
|
||||
}
|
||||
if (toX.IsInit() || toY.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("x"), toX);
|
||||
oAttr1.Write(_T("y"), toY);
|
||||
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:to"), oAttr1);
|
||||
}
|
||||
if (rCtrX.IsInit() || rCtrY.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("x"), rCtrX);
|
||||
oAttr1.Write(_T("y"), rCtrY);
|
||||
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:rCtr"), oAttr1);
|
||||
}
|
||||
oValue.Write(cBhvr);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:animMotion"), oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CBhvr cBhvr;
|
||||
|
||||
nullable_int byX;
|
||||
nullable_int byY;
|
||||
nullable_int fromX;
|
||||
nullable_int fromY;
|
||||
nullable_int toX;
|
||||
nullable_int toY;
|
||||
nullable_int rCtrX;
|
||||
nullable_int rCtrY;
|
||||
|
||||
nullable_limit<Limit::TLOrigin> origin;
|
||||
nullable_string path;
|
||||
|
||||
|
||||
|
||||
nullable_limit<Limit::TLPathEditMode> pathEditMode;
|
||||
nullable_string ptsTypes;
|
||||
|
||||
|
||||
|
||||
nullable_int rAng;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cBhvr.SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_ANIMMOTION_INCLUDE_H
|
||||
88
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimRot.h
Normal file
88
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimRot.h
Normal file
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_ANIMROT_INCLUDE_H_
|
||||
#define PPTX_LOGIC_ANIMROT_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CBhvr.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class AnimRot : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(AnimRot)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
cBhvr = node.ReadNode(_T("p:cBhvr"));
|
||||
|
||||
node.ReadAttributeBase(L"by", by);
|
||||
node.ReadAttributeBase(L"from", from);
|
||||
node.ReadAttributeBase(L"to", to);
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("by"), by);
|
||||
oAttr.Write(_T("from"), from);
|
||||
oAttr.Write(_T("to"), to);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.Write(cBhvr);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:animRot"), oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CBhvr cBhvr;
|
||||
|
||||
nullable_int by;
|
||||
nullable_int from;
|
||||
nullable_int to;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cBhvr.SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_ANIMROT_INCLUDE_H
|
||||
133
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimScale.h
Normal file
133
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimScale.h
Normal file
@@ -0,0 +1,133 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_ANIMSCALE_INCLUDE_H_
|
||||
#define PPTX_LOGIC_ANIMSCALE_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CBhvr.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class AnimScale : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(AnimScale)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
cBhvr = node.ReadNode(_T("p:cBhvr"));
|
||||
|
||||
XmlUtils::CXmlNode oNodeBy;
|
||||
if (node.GetNode(_T("p:by"), oNodeBy))
|
||||
{
|
||||
oNodeBy.ReadAttributeBase(L"x", byX);
|
||||
oNodeBy.ReadAttributeBase(L"y", byY);
|
||||
}
|
||||
XmlUtils::CXmlNode oNodeFrom;
|
||||
if (node.GetNode(_T("p:from"), oNodeFrom))
|
||||
{
|
||||
oNodeFrom.ReadAttributeBase(L"x", fromX);
|
||||
oNodeFrom.ReadAttributeBase(L"y", fromY);
|
||||
}
|
||||
XmlUtils::CXmlNode oNodeTo;
|
||||
if (node.GetNode(_T("p:to"), oNodeTo))
|
||||
{
|
||||
oNodeTo.ReadAttributeBase(L"x", toX);
|
||||
oNodeTo.ReadAttributeBase(L"y", toY);
|
||||
}
|
||||
|
||||
node.ReadAttributeBase(L"zoomContents", zoomContents);
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("zoomContents"), zoomContents);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.Write(cBhvr);
|
||||
|
||||
if (byX.IsInit() || byY.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("x"), byX);
|
||||
oAttr1.Write(_T("y"), byY);
|
||||
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:by"), oAttr1);
|
||||
}
|
||||
if (fromX.IsInit() || fromY.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("x"), fromX);
|
||||
oAttr1.Write(_T("y"), fromY);
|
||||
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:from"), oAttr1);
|
||||
}
|
||||
if (toX.IsInit() || toY.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("x"), toX);
|
||||
oAttr1.Write(_T("y"), toY);
|
||||
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:to"), oAttr1);
|
||||
}
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:animScale"), oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CBhvr cBhvr;
|
||||
|
||||
nullable_int byX;
|
||||
nullable_int byY;
|
||||
nullable_int fromX;
|
||||
nullable_int fromY;
|
||||
nullable_int toX;
|
||||
nullable_int toY;
|
||||
|
||||
nullable_bool zoomContents;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cBhvr.SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_ANIMSCALE_INCLUDE_H
|
||||
122
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimVariant.h
Normal file
122
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AnimVariant.h
Normal file
@@ -0,0 +1,122 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_ANIMVARIANT_INCLUDE_H_
|
||||
#define PPTX_LOGIC_ANIMVARIANT_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "./../UniColor.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class AnimVariant : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(AnimVariant)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
name = XmlUtils::GetNameNoNS(node.GetName());
|
||||
|
||||
XmlUtils::CXmlNode oNode;
|
||||
|
||||
if (node.GetNode(_T("p:boolVal"), oNode))
|
||||
oNode.ReadAttributeBase(L"val", boolVal);
|
||||
else if (node.GetNode(_T("p:intVal"), oNode))
|
||||
oNode.ReadAttributeBase(L"val", intVal);
|
||||
else if (node.GetNode(_T("p:fltVal"), oNode))
|
||||
oNode.ReadAttributeBase(L"val", fltVal);
|
||||
else if (node.GetNode(_T("p:clrVal"), oNode))
|
||||
clrVal.GetColorFrom(oNode);
|
||||
else if (node.GetNode(_T("p:strVal"), oNode))
|
||||
oNode.ReadAttributeBase(L"val", strVal);
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CNodeValue oValue;
|
||||
|
||||
if (strVal.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("val"), strVal);
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:strVal"), oAttr);
|
||||
}
|
||||
if (boolVal.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("val"), boolVal);
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:boolVal"), oAttr);
|
||||
}
|
||||
if (intVal.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("val"), intVal);
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:intVal"), oAttr);
|
||||
}
|
||||
if (fltVal.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("val"), fltVal);
|
||||
oValue.m_strValue += XmlUtils::CreateNode(_T("p:fltVal"), oAttr);
|
||||
}
|
||||
if (clrVal.is_init())
|
||||
{
|
||||
oValue.m_strValue += (_T("<p:clrVal>") + clrVal.toXML() + _T("</p:clrVal>"));
|
||||
}
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:") + name, oValue);
|
||||
}
|
||||
public:
|
||||
CString name;
|
||||
|
||||
nullable_bool boolVal;
|
||||
nullable_string strVal;
|
||||
nullable_int intVal;
|
||||
nullable_double fltVal;
|
||||
|
||||
UniColor clrVal;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
clrVal.SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_ANIMVARIANT_INCLUDE_H_
|
||||
65
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AttrName.h
Normal file
65
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/AttrName.h
Normal file
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_ATTRNAME_INCLUDE_H_
|
||||
#define PPTX_LOGIC_ATTRNAME_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class AttrName : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(AttrName)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
text = node.GetTextExt();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
return _T("<p:attrName>") + text + _T("</p:attrName>");
|
||||
}
|
||||
public:
|
||||
CString text;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_ATTRNAME_INCLUDE_H_
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_ATTRNAMELST_INCLUDE_H_
|
||||
#define PPTX_LOGIC_ATTRNAMELST_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "AttrName.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class AttrNameLst : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(AttrNameLst)
|
||||
|
||||
AttrNameLst& operator=(const AttrNameLst& oSrc)
|
||||
{
|
||||
parentFile = oSrc.parentFile;
|
||||
parentElement = oSrc.parentElement;
|
||||
|
||||
list.Copy(oSrc.list);
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.LoadArray(_T("p:attrName"), list);
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.WriteArray(list);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:attrNameLst"), oValue);
|
||||
}
|
||||
public:
|
||||
CAtlArray<AttrName> list;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_ATTRNAMELST_INCLUDE_H_
|
||||
77
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Audio.h
Normal file
77
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Audio.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_AUDIO_INCLUDE_H_
|
||||
#define PPTX_LOGIC_AUDIO_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CMediaNode.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Audio : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Audio)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"isNarration", isNarration);
|
||||
cMediaNode = node.ReadNode(_T("p:cMediaNode"));
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("isNarration"), isNarration);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:audio"), oAttr, cMediaNode.toXML());
|
||||
}
|
||||
|
||||
public:
|
||||
CMediaNode cMediaNode;
|
||||
nullable_bool isNarration;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cMediaNode.SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_AUDIO_INCLUDE_H
|
||||
89
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldDgm.h
Normal file
89
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldDgm.h
Normal file
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_BLDDGM_INCLUDE_H_
|
||||
#define PPTX_LOGIC_BLDDGM_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "./../../Limit/DgmBuildType.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class BldDgm : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BldDgm)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"spid", spid);
|
||||
grpId = node.ReadAttributeInt(L"grpId");
|
||||
node.ReadAttributeBase(L"uiExpand", uiExpand);
|
||||
node.ReadAttributeBase(L"bld", bld);
|
||||
|
||||
Normalize();
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("spid"), spid);
|
||||
oAttr.Write(_T("grpId"), grpId);
|
||||
oAttr.Write(_T("uiExpand"), uiExpand);
|
||||
oAttr.WriteLimitNullable(_T("bld"), bld);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:bldDgm"), oAttr);
|
||||
}
|
||||
|
||||
public:
|
||||
CString spid;
|
||||
int grpId;
|
||||
nullable_bool uiExpand;
|
||||
nullable_limit<Limit::DgmBuildType> bld;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
|
||||
AVSINLINE void Normalize()
|
||||
{
|
||||
if (grpId < 0)
|
||||
grpId = 0;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_BLDDGM_INCLUDE_H
|
||||
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_BLDGRAPHIC_INCLUDE_H_
|
||||
#define PPTX_LOGIC_BLDGRAPHIC_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "BldSub.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class BldGraphic : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BldGraphic)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
bldSub = node.ReadNode(_T("p:bldSub"));
|
||||
node.ReadAttributeBase(L"spid", spid);
|
||||
grpId = node.ReadAttributeInt(L"grpId");
|
||||
node.ReadAttributeBase(L"uiExpand", uiExpand);
|
||||
|
||||
Normalize();
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("spid"), spid);
|
||||
oAttr.Write(_T("grpId"), grpId);
|
||||
oAttr.Write(_T("uiExpand"), uiExpand);
|
||||
|
||||
if (!bldSub.IsInit())
|
||||
return XmlUtils::CreateNode(_T("p:bldGraphic"), oAttr, _T("<p:bldAsOne/>"));
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:bldGraphic"), oAttr, bldSub->toXML());
|
||||
}
|
||||
|
||||
public:
|
||||
nullable<BldSub> bldSub;
|
||||
|
||||
CString spid;
|
||||
int grpId;
|
||||
nullable_bool uiExpand;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
if(bldSub.IsInit())
|
||||
bldSub->SetParentPointer(this);
|
||||
}
|
||||
|
||||
AVSINLINE void Normalize()
|
||||
{
|
||||
if (grpId < 0)
|
||||
grpId = 0;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_BLDGRAPHIC_INCLUDE_H
|
||||
83
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldLst.h
Normal file
83
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldLst.h
Normal file
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_BLDLST_INCLUDE_H_
|
||||
#define PPTX_LOGIC_BLDLST_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "BuildNodeBase.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class BldLst : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BldLst)
|
||||
|
||||
BldLst& operator=(const BldLst& oSrc)
|
||||
{
|
||||
parentFile = oSrc.parentFile;
|
||||
parentElement = oSrc.parentElement;
|
||||
|
||||
list.Copy(oSrc.list);
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.LoadArray(_T("*"), list);
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.WriteArray(list);
|
||||
return XmlUtils::CreateNode(_T("p:bldLst"), oValue);
|
||||
}
|
||||
public:
|
||||
CAtlArray<BuildNodeBase> list;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
size_t count = list.GetCount();
|
||||
for (size_t i = 0; i < count; ++i)
|
||||
list[i].SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_BLDLST_INCLUDE_H_
|
||||
@@ -0,0 +1,92 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_BLDOLECHART_INCLUDE_H_
|
||||
#define PPTX_LOGIC_BLDOLECHART_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "./../../Limit/ChartBuildType.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class BldOleChart : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BldOleChart)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
spid = node.GetAttribute(_T("spid"));
|
||||
grpId = node.ReadAttributeInt(L"grpId");
|
||||
node.ReadAttributeBase(L"uiExpand", uiExpand);
|
||||
node.ReadAttributeBase(L"bld", bld);
|
||||
node.ReadAttributeBase(L"animBg", animBg);
|
||||
|
||||
Normalize();
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("spid"), spid);
|
||||
oAttr.Write(_T("grpId"), grpId);
|
||||
oAttr.Write(_T("uiExpand"), uiExpand);
|
||||
oAttr.WriteLimitNullable(_T("bld"), bld);
|
||||
oAttr.Write(_T("animBg"), animBg);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:bldOleChart"), oAttr);
|
||||
}
|
||||
|
||||
public:
|
||||
CString spid;
|
||||
int grpId;
|
||||
nullable_bool uiExpand;
|
||||
nullable_limit<Limit::ChartBuildType> bld;
|
||||
nullable_bool animBg;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
|
||||
AVSINLINE void Normalize()
|
||||
{
|
||||
if (grpId < 0)
|
||||
grpId = 0;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_BLDOLECHART_INCLUDE_H
|
||||
121
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldP.h
Normal file
121
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldP.h
Normal file
@@ -0,0 +1,121 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_BLDP_INCLUDE_H_
|
||||
#define PPTX_LOGIC_BLDP_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "./../../Limit/ParaBuildType.h"
|
||||
#include "TmplLst.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class BldP : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BldP)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
tmplLst = node.ReadNode(_T("p:tmplLst"));
|
||||
|
||||
spid = node.GetAttribute(_T("spid"));
|
||||
grpId = node.ReadAttributeInt(L"grpId");
|
||||
node.ReadAttributeBase(L"uiExpand", uiExpand);
|
||||
node.ReadAttributeBase(L"build", build);
|
||||
node.ReadAttributeBase(L"bldLvl", bldLvl);
|
||||
node.ReadAttributeBase(L"animBg", animBg);
|
||||
node.ReadAttributeBase(L"autoUpdateAnimBg", autoUpdateAnimBg);
|
||||
node.ReadAttributeBase(L"rev", rev);
|
||||
node.ReadAttributeBase(L"advAuto", advAuto);
|
||||
|
||||
Normalize();
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("spid"), spid);
|
||||
oAttr.Write(_T("grpId"), grpId);
|
||||
oAttr.Write(_T("uiExpand"), uiExpand);
|
||||
oAttr.WriteLimitNullable(_T("build"), build);
|
||||
oAttr.Write(_T("bldLvl"), bldLvl);
|
||||
oAttr.Write(_T("animBg"), animBg);
|
||||
oAttr.Write(_T("autoUpdateAnimBg"), autoUpdateAnimBg);
|
||||
oAttr.Write(_T("rev"), rev);
|
||||
oAttr.Write(_T("advAuto"), advAuto);
|
||||
oAttr.Write(_T("spid"), spid);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.WriteNullable(tmplLst);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:bldP"), oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
nullable<TmplLst> tmplLst;
|
||||
|
||||
CString spid;
|
||||
int grpId;
|
||||
nullable_bool uiExpand;
|
||||
nullable_limit<Limit::ParaBuildType> build;
|
||||
nullable_int bldLvl;
|
||||
nullable_bool animBg;
|
||||
nullable_bool autoUpdateAnimBg;
|
||||
nullable_bool rev;
|
||||
nullable_string advAuto;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
if(tmplLst.IsInit())
|
||||
tmplLst->SetParentPointer(this);
|
||||
}
|
||||
|
||||
AVSINLINE void Normalize()
|
||||
{
|
||||
if (grpId < 0)
|
||||
grpId = 0;
|
||||
|
||||
if (bldLvl.IsInit())
|
||||
if (*bldLvl < 0)
|
||||
*bldLvl = 0;
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_BLDP_INCLUDE_H
|
||||
107
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldSub.h
Normal file
107
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/BldSub.h
Normal file
@@ -0,0 +1,107 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_BLDSUB_INCLUDE_H_
|
||||
#define PPTX_LOGIC_BLDSUB_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "./../../Limit/ChartBuildType.h"
|
||||
#include "./../../Limit/AnimationDgmBuild.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class BldSub : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(BldSub)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
XmlUtils::CXmlNode oNode;
|
||||
if (node.GetNode(_T("a:bldChart"), oNode))
|
||||
{
|
||||
chart = true;
|
||||
oNode.ReadAttributeBase(L"bld", bldChart);
|
||||
oNode.ReadAttributeBase(L"animBg", animBg);
|
||||
}
|
||||
else if (node.GetNode(_T("a:bldDgm"), oNode))
|
||||
{
|
||||
chart = false;
|
||||
oNode.ReadAttributeBase(L"bld", bldDgm);
|
||||
oNode.ReadAttributeBase(L"rev", rev);
|
||||
}
|
||||
else
|
||||
chart.reset();
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
if (chart.IsInit())
|
||||
{
|
||||
if (*chart)
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.WriteLimitNullable(_T("bld"), bldChart);
|
||||
oAttr.Write(_T("animBg"), animBg);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:bldSub"), XmlUtils::CreateNode(_T("a:bldChart"), oAttr));
|
||||
}
|
||||
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.WriteLimitNullable(_T("bld"), bldDgm);
|
||||
oAttr.Write(_T("rev"), rev);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:bldSub"), XmlUtils::CreateNode(_T("a:bldDgm"), oAttr));
|
||||
}
|
||||
return _T("<p:bldSub/>");
|
||||
}
|
||||
|
||||
public:
|
||||
nullable_bool chart;
|
||||
|
||||
nullable_bool animBg;
|
||||
nullable_limit<Limit::ChartBuildType> bldChart;
|
||||
|
||||
nullable_limit<Limit::AnimationDgmBuild> bldDgm;
|
||||
nullable_bool rev;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_BLDSUB_INCLUDE_H_
|
||||
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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 "./stdafx.h"
|
||||
|
||||
#include "BuildNodeBase.h"
|
||||
#include "BldP.h"
|
||||
#include "BldDgm.h"
|
||||
#include "BldGraphic.h"
|
||||
#include "BldOleChart.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
|
||||
BuildNodeBase::BuildNodeBase()
|
||||
{
|
||||
}
|
||||
|
||||
BuildNodeBase::~BuildNodeBase()
|
||||
{
|
||||
}
|
||||
|
||||
BuildNodeBase::BuildNodeBase(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
fromXML(node);
|
||||
}
|
||||
|
||||
const BuildNodeBase& BuildNodeBase::operator =(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
fromXML(node);
|
||||
return *this;
|
||||
}
|
||||
|
||||
void BuildNodeBase::fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
CString name = XmlUtils::GetNameNoNS(node.GetName());
|
||||
|
||||
if (name == _T("bldP"))
|
||||
m_node.reset(new Logic::BldP(node));
|
||||
else if (name == _T("bldDgm"))
|
||||
m_node.reset(new Logic::BldDgm(node));
|
||||
else if (name == _T("bldGraphic"))
|
||||
m_node.reset(new Logic::BldGraphic(node));
|
||||
else if (name == _T("bldOleChart"))
|
||||
m_node.reset(new Logic::BldOleChart(node));
|
||||
else m_node.reset();
|
||||
}
|
||||
|
||||
void BuildNodeBase::GetBuildNodeFrom(XmlUtils::CXmlNode& element)
|
||||
{
|
||||
XmlUtils::CXmlNode oNode;
|
||||
|
||||
if (element.GetNode(_T("p:bldP"), oNode))
|
||||
m_node.reset(new Logic::BldP(oNode));
|
||||
else if (element.GetNode(_T("p:bldDgm"), oNode))
|
||||
m_node.reset(new Logic::BldDgm(oNode));
|
||||
else if (element.GetNode(_T("p:bldGraphic"), oNode))
|
||||
m_node.reset(new Logic::BldGraphic(oNode));
|
||||
else if (element.GetNode(_T("p:bldOleChart"), oNode))
|
||||
m_node.reset(new Logic::BldOleChart(oNode));
|
||||
else m_node.reset();
|
||||
}
|
||||
|
||||
CString BuildNodeBase::toXML() const
|
||||
{
|
||||
if (m_node.IsInit())
|
||||
return m_node->toXML();
|
||||
return _T("");
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace PPTX
|
||||
@@ -0,0 +1,75 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_BUILDNODEBASE_INCLUDE_H_
|
||||
#define PPTX_LOGIC_BUILDNODEBASE_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class BuildNodeBase : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
BuildNodeBase();
|
||||
virtual ~BuildNodeBase();
|
||||
explicit BuildNodeBase(XmlUtils::CXmlNode& node);
|
||||
const BuildNodeBase& operator =(XmlUtils::CXmlNode& node);
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node);
|
||||
virtual void GetBuildNodeFrom(XmlUtils::CXmlNode& element);
|
||||
virtual bool is_init()const{return (m_node.IsInit());};
|
||||
|
||||
template<class T> const bool is() const { return (!m_node.IsInit())?false:(typeid(*m_node) == typeid(T));}
|
||||
template<class T> T& as() {return static_cast<T&>(*m_node);}
|
||||
template<class T> const T& as() const {return static_cast<const T&>(*m_node);}
|
||||
|
||||
virtual CString toXML() const;
|
||||
|
||||
private:
|
||||
smart_ptr<WrapperWritingElement> m_node;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
public:
|
||||
virtual void SetParentPointer(const WrapperWritingElement* pParent)
|
||||
{
|
||||
if(is_init())
|
||||
m_node->SetParentPointer(pParent);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_BUILDNODEBASE_INCLUDE_H_
|
||||
118
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CBhvr.h
Normal file
118
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CBhvr.h
Normal file
@@ -0,0 +1,118 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_CBHVR_INCLUDE_H_
|
||||
#define PPTX_LOGIC_CBHVR_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CTn.h"
|
||||
#include "AttrNameLst.h"
|
||||
#include "TgtEl.h"
|
||||
#include "./../../Limit/TLAccumulate.h"
|
||||
#include "./../../Limit/TLAdditive.h"
|
||||
#include "./../../Limit/TLOverride.h"
|
||||
#include "./../../Limit/TLTransform.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class CBhvr : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(CBhvr)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"accumulate", accumulate);
|
||||
node.ReadAttributeBase(L"additive", additive);
|
||||
node.ReadAttributeBase(L"by", by);
|
||||
node.ReadAttributeBase(L"from", from);
|
||||
node.ReadAttributeBase(L"override", override_);
|
||||
node.ReadAttributeBase(L"rctx", rctx);
|
||||
node.ReadAttributeBase(L"to", to);
|
||||
node.ReadAttributeBase(L"xfrmType", xfrmType);
|
||||
|
||||
cTn = node.ReadNode(_T("p:cTn"));
|
||||
tgtEl = node.ReadNode(_T("p:tgtEl"));
|
||||
attrNameLst = node.ReadNode(_T("p:attrNameLst"));
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.WriteLimitNullable(_T("accumulate"), accumulate);
|
||||
oAttr.WriteLimitNullable(_T("additive"), additive);
|
||||
oAttr.Write(_T("by"), by);
|
||||
oAttr.Write(_T("from"), from);
|
||||
oAttr.WriteLimitNullable(_T("override"), override_);
|
||||
oAttr.Write(_T("rctx"), rctx);
|
||||
oAttr.Write(_T("to"), to);
|
||||
oAttr.WriteLimitNullable(_T("xfrmType"), xfrmType);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.Write(cTn);
|
||||
oValue.Write(tgtEl);
|
||||
oValue.WriteNullable(attrNameLst);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:cBhvr"), oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CTn cTn;
|
||||
TgtEl tgtEl;
|
||||
nullable<AttrNameLst> attrNameLst;
|
||||
|
||||
nullable_limit<Limit::TLAccumulate> accumulate;
|
||||
nullable_limit<Limit::TLAdditive> additive;
|
||||
nullable_string by;
|
||||
nullable_string from;
|
||||
nullable_limit<Limit::TLOverride> override_;
|
||||
nullable_string rctx;
|
||||
nullable_string to;
|
||||
nullable_limit<Limit::TLTransform> xfrmType;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cTn.SetParentPointer(this);
|
||||
tgtEl.SetParentPointer(this);
|
||||
if(attrNameLst.IsInit())
|
||||
attrNameLst->SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_CBHVR_INCLUDE_H
|
||||
103
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CMediaNode.h
Normal file
103
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CMediaNode.h
Normal file
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_CMEDIANODE_INCLUDE_H_
|
||||
#define PPTX_LOGIC_CMEDIANODE_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CTn.h"
|
||||
#include "TgtEl.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class CMediaNode : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(CMediaNode)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
cTn = node.ReadNode(_T("p:cTn"));
|
||||
tgtEl = node.ReadNode(_T("p:tgtEl"));
|
||||
|
||||
node.ReadAttributeBase(L"mute", mute);
|
||||
node.ReadAttributeBase(L"numSld", numSld);
|
||||
node.ReadAttributeBase(L"showWhenStopped", showWhenStopped);
|
||||
node.ReadAttributeBase(L"vol", vol);
|
||||
|
||||
Normalize();
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("mute"), mute);
|
||||
oAttr.Write(_T("numSld"), numSld);
|
||||
oAttr.Write(_T("showWhenStopped"), showWhenStopped);
|
||||
oAttr.Write(_T("vol"), vol);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.Write(cTn);
|
||||
oValue.Write(tgtEl);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:cMediaNode"), oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CTn cTn;
|
||||
TgtEl tgtEl;
|
||||
|
||||
nullable_bool mute;
|
||||
nullable_int numSld;
|
||||
nullable_bool showWhenStopped;
|
||||
nullable_int vol;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cTn.SetParentPointer(this);
|
||||
tgtEl.SetParentPointer(this);
|
||||
}
|
||||
|
||||
AVSINLINE void Normalize()
|
||||
{
|
||||
numSld.normalize_positive();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_CMEDIANODE_INCLUDE_H
|
||||
196
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CTn.h
Normal file
196
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CTn.h
Normal file
@@ -0,0 +1,196 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_CTN_INCLUDE_H_
|
||||
#define PPTX_LOGIC_CTN_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CondLst.h"
|
||||
#include "Cond.h"
|
||||
#include "TnLst.h"
|
||||
#include "Iterate.h"
|
||||
#include "./../../Limit/TLRestart.h"
|
||||
#include "./../../Limit/TLNodeType.h"
|
||||
#include "./../../Limit/TLNodeFillType.h"
|
||||
#include "./../../Limit/TLPresetClass.h"
|
||||
#include "./../../Limit/TLMasterRelation.h"
|
||||
#include "./../../Limit/TLSyncBehavior.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class CTn : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(CTn)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"accel", accel);
|
||||
node.ReadAttributeBase(L"afterEffect", afterEffect);
|
||||
node.ReadAttributeBase(L"autoRev", autoRev);
|
||||
node.ReadAttributeBase(L"bldLvl", bldLvl);
|
||||
node.ReadAttributeBase(L"decel", decel);
|
||||
node.ReadAttributeBase(L"display", display);
|
||||
node.ReadAttributeBase(L"dur", dur);
|
||||
node.ReadAttributeBase(L"evtFilter", evtFilter);
|
||||
node.ReadAttributeBase(L"fill", fill);
|
||||
node.ReadAttributeBase(L"grpId", grpId);
|
||||
node.ReadAttributeBase(L"id", id);
|
||||
node.ReadAttributeBase(L"masterRel", masterRel);
|
||||
node.ReadAttributeBase(L"nodePh", nodePh);
|
||||
node.ReadAttributeBase(L"nodeType", nodeType);
|
||||
node.ReadAttributeBase(L"presetClass", presetClass);
|
||||
node.ReadAttributeBase(L"presetID", presetID);
|
||||
node.ReadAttributeBase(L"presetSubtype", presetSubtype);
|
||||
node.ReadAttributeBase(L"repeatCount", repeatCount);
|
||||
node.ReadAttributeBase(L"repeatDur", repeatDur);
|
||||
node.ReadAttributeBase(L"restart", restart);
|
||||
node.ReadAttributeBase(L"spd", spd);
|
||||
node.ReadAttributeBase(L"syncBehavior", syncBehavior);
|
||||
node.ReadAttributeBase(L"tmFilter", tmFilter);
|
||||
|
||||
stCondLst = node.ReadNode(_T("p:stCondLst"));
|
||||
endCondLst = node.ReadNode(_T("p:endCondLst"));
|
||||
endSync = node.ReadNode(_T("p:endSync"));
|
||||
iterate = node.ReadNode(_T("p:iterate"));
|
||||
childTnLst = node.ReadNode(_T("p:childTnLst"));
|
||||
subTnLst = node.ReadNode(_T("p:subTnLst"));
|
||||
|
||||
Normalize();
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
|
||||
oAttr.Write(_T("id"), id);
|
||||
oAttr.Write(_T("presetID"), presetID);
|
||||
oAttr.WriteLimitNullable(_T("presetClass"), presetClass);
|
||||
oAttr.Write(_T("presetSubtype"), presetSubtype);
|
||||
oAttr.Write(_T("dur"), dur);
|
||||
oAttr.Write(_T("repeatCount"), repeatCount);
|
||||
oAttr.Write(_T("repeatDur"), repeatDur);
|
||||
oAttr.Write(_T("spd"), spd);
|
||||
oAttr.Write(_T("accel"), accel);
|
||||
oAttr.Write(_T("decel"), decel);
|
||||
oAttr.Write(_T("autoRev"), autoRev);
|
||||
oAttr.WriteLimitNullable(_T("restart"), restart);
|
||||
oAttr.WriteLimitNullable(_T("fill"), fill);
|
||||
oAttr.WriteLimitNullable(_T("syncBehavior"), syncBehavior);
|
||||
oAttr.Write(_T("tmFilter"), tmFilter);
|
||||
oAttr.Write(_T("evtFilter"), evtFilter);
|
||||
oAttr.Write(_T("display"), display);
|
||||
oAttr.WriteLimitNullable(_T("masterRel"), masterRel);
|
||||
oAttr.Write(_T("bldLvl"), bldLvl);
|
||||
oAttr.Write(_T("grpId"), grpId);
|
||||
oAttr.Write(_T("afterEffect"), afterEffect);
|
||||
oAttr.WriteLimitNullable(_T("nodeType"), nodeType);
|
||||
oAttr.Write(_T("nodePh"), nodePh);
|
||||
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.WriteNullable(stCondLst);
|
||||
oValue.WriteNullable(endCondLst);
|
||||
oValue.WriteNullable(endSync);
|
||||
oValue.WriteNullable(iterate);
|
||||
oValue.WriteNullable(childTnLst);
|
||||
oValue.WriteNullable(subTnLst);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:cTn"), oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
|
||||
nullable<CondLst> stCondLst;
|
||||
nullable<CondLst> endCondLst;
|
||||
nullable<Cond> endSync;
|
||||
nullable<Iterate> iterate;
|
||||
nullable<TnLst> childTnLst;
|
||||
nullable<TnLst> subTnLst;
|
||||
|
||||
|
||||
|
||||
nullable_int accel;
|
||||
nullable_bool afterEffect;
|
||||
nullable_bool autoRev;
|
||||
nullable_int bldLvl;
|
||||
nullable_int decel;
|
||||
nullable_bool display;
|
||||
nullable_string dur;
|
||||
nullable_string evtFilter;
|
||||
nullable_limit<Limit::TLNodeFillType> fill;
|
||||
nullable_int grpId;
|
||||
nullable_int id;
|
||||
nullable_limit<Limit::TLMasterRelation> masterRel;
|
||||
nullable_bool nodePh;
|
||||
nullable_limit<Limit::TLNodeType> nodeType;
|
||||
nullable_limit<Limit::TLPresetClass> presetClass;
|
||||
nullable_int presetID;
|
||||
nullable_int presetSubtype;
|
||||
nullable_string repeatCount;
|
||||
nullable_string repeatDur;
|
||||
nullable_limit<Limit::TLRestart> restart;
|
||||
nullable_int spd;
|
||||
nullable_limit<Limit::TLSyncBehavior> syncBehavior;
|
||||
nullable_string tmFilter;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
if(stCondLst.IsInit())
|
||||
stCondLst->SetParentPointer(this);
|
||||
if(endCondLst.IsInit())
|
||||
endCondLst->SetParentPointer(this);
|
||||
if(endSync.IsInit())
|
||||
endSync->SetParentPointer(this);
|
||||
if(iterate.IsInit())
|
||||
iterate->SetParentPointer(this);
|
||||
if(childTnLst.IsInit())
|
||||
childTnLst->SetParentPointer(this);
|
||||
if(subTnLst.IsInit())
|
||||
subTnLst->SetParentPointer(this);
|
||||
}
|
||||
|
||||
AVSINLINE void Normalize()
|
||||
{
|
||||
grpId.normalize_positive();
|
||||
id.normalize_positive();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_CTN_INCLUDE_H
|
||||
83
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Cmd.h
Normal file
83
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Cmd.h
Normal file
@@ -0,0 +1,83 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_CMD_INCLUDE_H_
|
||||
#define PPTX_LOGIC_CMD_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CBhvr.h"
|
||||
#include "./../../Limit/TLCommandType.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Cmd : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Cmd)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"type", type);
|
||||
node.ReadAttributeBase(L"cmd", cmd);
|
||||
|
||||
cBhvr = node.ReadNode(_T("p:cBhvr"));
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.WriteLimitNullable(_T("type"), type);
|
||||
oAttr.Write(_T("cmd"), cmd);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:cmd"), oAttr, cBhvr.toXML());
|
||||
}
|
||||
|
||||
public:
|
||||
CBhvr cBhvr;
|
||||
|
||||
nullable_limit<Limit::TLCommandType> type;
|
||||
nullable_string cmd;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cBhvr.SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_CMD_INCLUDE_H
|
||||
121
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Cond.h
Normal file
121
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Cond.h
Normal file
@@ -0,0 +1,121 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_COND_INCLUDE_H_
|
||||
#define PPTX_LOGIC_COND_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "./../../Limit/TLTriggerEvent.h"
|
||||
#include "./../../Limit/TLRuntimeTrigger.h"
|
||||
#include "TgtEl.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Cond : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Cond)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
name = XmlUtils::GetNameNoNS(node.GetName());
|
||||
|
||||
node.ReadAttributeBase(L"delay", delay);
|
||||
node.ReadAttributeBase(L"evt", evt);
|
||||
|
||||
XmlUtils::CXmlNode oNode;
|
||||
if (node.GetNode(_T("p:tn"), oNode))
|
||||
oNode.ReadAttributeBase(L"val", tn);
|
||||
else if (node.GetNode(_T("p:rtn"), oNode))
|
||||
oNode.ReadAttributeBase(L"val", rtn);
|
||||
|
||||
tgtEl = node.ReadNode(_T("p:tgtEl"));
|
||||
|
||||
Normalize();
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("delay"), delay);
|
||||
oAttr.WriteLimitNullable(_T("evt"), evt);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.WriteNullable(tgtEl);
|
||||
|
||||
if (tn.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("val"), tn);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:") + name, oAttr, oValue.m_strValue + XmlUtils::CreateNode(_T("p:tn"), oAttr1));
|
||||
}
|
||||
else if (rtn.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.WriteLimitNullable(_T("val"), rtn);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:") + name, oAttr, oValue.m_strValue + XmlUtils::CreateNode(_T("p:rtn"), oAttr1));
|
||||
}
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:") + name, oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CString name;
|
||||
|
||||
nullable_limit<Limit::TLRuntimeTrigger> rtn;
|
||||
nullable<TgtEl> tgtEl;
|
||||
nullable_int tn;
|
||||
|
||||
nullable_string delay;
|
||||
nullable_limit<Limit::TLTriggerEvent> evt;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
if(tgtEl.IsInit())
|
||||
tgtEl->SetParentPointer(this);
|
||||
}
|
||||
|
||||
AVSINLINE void Normalize()
|
||||
{
|
||||
tn.normalize_positive();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_COND_INCLUDE_H
|
||||
89
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CondLst.h
Normal file
89
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/CondLst.h
Normal file
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_CONDLST_INCLUDE_H_
|
||||
#define PPTX_LOGIC_CONDLST_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "Cond.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class CondLst : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(CondLst)
|
||||
|
||||
CondLst& operator=(const CondLst& oSrc)
|
||||
{
|
||||
parentFile = oSrc.parentFile;
|
||||
parentElement = oSrc.parentElement;
|
||||
|
||||
list.Copy(oSrc.list);
|
||||
name = oSrc.name;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
name = XmlUtils::GetNameNoNS(node.GetName());
|
||||
node.LoadArray(_T("p:cond"), list);
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.WriteArray(list);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:") + name, oValue);
|
||||
}
|
||||
public:
|
||||
CAtlArray<Cond> list;
|
||||
CString name;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
size_t count = list.GetCount();
|
||||
for (size_t i = 0; i < count; ++i)
|
||||
list[i].SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_CONDLST_INCLUDE_H_
|
||||
74
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Excl.h
Normal file
74
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Excl.h
Normal file
@@ -0,0 +1,74 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_EXCL_INCLUDE_H_
|
||||
#define PPTX_LOGIC_EXCL_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CTn.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Excl : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Excl)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
cTn = node.ReadNode(_T("p:cTn"));
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.Write(cTn);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:excl"), oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CTn cTn;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cTn.SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_EXCL_INCLUDE_H
|
||||
100
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/GraphicEl.h
Normal file
100
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/GraphicEl.h
Normal file
@@ -0,0 +1,100 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_GRAPHICEL_INCLUDE_H_
|
||||
#define PPTX_LOGIC_GRAPHICEL_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "./../../Limit/DgmBuild.h"
|
||||
#include "./../../Limit/ChartBuild.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class GraphicEl : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(GraphicEl)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
XmlUtils::CXmlNode oNode;
|
||||
|
||||
if (node.GetNode(_T("p:chart"), oNode))
|
||||
{
|
||||
oNode.ReadAttributeBase(L"bldStep", chartBuildStep);
|
||||
oNode.ReadAttributeBase(L"seriesIdx", seriesIdx);
|
||||
oNode.ReadAttributeBase(L"categoryIdx", categoryIdx);
|
||||
}
|
||||
else if (node.GetNode(_T("p:dgm"), oNode))
|
||||
{
|
||||
oNode.ReadAttributeBase(L"bldStep", dgmBuildStep);
|
||||
oNode.ReadAttributeBase(L"id", dgmId);
|
||||
}
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
if (chartBuildStep.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.WriteLimitNullable(_T("bldStep"), chartBuildStep);
|
||||
oAttr.Write(_T("seriesIdx"), seriesIdx);
|
||||
oAttr.Write(_T("categoryIdx"), categoryIdx);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:graphicEl"), XmlUtils::CreateNode(_T("p:chart"), oAttr));
|
||||
}
|
||||
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("id"), dgmId);
|
||||
oAttr.WriteLimitNullable(_T("bldStep"), dgmBuildStep);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:graphicEl"), XmlUtils::CreateNode(_T("p:dgm"), oAttr));
|
||||
}
|
||||
public:
|
||||
|
||||
nullable_string dgmId;
|
||||
nullable_limit<Limit::DgmBuild> dgmBuildStep;
|
||||
|
||||
|
||||
nullable_limit<Limit::ChartBuild> chartBuildStep;
|
||||
nullable_int seriesIdx;
|
||||
nullable_int categoryIdx;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_GRAPHICEL_INCLUDE_H_
|
||||
97
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Iterate.h
Normal file
97
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Iterate.h
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_ITERATE_INCLUDE_H_
|
||||
#define PPTX_LOGIC_ITERATE_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "./../../Limit/IterateType.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Iterate : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Iterate)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"type", type);
|
||||
node.ReadAttributeBase(L"backwards", backwards);
|
||||
|
||||
XmlUtils::CXmlNode oNode;
|
||||
if (node.GetNode(_T("p:tmAbs"), oNode))
|
||||
oNode.ReadAttributeBase(L"val", tmAbs);
|
||||
else if (node.GetNode(_T("p:tmPct"), oNode))
|
||||
oNode.ReadAttributeBase(L"val", tmPct);
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.WriteLimitNullable(_T("type"), type);
|
||||
oAttr.Write(_T("backwards"), backwards);
|
||||
|
||||
if (tmAbs.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("val"), tmAbs);
|
||||
return XmlUtils::CreateNode(_T("p:iterate"), oAttr, XmlUtils::CreateNode(_T("p:tmAbs"), oAttr1));
|
||||
}
|
||||
else if (tmPct.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr1;
|
||||
oAttr1.Write(_T("val"), tmPct);
|
||||
return XmlUtils::CreateNode(_T("p:iterate"), oAttr, XmlUtils::CreateNode(_T("p:tmPct"), oAttr1));
|
||||
}
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:iterate"), oAttr);
|
||||
}
|
||||
|
||||
public:
|
||||
nullable_limit<Limit::IterateType> type;
|
||||
nullable_bool backwards;
|
||||
|
||||
nullable_string tmAbs;
|
||||
nullable_int tmPct;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_ITERATE_INCLUDE_H
|
||||
71
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Par.h
Normal file
71
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Par.h
Normal file
@@ -0,0 +1,71 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_PAR_INCLUDE_H_
|
||||
#define PPTX_LOGIC_PAR_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CTn.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Par : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Par)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
cTn = node.ReadNode(_T("p:cTn"));
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
return XmlUtils::CreateNode(_T("p:par"), cTn.toXML());
|
||||
}
|
||||
|
||||
public:
|
||||
CTn cTn;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cTn.SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_PAR_INCLUDE_H
|
||||
101
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Seq.h
Normal file
101
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Seq.h
Normal file
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_SEQ_INCLUDE_H_
|
||||
#define PPTX_LOGIC_SEQ_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CTn.h"
|
||||
#include "CondLst.h"
|
||||
#include "./../../Limit/TLPrevAc.h"
|
||||
#include "./../../Limit/TLNextAc.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Seq : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Seq)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
cTn = node.ReadNode(_T("p:cTn"));
|
||||
nextCondLst = node.ReadNode(_T("p:nextCondLst"));
|
||||
prevCondLst = node.ReadNode(_T("p:prevCondLst"));
|
||||
|
||||
node.ReadAttributeBase(L"concurrent", concurrent);
|
||||
node.ReadAttributeBase(L"nextAc", nextAc);
|
||||
node.ReadAttributeBase(L"prevAc", prevAc);
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("concurrent"), concurrent);
|
||||
oAttr.WriteLimitNullable(_T("prevAc"), prevAc);
|
||||
oAttr.WriteLimitNullable(_T("nextAc"), nextAc);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.Write(cTn);
|
||||
oValue.WriteNullable(nextCondLst);
|
||||
oValue.WriteNullable(prevCondLst);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:seg"), oAttr, oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CTn cTn;
|
||||
nullable<CondLst> nextCondLst;
|
||||
nullable<CondLst> prevCondLst;
|
||||
|
||||
nullable_bool concurrent;
|
||||
nullable_limit<Limit::TLNextAc> nextAc;
|
||||
nullable_limit<Limit::TLPrevAc> prevAc;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cTn.SetParentPointer(this);
|
||||
if(prevCondLst.IsInit())
|
||||
prevCondLst->SetParentPointer(this);
|
||||
if(nextCondLst.IsInit())
|
||||
nextCondLst->SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_SEQ_INCLUDE_H
|
||||
81
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Set.h
Normal file
81
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Set.h
Normal file
@@ -0,0 +1,81 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_SET_INCLUDE_H_
|
||||
#define PPTX_LOGIC_SET_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CBhvr.h"
|
||||
#include "AnimVariant.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Set : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Set)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
cBhvr = node.ReadNode(_T("p:cBhvr"));
|
||||
to = node.ReadNode(_T("p:to"));
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.Write(cBhvr);
|
||||
oValue.WriteNullable(to);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:set"), oValue);
|
||||
}
|
||||
|
||||
public:
|
||||
CBhvr cBhvr;
|
||||
nullable<AnimVariant> to;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cBhvr.SetParentPointer(this);
|
||||
if(to.IsInit())
|
||||
to->SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_SET_INCLUDE_H
|
||||
142
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/SpTgt.h
Normal file
142
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/SpTgt.h
Normal file
@@ -0,0 +1,142 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_SPTGT_INCLUDE_H_
|
||||
#define PPTX_LOGIC_SPTGT_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "TxEl.h"
|
||||
#include "GraphicEl.h"
|
||||
#include "./../../Limit/TLChartSubElement.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class SpTgt : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(SpTgt)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
spid = node.GetAttribute(_T("spid"));
|
||||
|
||||
XmlUtils::CXmlNode oNode;
|
||||
bg = (TRUE == node.GetNode(_T("p:bg"), oNode)) ? true : false;
|
||||
|
||||
XmlUtils::CXmlNode oNodeMem;
|
||||
if (node.GetNode(_T("p:subSp"), oNodeMem))
|
||||
{
|
||||
oNodeMem.ReadAttributeBase(L"spid", subSpid);
|
||||
}
|
||||
else if (node.GetNode(_T("p:oleChartEl"), oNodeMem))
|
||||
{
|
||||
oNodeMem.ReadAttributeBase(L"type", type);
|
||||
oNodeMem.ReadAttributeBase(L"lvl", lvl);
|
||||
}
|
||||
else
|
||||
{
|
||||
txEl = node.ReadNode(_T("p:txEl"));
|
||||
graphicEl = node.ReadNode(_T("p:graphicEl"));
|
||||
}
|
||||
|
||||
Normalize();
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("spid"), spid);
|
||||
|
||||
if (bg)
|
||||
{
|
||||
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr, _T("<p:bg/>"));
|
||||
}
|
||||
if (subSpid.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr2;
|
||||
oAttr2.Write(_T("spid"), subSpid);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr, XmlUtils::CreateNode(_T("p:subSp"), oAttr2));
|
||||
}
|
||||
if (type.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr2;
|
||||
oAttr2.WriteLimitNullable(_T("type"), type);
|
||||
oAttr2.Write(_T("lvl"), lvl);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr, XmlUtils::CreateNode(_T("p:oleChartEl"), oAttr2));
|
||||
}
|
||||
if (txEl.IsInit())
|
||||
{
|
||||
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr, txEl->toXML());
|
||||
}
|
||||
if (graphicEl.IsInit())
|
||||
{
|
||||
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr, graphicEl->toXML());
|
||||
}
|
||||
return XmlUtils::CreateNode(_T("p:spTgt"), oAttr);
|
||||
}
|
||||
public:
|
||||
CString spid;
|
||||
|
||||
bool bg;
|
||||
nullable_string subSpid;
|
||||
|
||||
|
||||
nullable_limit<Limit::TLChartSubElement> type;
|
||||
nullable_int lvl;
|
||||
|
||||
nullable<TxEl> txEl;
|
||||
nullable<GraphicEl> graphicEl;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
if (txEl.IsInit())
|
||||
txEl->SetParentPointer(this);
|
||||
if (graphicEl.IsInit())
|
||||
graphicEl->SetParentPointer(this);
|
||||
}
|
||||
|
||||
AVSINLINE void Normalize()
|
||||
{
|
||||
lvl.normalize_positive();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_SPTGT_INCLUDE_H_
|
||||
84
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Tav.h
Normal file
84
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Tav.h
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_Tav_INCLUDE_H_
|
||||
#define PPTX_LOGIC_Tav_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "AnimVariant.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Tav : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Tav)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"tm", tm);
|
||||
node.ReadAttributeBase(L"fmla", fmla);
|
||||
|
||||
val = node.ReadNodeNoNS(_T("val"));
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("tm"), tm);
|
||||
oAttr.Write(_T("fmla"), fmla);
|
||||
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.WriteNullable(val);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:tav"), oAttr, oValue);
|
||||
}
|
||||
public:
|
||||
nullable<AnimVariant> val;
|
||||
nullable_string tm;
|
||||
nullable_string fmla;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
if(val.IsInit())
|
||||
val->SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_Tav_INCLUDE_H_
|
||||
84
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TavLst.h
Normal file
84
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TavLst.h
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_TAVLST_INCLUDE_H_
|
||||
#define PPTX_LOGIC_TAVLST_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "Tav.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class TavLst : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(TavLst)
|
||||
|
||||
TavLst& operator=(const TavLst& oSrc)
|
||||
{
|
||||
parentFile = oSrc.parentFile;
|
||||
parentElement = oSrc.parentElement;
|
||||
|
||||
list.Copy(oSrc.list);
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.LoadArray(_T("p:tav"), list);
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.WriteArray(list);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:tavLst"), oValue);
|
||||
}
|
||||
public:
|
||||
CAtlArray<Tav> list;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
size_t count = list.GetCount();
|
||||
for (size_t i = 0; i < count; ++i)
|
||||
list[i].SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_TAVLST_INCLUDE_H_
|
||||
110
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TgtEl.h
Normal file
110
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TgtEl.h
Normal file
@@ -0,0 +1,110 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_TGTEL_INCLUDE_H_
|
||||
#define PPTX_LOGIC_TGTEL_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "../../DocxFormat/RId.h"
|
||||
#include "SpTgt.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class TgtEl : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(TgtEl)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
XmlUtils::CXmlNode oNode;
|
||||
if (node.GetNode(_T("p:inkTgt"), oNode))
|
||||
inkTgt = oNode.ReadAttributeBase(L"spid");
|
||||
else if(node.GetNode(_T("p:sndTgt"), oNode))
|
||||
{
|
||||
oNode.ReadAttributeBase(L"embed", embed);
|
||||
oNode.ReadAttributeBase(L"name", name);
|
||||
oNode.ReadAttributeBase(L"builtIn", builtIn);
|
||||
}
|
||||
else if(node.GetNode(_T("p:spTgt"), oNode))
|
||||
spTgt = oNode;
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
if (inkTgt.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("spid"), inkTgt);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:tgtEl"), XmlUtils::CreateNode(_T("p:inkTgt"), oAttr));
|
||||
}
|
||||
if (embed.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("embed"), embed->ToString());
|
||||
oAttr.Write(_T("name"), name);
|
||||
oAttr.Write(_T("builtIn"), builtIn);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:tgtEl"), XmlUtils::CreateNode(_T("p:sndTgt"), oAttr));
|
||||
}
|
||||
if (spTgt.IsInit())
|
||||
{
|
||||
return XmlUtils::CreateNode(_T("p:tgtEl"), spTgt->toXML());
|
||||
}
|
||||
return _T("<p:tgtEl><p:sldTgt></p:tgtEl>");
|
||||
}
|
||||
public:
|
||||
nullable_string inkTgt;
|
||||
|
||||
|
||||
nullable_string name;
|
||||
nullable<OOX::RId> embed;
|
||||
nullable_bool builtIn;
|
||||
|
||||
nullable<SpTgt> spTgt;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
if(spTgt.IsInit())
|
||||
spTgt->SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_TGTEL_INCLUDE_H_
|
||||
@@ -0,0 +1,146 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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 "./stdafx.h"
|
||||
|
||||
#include "TimeNodeBase.h"
|
||||
#include "Seq.h"
|
||||
#include "Par.h"
|
||||
#include "Audio.h"
|
||||
#include "Video.h"
|
||||
#include "Excl.h"
|
||||
#include "Anim.h"
|
||||
#include "AnimClr.h"
|
||||
#include "AnimEffect.h"
|
||||
#include "AnimMotion.h"
|
||||
#include "AnimRot.h"
|
||||
#include "AnimScale.h"
|
||||
#include "Cmd.h"
|
||||
#include "Set.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
|
||||
TimeNodeBase::TimeNodeBase()
|
||||
{
|
||||
}
|
||||
|
||||
TimeNodeBase::~TimeNodeBase()
|
||||
{
|
||||
}
|
||||
|
||||
TimeNodeBase::TimeNodeBase(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
fromXML(node);
|
||||
}
|
||||
|
||||
const TimeNodeBase& TimeNodeBase::operator =(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
fromXML(node);
|
||||
return *this;
|
||||
}
|
||||
|
||||
void TimeNodeBase::fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
CString name = XmlUtils::GetNameNoNS(node.GetName());
|
||||
|
||||
if(name == _T("seq"))
|
||||
m_node.reset(new Logic::Seq(node));
|
||||
else if(name == _T("par"))
|
||||
m_node.reset(new Logic::Par(node));
|
||||
else if(name == _T("audio"))
|
||||
m_node.reset(new Logic::Audio(node));
|
||||
else if(name == _T("video"))
|
||||
m_node.reset(new Logic::Video(node));
|
||||
else if(name == _T("excl"))
|
||||
m_node.reset(new Logic::Excl(node));
|
||||
else if(name == _T("anim"))
|
||||
m_node.reset(new Logic::Anim(node));
|
||||
else if(name == _T("animClr"))
|
||||
m_node.reset(new Logic::AnimClr(node));
|
||||
else if(name == _T("animEffect"))
|
||||
m_node.reset(new Logic::AnimEffect(node));
|
||||
else if(name == _T("animMotion"))
|
||||
m_node.reset(new Logic::AnimMotion(node));
|
||||
else if(name == _T("animRot"))
|
||||
m_node.reset(new Logic::AnimRot(node));
|
||||
else if(name == _T("animScale"))
|
||||
m_node.reset(new Logic::AnimScale(node));
|
||||
else if(name == _T("cmd"))
|
||||
m_node.reset(new Logic::Cmd(node));
|
||||
else if(name == _T("set"))
|
||||
m_node.reset(new Logic::Set(node));
|
||||
else m_node.reset();
|
||||
}
|
||||
|
||||
void TimeNodeBase::GetTimeNodeFrom(XmlUtils::CXmlNode& element)
|
||||
{
|
||||
XmlUtils::CXmlNode oNode;
|
||||
if(element.GetNode(_T("p:seq"), oNode))
|
||||
m_node.reset(new Logic::Seq(oNode));
|
||||
else if(element.GetNode(_T("p:par"), oNode))
|
||||
m_node.reset(new Logic::Par(oNode));
|
||||
else if(element.GetNode(_T("p:audio"), oNode))
|
||||
m_node.reset(new Logic::Audio(oNode));
|
||||
else if(element.GetNode(_T("p:video"), oNode))
|
||||
m_node.reset(new Logic::Video(oNode));
|
||||
else if(element.GetNode(_T("p:excl"), oNode))
|
||||
m_node.reset(new Logic::Excl(oNode));
|
||||
else if(element.GetNode(_T("p:anim"), oNode))
|
||||
m_node.reset(new Logic::Anim(oNode));
|
||||
else if(element.GetNode(_T("p:animClr"), oNode))
|
||||
m_node.reset(new Logic::AnimClr(oNode));
|
||||
else if(element.GetNode(_T("p:animEffect"), oNode))
|
||||
m_node.reset(new Logic::AnimEffect(oNode));
|
||||
else if(element.GetNode(_T("p:animMotion"), oNode))
|
||||
m_node.reset(new Logic::AnimMotion(oNode));
|
||||
else if(element.GetNode(_T("p:animRot"), oNode))
|
||||
m_node.reset(new Logic::AnimRot(oNode));
|
||||
else if(element.GetNode(_T("p:animScale"), oNode))
|
||||
m_node.reset(new Logic::AnimScale(oNode));
|
||||
else if(element.GetNode(_T("p:cmd"), oNode))
|
||||
m_node.reset(new Logic::Cmd(oNode));
|
||||
else if(element.GetNode(_T("p:set"), oNode))
|
||||
m_node.reset(new Logic::Set(oNode));
|
||||
else m_node.reset();
|
||||
}
|
||||
|
||||
CString TimeNodeBase::toXML() const
|
||||
{
|
||||
if (m_node.IsInit())
|
||||
return m_node->toXML();
|
||||
return _T("");
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace PPTX
|
||||
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_TIMENODEBASE_INCLUDE_H_
|
||||
#define PPTX_LOGIC_TIMENODEBASE_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class TimeNodeBase : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
TimeNodeBase();
|
||||
virtual ~TimeNodeBase();
|
||||
explicit TimeNodeBase(XmlUtils::CXmlNode& node);
|
||||
const TimeNodeBase& operator =(XmlUtils::CXmlNode& node);
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node);
|
||||
virtual void GetTimeNodeFrom(XmlUtils::CXmlNode& element);
|
||||
virtual bool is_init()const{return (m_node.IsInit());};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
template<class T> AVSINLINE const bool is() const { return m_node.is<T>(); }
|
||||
template<class T> AVSINLINE T& as() { return m_node.as<T>(); }
|
||||
template<class T> AVSINLINE const T& as() const { return m_node.as<T>(); }
|
||||
|
||||
virtual CString toXML() const;
|
||||
|
||||
private:
|
||||
smart_ptr<WrapperWritingElement> m_node;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
public:
|
||||
virtual void SetParentPointer(const WrapperWritingElement* pParent)
|
||||
{
|
||||
if(is_init())
|
||||
m_node->SetParentPointer(pParent);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_TIMENODEBASE_INCLUDE_H_
|
||||
94
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Timing.h
Normal file
94
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Timing.h
Normal file
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_TIMING_INCLUDE_H_
|
||||
#define PPTX_LOGIC_TIMING_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "TnLst.h"
|
||||
#include "BldLst.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Timing : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Timing)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
tnLst = node.ReadNode(_T("p:tnLst"));
|
||||
bldLst = node.ReadNode(_T("p:bldLst"));
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.WriteNullable(tnLst);
|
||||
oValue.WriteNullable(bldLst);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:timing"), oValue);
|
||||
}
|
||||
|
||||
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
|
||||
{
|
||||
|
||||
}
|
||||
virtual void toXmlWriter(NSBinPptxRW::CXmlWriter* pWriter) const
|
||||
{
|
||||
return;
|
||||
|
||||
pWriter->StartNode(_T("p:timing"));
|
||||
pWriter->EndAttributes();
|
||||
pWriter->EndNode(_T("p:timing"));
|
||||
}
|
||||
|
||||
public:
|
||||
nullable<TnLst> tnLst;
|
||||
nullable<BldLst> bldLst;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
if(tnLst.IsInit())
|
||||
tnLst->SetParentPointer(this);
|
||||
if(bldLst.IsInit())
|
||||
bldLst->SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_TIMING_INCLUDE_H_
|
||||
80
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Tmpl.h
Normal file
80
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Tmpl.h
Normal file
@@ -0,0 +1,80 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_TMPL_INCLUDE_H_
|
||||
#define PPTX_LOGIC_TMPL_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "TnLst.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Tmpl : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Tmpl)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
tnLst = node.ReadNode(_T("p:tnLst"));
|
||||
node.ReadAttributeBase(L"lvl", lvl);
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("lvl"), lvl);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:tmpl"), oAttr, tnLst.toXML());
|
||||
}
|
||||
public:
|
||||
TnLst tnLst;
|
||||
nullable_int lvl;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
tnLst.SetParentPointer(this);
|
||||
}
|
||||
|
||||
AVSINLINE void Normalize()
|
||||
{
|
||||
lvl.normalize_positive();
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_TMPL_INCLUDE_H_
|
||||
84
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TmplLst.h
Normal file
84
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TmplLst.h
Normal file
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_TMPLLST_INCLUDE_H_
|
||||
#define PPTX_LOGIC_TMPLLST_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "Tmpl.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class TmplLst : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(TmplLst)
|
||||
|
||||
TmplLst& operator=(const TmplLst& oSrc)
|
||||
{
|
||||
parentFile = oSrc.parentFile;
|
||||
parentElement = oSrc.parentElement;
|
||||
|
||||
list.Copy(oSrc.list);
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.LoadArray(_T("p:tmpl"), list);
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.WriteArray(list);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:tmplLst"), oValue);
|
||||
}
|
||||
public:
|
||||
CAtlArray<Tmpl> list;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
size_t count = list.GetCount();
|
||||
for (size_t i = 0; i < count; ++i)
|
||||
list[i].SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_TMPLLST_INCLUDE_H_
|
||||
89
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TnLst.h
Normal file
89
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TnLst.h
Normal file
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_TNLST_INCLUDE_H_
|
||||
#define PPTX_LOGIC_TNLST_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "TimeNodeBase.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class TnLst : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(TnLst)
|
||||
|
||||
TnLst& operator=(const TnLst& oSrc)
|
||||
{
|
||||
parentFile = oSrc.parentFile;
|
||||
parentElement = oSrc.parentElement;
|
||||
|
||||
list.Copy(oSrc.list);
|
||||
name = oSrc.name;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
name = XmlUtils::GetNameNoNS(node.GetName());
|
||||
|
||||
node.LoadArray(_T("*"), list);
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CNodeValue oValue;
|
||||
oValue.WriteArray(list);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:") + name, oValue);
|
||||
}
|
||||
public:
|
||||
CAtlArray<TimeNodeBase> list;
|
||||
CString name;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
size_t count = 0;
|
||||
for (size_t i = 0; i < count; ++i)
|
||||
list[i].SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_TNLST_INCLUDE_H_
|
||||
97
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TxEl.h
Normal file
97
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/TxEl.h
Normal file
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_TXEL_INCLUDE_H_
|
||||
#define PPTX_LOGIC_TXEL_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class TxEl : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(TxEl)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
XmlUtils::CXmlNode oNode;
|
||||
if (node.GetNode(_T("p:charRg"), oNode))
|
||||
{
|
||||
charRg = true;
|
||||
oNode.ReadAttributeBase(L"st", st);
|
||||
oNode.ReadAttributeBase(L"end", end);
|
||||
}
|
||||
else if(node.GetNode(_T("p:pRg"), oNode))
|
||||
{
|
||||
charRg = false;
|
||||
oNode.ReadAttributeBase(L"st", st);
|
||||
oNode.ReadAttributeBase(L"end", end);
|
||||
}
|
||||
else
|
||||
{
|
||||
charRg.reset();
|
||||
st.reset();
|
||||
end.reset();
|
||||
}
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
if (charRg.IsInit())
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("st"), st);
|
||||
oAttr.Write(_T("end"), end);
|
||||
|
||||
CString strName = _T("p:pRg");
|
||||
if (*charRg)
|
||||
strName = _T("p:charRg");
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:txEl"), XmlUtils::CreateNode(strName, oAttr));
|
||||
}
|
||||
return _T("<p:txEl/>");
|
||||
}
|
||||
public:
|
||||
nullable_sizet st;
|
||||
nullable_sizet end;
|
||||
nullable_bool charRg;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds(){};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_TXEL_INCLUDE_H_
|
||||
77
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Video.h
Normal file
77
ActiveX/ASCOfficePPTXFile/PPTXFormat/Logic/Timing/Video.h
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
* (c) Copyright Ascensio System SIA 2010-2014
|
||||
*
|
||||
* 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 Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* 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
|
||||
#ifndef PPTX_LOGIC_VIDEO_INCLUDE_H_
|
||||
#define PPTX_LOGIC_VIDEO_INCLUDE_H_
|
||||
|
||||
#include "./../../WrapperWritingElement.h"
|
||||
#include "CMediaNode.h"
|
||||
|
||||
namespace PPTX
|
||||
{
|
||||
namespace Logic
|
||||
{
|
||||
class Video : public WrapperWritingElement
|
||||
{
|
||||
public:
|
||||
PPTX_LOGIC_BASE(Video)
|
||||
|
||||
public:
|
||||
virtual void fromXML(XmlUtils::CXmlNode& node)
|
||||
{
|
||||
node.ReadAttributeBase(L"fullScrn", fullScrn);
|
||||
cMediaNode = node.ReadNode(_T("cMediaNode"));
|
||||
|
||||
FillParentPointersForChilds();
|
||||
}
|
||||
|
||||
virtual CString toXML() const
|
||||
{
|
||||
XmlUtils::CAttribute oAttr;
|
||||
oAttr.Write(_T("fullScrn"), fullScrn);
|
||||
|
||||
return XmlUtils::CreateNode(_T("p:video"), oAttr, cMediaNode.toXML());
|
||||
}
|
||||
|
||||
public:
|
||||
CMediaNode cMediaNode;
|
||||
nullable_bool fullScrn;
|
||||
protected:
|
||||
virtual void FillParentPointersForChilds()
|
||||
{
|
||||
cMediaNode.SetParentPointer(this);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
#endif // PPTX_LOGIC_VIDEO_INCLUDE_H
|
||||
Reference in New Issue
Block a user