| 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 |