Replace XFA_HWIDGET with IXFA_Widget*
[pdfium.git] / xfa / src / fxfa / src / app / xfa_ffsignature.cpp
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #include "../../../foxitlib.h"\r
8 #include "../common/xfa_common.h"\r
9 #include "xfa_ffwidget.h"\r
10 #include "xfa_fffield.h"\r
11 #include "xfa_ffpageview.h"\r
12 #include "xfa_ffsignature.h"\r
13 #include "xfa_ffdoc.h"\r
14 CXFA_FFSignature::CXFA_FFSignature(CXFA_FFPageView* pPageView, CXFA_WidgetAcc* pDataAcc)\r
15     : CXFA_FFField(pPageView, pDataAcc)\r
16 {\r
17 }\r
18 CXFA_FFSignature::~CXFA_FFSignature()\r
19 {\r
20 }\r
21 FX_BOOL CXFA_FFSignature::LoadWidget()\r
22 {\r
23     return CXFA_FFField::LoadWidget();\r
24 }\r
25 void CXFA_FFSignature::RenderWidget(CFX_Graphics* pGS, CFX_Matrix* pMatrix , FX_DWORD dwStatus , FX_INT32 iRotate )\r
26 {\r
27     if (!IsMatchVisibleStatus(dwStatus)) {\r
28         return;\r
29     }\r
30     CFX_Matrix mtRotate;\r
31     GetRotateMatrix(mtRotate);\r
32     if (pMatrix) {\r
33         mtRotate.Concat(*pMatrix);\r
34     }\r
35     CXFA_FFWidget::RenderWidget(pGS, &mtRotate, dwStatus);\r
36     CXFA_Border borderUI = m_pDataAcc->GetUIBorder();\r
37     DrawBorder(pGS, borderUI, m_rtUI, &mtRotate);\r
38     RenderCaption(pGS, &mtRotate);\r
39     DrawHighlight(pGS, &mtRotate, dwStatus, FALSE);\r
40     CFX_RectF rtWidget = m_rtUI;\r
41     IXFA_DocProvider* pDocProvider =  m_pDataAcc->GetDoc()->GetDocProvider();\r
42     FXSYS_assert(pDocProvider);\r
43     pDocProvider->RenderCustomWidget(this, pGS, &mtRotate, rtWidget);\r
44 }\r
45 FX_BOOL CXFA_FFSignature::OnMouseEnter()\r
46 {\r
47     return FALSE;\r
48 }\r
49 FX_BOOL CXFA_FFSignature::OnMouseExit()\r
50 {\r
51     return FALSE;\r
52 }\r
53 FX_BOOL CXFA_FFSignature::OnLButtonDown(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy)\r
54 {\r
55     return FALSE;\r
56 }\r
57 FX_BOOL CXFA_FFSignature::OnLButtonUp(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy)\r
58 {\r
59     return FALSE;\r
60 }\r
61 FX_BOOL CXFA_FFSignature::OnLButtonDblClk(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy)\r
62 {\r
63     return FALSE;\r
64 }\r
65 FX_BOOL CXFA_FFSignature::OnMouseMove(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy)\r
66 {\r
67     return FALSE;\r
68 }\r
69 FX_BOOL CXFA_FFSignature::OnMouseWheel(FX_DWORD dwFlags, FX_SHORT zDelta, FX_FLOAT fx, FX_FLOAT fy)\r
70 {\r
71     return FALSE;\r
72 }\r
73 FX_BOOL CXFA_FFSignature::OnRButtonDown(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy)\r
74 {\r
75     return FALSE;\r
76 }\r
77 FX_BOOL CXFA_FFSignature::OnRButtonUp(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy)\r
78 {\r
79     return FALSE;\r
80 }\r
81 FX_BOOL CXFA_FFSignature::OnRButtonDblClk(FX_DWORD dwFlags, FX_FLOAT fx, FX_FLOAT fy)\r
82 {\r
83     return FALSE;\r
84 }\r
85 \r
86 FX_BOOL CXFA_FFSignature::OnSetFocus()\r
87 {\r
88     return FALSE;\r
89 }\r
90 FX_BOOL CXFA_FFSignature::OnKillFocus()\r
91 {\r
92     return FALSE;\r
93 }\r
94 FX_BOOL CXFA_FFSignature::OnKeyDown(FX_DWORD dwKeyCode, FX_DWORD dwFlags)\r
95 {\r
96     return FALSE;\r
97 }\r
98 FX_BOOL CXFA_FFSignature::OnKeyUp(FX_DWORD dwKeyCode, FX_DWORD dwFlags)\r
99 {\r
100     return FALSE;\r
101 }\r
102 FX_BOOL CXFA_FFSignature::OnChar(FX_DWORD dwChar, FX_DWORD dwFlags)\r
103 {\r
104     return FALSE;\r
105 }\r
106 FX_DWORD CXFA_FFSignature::OnHitTest(FX_FLOAT fx, FX_FLOAT fy)\r
107 {\r
108     if (m_pNormalWidget) {\r
109         FX_FLOAT ffx = fx, ffy = fy;\r
110         FWLToClient(ffx, ffy);\r
111         FX_DWORD dwWidgetHit = m_pNormalWidget->HitTest(ffx, ffy);\r
112         if (dwWidgetHit != FWL_WGTHITTEST_Unknown) {\r
113             return FWL_WGTHITTEST_Client;\r
114         }\r
115     }\r
116     CFX_RectF rtBox;\r
117     GetRectWithoutRotate(rtBox);\r
118     if (!rtBox.Contains(fx, fy)) {\r
119         return FWL_WGTHITTEST_Unknown;\r
120     }\r
121     if (m_rtCaption.Contains(fx, fy)) {\r
122         return FWL_WGTHITTEST_Titlebar;\r
123     }\r
124     return FWL_WGTHITTEST_Client;\r
125 }\r
126 FX_BOOL CXFA_FFSignature::OnSetCursor(FX_FLOAT fx, FX_FLOAT fy)\r
127 {\r
128     return FALSE;\r
129 }\r