Index: core/fpdfdoc/include/fpdf_doc.h |
diff --git a/core/fpdfdoc/include/fpdf_doc.h b/core/fpdfdoc/include/fpdf_doc.h |
index 887b0dc5b1767e2341c8a762ea94ff106006916e..edcec239f65d12cbdb5e5a5a0d55b0bafb3c2f57 100644 |
--- a/core/fpdfdoc/include/fpdf_doc.h |
+++ b/core/fpdfdoc/include/fpdf_doc.h |
@@ -14,6 +14,8 @@ |
#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h" |
#include "core/fpdfapi/fpdf_parser/include/fpdf_parser_decode.h" |
+#include "core/fpdfdoc/cpdf_annot.h" |
+#include "core/fpdfdoc/cpdf_annotlist.h" |
#include "core/fxge/include/fx_dib.h" |
class CFDF_Document; |
@@ -22,8 +24,6 @@ class CFX_RenderDevice; |
class CPDF_AAction; |
class CPDF_Action; |
class CPDF_ActionFields; |
-class CPDF_Annot; |
-class CPDF_AnnotList; |
class CPDF_ApSettings; |
class CPDF_Bookmark; |
class CPDF_BookmarkTree; |
@@ -306,93 +306,6 @@ class CPDF_Link { |
CPDF_Dictionary* m_pDict; |
}; |
-#define ANNOTFLAG_INVISIBLE 0x0001 |
-#define ANNOTFLAG_HIDDEN 0x0002 |
-#define ANNOTFLAG_PRINT 0x0004 |
-#define ANNOTFLAG_NOZOOM 0x0008 |
-#define ANNOTFLAG_NOROTATE 0x0010 |
-#define ANNOTFLAG_NOVIEW 0x0020 |
-#define ANNOTFLAG_READONLY 0x0040 |
-#define ANNOTFLAG_LOCKED 0x0080 |
-#define ANNOTFLAG_TOGGLENOVIEW 0x0100 |
- |
-class CPDF_Annot { |
- public: |
- enum AppearanceMode { Normal, Rollover, Down }; |
- |
- CPDF_Annot(CPDF_Dictionary* pDict, CPDF_Document* pDocument); |
- ~CPDF_Annot(); |
- |
- CFX_ByteString GetSubType() const; |
- uint32_t GetFlags() const; |
- void GetRect(CFX_FloatRect& rect) const; |
- const CPDF_Dictionary* GetAnnotDict() const { return m_pAnnotDict; } |
- CPDF_Dictionary* GetAnnotDict() { return m_pAnnotDict; } |
- FX_BOOL DrawAppearance(CPDF_Page* pPage, |
- CFX_RenderDevice* pDevice, |
- const CFX_Matrix* pUser2Device, |
- AppearanceMode mode, |
- const CPDF_RenderOptions* pOptions); |
- FX_BOOL DrawInContext(const CPDF_Page* pPage, |
- CPDF_RenderContext* pContext, |
- const CFX_Matrix* pUser2Device, |
- AppearanceMode mode); |
- void ClearCachedAP(); |
- void DrawBorder(CFX_RenderDevice* pDevice, |
- const CFX_Matrix* pUser2Device, |
- const CPDF_RenderOptions* pOptions); |
- CPDF_Form* GetAPForm(const CPDF_Page* pPage, AppearanceMode mode); |
- |
- private: |
- CPDF_Dictionary* const m_pAnnotDict; |
- CPDF_Document* const m_pDocument; |
- const CFX_ByteString m_sSubtype; |
- std::map<CPDF_Stream*, CPDF_Form*> m_APMap; |
-}; |
- |
-class CPDF_AnnotList { |
- public: |
- explicit CPDF_AnnotList(CPDF_Page* pPage); |
- ~CPDF_AnnotList(); |
- |
- void DisplayAnnots(CPDF_Page* pPage, |
- CPDF_RenderContext* pContext, |
- FX_BOOL bPrinting, |
- CFX_Matrix* pMatrix, |
- FX_BOOL bShowWidget, |
- CPDF_RenderOptions* pOptions) { |
- DisplayAnnots(pPage, nullptr, pContext, bPrinting, pMatrix, |
- bShowWidget ? 3 : 1, pOptions, nullptr); |
- } |
- |
- void DisplayAnnots(CPDF_Page* pPage, |
- CFX_RenderDevice* pDevice, |
- CPDF_RenderContext* pContext, |
- FX_BOOL bPrinting, |
- CFX_Matrix* pMatrix, |
- uint32_t dwAnnotFlags, |
- CPDF_RenderOptions* pOptions, |
- FX_RECT* pClipRect); |
- size_t Count() const { return m_AnnotList.size(); } |
- CPDF_Annot* GetAt(size_t index) const { return m_AnnotList[index].get(); } |
- const std::vector<std::unique_ptr<CPDF_Annot>>& All() const { |
- return m_AnnotList; |
- } |
- |
- protected: |
- void DisplayPass(CPDF_Page* pPage, |
- CFX_RenderDevice* pDevice, |
- CPDF_RenderContext* pContext, |
- FX_BOOL bPrinting, |
- CFX_Matrix* pMatrix, |
- FX_BOOL bWidget, |
- CPDF_RenderOptions* pOptions, |
- FX_RECT* clip_rect); |
- |
- CPDF_Document* const m_pDocument; |
- std::vector<std::unique_ptr<CPDF_Annot>> m_AnnotList; |
-}; |
- |
#define COLORTYPE_TRANSPARENT 0 |
#define COLORTYPE_GRAY 1 |
#define COLORTYPE_RGB 2 |