OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef FPDFSDK_INCLUDE_FSDK_BASEANNOT_H_ | 7 #ifndef FPDFSDK_INCLUDE_FSDK_BASEANNOT_H_ |
8 #define FPDFSDK_INCLUDE_FSDK_BASEANNOT_H_ | 8 #define FPDFSDK_INCLUDE_FSDK_BASEANNOT_H_ |
9 | 9 |
10 #if _FX_OS_ == _FX_ANDROID_ | 10 #if _FX_OS_ == _FX_ANDROID_ |
(...skipping 11 matching lines...) Expand all Loading... |
22 class CPDFSDK_PageView; | 22 class CPDFSDK_PageView; |
23 class CPDF_Annot; | 23 class CPDF_Annot; |
24 class CPDF_Page; | 24 class CPDF_Page; |
25 class CFX_Matrix; | 25 class CFX_Matrix; |
26 class CPDF_RenderOptions; | 26 class CPDF_RenderOptions; |
27 class CFX_RenderDevice; | 27 class CFX_RenderDevice; |
28 | 28 |
29 class CPDFSDK_DateTime { | 29 class CPDFSDK_DateTime { |
30 public: | 30 public: |
31 CPDFSDK_DateTime(); | 31 CPDFSDK_DateTime(); |
32 CPDFSDK_DateTime(const CFX_ByteString& dtStr); | 32 explicit CPDFSDK_DateTime(const CFX_ByteString& dtStr); |
| 33 explicit CPDFSDK_DateTime(const FX_SYSTEMTIME& st); |
33 CPDFSDK_DateTime(const CPDFSDK_DateTime& datetime); | 34 CPDFSDK_DateTime(const CPDFSDK_DateTime& datetime); |
34 CPDFSDK_DateTime(const FX_SYSTEMTIME& st); | |
35 | 35 |
36 CPDFSDK_DateTime& operator=(const CPDFSDK_DateTime& datetime); | 36 CPDFSDK_DateTime& operator=(const CPDFSDK_DateTime& datetime); |
37 CPDFSDK_DateTime& operator=(const FX_SYSTEMTIME& st); | 37 CPDFSDK_DateTime& operator=(const FX_SYSTEMTIME& st); |
38 bool operator==(const CPDFSDK_DateTime& datetime) const; | 38 bool operator==(const CPDFSDK_DateTime& datetime) const; |
39 bool operator!=(const CPDFSDK_DateTime& datetime) const; | 39 bool operator!=(const CPDFSDK_DateTime& datetime) const; |
40 | 40 |
41 CPDFSDK_DateTime& FromPDFDateTimeString(const CFX_ByteString& dtStr); | 41 CPDFSDK_DateTime& FromPDFDateTimeString(const CFX_ByteString& dtStr); |
42 CFX_ByteString ToCommonDateTimeString(); | 42 CFX_ByteString ToCommonDateTimeString(); |
43 CFX_ByteString ToPDFDateTimeString(); | 43 CFX_ByteString ToPDFDateTimeString(); |
44 void ToSystemTime(FX_SYSTEMTIME& st); | 44 void ToSystemTime(FX_SYSTEMTIME& st); |
(...skipping 12 matching lines...) Expand all Loading... |
57 uint8_t minute; | 57 uint8_t minute; |
58 uint8_t second; | 58 uint8_t second; |
59 int8_t tzHour; | 59 int8_t tzHour; |
60 uint8_t tzMinute; | 60 uint8_t tzMinute; |
61 } dt; | 61 } dt; |
62 }; | 62 }; |
63 | 63 |
64 class CPDFSDK_Annot { | 64 class CPDFSDK_Annot { |
65 public: | 65 public: |
66 explicit CPDFSDK_Annot(CPDFSDK_PageView* pPageView); | 66 explicit CPDFSDK_Annot(CPDFSDK_PageView* pPageView); |
67 virtual ~CPDFSDK_Annot() {} | 67 virtual ~CPDFSDK_Annot(); |
68 | 68 |
69 #ifdef PDF_ENABLE_XFA | 69 #ifdef PDF_ENABLE_XFA |
70 virtual FX_BOOL IsXFAField() { return FALSE; } | 70 virtual FX_BOOL IsXFAField(); |
| 71 virtual CXFA_FFWidget* GetXFAWidget() const; |
71 #endif // PDF_ENABLE_XFA | 72 #endif // PDF_ENABLE_XFA |
72 | 73 |
73 virtual FX_FLOAT GetMinWidth() const; | 74 virtual FX_FLOAT GetMinWidth() const; |
74 virtual FX_FLOAT GetMinHeight() const; | 75 virtual FX_FLOAT GetMinHeight() const; |
75 // define layout order to 5. | 76 // define layout order to 5. |
76 virtual int GetLayoutOrder() const { return 5; } | 77 virtual int GetLayoutOrder() const; |
| 78 virtual CPDF_Annot* GetPDFAnnot() const; |
| 79 virtual CFX_ByteString GetType() const; |
| 80 virtual CFX_ByteString GetSubType() const; |
| 81 virtual CFX_FloatRect GetRect() const; |
77 | 82 |
78 virtual CPDF_Annot* GetPDFAnnot() const { return nullptr; } | 83 virtual void SetRect(const CFX_FloatRect& rect); |
79 | |
80 #ifdef PDF_ENABLE_XFA | |
81 virtual CXFA_FFWidget* GetXFAWidget() const { return nullptr; } | |
82 #endif // PDF_ENABLE_XFA | |
83 | |
84 virtual CFX_ByteString GetType() const { return ""; } | |
85 virtual CFX_ByteString GetSubType() const { return ""; } | |
86 | |
87 virtual void SetRect(const CFX_FloatRect& rect) {} | |
88 virtual CFX_FloatRect GetRect() const { return CFX_FloatRect(); } | |
89 | |
90 virtual void Annot_OnDraw(CFX_RenderDevice* pDevice, | 84 virtual void Annot_OnDraw(CFX_RenderDevice* pDevice, |
91 CFX_Matrix* pUser2Device, | 85 CFX_Matrix* pUser2Device, |
92 CPDF_RenderOptions* pOptions) {} | 86 CPDF_RenderOptions* pOptions); |
93 | 87 |
94 UnderlyingPageType* GetUnderlyingPage(); | 88 UnderlyingPageType* GetUnderlyingPage(); |
95 CPDF_Page* GetPDFPage(); | 89 CPDF_Page* GetPDFPage(); |
96 #ifdef PDF_ENABLE_XFA | 90 #ifdef PDF_ENABLE_XFA |
97 CPDFXFA_Page* GetPDFXFAPage(); | 91 CPDFXFA_Page* GetPDFXFAPage(); |
98 #endif // PDF_ENABLE_XFA | 92 #endif // PDF_ENABLE_XFA |
99 | 93 |
100 void SetPage(CPDFSDK_PageView* pPageView) { m_pPageView = pPageView; } | 94 void SetPage(CPDFSDK_PageView* pPageView); |
101 CPDFSDK_PageView* GetPageView() const { return m_pPageView; } | 95 CPDFSDK_PageView* GetPageView() const { return m_pPageView; } |
102 | 96 |
103 // Tab Order | 97 // Tab Order |
104 int GetTabOrder(); | 98 int GetTabOrder(); |
105 void SetTabOrder(int iTabOrder); | 99 void SetTabOrder(int iTabOrder); |
106 | 100 |
107 // Selection | 101 // Selection |
108 FX_BOOL IsSelected(); | 102 FX_BOOL IsSelected(); |
109 void SetSelected(FX_BOOL bSelected); | 103 void SetSelected(FX_BOOL bSelected); |
110 | 104 |
111 protected: | 105 protected: |
112 CPDFSDK_PageView* m_pPageView; | 106 CPDFSDK_PageView* m_pPageView; |
113 FX_BOOL m_bSelected; | 107 FX_BOOL m_bSelected; |
114 int m_nTabOrder; | 108 int m_nTabOrder; |
115 }; | 109 }; |
116 | 110 |
117 class CPDFSDK_BAAnnot : public CPDFSDK_Annot { | 111 class CPDFSDK_BAAnnot : public CPDFSDK_Annot { |
118 public: | 112 public: |
119 CPDFSDK_BAAnnot(CPDF_Annot* pAnnot, CPDFSDK_PageView* pPageView); | 113 CPDFSDK_BAAnnot(CPDF_Annot* pAnnot, CPDFSDK_PageView* pPageView); |
120 ~CPDFSDK_BAAnnot() override {} | 114 ~CPDFSDK_BAAnnot() override; |
121 | 115 |
122 #ifdef PDF_ENABLE_XFA | 116 // CPDFSDK_Annot |
123 FX_BOOL IsXFAField() override; | |
124 #endif // PDF_ENABLE_XFA | |
125 | |
126 CFX_ByteString GetType() const override; | 117 CFX_ByteString GetType() const override; |
127 CFX_ByteString GetSubType() const override; | 118 CFX_ByteString GetSubType() const override; |
128 void SetRect(const CFX_FloatRect& rect) override; | 119 void SetRect(const CFX_FloatRect& rect) override; |
129 CFX_FloatRect GetRect() const override; | 120 CFX_FloatRect GetRect() const override; |
130 CPDF_Annot* GetPDFAnnot() const override; | 121 CPDF_Annot* GetPDFAnnot() const override; |
131 void Annot_OnDraw(CFX_RenderDevice* pDevice, | 122 void Annot_OnDraw(CFX_RenderDevice* pDevice, |
132 CFX_Matrix* pUser2Device, | 123 CFX_Matrix* pUser2Device, |
133 CPDF_RenderOptions* pOptions) override; | 124 CPDF_RenderOptions* pOptions) override; |
134 | 125 |
135 CPDF_Dictionary* GetAnnotDict() const; | 126 CPDF_Dictionary* GetAnnotDict() const; |
(...skipping 30 matching lines...) Expand all Loading... |
166 | 157 |
167 CPDF_Action GetAction() const; | 158 CPDF_Action GetAction() const; |
168 void SetAction(const CPDF_Action& a); | 159 void SetAction(const CPDF_Action& a); |
169 void RemoveAction(); | 160 void RemoveAction(); |
170 | 161 |
171 CPDF_AAction GetAAction() const; | 162 CPDF_AAction GetAAction() const; |
172 void SetAAction(const CPDF_AAction& aa); | 163 void SetAAction(const CPDF_AAction& aa); |
173 void RemoveAAction(); | 164 void RemoveAAction(); |
174 | 165 |
175 virtual CPDF_Action GetAAction(CPDF_AAction::AActionType eAAT); | 166 virtual CPDF_Action GetAAction(CPDF_AAction::AActionType eAAT); |
176 | |
177 virtual FX_BOOL IsAppearanceValid(); | 167 virtual FX_BOOL IsAppearanceValid(); |
178 virtual FX_BOOL IsAppearanceValid(CPDF_Annot::AppearanceMode mode); | 168 virtual FX_BOOL IsAppearanceValid(CPDF_Annot::AppearanceMode mode); |
179 virtual void DrawAppearance(CFX_RenderDevice* pDevice, | 169 virtual void DrawAppearance(CFX_RenderDevice* pDevice, |
180 const CFX_Matrix* pUser2Device, | 170 const CFX_Matrix* pUser2Device, |
181 CPDF_Annot::AppearanceMode mode, | 171 CPDF_Annot::AppearanceMode mode, |
182 const CPDF_RenderOptions* pOptions); | 172 const CPDF_RenderOptions* pOptions); |
| 173 |
183 void DrawBorder(CFX_RenderDevice* pDevice, | 174 void DrawBorder(CFX_RenderDevice* pDevice, |
184 const CFX_Matrix* pUser2Device, | 175 const CFX_Matrix* pUser2Device, |
185 const CPDF_RenderOptions* pOptions); | 176 const CPDF_RenderOptions* pOptions); |
186 | 177 |
187 void ClearCachedAP(); | 178 void ClearCachedAP(); |
188 | 179 |
189 void WriteAppearance(const CFX_ByteString& sAPType, | 180 void WriteAppearance(const CFX_ByteString& sAPType, |
190 const CFX_FloatRect& rcBBox, | 181 const CFX_FloatRect& rcBBox, |
191 const CFX_Matrix& matrix, | 182 const CFX_Matrix& matrix, |
192 const CFX_ByteString& sContents, | 183 const CFX_ByteString& sContents, |
193 const CFX_ByteString& sAPState = ""); | 184 const CFX_ByteString& sAPState = ""); |
194 | 185 |
195 protected: | 186 protected: |
196 CPDF_Annot* m_pAnnot; | 187 CPDF_Annot* m_pAnnot; |
197 | 188 |
198 private: | 189 private: |
199 FX_BOOL CreateFormFiller(); | 190 FX_BOOL CreateFormFiller(); |
200 }; | 191 }; |
201 | 192 |
202 #endif // FPDFSDK_INCLUDE_FSDK_BASEANNOT_H_ | 193 #endif // FPDFSDK_INCLUDE_FSDK_BASEANNOT_H_ |
OLD | NEW |