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_PDFWINDOW_PWL_WND_H_ | 7 #ifndef FPDFSDK_PDFWINDOW_PWL_WND_H_ |
8 #define FPDFSDK_PDFWINDOW_PWL_WND_H_ | 8 #define FPDFSDK_PDFWINDOW_PWL_WND_H_ |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
11 | 11 |
12 #include "core/fpdfdoc/include/fpdf_doc.h" | 12 #include "core/fpdfdoc/include/fpdf_doc.h" |
13 #include "core/fxcrt/include/fx_basic.h" | 13 #include "core/fxcrt/include/fx_basic.h" |
14 #include "fpdfsdk/include/fx_systemhandler.h" | 14 #include "fpdfsdk/cfx_systemhandler.h" |
15 | 15 |
16 class CPWL_MsgControl; | 16 class CPWL_MsgControl; |
17 class CPWL_ScrollBar; | 17 class CPWL_ScrollBar; |
18 class CPWL_Timer; | 18 class CPWL_Timer; |
19 class CPWL_TimerHandler; | 19 class CPWL_TimerHandler; |
20 class CPWL_Wnd; | 20 class CPWL_Wnd; |
| 21 class CFX_SystemHandler; |
21 class IPVT_FontMap; | 22 class IPVT_FontMap; |
22 class IFX_SystemHandler; | |
23 class IPWL_Provider; | 23 class IPWL_Provider; |
24 | 24 |
25 // window styles | 25 // window styles |
26 #define PWS_CHILD 0x80000000L | 26 #define PWS_CHILD 0x80000000L |
27 #define PWS_BORDER 0x40000000L | 27 #define PWS_BORDER 0x40000000L |
28 #define PWS_BACKGROUND 0x20000000L | 28 #define PWS_BACKGROUND 0x20000000L |
29 #define PWS_HSCROLL 0x10000000L | 29 #define PWS_HSCROLL 0x10000000L |
30 #define PWS_VSCROLL 0x08000000L | 30 #define PWS_VSCROLL 0x08000000L |
31 #define PWS_VISIBLE 0x04000000L | 31 #define PWS_VISIBLE 0x04000000L |
32 #define PWS_DISABLE 0x02000000L | 32 #define PWS_DISABLE 0x02000000L |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 nTransparency(255), | 211 nTransparency(255), |
212 fFontSize(PWL_DEFAULT_FONTSIZE), | 212 fFontSize(PWL_DEFAULT_FONTSIZE), |
213 sDash(3, 0, 0), | 213 sDash(3, 0, 0), |
214 pAttachedData(NULL), | 214 pAttachedData(NULL), |
215 pParentWnd(NULL), | 215 pParentWnd(NULL), |
216 pMsgControl(NULL), | 216 pMsgControl(NULL), |
217 eCursorType(FXCT_ARROW), | 217 eCursorType(FXCT_ARROW), |
218 mtChild(1, 0, 0, 1, 0, 0) {} | 218 mtChild(1, 0, 0, 1, 0, 0) {} |
219 | 219 |
220 CFX_FloatRect rcRectWnd; // required | 220 CFX_FloatRect rcRectWnd; // required |
221 IFX_SystemHandler* pSystemHandler; // required | 221 CFX_SystemHandler* pSystemHandler; // required |
222 IPVT_FontMap* pFontMap; // required for text window | 222 IPVT_FontMap* pFontMap; // required for text window |
223 IPWL_Provider* pProvider; // required for self coordinate | 223 IPWL_Provider* pProvider; // required for self coordinate |
224 IPWL_FocusHandler* pFocusHandler; // optional | 224 IPWL_FocusHandler* pFocusHandler; // optional |
225 uint32_t dwFlags; // optional | 225 uint32_t dwFlags; // optional |
226 CPWL_Color sBackgroundColor; // optional | 226 CPWL_Color sBackgroundColor; // optional |
227 FX_HWND hAttachedWnd; // required for no-reader framework | 227 FX_HWND hAttachedWnd; // required for no-reader framework |
228 int32_t nBorderStyle; // optional | 228 int32_t nBorderStyle; // optional |
229 int32_t dwBorderWidth; // optional | 229 int32_t dwBorderWidth; // optional |
230 CPWL_Color sBorderColor; // optional | 230 CPWL_Color sBorderColor; // optional |
231 CPWL_Color sTextColor; // optional | 231 CPWL_Color sTextColor; // optional |
232 CPWL_Color sTextStrokeColor; // optional | 232 CPWL_Color sTextStrokeColor; // optional |
233 int32_t nTransparency; // optional | 233 int32_t nTransparency; // optional |
234 FX_FLOAT fFontSize; // optional | 234 FX_FLOAT fFontSize; // optional |
235 CPWL_Dash sDash; // optional | 235 CPWL_Dash sDash; // optional |
236 void* pAttachedData; // optional | 236 void* pAttachedData; // optional |
237 CPWL_Wnd* pParentWnd; // ignore | 237 CPWL_Wnd* pParentWnd; // ignore |
238 CPWL_MsgControl* pMsgControl; // ignore | 238 CPWL_MsgControl* pMsgControl; // ignore |
239 int32_t eCursorType; // ignore | 239 int32_t eCursorType; // ignore |
240 CFX_Matrix mtChild; // ignore | 240 CFX_Matrix mtChild; // ignore |
241 }; | 241 }; |
242 | 242 |
243 class CPWL_Timer { | 243 class CPWL_Timer { |
244 public: | 244 public: |
245 CPWL_Timer(CPWL_TimerHandler* pAttached, IFX_SystemHandler* pSystemHandler); | 245 CPWL_Timer(CPWL_TimerHandler* pAttached, CFX_SystemHandler* pSystemHandler); |
246 virtual ~CPWL_Timer(); | 246 virtual ~CPWL_Timer(); |
247 | 247 |
248 int32_t SetPWLTimer(int32_t nElapse); | 248 int32_t SetPWLTimer(int32_t nElapse); |
249 void KillPWLTimer(); | 249 void KillPWLTimer(); |
250 static void TimerProc(int32_t idEvent); | 250 static void TimerProc(int32_t idEvent); |
251 | 251 |
252 private: | 252 private: |
253 int32_t m_nTimerID; | 253 int32_t m_nTimerID; |
254 CPWL_TimerHandler* m_pAttached; | 254 CPWL_TimerHandler* m_pAttached; |
255 IFX_SystemHandler* m_pSystemHandler; | 255 CFX_SystemHandler* m_pSystemHandler; |
256 }; | 256 }; |
257 | 257 |
258 class CPWL_TimerHandler { | 258 class CPWL_TimerHandler { |
259 public: | 259 public: |
260 CPWL_TimerHandler(); | 260 CPWL_TimerHandler(); |
261 virtual ~CPWL_TimerHandler(); | 261 virtual ~CPWL_TimerHandler(); |
262 | 262 |
263 void BeginTimer(int32_t nElapse); | 263 void BeginTimer(int32_t nElapse); |
264 void EndTimer(); | 264 void EndTimer(); |
265 virtual void TimerProc(); | 265 virtual void TimerProc(); |
266 virtual IFX_SystemHandler* GetSystemHandler() const = 0; | 266 virtual CFX_SystemHandler* GetSystemHandler() const = 0; |
267 | 267 |
268 private: | 268 private: |
269 CPWL_Timer* m_pTimer; | 269 CPWL_Timer* m_pTimer; |
270 }; | 270 }; |
271 | 271 |
272 class CPWL_Wnd : public CPWL_TimerHandler { | 272 class CPWL_Wnd : public CPWL_TimerHandler { |
273 friend class CPWL_MsgControl; | 273 friend class CPWL_MsgControl; |
274 | 274 |
275 public: | 275 public: |
276 CPWL_Wnd(); | 276 CPWL_Wnd(); |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 virtual FX_FLOAT GetItemHeight(FX_FLOAT fLimitWidth) { return 0; } | 375 virtual FX_FLOAT GetItemHeight(FX_FLOAT fLimitWidth) { return 0; } |
376 virtual FX_FLOAT GetItemLeftMargin() { return 0; } | 376 virtual FX_FLOAT GetItemLeftMargin() { return 0; } |
377 virtual FX_FLOAT GetItemRightMargin() { return 0; } | 377 virtual FX_FLOAT GetItemRightMargin() { return 0; } |
378 | 378 |
379 void EnableWindow(FX_BOOL bEnable); | 379 void EnableWindow(FX_BOOL bEnable); |
380 FX_BOOL IsEnabled(); | 380 FX_BOOL IsEnabled(); |
381 virtual void SetCursor(); | 381 virtual void SetCursor(); |
382 | 382 |
383 protected: | 383 protected: |
384 // CPWL_TimerHandler | 384 // CPWL_TimerHandler |
385 IFX_SystemHandler* GetSystemHandler() const override; | 385 CFX_SystemHandler* GetSystemHandler() const override; |
386 | 386 |
387 virtual void CreateChildWnd(const PWL_CREATEPARAM& cp); | 387 virtual void CreateChildWnd(const PWL_CREATEPARAM& cp); |
388 virtual void RePosChildWnd(); | 388 virtual void RePosChildWnd(); |
389 void GetAppearanceStream(CFX_ByteTextBuf& sAppStream); | 389 void GetAppearanceStream(CFX_ByteTextBuf& sAppStream); |
390 virtual void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream); | 390 virtual void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream); |
391 virtual void GetChildAppearanceStream(CFX_ByteTextBuf& sAppStream); | 391 virtual void GetChildAppearanceStream(CFX_ByteTextBuf& sAppStream); |
392 | 392 |
393 virtual void DrawThisAppearance(CFX_RenderDevice* pDevice, | 393 virtual void DrawThisAppearance(CFX_RenderDevice* pDevice, |
394 CFX_Matrix* pUser2Device); | 394 CFX_Matrix* pUser2Device); |
395 virtual void DrawChildAppearance(CFX_RenderDevice* pDevice, | 395 virtual void DrawChildAppearance(CFX_RenderDevice* pDevice, |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 CFX_FloatRect m_rcWindow; | 451 CFX_FloatRect m_rcWindow; |
452 CFX_FloatRect m_rcClip; | 452 CFX_FloatRect m_rcClip; |
453 | 453 |
454 FX_BOOL m_bCreated; | 454 FX_BOOL m_bCreated; |
455 FX_BOOL m_bVisible; | 455 FX_BOOL m_bVisible; |
456 FX_BOOL m_bNotifying; | 456 FX_BOOL m_bNotifying; |
457 FX_BOOL m_bEnabled; | 457 FX_BOOL m_bEnabled; |
458 }; | 458 }; |
459 | 459 |
460 #endif // FPDFSDK_PDFWINDOW_PWL_WND_H_ | 460 #endif // FPDFSDK_PDFWINDOW_PWL_WND_H_ |
OLD | NEW |