Files
core/ASCOfficePPTXFile/PPTXFormat/ViewProps/CViewPr.h

77 lines
1.9 KiB
C++

#pragma once
#ifndef PPTX_VIEWPROPS_COMMON_VIEW_PROPERTIES_INCLUDE_H_
#define PPTX_VIEWPROPS_COMMON_VIEW_PROPERTIES_INCLUDE_H_
#include "./../WrapperWritingElement.h"
#include "Origin.h"
#include "Scale.h"
namespace PPTX
{
namespace nsViewProps
{
class CViewPr : public WrapperWritingElement
{
public:
PPTX_LOGIC_BASE(CViewPr)
public:
virtual void fromXML(XmlUtils::CXmlNode& node)
{
node.ReadAttributeBase(L"varScale", attrVarScale);
Scale = node.ReadNode(_T("p:scale"));
Origin = node.ReadNode(_T("p:origin"));
FillParentPointersForChilds();
}
virtual CString toXML() const
{
XmlUtils::CAttribute oAttr;
oAttr.Write(_T("varScale"), attrVarScale);
XmlUtils::CNodeValue oValue;
oValue.Write(Scale);
oValue.Write(Origin);
return XmlUtils::CreateNode(_T("p:cViewPr"), oAttr, oValue);
}
virtual void toPPTY(NSBinPptxRW::CBinaryFileWriter* pWriter) const
{
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeStart);
pWriter->WriteBool2(0, attrVarScale);
pWriter->WriteBYTE(NSBinPptxRW::g_nodeAttributeEnd);
pWriter->WriteRecord1(0, Origin);
pWriter->WriteRecord1(1, Scale);
}
virtual void toXmlWriter(NSBinPptxRW::CXmlWriter* pWriter) const
{
pWriter->StartNode(_T("p:cViewPr"));
pWriter->StartAttributes();
pWriter->WriteAttribute(_T("varScale"), attrVarScale);
pWriter->EndAttributes();
Scale.toXmlWriter(pWriter);
Origin.toXmlWriter(pWriter);
pWriter->EndNode(_T("p:cViewPr"));
}
public:
nullable_bool attrVarScale;
nsViewProps::Origin Origin;
nsViewProps::Scale Scale;
protected:
virtual void FillParentPointersForChilds()
{
Scale.SetParentPointer(this);
Origin.SetParentPointer(this);
}
};
} // namespace nsViewProps
} // namespace PPTX
#endif // PPTX_VIEWPROPS_COMMON_VIEW_PROPERTIES_INCLUDE_H_