OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "xfa/fwl/theme/cfwl_pushbuttontp.h" | 7 #include "xfa/fwl/theme/cfwl_pushbuttontp.h" |
8 | 8 |
9 #include "xfa/fwl/basewidget/ifwl_pushbutton.h" | 9 #include "xfa/fwl/basewidget/ifwl_pushbutton.h" |
10 #include "xfa/fwl/core/cfwl_themebackground.h" | 10 #include "xfa/fwl/core/cfwl_themebackground.h" |
11 #include "xfa/fwl/core/ifwl_themeprovider.h" | 11 #include "xfa/fwl/core/ifwl_themeprovider.h" |
12 #include "xfa/fwl/core/ifwl_widget.h" | 12 #include "xfa/fwl/core/ifwl_widget.h" |
13 #include "xfa/fxgraphics/cfx_color.h" | 13 #include "xfa/fxgraphics/cfx_color.h" |
14 #include "xfa/fxgraphics/cfx_path.h" | 14 #include "xfa/fxgraphics/cfx_path.h" |
15 | 15 |
16 #define PUSHBUTTON_SIZE_Corner 2 | 16 #define PUSHBUTTON_SIZE_Corner 2 |
17 | 17 |
18 CFWL_PushButtonTP::CFWL_PushButtonTP() : m_pThemeData(new PBThemeData) { | 18 CFWL_PushButtonTP::CFWL_PushButtonTP() : m_pThemeData(new PBThemeData) { |
19 SetThemeData(0); | 19 SetThemeData(0); |
20 } | 20 } |
21 | 21 |
22 CFWL_PushButtonTP::~CFWL_PushButtonTP() { | 22 CFWL_PushButtonTP::~CFWL_PushButtonTP() {} |
23 delete m_pThemeData; | |
24 } | |
25 | 23 |
26 bool CFWL_PushButtonTP::IsValidWidget(IFWL_Widget* pWidget) { | 24 bool CFWL_PushButtonTP::IsValidWidget(IFWL_Widget* pWidget) { |
27 return pWidget && pWidget->GetClassID() == FWL_Type::PushButton; | 25 return pWidget && pWidget->GetClassID() == FWL_Type::PushButton; |
28 } | 26 } |
29 uint32_t CFWL_PushButtonTP::SetThemeID(IFWL_Widget* pWidget, | 27 uint32_t CFWL_PushButtonTP::SetThemeID(IFWL_Widget* pWidget, |
30 uint32_t dwThemeID, | 28 uint32_t dwThemeID, |
31 FX_BOOL bChildren) { | 29 FX_BOOL bChildren) { |
32 SetThemeData(FWL_GetThemeColor(dwThemeID)); | 30 SetThemeData(FWL_GetThemeColor(dwThemeID)); |
33 return CFWL_WidgetTP::SetThemeID(pWidget, dwThemeID, bChildren); | 31 return CFWL_WidgetTP::SetThemeID(pWidget, dwThemeID, bChildren); |
34 } | 32 } |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 m_pThemeData->clrEnd[2] = ArgbEncode(255, 229, 151, 0); | 146 m_pThemeData->clrEnd[2] = ArgbEncode(255, 229, 151, 0); |
149 m_pThemeData->clrEnd[3] = ArgbEncode(255, 105, 130, 238); | 147 m_pThemeData->clrEnd[3] = ArgbEncode(255, 105, 130, 238); |
150 m_pThemeData->clrEnd[4] = ArgbEncode(255, 245, 244, 234); | 148 m_pThemeData->clrEnd[4] = ArgbEncode(255, 245, 244, 234); |
151 m_pThemeData->clrFill[0] = ArgbEncode(255, 255, 255, 255); | 149 m_pThemeData->clrFill[0] = ArgbEncode(255, 255, 255, 255); |
152 m_pThemeData->clrFill[1] = ArgbEncode(255, 226, 225, 218); | 150 m_pThemeData->clrFill[1] = ArgbEncode(255, 226, 225, 218); |
153 m_pThemeData->clrFill[2] = ArgbEncode(255, 255, 255, 255); | 151 m_pThemeData->clrFill[2] = ArgbEncode(255, 255, 255, 255); |
154 m_pThemeData->clrFill[3] = ArgbEncode(255, 255, 255, 255); | 152 m_pThemeData->clrFill[3] = ArgbEncode(255, 255, 255, 255); |
155 m_pThemeData->clrFill[4] = ArgbEncode(255, 245, 244, 234); | 153 m_pThemeData->clrFill[4] = ArgbEncode(255, 245, 244, 234); |
156 } | 154 } |
157 } | 155 } |
158 int32_t CFWL_PushButtonTP::GetColorID(uint32_t dwStates) { | 156 int32_t CFWL_PushButtonTP::GetColorID(uint32_t dwStates) const { |
159 int32_t color = 0; | 157 int32_t color = 0; |
160 if (dwStates & CFWL_PartState_Disabled) | 158 if (dwStates & CFWL_PartState_Disabled) |
161 color += 4; | 159 color += 4; |
162 if (dwStates & CFWL_PartState_Default) { | 160 if (dwStates & CFWL_PartState_Default) { |
163 color += 3; | 161 color += 3; |
164 } else { | 162 } else { |
165 if (dwStates & CFWL_PartState_Hovered) | 163 if (dwStates & CFWL_PartState_Hovered) |
166 color += 2; | 164 color += 2; |
167 if (dwStates & CFWL_PartState_Pressed) | 165 if (dwStates & CFWL_PartState_Pressed) |
168 color += 1; | 166 color += 1; |
169 } | 167 } |
170 return color; | 168 return color; |
171 } | 169 } |
OLD | NEW |