Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(299)

Side by Side Diff: fpdfsdk/include/cpdfsdk_annothandlermgr.h

Issue 2368403002: Watch destruction of widgets around OnAAction() method (Closed)
Patch Set: blown merge Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp ('k') | fpdfsdk/include/cpdfsdk_baannothandler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 PDFium Authors. All rights reserved. 1 // Copyright 2016 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_CPDFSDK_ANNOTHANDLERMGR_H_ 7 #ifndef FPDFSDK_INCLUDE_CPDFSDK_ANNOTHANDLERMGR_H_
8 #define FPDFSDK_INCLUDE_CPDFSDK_ANNOTHANDLERMGR_H_ 8 #define FPDFSDK_INCLUDE_CPDFSDK_ANNOTHANDLERMGR_H_
9 9
10 #include <map> 10 #include <map>
11 #include <memory> 11 #include <memory>
12 12
13 #include "core/fpdfdoc/include/cpdf_annot.h" 13 #include "core/fpdfdoc/include/cpdf_annot.h"
14 #include "core/fxcrt/include/fx_basic.h" 14 #include "core/fxcrt/include/fx_basic.h"
15 #include "core/fxcrt/include/fx_coordinates.h" 15 #include "core/fxcrt/include/fx_coordinates.h"
16 #include "fpdfsdk/include/cpdfsdk_annot.h"
16 17
17 class CFX_Matrix; 18 class CFX_Matrix;
18 class CFX_RenderDevice; 19 class CFX_RenderDevice;
19 class CPDFSDK_Environment; 20 class CPDFSDK_Environment;
20 class CPDFSDK_Annot;
21 class CPDFSDK_BAAnnotHandler; 21 class CPDFSDK_BAAnnotHandler;
22 class CPDFSDK_WidgetHandler; 22 class CPDFSDK_WidgetHandler;
23 class CPDFSDK_PageView; 23 class CPDFSDK_PageView;
24 class IPDFSDK_AnnotHandler; 24 class IPDFSDK_AnnotHandler;
25 25
26 #ifdef PDF_ENABLE_XFA 26 #ifdef PDF_ENABLE_XFA
27 class CPDFSDK_XFAWidgetHandler; 27 class CPDFSDK_XFAWidgetHandler;
28 class CXFA_FFWidget; 28 class CXFA_FFWidget;
29 #endif // PDF_ENABLE_XFA 29 #endif // PDF_ENABLE_XFA
30 30
(...skipping 12 matching lines...) Expand all
43 void Annot_OnLoad(CPDFSDK_Annot* pAnnot); 43 void Annot_OnLoad(CPDFSDK_Annot* pAnnot);
44 44
45 IPDFSDK_AnnotHandler* GetAnnotHandler(CPDFSDK_Annot* pAnnot) const; 45 IPDFSDK_AnnotHandler* GetAnnotHandler(CPDFSDK_Annot* pAnnot) const;
46 void Annot_OnDraw(CPDFSDK_PageView* pPageView, 46 void Annot_OnDraw(CPDFSDK_PageView* pPageView,
47 CPDFSDK_Annot* pAnnot, 47 CPDFSDK_Annot* pAnnot,
48 CFX_RenderDevice* pDevice, 48 CFX_RenderDevice* pDevice,
49 CFX_Matrix* pUser2Device, 49 CFX_Matrix* pUser2Device,
50 bool bDrawAnnots); 50 bool bDrawAnnots);
51 51
52 void Annot_OnMouseEnter(CPDFSDK_PageView* pPageView, 52 void Annot_OnMouseEnter(CPDFSDK_PageView* pPageView,
53 CPDFSDK_Annot* pAnnot, 53 CPDFSDK_Annot::ObservedPtr* pAnnot,
54 uint32_t nFlags); 54 uint32_t nFlags);
55 void Annot_OnMouseExit(CPDFSDK_PageView* pPageView, 55 void Annot_OnMouseExit(CPDFSDK_PageView* pPageView,
56 CPDFSDK_Annot* pAnnot, 56 CPDFSDK_Annot::ObservedPtr* pAnnot,
57 uint32_t nFlags); 57 uint32_t nFlags);
58 FX_BOOL Annot_OnLButtonDown(CPDFSDK_PageView* pPageView, 58 FX_BOOL Annot_OnLButtonDown(CPDFSDK_PageView* pPageView,
59 CPDFSDK_Annot* pAnnot, 59 CPDFSDK_Annot::ObservedPtr* pAnnot,
60 uint32_t nFlags, 60 uint32_t nFlags,
61 const CFX_FloatPoint& point); 61 const CFX_FloatPoint& point);
62 FX_BOOL Annot_OnLButtonUp(CPDFSDK_PageView* pPageView, 62 FX_BOOL Annot_OnLButtonUp(CPDFSDK_PageView* pPageView,
63 CPDFSDK_Annot* pAnnot, 63 CPDFSDK_Annot::ObservedPtr* pAnnot,
64 uint32_t nFlags, 64 uint32_t nFlags,
65 const CFX_FloatPoint& point); 65 const CFX_FloatPoint& point);
66 FX_BOOL Annot_OnLButtonDblClk(CPDFSDK_PageView* pPageView, 66 FX_BOOL Annot_OnLButtonDblClk(CPDFSDK_PageView* pPageView,
67 CPDFSDK_Annot* pAnnot, 67 CPDFSDK_Annot::ObservedPtr* pAnnot,
68 uint32_t nFlags, 68 uint32_t nFlags,
69 const CFX_FloatPoint& point); 69 const CFX_FloatPoint& point);
70 FX_BOOL Annot_OnMouseMove(CPDFSDK_PageView* pPageView, 70 FX_BOOL Annot_OnMouseMove(CPDFSDK_PageView* pPageView,
71 CPDFSDK_Annot* pAnnot, 71 CPDFSDK_Annot::ObservedPtr* pAnnot,
72 uint32_t nFlags, 72 uint32_t nFlags,
73 const CFX_FloatPoint& point); 73 const CFX_FloatPoint& point);
74 FX_BOOL Annot_OnMouseWheel(CPDFSDK_PageView* pPageView, 74 FX_BOOL Annot_OnMouseWheel(CPDFSDK_PageView* pPageView,
75 CPDFSDK_Annot* pAnnot, 75 CPDFSDK_Annot::ObservedPtr* pAnnot,
76 uint32_t nFlags, 76 uint32_t nFlags,
77 short zDelta, 77 short zDelta,
78 const CFX_FloatPoint& point); 78 const CFX_FloatPoint& point);
79 FX_BOOL Annot_OnRButtonDown(CPDFSDK_PageView* pPageView, 79 FX_BOOL Annot_OnRButtonDown(CPDFSDK_PageView* pPageView,
80 CPDFSDK_Annot* pAnnot, 80 CPDFSDK_Annot::ObservedPtr* pAnnot,
81 uint32_t nFlags, 81 uint32_t nFlags,
82 const CFX_FloatPoint& point); 82 const CFX_FloatPoint& point);
83 FX_BOOL Annot_OnRButtonUp(CPDFSDK_PageView* pPageView, 83 FX_BOOL Annot_OnRButtonUp(CPDFSDK_PageView* pPageView,
84 CPDFSDK_Annot* pAnnot, 84 CPDFSDK_Annot::ObservedPtr* pAnnot,
85 uint32_t nFlags, 85 uint32_t nFlags,
86 const CFX_FloatPoint& point); 86 const CFX_FloatPoint& point);
87 FX_BOOL Annot_OnChar(CPDFSDK_Annot* pAnnot, uint32_t nChar, uint32_t nFlags); 87 FX_BOOL Annot_OnChar(CPDFSDK_Annot* pAnnot, uint32_t nChar, uint32_t nFlags);
88 FX_BOOL Annot_OnKeyDown(CPDFSDK_Annot* pAnnot, int nKeyCode, int nFlag); 88 FX_BOOL Annot_OnKeyDown(CPDFSDK_Annot* pAnnot, int nKeyCode, int nFlag);
89 FX_BOOL Annot_OnKeyUp(CPDFSDK_Annot* pAnnot, int nKeyCode, int nFlag); 89 FX_BOOL Annot_OnKeyUp(CPDFSDK_Annot* pAnnot, int nKeyCode, int nFlag);
90 90
91 FX_BOOL Annot_OnSetFocus(CPDFSDK_Annot* pAnnot, uint32_t nFlag); 91 FX_BOOL Annot_OnSetFocus(CPDFSDK_Annot::ObservedPtr* pAnnot, uint32_t nFlag);
92 FX_BOOL Annot_OnKillFocus(CPDFSDK_Annot* pAnnot, uint32_t nFlag); 92 FX_BOOL Annot_OnKillFocus(CPDFSDK_Annot::ObservedPtr* pAnnot, uint32_t nFlag);
93 93
94 #ifdef PDF_ENABLE_XFA 94 #ifdef PDF_ENABLE_XFA
95 FX_BOOL Annot_OnChangeFocus(CPDFSDK_Annot* pSetAnnot, 95 FX_BOOL Annot_OnChangeFocus(CPDFSDK_Annot::ObservedPtr* pSetAnnot,
96 CPDFSDK_Annot* pKillAnnot); 96 CPDFSDK_Annot::ObservedPtr* pKillAnnot);
97 #endif // PDF_ENABLE_XFA 97 #endif // PDF_ENABLE_XFA
98 98
99 CFX_FloatRect Annot_OnGetViewBBox(CPDFSDK_PageView* pPageView, 99 CFX_FloatRect Annot_OnGetViewBBox(CPDFSDK_PageView* pPageView,
100 CPDFSDK_Annot* pAnnot); 100 CPDFSDK_Annot* pAnnot);
101 FX_BOOL Annot_OnHitTest(CPDFSDK_PageView* pPageView, 101 FX_BOOL Annot_OnHitTest(CPDFSDK_PageView* pPageView,
102 CPDFSDK_Annot* pAnnot, 102 CPDFSDK_Annot* pAnnot,
103 const CFX_FloatPoint& point); 103 const CFX_FloatPoint& point);
104 104
105 private: 105 private:
106 IPDFSDK_AnnotHandler* GetAnnotHandler(CPDF_Annot::Subtype nSubtype) const; 106 IPDFSDK_AnnotHandler* GetAnnotHandler(CPDF_Annot::Subtype nSubtype) const;
107 CPDFSDK_Annot* GetNextAnnot(CPDFSDK_Annot* pSDKAnnot, FX_BOOL bNext); 107 CPDFSDK_Annot* GetNextAnnot(CPDFSDK_Annot* pSDKAnnot, FX_BOOL bNext);
108 108
109 std::unique_ptr<CPDFSDK_BAAnnotHandler> m_pBAAnnotHandler; 109 std::unique_ptr<CPDFSDK_BAAnnotHandler> m_pBAAnnotHandler;
110 std::unique_ptr<CPDFSDK_WidgetHandler> m_pWidgetHandler; 110 std::unique_ptr<CPDFSDK_WidgetHandler> m_pWidgetHandler;
111 #ifdef PDF_ENABLE_XFA 111 #ifdef PDF_ENABLE_XFA
112 std::unique_ptr<CPDFSDK_XFAWidgetHandler> m_pXFAWidgetHandler; 112 std::unique_ptr<CPDFSDK_XFAWidgetHandler> m_pXFAWidgetHandler;
113 #endif // PDF_ENABLE_XFA 113 #endif // PDF_ENABLE_XFA
114 114
115 CPDFSDK_Environment* m_pEnv; 115 CPDFSDK_Environment* m_pEnv;
116 }; 116 };
117 117
118 #endif // FPDFSDK_INCLUDE_CPDFSDK_ANNOTHANDLERMGR_H_ 118 #endif // FPDFSDK_INCLUDE_CPDFSDK_ANNOTHANDLERMGR_H_
OLDNEW
« no previous file with comments | « fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp ('k') | fpdfsdk/include/cpdfsdk_baannothandler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698