diff options
Diffstat (limited to 'core/fpdfapi/page/cpdf_contentmarkitem.h')
-rw-r--r-- | core/fpdfapi/page/cpdf_contentmarkitem.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/core/fpdfapi/page/cpdf_contentmarkitem.h b/core/fpdfapi/page/cpdf_contentmarkitem.h new file mode 100644 index 0000000000..ef691e252c --- /dev/null +++ b/core/fpdfapi/page/cpdf_contentmarkitem.h @@ -0,0 +1,46 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef CORE_FPDFAPI_PAGE_CPDF_CONTENTMARKITEM_H_ +#define CORE_FPDFAPI_PAGE_CPDF_CONTENTMARKITEM_H_ + +#include <memory> + +#include "core/fxcrt/fx_memory.h" +#include "core/fxcrt/fx_string.h" +#include "core/fxcrt/fx_system.h" + +class CPDF_Dictionary; + +class CPDF_ContentMarkItem { + public: + enum ParamType { None, PropertiesDict, DirectDict }; + + CPDF_ContentMarkItem(); + CPDF_ContentMarkItem(const CPDF_ContentMarkItem& that); + ~CPDF_ContentMarkItem(); + + CPDF_ContentMarkItem& operator=(CPDF_ContentMarkItem&& other) = default; + + CFX_ByteString GetName() const { return m_MarkName; } + ParamType GetParamType() const { return m_ParamType; } + CPDF_Dictionary* GetParam() const; + FX_BOOL HasMCID() const; + + void SetName(const CFX_ByteString& name) { m_MarkName = name; } + void SetDirectDict( + std::unique_ptr<CPDF_Dictionary, ReleaseDeleter<CPDF_Dictionary>> pDict); + void SetPropertiesDict(CPDF_Dictionary* pDict); + + private: + CFX_ByteString m_MarkName; + ParamType m_ParamType; + CPDF_Dictionary* m_pPropertiesDict; // not owned. + std::unique_ptr<CPDF_Dictionary, ReleaseDeleter<CPDF_Dictionary>> + m_pDirectDict; +}; + +#endif // CORE_FPDFAPI_PAGE_CPDF_CONTENTMARKITEM_H_ |