init repo

This commit is contained in:
nikolay ivanov
2014-07-05 18:22:49 +00:00
commit a8be6b9e72
17348 changed files with 9229832 additions and 0 deletions

View File

@@ -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_ALPHABILEVEL_INCLUDE_H_
#define PPTX_LOGIC_ALPHABILEVEL_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class AlphaBiLevel : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AlphaBiLevel)
AlphaBiLevel& operator=(const AlphaBiLevel& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
thresh = oSrc.thresh;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"thresh", thresh);
Normalize();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("thresh"), thresh);
return XmlUtils::CreateNode(_T("a:alphaBiLevel"), oAttr);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_ALPHABILEVEL);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, thresh);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_int thresh;
protected:
virtual void FillParentPointersForChilds(){};
AVSINLINE void Normalize()
{
thresh.normalize_positive();
}
};
}
}
#endif // PPTX_LOGIC_ALPHABILEVEL_INCLUDE_H_

View 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_ALPHACEILING_INCLUDE_H_
#define PPTX_LOGIC_ALPHACEILING_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class AlphaCeiling : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AlphaCeiling)
AlphaCeiling& operator=(const AlphaCeiling& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
return *this;
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_ALPHACEILING);
pWriter->EndRecord();
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
}
virtual CString toXML() const
{
return _T("<a:alphaCeiling/>");
}
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_ALPHACEILING_INCLUDE_H_

View File

@@ -0,0 +1,78 @@
/*
* (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_ALPHAFLOOR_INCLUDE_H_
#define PPTX_LOGIC_ALPHAFLOOR_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class AlphaFloor : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AlphaFloor)
AlphaFloor& operator=(const AlphaFloor& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
}
virtual CString toXML() const
{
return _T("<a:alphaFloor/>");
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_ALPHAFLOOR);
pWriter->EndRecord();
}
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_ALPHAFLOOR_INCLUDE_H_

View File

@@ -0,0 +1,91 @@
/*
* (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_ALPHAINV_INCLUDE_H_
#define PPTX_LOGIC_ALPHAINV_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../UniColor.h"
namespace PPTX
{
namespace Logic
{
class AlphaInv : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AlphaInv)
AlphaInv& operator=(const AlphaInv& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
Color = oSrc.Color;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
Color.GetColorFrom(node);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
return _T("<a:alphaInv>") + Color.toXML() + _T("</a:alphaInv>");
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_ALPHAINV);
pWriter->WriteRecord1(0, Color);
pWriter->EndRecord();
}
public:
UniColor Color;
protected:
virtual void FillParentPointersForChilds()
{
if(Color.is_init())
Color.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_ALPHAINV_INCLUDE_H_

View File

@@ -0,0 +1,90 @@
/*
* (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_ALPHAMOD_INCLUDE_H_
#define PPTX_LOGIC_ALPHAMOD_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../EffectDag.h"
namespace PPTX
{
namespace Logic
{
class AlphaMod : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AlphaMod)
AlphaMod& operator=(const AlphaMod& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
cont = oSrc.cont;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
cont = node.ReadNode(_T("a:cont"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
return _T("<a:alphaMod>") + cont.toXML() + _T("</a:alphaMod>");
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_ALPHAMOD);
pWriter->WriteRecord1(0, cont);
pWriter->EndRecord();
}
public:
EffectDag cont;
protected:
virtual void AlphaMod::FillParentPointersForChilds()
{
cont.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_ALPHAMOD_INCLUDE_H_

View File

@@ -0,0 +1,112 @@
/*
* (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_ALPHAMODFIX_INCLUDE_H_
#define PPTX_LOGIC_ALPHAMODFIX_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class AlphaModFix : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AlphaModFix)
AlphaModFix& operator=(const AlphaModFix& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
amt = oSrc.amt;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"amt", amt);
Normalize();
}
virtual CString toXML() const
{
if (amt.IsInit())
{
CString strRes = _T("");
strRes.Format(_T("<a:alphaModFix amt=\"%d\" />"), *amt);
return strRes;
}
return _T("<a:alphaModFix/>");
}
virtual void toXmlWriter(NSBinPptxRW::CXmlWriter* pWriter) const
{
if (amt.is_init())
{
pWriter->StartNode(_T("a:alphaModFix"));
pWriter->StartAttributes();
pWriter->WriteAttribute(_T("amt"), amt);
pWriter->EndAttributes();
pWriter->EndNode(_T("a:alphaModFix"));
}
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_ALPHAMODFIX);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, amt);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_int amt;
protected:
virtual void FillParentPointersForChilds(){};
AVSINLINE void Normalize()
{
amt.normalize_positive();
}
};
}
}
#endif // PPTX_LOGIC_ALPHAMODFIX_INCLUDE_H_

View File

@@ -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_ALPHAOUTSET_INCLUDE_H_
#define PPTX_LOGIC_ALPHAOUTSET_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class AlphaOutset : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AlphaOutset)
AlphaOutset& operator=(const AlphaOutset& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
rad = oSrc.rad;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"rad", rad);
}
virtual CString toXML() const
{
if (rad.IsInit())
{
CString str = _T("");
str.Format(_T("<a:alphaOutset rad=\"%u\" />"), *rad);
return str;
}
return _T("<a:alphaOutset/>");
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_ALPHAOUTSET);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteSize_t2(0, rad);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_sizet rad;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_ALPHAOUTSET_INCLUDE_H_

View 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_ALPHAREPL_INCLUDE_H_
#define PPTX_LOGIC_ALPHAREPL_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class AlphaRepl : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(AlphaRepl)
AlphaRepl& operator=(const AlphaRepl& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
a = oSrc.a;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"a", a);
Normalize();
}
virtual CString toXML() const
{
if (!a.IsInit())
return _T("<a:alphaRepl/>");
CString str = _T("");
str.Format(_T("<a:alphaRepl a=\"%d\" />"), *a);
return str;
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_ALPHAREPL);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, a);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_int a;
protected:
virtual void FillParentPointersForChilds(){};
AVSINLINE void Normalize()
{
a.normalize_positive();
}
};
}
}
#endif // PPTX_LOGIC_ALPHAREPL_INCLUDE_H_

View File

@@ -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_BILEVEL_INCLUDE_H_
#define PPTX_LOGIC_BILEVEL_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class BiLevel : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(BiLevel)
BiLevel& operator=(const BiLevel& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
thresh = oSrc.thresh;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"thresh", thresh);
Normalize();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("thresh"), thresh);
return XmlUtils::CreateNode(_T("a:biLevel"), oAttr);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_BILEVEL);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, thresh);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_int thresh;
protected:
virtual void FillParentPointersForChilds(){};
AVSINLINE void Normalize()
{
thresh.normalize_positive();
}
};
}
}
#endif // PPTX_LOGIC_BILEVEL_INCLUDE_H_

View File

@@ -0,0 +1,99 @@
/*
* (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_BLEND_INCLUDE_H_
#define PPTX_LOGIC_BLEND_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../EffectDag.h"
#include "./../../Limit/BlendMode.h"
namespace PPTX
{
namespace Logic
{
class Blend : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Blend)
Blend& operator=(const Blend& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
cont = oSrc.cont;
blend = oSrc.blend;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
cont = node.ReadNode(_T("a:cont"));
blend = node.GetAttribute(_T("blend"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
return _T("<a:blend blend=\"") + blend.get() + _T("\">") + cont.toXML() + _T("</a:blend>");
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_BLEND);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteLimit1(0, blend);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->WriteRecord1(0, cont);
pWriter->EndRecord();
}
public:
EffectDag cont;
Limit::BlendMode blend;
protected:
virtual void FillParentPointersForChilds()
{
cont.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_BLEND_INCLUDE_H_

View File

@@ -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_BLUR_INCLUDE_H_
#define PPTX_LOGIC_BLUR_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class Blur : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Blur)
Blur& operator=(const Blur& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
rad = oSrc.rad;
grow = oSrc.grow;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"rad", rad);
node.ReadAttributeBase(L"grow", grow);
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("rad"), rad);
oAttr.Write(_T("grow"), grow);
return XmlUtils::CreateNode(_T("a:blur"), oAttr);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_BLUR);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteSize_t2(0, rad);
pWriter->WriteBool2(1, grow);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_sizet rad;
nullable_bool grow;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_BLUR_INCLUDE_H_

View File

@@ -0,0 +1,109 @@
/*
* (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_CLRCHANGE_INCLUDE_H_
#define PPTX_LOGIC_CLRCHANGE_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../UniColor.h"
namespace PPTX
{
namespace Logic
{
class ClrChange : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(ClrChange)
ClrChange& operator=(const ClrChange& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
ClrFrom = oSrc.ClrFrom;
ClrTo = oSrc.ClrTo;
useA = oSrc.useA;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
ClrFrom.GetColorFrom(node.ReadNode(_T("a:clrFrom")));
ClrTo.GetColorFrom(node.ReadNode(_T("a:clrTo")));
node.ReadAttributeBase(L"useA", useA);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("useA"), useA);
XmlUtils::CNodeValue oValue;
oValue.Write(_T("a:clrFrom"), ClrFrom);
oValue.Write(_T("a:clrTo"), ClrTo);
return XmlUtils::CreateNode(_T("a:clrChange"), oAttr, oValue);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_CLRCHANGE);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteBool2(0, useA);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->WriteRecord1(0, ClrFrom);
pWriter->WriteRecord1(1, ClrTo);
pWriter->EndRecord();
}
public:
UniColor ClrFrom;
UniColor ClrTo;
nullable_bool useA;
protected:
virtual void FillParentPointersForChilds()
{
ClrFrom.SetParentPointer(this);
ClrTo.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_CLRCHANGE_INCLUDE_H_

View File

@@ -0,0 +1,91 @@
/*
* (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_CLRREPL_INCLUDE_H_
#define PPTX_LOGIC_CLRREPL_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../UniColor.h"
namespace PPTX
{
namespace Logic
{
class ClrRepl : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(ClrRepl)
ClrRepl& operator=(const ClrRepl& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
Color = oSrc.Color;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
Color.GetColorFrom(node);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
return _T("<a:clrRepl>") + Color.toXML() + _T("</a:clrRepl>");
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_CLRREPL);
pWriter->WriteRecord1(0, Color);
pWriter->EndRecord();
}
public:
UniColor Color;
protected:
virtual void FillParentPointersForChilds()
{
Color.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_CLRREPL_INCLUDE_H_

View 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_DUOTONE_INCLUDE_H_
#define PPTX_LOGIC_DUOTONE_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../UniColor.h"
namespace PPTX
{
namespace Logic
{
class Duotone : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Duotone)
Duotone& operator=(const Duotone& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
Colors.Copy(oSrc.Colors);
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
Colors.RemoveAll();
node.LoadArray(_T("*"), Colors);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CNodeValue oValue;
oValue.WriteArray(Colors);
return XmlUtils::CreateNode(_T("a:duotone"), oValue);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_DUOTONE);
ULONG len = (ULONG)Colors.GetCount();
pWriter->WriteULONG(len);
for (ULONG i = 0; i < len; ++i)
{
pWriter->WriteRecord1(0, Colors[i]);
}
pWriter->EndRecord();
}
public:
CAtlArray<UniColor> Colors;
protected:
virtual void FillParentPointersForChilds()
{
size_t count = Colors.GetCount();
for (size_t i = 0; i < count; ++i)
Colors[i].SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_DUOTONE_INCLUDE_H_

View File

@@ -0,0 +1,91 @@
/*
* (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_EFFECTELEMENT_INCLUDE_H_
#define PPTX_LOGIC_EFFECTELEMENT_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class EffectElement : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(EffectElement)
EffectElement& operator=(const EffectElement& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
ref = oSrc.ref;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"ref", ref);
}
virtual CString toXML() const
{
if (!ref.IsInit())
return _T("<a:effect/>");
return _T("<a:effect ref=\"") + *ref + _T("\" />");
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_ELEMENT);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteString2(0, ref);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_string ref;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_EFFECTELEMENT_INCLUDE_H_

View File

@@ -0,0 +1,90 @@
/*
* (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_FILLEFFECT_INCLUDE_H_
#define PPTX_LOGIC_FILLEFFECT_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../UniFill.h"
namespace PPTX
{
namespace Logic
{
class FillEffect : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(FillEffect)
FillEffect& operator=(const FillEffect& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
Fill = oSrc.Fill;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
Fill.GetFillFrom(node);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
return _T("<a:fill>") + Fill.toXML() + _T("</a:fill>");
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_FILL);
pWriter->WriteRecord1(0, Fill);
pWriter->EndRecord();
}
public:
UniFill Fill;
protected:
virtual void FillParentPointersForChilds()
{
Fill.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_FILLEFFECT_INCLUDE_H_

View File

@@ -0,0 +1,104 @@
/*
* (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_FILLOVERLAY_INCLUDE_H_
#define PPTX_LOGIC_FILLOVERLAY_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../UniFill.h"
#include "./../../Limit/BlendMode.h"
namespace PPTX
{
namespace Logic
{
class FillOverlay : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(FillOverlay)
FillOverlay& operator=(const FillOverlay& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
Fill = oSrc.Fill;
blend = oSrc.blend;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
Fill.GetFillFrom(node);
blend = node.GetAttribute(_T("blend"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
CString str = _T("<a:fillOverlay blend=\"") + blend.get() + _T("\">");
str += Fill.toXML();
str += _T("</a:fillOverlay>");
return str;
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_FILLOVERLAY);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteLimit1(0, blend);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->WriteRecord1(0, Fill);
pWriter->EndRecord();
}
public:
UniFill Fill;
Limit::BlendMode blend;
protected:
virtual void FillOverlay::FillParentPointersForChilds()
{
Fill.SetParentPointer(this);
}
};
}
}
#endif // PPTX_LOGIC_FILLOVERLAY_INCLUDE_H_

View 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_GLOW_INCLUDE_H_
#define PPTX_LOGIC_GLOW_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../UniColor.h"
namespace PPTX
{
namespace Logic
{
class Glow : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Glow)
Glow& operator=(const Glow& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
Color = oSrc.Color;
rad = oSrc.rad;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
Color.GetColorFrom(node);
node.ReadAttributeBase(L"rad", rad);
FillParentPointersForChilds();
Normalize();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("rad"), rad);
return XmlUtils::CreateNode(_T("a:glow"), oAttr, Color.toXML());
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_GLOW);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, rad);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->WriteRecord1(0, Color);
pWriter->EndRecord();
}
public:
UniColor Color;
nullable_int rad;
protected:
virtual void FillParentPointersForChilds()
{
Color.SetParentPointer(this);
}
AVSINLINE void Normalize()
{
rad.normalize_positive();
}
};
}
}
#endif // PPTX_LOGIC_GLOW_INCLUDE_H_

View File

@@ -0,0 +1,78 @@
/*
* (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_GRAYSCL_INCLUDE_H_
#define PPTX_LOGIC_GRAYSCL_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class Grayscl : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Grayscl)
Grayscl& operator=(const Grayscl& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
}
virtual CString toXML() const
{
return _T("<a:grayscl/>");
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_GRAYSCL);
pWriter->EndRecord();
}
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_GRAYSCL_INCLUDE_H_

View File

@@ -0,0 +1,106 @@
/*
* (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_HSLEFFECT_INCLUDE_H_
#define PPTX_LOGIC_HSLEFFECT_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class HslEffect : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(HslEffect)
HslEffect& operator=(const HslEffect& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
hue = oSrc.hue;
lum = oSrc.lum;
sat = oSrc.sat;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"hue", hue);
node.ReadAttributeBase(L"sat", sat);
node.ReadAttributeBase(L"lum", lum);
Normalize();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("hue"), hue);
oAttr.Write(_T("sat"), sat);
oAttr.Write(_T("lum"), lum);
return XmlUtils::CreateNode(_T("a:hsl"), oAttr);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_HSL);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, hue);
pWriter->WriteInt2(0, lum);
pWriter->WriteInt2(0, sat);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_int hue;
nullable_int lum;
nullable_int sat;
protected:
virtual void FillParentPointersForChilds(){};
AVSINLINE void Normalize()
{
hue.normalize(0, 21600000);
}
};
}
}
#endif // PPTX_LOGIC_HSLEFFECT_INCLUDE_H_

View 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_INNERSHDW_INCLUDE_H_
#define PPTX_LOGIC_INNERSHDW_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../UniColor.h"
namespace PPTX
{
namespace Logic
{
class InnerShdw : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(InnerShdw)
InnerShdw& operator=(const InnerShdw& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
Color = oSrc.Color;
blurRad = oSrc.blurRad;
dir = oSrc.dir;
dist = oSrc.dist;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
Color.GetColorFrom(node);
node.ReadAttributeBase(L"blurRad", blurRad);
node.ReadAttributeBase(L"dir", dir);
node.ReadAttributeBase(L"dist", dist);
FillParentPointersForChilds();
Normalize();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("blurRad"), blurRad);
oAttr.Write(_T("dist"), dist);
oAttr.Write(_T("dir"), dir);
return XmlUtils::CreateNode(_T("a:innerShdw"), oAttr, Color.toXML());
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_INNERSHDW);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, dir);
pWriter->WriteInt2(1, dist);
pWriter->WriteInt2(2, blurRad);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->WriteRecord1(0, Color);
pWriter->EndRecord();
}
public:
UniColor Color;
nullable_int blurRad;
nullable_int dir;
nullable_int dist;
protected:
virtual void FillParentPointersForChilds()
{
Color.SetParentPointer(this);
}
AVSINLINE void Normalize()
{
blurRad.normalize_positive();
dist.normalize_positive();
dir.normalize(0, 21600000);
}
};
}
}
#endif // PPTX_LOGIC_INNERSHDW_INCLUDE_H_

View File

@@ -0,0 +1,93 @@
/*
* (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_LUMEFFECT_INCLUDE_H_
#define PPTX_LOGIC_LUMEFFECT_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class LumEffect : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(LumEffect)
LumEffect& operator=(const LumEffect& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
bright = oSrc.bright;
contrast = oSrc.contrast;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"bright", bright);
node.ReadAttributeBase(L"contrast", contrast);
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("bright"), bright);
oAttr.Write(_T("contrast"), contrast);
return XmlUtils::CreateNode(_T("a:lum"), oAttr);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_LUM);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, bright);
pWriter->WriteInt2(0, contrast);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_int bright;
nullable_int contrast;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_LUMEFFECT_INCLUDE_H_

View File

@@ -0,0 +1,160 @@
/*
* (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_OUTERSHDW_INCLUDE_H_
#define PPTX_LOGIC_OUTERSHDW_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../UniColor.h"
#include "./../../Limit/RectAlign.h"
namespace PPTX
{
namespace Logic
{
class OuterShdw : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(OuterShdw)
OuterShdw& operator=(const OuterShdw& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
Color = oSrc.Color;
algn = oSrc.algn;
blurRad = oSrc.blurRad;
dir = oSrc.dir;
dist = oSrc.dist;
kx = oSrc.kx;
ky = oSrc.ky;
rotWithShape = oSrc.rotWithShape;
sx = oSrc.sx;
sy = oSrc.sy;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
Color.GetColorFrom(node);
node.ReadAttributeBase(L"algn", algn);
node.ReadAttributeBase(L"blurRad", blurRad);
node.ReadAttributeBase(L"dir", dir);
node.ReadAttributeBase(L"dist", dist);
node.ReadAttributeBase(L"kx", kx);
node.ReadAttributeBase(L"ky", ky);
node.ReadAttributeBase(L"rotWithShape", rotWithShape);
node.ReadAttributeBase(L"sx", sx);
node.ReadAttributeBase(L"sy", sy);
Normalize();
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("blurRad"), blurRad);
oAttr.Write(_T("dir"), dist);
oAttr.Write(_T("dist"), dir);
oAttr.Write(_T("sx"), sx);
oAttr.Write(_T("sy"), sy);
oAttr.Write(_T("kx"), kx);
oAttr.Write(_T("ky"), ky);
oAttr.WriteLimitNullable(_T("algn"), algn);
oAttr.Write(_T("rotWithShape"), rotWithShape);
XmlUtils::CNodeValue oValue;
oValue.Write(Color);
return XmlUtils::CreateNode(_T("a:outerShdw"), oAttr, oValue);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_OUTERSHDW);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteLimit2(0, algn);
pWriter->WriteInt2(1, blurRad);
pWriter->WriteInt2(2, dir);
pWriter->WriteInt2(3, dist);
pWriter->WriteInt2(4, kx);
pWriter->WriteInt2(5, ky);
pWriter->WriteInt2(6, sx);
pWriter->WriteInt2(7, sy);
pWriter->WriteBool2(8, rotWithShape);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->WriteRecord1(0, Color);
pWriter->EndRecord();
}
public:
UniColor Color;
nullable_limit<Limit::RectAlign> algn;
nullable_int blurRad;
nullable_int dir;
nullable_int dist;
nullable_int kx;
nullable_int ky;
nullable_bool rotWithShape;
nullable_int sx;
nullable_int sy;
protected:
virtual void FillParentPointersForChilds()
{
Color.SetParentPointer(this);
}
AVSINLINE void Normalize()
{
blurRad.normalize_positive();
dist.normalize_positive();
dir.normalize(0, 21600000);
kx.normalize(-5400000, 5400000);
ky.normalize(-5400000, 5400000);
}
};
}
}
#endif // PPTX_LOGIC_OUTERSHDW_INCLUDE_H_

View File

@@ -0,0 +1,124 @@
/*
* (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_PRSTSHDW_INCLUDE_H_
#define PPTX_LOGIC_PRSTSHDW_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../UniColor.h"
#include "./../../Limit/PresetShadowVal.h"
namespace PPTX
{
namespace Logic
{
class PrstShdw : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(PrstShdw)
PrstShdw& operator=(const PrstShdw& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
Color = oSrc.Color;
prst = oSrc.prst;
dir = oSrc.dir;
dist = oSrc.dist;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
Color.GetColorFrom(node);
prst = node.GetAttribute(L"prst");
node.ReadAttributeBase(L"dir", dir);
node.ReadAttributeBase(L"dist", dist);
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("prst"), prst.get());
oAttr.Write(_T("dist"), dist);
oAttr.Write(_T("dir"), dir);
XmlUtils::CNodeValue oValue;
oValue.Write(Color);
return XmlUtils::CreateNode(_T("a:prstShdw"), oAttr, oValue);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_PRSTSHDW);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, dir);
pWriter->WriteInt2(1, dist);
pWriter->WriteLimit1(2, prst);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->WriteRecord1(0, Color);
pWriter->EndRecord();
}
public:
UniColor Color;
Limit::PresetShadowVal prst;
nullable_int dir;
nullable_int dist;
protected:
virtual void FillParentPointersForChilds()
{
Color.SetParentPointer(this);
}
AVSINLINE void Normalize()
{
dir.normalize(0, 21600000);
dist.normalize_positive();
}
};
}
}
#endif // PPTX_LOGIC_PRSTSHDW_INCLUDE_H_

View File

@@ -0,0 +1,175 @@
/*
* (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_REFLECTION_INCLUDE_H_
#define PPTX_LOGIC_REFLECTION_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
#include "./../../Limit/RectAlign.h"
namespace PPTX
{
namespace Logic
{
class Reflection : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(Reflection)
Reflection& operator=(const Reflection& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
algn = oSrc.algn;
blurRad = oSrc.blurRad;
stA = oSrc.stA;
endA = oSrc.endA;
stPos = oSrc.stPos;
endPos = oSrc.endPos;
dir = oSrc.dir;
fadeDir = oSrc.fadeDir;
dist = oSrc.dist;
kx = oSrc.kx;
ky = oSrc.ky;
rotWithShape = oSrc.rotWithShape;
sx = oSrc.sx;
sy = oSrc.sy;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"algn", algn);
node.ReadAttributeBase(L"blurRad", blurRad);
node.ReadAttributeBase(L"dir", dir);
node.ReadAttributeBase(L"dist", dist);
node.ReadAttributeBase(L"kx", kx);
node.ReadAttributeBase(L"ky", ky);
node.ReadAttributeBase(L"rotWithShape", rotWithShape);
node.ReadAttributeBase(L"sx", sx);
node.ReadAttributeBase(L"sy", sy);
node.ReadAttributeBase(L"stA", stA);
node.ReadAttributeBase(L"endA", endA);
node.ReadAttributeBase(L"stPos", stPos);
node.ReadAttributeBase(L"endPos", endPos);
node.ReadAttributeBase(L"fadeDir", fadeDir);
Normalize();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("blurRad"), blurRad);
oAttr.Write(_T("stA"), stA);
oAttr.Write(_T("stPos"), stPos);
oAttr.Write(_T("endA"), endA);
oAttr.Write(_T("endPos"), endPos);
oAttr.Write(_T("dist"), dist);
oAttr.Write(_T("dir"), dir);
oAttr.Write(_T("fadeDir"), fadeDir);
oAttr.Write(_T("sx"), sx);
oAttr.Write(_T("sy"), sy);
oAttr.Write(_T("kx"), kx);
oAttr.Write(_T("ky"), ky);
oAttr.WriteLimitNullable(_T("algn"), algn);
oAttr.Write(_T("rotWithShape"), rotWithShape);
return XmlUtils::CreateNode(_T("a:reflection"), oAttr);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_REFLECTION);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteLimit2(0, algn);
pWriter->WriteInt2(1, blurRad);
pWriter->WriteInt2(2, stA);
pWriter->WriteInt2(3, endA);
pWriter->WriteInt2(4, stPos);
pWriter->WriteInt2(5, endPos);
pWriter->WriteInt2(6, dir);
pWriter->WriteInt2(7, fadeDir);
pWriter->WriteInt2(8, dist);
pWriter->WriteInt2(9, kx);
pWriter->WriteInt2(10, ky);
pWriter->WriteInt2(11, sx);
pWriter->WriteInt2(12, sy);
pWriter->WriteBool2(13, rotWithShape);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_limit<Limit::RectAlign> algn;
nullable_int blurRad;
nullable_int stA;
nullable_int endA;
nullable_int stPos;
nullable_int endPos;
nullable_int dir;
nullable_int fadeDir;
nullable_int dist;
nullable_int kx;
nullable_int ky;
nullable_bool rotWithShape;
nullable_int sx;
nullable_int sy;
protected:
virtual void FillParentPointersForChilds(){};
AVSINLINE void Normalize()
{
blurRad.normalize_positive();
stA.normalize_positive();
endA.normalize_positive();
stPos.normalize_positive();
endPos.normalize_positive();
dist.normalize_positive();
dir.normalize(0, 2100000);
fadeDir.normalize(0, 2100000);
kx.normalize(-5400000, 5400000);
ky.normalize(-5400000, 5400000);
}
};
}
}
#endif // PPTX_LOGIC_REFLECTION_INCLUDE_H_

View File

@@ -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_RELOFF_INCLUDE_H_
#define PPTX_LOGIC_RELOFF_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class RelOff : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(RelOff)
RelOff& operator=(const RelOff& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
tx = oSrc.tx;
ty = oSrc.ty;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"tx", tx);
node.ReadAttributeBase(L"ty", ty);
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("tx"), tx);
oAttr.Write(_T("ty"), ty);
return XmlUtils::CreateNode(_T("a:relOff"), oAttr);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_RELOFF);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, tx);
pWriter->WriteInt2(0, ty);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_int tx;
nullable_int ty;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_RELOFF_INCLUDE_H_

View 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_SOFTEDGE_INCLUDE_H_
#define PPTX_LOGIC_SOFTEDGE_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class SoftEdge : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(SoftEdge)
SoftEdge& operator=(const SoftEdge& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
rad = oSrc.rad;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"rad", rad);
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("rad"), rad);
return XmlUtils::CreateNode(_T("a:softEdge"), oAttr);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_SOFTEDGE);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteSize_t2(0, rad);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_sizet rad;
protected:
virtual void FillParentPointersForChilds(){};
};
}
}
#endif // PPTX_LOGIC_SOFTEDGE_INCLUDE_H_

View 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_TINTEFFECT_INCLUDE_H_
#define PPTX_LOGIC_TINTEFFECT_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class TintEffect : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(TintEffect)
TintEffect& operator=(const TintEffect& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
amt = oSrc.amt;
hue = oSrc.hue;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"amt", amt);
node.ReadAttributeBase(L"hue", hue);
Normalize();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("hue"), hue);
oAttr.Write(_T("amt"), amt);
return XmlUtils::CreateNode(_T("a:tint"), oAttr);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_TINTEFFECT);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, amt);
pWriter->WriteInt2(0, hue);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_int amt;
nullable_int hue;
protected:
virtual void FillParentPointersForChilds(){};
AVSINLINE void Normalize()
{
hue.normalize(0, 21600000);
}
};
}
}
#endif // PPTX_LOGIC_TINTEFFECT_INCLUDE_H_

View File

@@ -0,0 +1,124 @@
/*
* (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_XFRMEFFECT_INCLUDE_H_
#define PPTX_LOGIC_XFRMEFFECT_INCLUDE_H_
#include "./../../WrapperWritingElement.h"
namespace PPTX
{
namespace Logic
{
class XfrmEffect : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(XfrmEffect)
XfrmEffect& operator=(const XfrmEffect& oSrc)
{
parentFile = oSrc.parentFile;
parentElement = oSrc.parentElement;
kx = oSrc.kx;
ky = oSrc.ky;
sx = oSrc.sx;
sy = oSrc.sy;
tx = oSrc.tx;
ty = oSrc.ty;
return *this;
}
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"kx", kx);
node.ReadAttributeBase(L"ky", ky);
node.ReadAttributeBase(L"sx", sx);
node.ReadAttributeBase(L"sy", sy);
node.ReadAttributeBase(L"tx", tx);
node.ReadAttributeBase(L"ty", ty);
Normalize();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("sx"), sx);
oAttr.Write(_T("sy"), sy);
oAttr.Write(_T("kx"), kx);
oAttr.Write(_T("ky"), ky);
oAttr.Write(_T("tx"), tx);
oAttr.Write(_T("ty"), ty);
return XmlUtils::CreateNode(_T("a:xfrm"), oAttr);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->StartRecord(EFFECT_TYPE_XFRM);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteInt2(0, kx);
pWriter->WriteInt2(1, ky);
pWriter->WriteInt2(2, sx);
pWriter->WriteInt2(3, sy);
pWriter->WriteSize_t2(4, tx);
pWriter->WriteSize_t2(5, tx);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->EndRecord();
}
public:
nullable_int kx;
nullable_int ky;
nullable_int sx;
nullable_int sy;
nullable_sizet tx;
nullable_sizet ty;
protected:
virtual void FillParentPointersForChilds(){};
AVSINLINE void Normalize()
{
kx.normalize(-5400000, 5400000);
ky.normalize(-5400000, 5400000);
}
};
}
}
#endif // PPTX_LOGIC_XFRMEFFECT_INCLUDE_H_