Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
cffl_button.cpp
Go to the documentation of this file.
1
// Copyright 2017 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
"fpdfsdk/formfiller/cffl_button.h"
8
9
#
include
"core/fxcrt/check.h"
10
#
include
"fpdfsdk/cpdfsdk_widget.h"
11
12
CFFL_Button
::
CFFL_Button
(CFFL_InteractiveFormFiller* pFormFiller,
13
CPDFSDK_Widget* pWidget)
14
:
CFFL_FormField
(
pFormFiller
,
pWidget
)
{}
15
16
CFFL_Button
::~
CFFL_Button
() =
default
;
17
18
void
CFFL_Button
::
OnMouseEnter
(CPDFSDK_PageView* pPageView) {
19
m_bMouseIn =
true
;
20
InvalidateRect
(
GetViewBBox
(pPageView)
)
;
21
}
22
23
void
CFFL_Button
::
OnMouseExit
(CPDFSDK_PageView* pPageView) {
24
m_bMouseIn =
false
;
25
InvalidateRect
(
GetViewBBox
(pPageView)
)
;
26
m_pTimer.reset();
27
DCHECK
(m_pWidget);
28
}
29
30
bool
CFFL_Button
::
OnLButtonDown
(CPDFSDK_PageView* pPageView,
31
CPDFSDK_Widget* pWidget,
32
Mask
<FWL_EVENTFLAG> nFlags,
33
const
CFX_PointF
& point) {
34
if
(!pWidget
->
GetRect
().Contains(point))
35
return
false
;
36
37
m_bMouseDown =
true
;
38
m_bValid =
true
;
39
InvalidateRect
(
GetViewBBox
(pPageView)
)
;
40
return
true
;
41
}
42
43
bool
CFFL_Button
::
OnLButtonUp
(CPDFSDK_PageView* pPageView,
44
CPDFSDK_Widget* pWidget,
45
Mask
<FWL_EVENTFLAG> nFlags,
46
const
CFX_PointF
& point) {
47
if
(!pWidget
->
GetRect
().Contains(point))
48
return
false
;
49
50
m_bMouseDown =
false
;
51
InvalidateRect
(
GetViewBBox
(pPageView)
)
;
52
return
true
;
53
}
54
55
bool
CFFL_Button
::
OnMouseMove
(CPDFSDK_PageView* pPageView,
56
Mask
<FWL_EVENTFLAG> nFlags,
57
const
CFX_PointF
& point) {
58
return
true
;
59
}
60
61
void
CFFL_Button
::
OnDraw
(CPDFSDK_PageView* pPageView,
62
CPDFSDK_Widget* pWidget,
63
CFX_RenderDevice
* pDevice,
64
const
CFX_Matrix
& mtUser2Device) {
65
DCHECK
(pPageView);
66
if
(!pWidget
->
IsPushHighlighted
(
)
) {
67
pWidget
->
DrawAppearance
(
pDevice
,
mtUser2Device
,
68
CPDF_Annot
::
AppearanceMode
::
kNormal
)
;
69
return
;
70
}
71
if
(m_bMouseDown) {
72
if
(pWidget
->
IsWidgetAppearanceValid
(
CPDF_Annot
::
AppearanceMode
::
kDown
)
) {
73
pWidget
->
DrawAppearance
(
pDevice
,
mtUser2Device
,
74
CPDF_Annot
::
AppearanceMode
::
kDown
)
;
75
}
else
{
76
pWidget
->
DrawAppearance
(
pDevice
,
mtUser2Device
,
77
CPDF_Annot
::
AppearanceMode
::
kNormal
)
;
78
}
79
return
;
80
}
81
if
(m_bMouseIn) {
82
if
(pWidget
->
IsWidgetAppearanceValid
(
83
CPDF_Annot
::
AppearanceMode
::
kRollover
)
) {
84
pWidget
->
DrawAppearance
(
pDevice
,
mtUser2Device
,
85
CPDF_Annot
::
AppearanceMode
::
kRollover
)
;
86
}
else
{
87
pWidget
->
DrawAppearance
(
pDevice
,
mtUser2Device
,
88
CPDF_Annot
::
AppearanceMode
::
kNormal
)
;
89
}
90
return
;
91
}
92
93
pWidget
->
DrawAppearance
(
pDevice
,
mtUser2Device
,
94
CPDF_Annot
::
AppearanceMode
::
kNormal
)
;
95
}
96
97
void
CFFL_Button
::
OnDrawDeactive
(CPDFSDK_PageView* pPageView,
98
CPDFSDK_Widget* pWidget,
99
CFX_RenderDevice
* pDevice,
100
const
CFX_Matrix
& mtUser2Device) {
101
OnDraw
(
pPageView
,
pWidget
,
pDevice
,
mtUser2Device
)
;
102
}
DCHECK
#define DCHECK
Definition
check.h:33
CFFL_Button
Definition
cffl_button.h:18
CFFL_Button::OnMouseEnter
void OnMouseEnter(CPDFSDK_PageView *pPageView) override
Definition
cffl_button.cpp:18
CFFL_Button::OnLButtonDown
bool OnLButtonDown(CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pWidget, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point) override
Definition
cffl_button.cpp:30
CFFL_Button::OnMouseMove
bool OnMouseMove(CPDFSDK_PageView *pPageView, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point) override
Definition
cffl_button.cpp:55
CFFL_Button::CFFL_Button
CFFL_Button(CFFL_InteractiveFormFiller *pFormFiller, CPDFSDK_Widget *pWidget)
Definition
cffl_button.cpp:12
CFFL_Button::~CFFL_Button
~CFFL_Button() override
CFFL_Button::OnDrawDeactive
void OnDrawDeactive(CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pWidget, CFX_RenderDevice *pDevice, const CFX_Matrix &mtUser2Device) override
Definition
cffl_button.cpp:97
CFFL_Button::OnMouseExit
void OnMouseExit(CPDFSDK_PageView *pPageView) override
Definition
cffl_button.cpp:23
CFFL_Button::OnLButtonUp
bool OnLButtonUp(CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pWidget, Mask< FWL_EVENTFLAG > nFlags, const CFX_PointF &point) override
Definition
cffl_button.cpp:43
CFFL_Button::OnDraw
void OnDraw(CPDFSDK_PageView *pPageView, CPDFSDK_Widget *pWidget, CFX_RenderDevice *pDevice, const CFX_Matrix &mtUser2Device) override
Definition
cffl_button.cpp:61
CFFL_FormField
Definition
cffl_formfield.h:27
CFFL_FormField::InvalidateRect
void InvalidateRect(const FX_RECT &rect)
Definition
cffl_formfield.cpp:588
CFFL_FormField::CFFL_FormField
CFFL_FormField(CFFL_InteractiveFormFiller *pFormFiller, CPDFSDK_Widget *pWidget)
Definition
cffl_formfield.cpp:19
CFFL_FormField::GetViewBBox
FX_RECT GetViewBBox(const CPDFSDK_PageView *pPageView)
Definition
cffl_formfield.cpp:39
CFX_Matrix
Definition
fx_coordinates.h:440
CFX_RenderDevice
Definition
cfx_renderdevice.h:39
CPDFSDK_BAAnnot::GetRect
CFX_FloatRect GetRect() const override
Definition
cpdfsdk_baannot.cpp:70
CPDFSDK_Widget::IsWidgetAppearanceValid
bool IsWidgetAppearanceValid(CPDF_Annot::AppearanceMode mode) const
Definition
cpdfsdk_widget.cpp:341
CPDFSDK_Widget::DrawAppearance
void DrawAppearance(CFX_RenderDevice *pDevice, const CFX_Matrix &mtUser2Device, CPDF_Annot::AppearanceMode mode) override
Definition
cpdfsdk_widget.cpp:909
CPDFSDK_Widget::IsPushHighlighted
bool IsPushHighlighted() const
Definition
cpdfsdk_widget.cpp:381
CPDF_Annot
Definition
cpdf_annot.h:32
CPDF_Annot::AppearanceMode
AppearanceMode
Definition
cpdf_annot.h:34
CPDF_Annot::AppearanceMode::kNormal
@ kNormal
Definition
cpdf_annot.h:34
CPDF_Annot::AppearanceMode::kDown
@ kDown
Definition
cpdf_annot.h:34
CPDF_Annot::AppearanceMode::kRollover
@ kRollover
Definition
cpdf_annot.h:34
fxcrt::Mask
Definition
mask.h:15
CFX_PointF
CFX_PTemplate< float > CFX_PointF
Definition
fx_coordinates.h:51
qtwebengine
src
3rdparty
chromium
third_party
pdfium
fpdfsdk
formfiller
cffl_button.cpp
Generated on
for Qt by
1.18.0