/* * (c) Copyright Ascensio System SIA 2010-2023 * * This program is a free software product. You can redistribute it and/or * modify it under the terms of the GNU Affero General Public License (AGPL) * version 3 as published by the Free Software Foundation. In accordance with * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect * that Ascensio System SIA expressly excludes the warranty of non-infringement * of any third-party rights. * * This program is distributed WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html * * You can contact Ascensio System SIA at 20A-6 Ernesta Birznieka-Upish * street, Riga, Latvia, EU, LV-1050. * * The interactive user interfaces in modified source and object code versions * of the Program must display Appropriate Legal Notices, as required under * Section 5 of the GNU AGPL version 3. * * Pursuant to Section 7(b) of the License you must retain the original Product * logo when distributing the program. Pursuant to Section 7(e) we decline to * grant you any rights under trademark law for use of our trademarks. * * All the Product's GUI elements, including illustrations and icon sets, as * well as technical writing content are licensed under the terms of the * Creative Commons Attribution-ShareAlike 4.0 International. See the License * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode * */ #pragma once #ifndef OOX_VML_OFFICE_INCLUDE_H_ #define OOX_VML_OFFICE_INCLUDE_H_ #include "../../Base/Nullable.h" #include "../../Common/ComplexTypes.h" #include "../../Common/SimpleTypes_Vml.h" #include "../WritingElement.h" #include "../../PPTXFormat/WrapperWritingElement.h" namespace OOX { namespace VmlOffice { //-------------------------------------------------------------------------------- // CStrokeChild 14.2.2.1;14.2.2.6;14.2.2.16;14.2.2.26;14.2.2.32 (Part 4) //-------------------------------------------------------------------------------- class CStrokeChild : public WritingElement { public: WritingElement_AdditionMethods(CStrokeChild) CStrokeChild(OOX::Document *pMain = NULL); virtual ~CStrokeChild(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: EElementType m_eType; nullable m_sAlthref; nullable m_oColor; nullable m_oColor2; nullable m_oDashStyle; nullable m_oEndArrow; nullable m_oEndArrowLength; nullable m_oEndArrowWidth; nullable m_oEndCap; nullable m_oExt; nullable m_oFillType; nullable m_oForceDash; nullable m_sHref; nullable m_oImageAlignShape; nullable m_oImageAspect; nullable m_sImageSize; nullable m_oInsetPen; nullable m_oJoinStyle; nullable m_oLineStyle; nullable m_oMiterLimit; nullable m_oOn; nullable m_sOpacity; nullable m_sSrc; nullable m_oStartArrow; nullable m_oStartArrowLength; nullable m_oStartArrowWidth; nullable m_sTitle; nullable m_sWeight; }; //-------------------------------------------------------------------------------- // CCallout 14.2.2.2 (Part 4) //-------------------------------------------------------------------------------- class CCallout : public WritingElement { public: WritingElement_AdditionMethods(CCallout) CCallout(OOX::Document *pMain = NULL); virtual ~CCallout(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oAccentbar; nullable m_oAngle; nullable m_oDistance; nullable m_oDrop; nullable m_oDropAuto; nullable m_oExt; nullable m_oGap; nullable m_oLength; nullable m_oLengthSpecified; nullable m_oMinusX; nullable m_oMinusY; nullable m_oOn; nullable m_oTextBorder; nullable m_oType; }; //-------------------------------------------------------------------------------- // CClipPath 14.2.2.3 (Part 4) //-------------------------------------------------------------------------------- class CClipPath : public WritingElement { public: WritingElement_AdditionMethods(CClipPath) CClipPath(OOX::Document *pMain = NULL); virtual ~CClipPath(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: SimpleTypes::Vml::CVmlPath m_oV; }; //-------------------------------------------------------------------------------- // CColorMenu 14.2.2.4 (Part 4) //-------------------------------------------------------------------------------- class CColorMenu : public WritingElement { public: WritingElement_AdditionMethods(CColorMenu) CColorMenu(); virtual ~CColorMenu(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oExt; SimpleTypes::CColorType m_oExtrusionColor = SimpleTypes::colortypeRGB; SimpleTypes::CColorType m_oFillColor = SimpleTypes::colortypeRGB; SimpleTypes::CColorType m_oShadowColor = SimpleTypes::colortypeRGB; SimpleTypes::CColorType m_oStrokeColor = SimpleTypes::colortypeRGB; }; //-------------------------------------------------------------------------------- // CColorMru 14.2.2.5 (Part 4) //-------------------------------------------------------------------------------- class CColorMru : public WritingElement { public: WritingElement_AdditionMethods(CColorMru) CColorMru(OOX::Document *pMain = NULL); virtual ~CColorMru(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: std::vector m_arrColors; nullable m_oExt; }; //-------------------------------------------------------------------------------- // CComplex 14.2.2.7 (Part 4) //-------------------------------------------------------------------------------- class CComplex : public WritingElement { public: WritingElement_AdditionMethods(CComplex) CComplex(OOX::Document *pMain = NULL); virtual ~CComplex(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oExt; }; //-------------------------------------------------------------------------------- // CRelation 14.2.2.24 (Part 4) //-------------------------------------------------------------------------------- class CRelation : public WritingElement { public: WritingElement_AdditionMethods(CRelation) CRelation(); virtual ~CRelation(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oExt; nullable m_sIdCntr; nullable m_sIdDest; nullable m_sIdSrc; }; //-------------------------------------------------------------------------------- // CRelationTable 14.2.2.25 (Part 4) //-------------------------------------------------------------------------------- class CRelationTable : public WritingElement { public: WritingElement_AdditionMethods(CRelationTable) CRelationTable(); virtual ~CRelationTable(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oExt; std::vector m_arrRel; }; //-------------------------------------------------------------------------------- // CDiagram 14.2.2.8 (Part 4) //-------------------------------------------------------------------------------- class CDiagram : public WritingElement { public: WritingElement_AdditionMethods(CDiagram) CDiagram(OOX::Document *pMain = NULL); virtual ~CDiagram(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oAutoFormat; nullable m_oAutoLayout; nullable m_sConstrainbounds; nullable m_oDmgBaseTextScale; nullable m_oDmgFontSize; nullable m_oDmgScaleX; nullable m_oDmgScaleY; nullable m_oDmgStyle; nullable m_oExt; nullable m_oReverse; nullable m_oRelationTable; }; //-------------------------------------------------------------------------------- // CEntry 14.2.2.9 (Part 4) //-------------------------------------------------------------------------------- class CEntry : public WritingElement { public: WritingElement_AdditionMethods(CEntry) CEntry(); virtual ~CEntry(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oNew; nullable m_oOld; }; //-------------------------------------------------------------------------------- // CEquationXml 14.2.2.10 (Part 4) //-------------------------------------------------------------------------------- class CEquationXml : public WritingElement { public: WritingElement_AdditionMethods(CEquationXml) CEquationXml(OOX::Document *pMain = NULL); virtual ~CEquationXml(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oContentType; }; //-------------------------------------------------------------------------------- // CExtrusion 14.2.2.11 (Part 4) //-------------------------------------------------------------------------------- class CExtrusion : public WritingElement { public: WritingElement_AdditionMethods(CExtrusion) CExtrusion(OOX::Document *pMain = NULL); virtual ~CExtrusion(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: SimpleTypes::CTrueFalse m_oAutoRotationCenter; SimpleTypes::CPoint m_oBackDepth; SimpleTypes::Vml::CVml_1_65536 m_oBrightness; nullable m_oColor; SimpleTypes::CColorMode m_oColorMode; SimpleTypes::Vml::CVml_1_65536 m_oDiffusity; SimpleTypes::CPoint m_oEdge; nullable m_oExt; SimpleTypes::CDecimalNumber m_oFacet = 30000; SimpleTypes::CPoint m_oForeDepth; SimpleTypes::CTrueFalse m_oLightFace = SimpleTypes::booleanTrue; SimpleTypes::CTrueFalse m_oLightHarsh = SimpleTypes::booleanTrue; SimpleTypes::CTrueFalse m_oLightHarsh2; SimpleTypes::Vml::CVml_1_65536 m_oLightLevel; SimpleTypes::Vml::CVml_1_65536 m_oLightLevel2; SimpleTypes::Vml::CVml_Vector3D_65536 m_oLightPosition; SimpleTypes::Vml::CVml_Vector3D_65536 m_oLightPosition2; SimpleTypes::CTrueFalse m_oLockRotationCenter = SimpleTypes::booleanTrue; SimpleTypes::CTrueFalse m_oMetal; SimpleTypes::CTrueFalse m_oOn; SimpleTypes::Vml::CVml_Vector3D m_oOrientation; SimpleTypes::CDecimalNumber m_oOrientationAngle; SimpleTypes::CExtrusionPlane m_oPlane; SimpleTypes::CExtrusionRender m_oRender; SimpleTypes::Vml::CVml_Vector2D m_oRotationAngle; SimpleTypes::Vml::CVml_Vector3D m_oRotationCenter; SimpleTypes::CDecimalNumber m_oShininess = 5; SimpleTypes::CPositiveFixedPercentage m_oSkewAmt; SimpleTypes::CDecimalNumber m_oSkewAngle = 225; SimpleTypes::Vml::CVml_1_65536 m_oSpecularity; SimpleTypes::CExtrusionType m_oType; SimpleTypes::Vml::CVml_Vector3D m_oViewPoint; SimpleTypes::Vml::CVml_Vector2D_F m_oViewPointOrigin; }; //-------------------------------------------------------------------------------- // CFieldCodes 14.2.2.12 (Part 4) //-------------------------------------------------------------------------------- class CFieldCodes : public WritingElement { public: WritingElement_AdditionMethods(CFieldCodes) CFieldCodes(); virtual ~CFieldCodes(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; // Text std::wstring m_sText; }; //-------------------------------------------------------------------------------- // CFill 14.2.2.13 (Part 4) //-------------------------------------------------------------------------------- class CFill : public WritingElement { public: WritingElement_AdditionMethods(CFill) CFill(OOX::Document *pMain = NULL); virtual ~CFill(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oExt; nullable m_oType; }; //-------------------------------------------------------------------------------- // CIdMap 14.2.2.14 (Part 4) //-------------------------------------------------------------------------------- class CIdMap : public WritingElement { public: WritingElement_AdditionMethods(CIdMap) CIdMap(); virtual ~CIdMap(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable_string m_sData; nullable m_oExt; }; //-------------------------------------------------------------------------------- // CInk 14.2.2.15 (Part 4) //-------------------------------------------------------------------------------- class CInk : public WritingElement { public: WritingElement_AdditionMethods(CInk) CInk(OOX::Document *pMain = NULL); virtual ~CInk(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oAnnotation; nullable m_oContentType; nullable m_sI; }; //-------------------------------------------------------------------------------- // CLinkType 14.2.2.17 (Part 4) //-------------------------------------------------------------------------------- class CLinkType : public WritingElement { public: WritingElement_AdditionMethods(CLinkType) CLinkType(); virtual ~CLinkType(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; // Text SimpleTypes::COLELinkType m_oValue; }; //-------------------------------------------------------------------------------- // CLock 14.2.2.18 (Part 4) //-------------------------------------------------------------------------------- class CLock : public WritingElement { public: WritingElement_AdditionMethods(CLock) CLock(OOX::Document *pMain = NULL); virtual ~CLock(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes SimpleTypes::CTrueFalse m_oAdjustHandles; SimpleTypes::CTrueFalse m_oAspectRatio; SimpleTypes::CTrueFalse m_oCropping; nullable m_oExt; SimpleTypes::CTrueFalse m_oGrouping; SimpleTypes::CTrueFalse m_oPosition; SimpleTypes::CTrueFalse m_oRotation; SimpleTypes::CTrueFalse m_oSelection; SimpleTypes::CTrueFalse m_oShapeType; SimpleTypes::CTrueFalse m_oText; SimpleTypes::CTrueFalse m_oUnGrouping; SimpleTypes::CTrueFalse m_oVerticies; }; //-------------------------------------------------------------------------------- // CLockedField 14.2.2.19 (Part 4) //-------------------------------------------------------------------------------- class CLockedField : public WritingElement { public: WritingElement_AdditionMethods(CLockedField) CLockedField(); virtual ~CLockedField(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; SimpleTypes::CTrueFalse m_oValue; }; //-------------------------------------------------------------------------------- // COLEObject 14.2.2.20 (Part 4) //-------------------------------------------------------------------------------- class COLEObject : public WritingElement { public: WritingElement_AdditionMethods(COLEObject) COLEObject(OOX::Document *pMain = NULL); virtual ~COLEObject(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: nullable m_oDrawAspect; nullable m_oId; nullable_string m_sObjectId; nullable_string m_sProgId; nullable_string m_sShapeId; nullable m_oType; nullable m_oUpdateMode; nullable_string m_oFieldCodes2; nullable m_oFieldCodes; nullable m_oLinkType; nullable m_oLockedField; }; //-------------------------------------------------------------------------------- // CProxy 14.2.2.21 (Part 4) //-------------------------------------------------------------------------------- class CProxy : public WritingElement { public: WritingElement_AdditionMethods(CProxy) CProxy(); virtual ~CProxy(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: SimpleTypes::CDecimalNumber m_oConnectLoc; SimpleTypes::CTrueFalse m_oEnd; std::wstring m_sIdRef; SimpleTypes::CTrueFalse m_oStart; }; //-------------------------------------------------------------------------------- // CR 14.2.2.22 (Part 4) //-------------------------------------------------------------------------------- class CR : public WritingElement { public: WritingElement_AdditionMethods(CR) CR(); virtual ~CR(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes nullable m_oHow; std::wstring m_sId; nullable m_sIdRef; nullable m_oType; // Childs std::vector m_arrProxy; }; //-------------------------------------------------------------------------------- // CRegroupTable 14.2.2.23 (Part 4) //-------------------------------------------------------------------------------- class CRegroupTable : public WritingElement { public: WritingElement_AdditionMethods(CRegroupTable) CRegroupTable(); virtual ~CRegroupTable(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes nullable m_oExt; // Childs std::vector m_arrEntry; }; //-------------------------------------------------------------------------------- // CRules 14.2.2.27 (Part 4) //-------------------------------------------------------------------------------- class CRules : public WritingElement { public: WritingElement_AdditionMethods(CRules) CRules(); virtual ~CRules(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes nullable m_oExt; // Childs std::vector m_arrR; }; //-------------------------------------------------------------------------------- // CShapeLayout 14.2.2.29 (Part 4) //-------------------------------------------------------------------------------- class CShapeLayout : public WritingElement { public: WritingElement_AdditionMethods(CShapeLayout) CShapeLayout(OOX::Document *pMain = NULL); virtual ~CShapeLayout(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes nullable m_oExt; // Childs nullable m_oIdMap; nullable m_oRegroupTable; nullable m_oRules; }; //-------------------------------------------------------------------------------- // CSignatureLine 14.2.2.30 (Part 4) //-------------------------------------------------------------------------------- class CSignatureLine : public PPTX::WrapperWritingElement { public: WritingElement_AdditionMethods(CSignatureLine) CSignatureLine(OOX::Document *pMain = NULL); virtual ~CSignatureLine(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; virtual void fromPPTY(NSBinPptxRW::CBinaryFileReader* pReader); virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const; virtual void toXmlWriter(NSBinPptxRW::CXmlWriter* pWriter) const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes nullable m_sAddXml; nullable m_oAllowComments; nullable m_oExt; nullable m_oId; nullable m_oIsSignatureLine; nullable m_oProvId; nullable m_oShowSignDate; nullable m_sSigningInstructions; nullable m_oSigningInstructionsSet; nullable m_sSigProvUrl; nullable m_sSuggestedSigner; nullable m_sSuggestedSigner2; nullable m_sSuggestedSignerEmail; }; //-------------------------------------------------------------------------------- // CSkew 14.2.2.31 (Part 4) //-------------------------------------------------------------------------------- class CSkew : public WritingElement { public: WritingElement_AdditionMethods(CSkew) CSkew(OOX::Document *pMain = NULL); virtual ~CSkew(); virtual void fromXML(XmlUtils::CXmlNode& oNode); virtual void fromXML(XmlUtils::CXmlLiteReader& oReader); virtual std::wstring toXML() const; virtual EElementType getType() const; private: void ReadAttributes(XmlUtils::CXmlLiteReader& oReader); public: // Attributes nullable m_oExt; nullable m_sId; nullable m_sMatrix; nullable m_sOffset; SimpleTypes::CTrueFalse m_oOn; nullable m_sOrigin; }; } // namespace Vml } // namespace OOX #endif // OOX_VML_OFFICE_INCLUDE_H_