xref: /aosp_15_r20/external/pdfium/xfa/fxfa/cxfa_ffsignature.cpp (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1 // Copyright 2014 The PDFium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #include "xfa/fxfa/cxfa_ffsignature.h"
8 
9 #include "third_party/base/check.h"
10 #include "xfa/fxfa/cxfa_ffdoc.h"
11 #include "xfa/fxfa/cxfa_fffield.h"
12 #include "xfa/fxfa/cxfa_ffpageview.h"
13 #include "xfa/fxfa/cxfa_ffwidget.h"
14 #include "xfa/fxfa/parser/cxfa_border.h"
15 
CXFA_FFSignature(CXFA_Node * pNode)16 CXFA_FFSignature::CXFA_FFSignature(CXFA_Node* pNode) : CXFA_FFField(pNode) {}
17 
18 CXFA_FFSignature::~CXFA_FFSignature() = default;
19 
LoadWidget()20 bool CXFA_FFSignature::LoadWidget() {
21   DCHECK(!IsLoaded());
22   return CXFA_FFField::LoadWidget();
23 }
24 
RenderWidget(CFGAS_GEGraphics * pGS,const CFX_Matrix & matrix,HighlightOption highlight)25 void CXFA_FFSignature::RenderWidget(CFGAS_GEGraphics* pGS,
26                                     const CFX_Matrix& matrix,
27                                     HighlightOption highlight) {
28   if (!HasVisibleStatus())
29     return;
30 
31   CFX_Matrix mtRotate = GetRotateMatrix();
32   mtRotate.Concat(matrix);
33 
34   CXFA_FFWidget::RenderWidget(pGS, mtRotate, highlight);
35 
36   DrawBorder(pGS, m_pNode->GetUIBorder(), m_UIRect, mtRotate);
37   RenderCaption(pGS, mtRotate);
38   DrawHighlight(pGS, mtRotate, highlight, kSquareShape);
39 }
40 
OnMouseEnter()41 bool CXFA_FFSignature::OnMouseEnter() {
42   return false;
43 }
44 
OnMouseExit()45 bool CXFA_FFSignature::OnMouseExit() {
46   return false;
47 }
48 
AcceptsFocusOnButtonDown(Mask<XFA_FWL_KeyFlag> dwFlags,const CFX_PointF & point,CFWL_MessageMouse::MouseCommand command)49 bool CXFA_FFSignature::AcceptsFocusOnButtonDown(
50     Mask<XFA_FWL_KeyFlag> dwFlags,
51     const CFX_PointF& point,
52     CFWL_MessageMouse::MouseCommand command) {
53   return false;
54 }
55 
OnLButtonDown(Mask<XFA_FWL_KeyFlag> dwFlags,const CFX_PointF & point)56 bool CXFA_FFSignature::OnLButtonDown(Mask<XFA_FWL_KeyFlag> dwFlags,
57                                      const CFX_PointF& point) {
58   return false;
59 }
60 
OnLButtonUp(Mask<XFA_FWL_KeyFlag> dwFlags,const CFX_PointF & point)61 bool CXFA_FFSignature::OnLButtonUp(Mask<XFA_FWL_KeyFlag> dwFlags,
62                                    const CFX_PointF& point) {
63   return false;
64 }
65 
OnLButtonDblClk(Mask<XFA_FWL_KeyFlag> dwFlags,const CFX_PointF & point)66 bool CXFA_FFSignature::OnLButtonDblClk(Mask<XFA_FWL_KeyFlag> dwFlags,
67                                        const CFX_PointF& point) {
68   return false;
69 }
70 
OnMouseMove(Mask<XFA_FWL_KeyFlag> dwFlags,const CFX_PointF & point)71 bool CXFA_FFSignature::OnMouseMove(Mask<XFA_FWL_KeyFlag> dwFlags,
72                                    const CFX_PointF& point) {
73   return false;
74 }
75 
OnMouseWheel(Mask<XFA_FWL_KeyFlag> dwFlags,const CFX_PointF & point,const CFX_Vector & delta)76 bool CXFA_FFSignature::OnMouseWheel(Mask<XFA_FWL_KeyFlag> dwFlags,
77                                     const CFX_PointF& point,
78                                     const CFX_Vector& delta) {
79   return false;
80 }
81 
OnRButtonDown(Mask<XFA_FWL_KeyFlag> dwFlags,const CFX_PointF & point)82 bool CXFA_FFSignature::OnRButtonDown(Mask<XFA_FWL_KeyFlag> dwFlags,
83                                      const CFX_PointF& point) {
84   return false;
85 }
86 
OnRButtonUp(Mask<XFA_FWL_KeyFlag> dwFlags,const CFX_PointF & point)87 bool CXFA_FFSignature::OnRButtonUp(Mask<XFA_FWL_KeyFlag> dwFlags,
88                                    const CFX_PointF& point) {
89   return false;
90 }
91 
OnRButtonDblClk(Mask<XFA_FWL_KeyFlag> dwFlags,const CFX_PointF & point)92 bool CXFA_FFSignature::OnRButtonDblClk(Mask<XFA_FWL_KeyFlag> dwFlags,
93                                        const CFX_PointF& point) {
94   return false;
95 }
96 
OnKeyDown(XFA_FWL_VKEYCODE dwKeyCode,Mask<XFA_FWL_KeyFlag> dwFlags)97 bool CXFA_FFSignature::OnKeyDown(XFA_FWL_VKEYCODE dwKeyCode,
98                                  Mask<XFA_FWL_KeyFlag> dwFlags) {
99   return false;
100 }
101 
OnChar(uint32_t nChar,Mask<XFA_FWL_KeyFlag> dwFlags)102 bool CXFA_FFSignature::OnChar(uint32_t nChar, Mask<XFA_FWL_KeyFlag> dwFlags) {
103   return false;
104 }
105 
HitTest(const CFX_PointF & point)106 FWL_WidgetHit CXFA_FFSignature::HitTest(const CFX_PointF& point) {
107   auto* pNorm = GetNormalWidget();
108   if (pNorm && pNorm->HitTest(FWLToClient(point)) != FWL_WidgetHit::Unknown)
109     return FWL_WidgetHit::Client;
110   if (!GetRectWithoutRotate().Contains(point))
111     return FWL_WidgetHit::Unknown;
112   if (m_CaptionRect.Contains(point))
113     return FWL_WidgetHit::Titlebar;
114   return FWL_WidgetHit::Client;
115 }
116 
GetFormFieldType()117 FormFieldType CXFA_FFSignature::GetFormFieldType() {
118   return FormFieldType::kXFA_Signature;
119 }
120