Add type cast definitions for CPDF_Boolean.
[pdfium.git] / fpdfsdk / src / pdfwindow / PWL_SpecialButton.cpp
1 // Copyright 2014 PDFium Authors. All rights reserved.
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 "../../include/pdfwindow/PDFWindow.h"
8 #include "../../include/pdfwindow/PWL_Wnd.h"
9 #include "../../include/pdfwindow/PWL_Button.h"
10 #include "../../include/pdfwindow/PWL_SpecialButton.h"
11 #include "../../include/pdfwindow/PWL_Utils.h"
12
13 /* --------------------------- CPWL_PushButton ---------------------------- */
14
15 CPWL_PushButton::CPWL_PushButton() {}
16
17 CPWL_PushButton::~CPWL_PushButton() {}
18
19 CFX_ByteString CPWL_PushButton::GetClassName() const {
20   return "CPWL_PushButton";
21 }
22
23 CPDF_Rect CPWL_PushButton::GetFocusRect() const {
24   return CPWL_Utils::DeflateRect(GetWindowRect(), (FX_FLOAT)GetBorderWidth());
25 }
26
27 /* --------------------------- CPWL_CheckBox ---------------------------- */
28
29 CPWL_CheckBox::CPWL_CheckBox() : m_bChecked(FALSE) {}
30
31 CPWL_CheckBox::~CPWL_CheckBox() {}
32
33 CFX_ByteString CPWL_CheckBox::GetClassName() const {
34   return "CPWL_CheckBox";
35 }
36
37 void CPWL_CheckBox::SetCheck(FX_BOOL bCheck) {
38   m_bChecked = bCheck;
39 }
40
41 FX_BOOL CPWL_CheckBox::IsChecked() const {
42   return m_bChecked;
43 }
44
45 FX_BOOL CPWL_CheckBox::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
46   if (IsReadOnly())
47     return FALSE;
48
49   SetCheck(!IsChecked());
50   return TRUE;
51 }
52
53 FX_BOOL CPWL_CheckBox::OnChar(FX_WORD nChar, FX_DWORD nFlag) {
54   SetCheck(!IsChecked());
55   return TRUE;
56 }
57
58 /* --------------------------- CPWL_RadioButton ---------------------------- */
59
60 CPWL_RadioButton::CPWL_RadioButton() : m_bChecked(FALSE) {}
61
62 CPWL_RadioButton::~CPWL_RadioButton() {}
63
64 CFX_ByteString CPWL_RadioButton::GetClassName() const {
65   return "CPWL_RadioButton";
66 }
67
68 FX_BOOL CPWL_RadioButton::OnLButtonUp(const CPDF_Point& point, FX_DWORD nFlag) {
69   if (IsReadOnly())
70     return FALSE;
71
72   SetCheck(TRUE);
73   return TRUE;
74 }
75
76 void CPWL_RadioButton::SetCheck(FX_BOOL bCheck) {
77   m_bChecked = bCheck;
78 }
79
80 FX_BOOL CPWL_RadioButton::IsChecked() const {
81   return m_bChecked;
82 }
83
84 FX_BOOL CPWL_RadioButton::OnChar(FX_WORD nChar, FX_DWORD nFlag) {
85   SetCheck(TRUE);
86   return TRUE;
87 }