diff options
author | dsinclair <dsinclair@chromium.org> | 2016-11-21 09:04:05 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-11-21 09:04:05 -0800 |
commit | dd17234c42e4572b85b6d74a07bc901974d061be (patch) | |
tree | 31a9c3dc96bc3a637f204949f1689a501ada6906 /xfa/fwl/core/cfwl_sysbtn.cpp | |
parent | b4455b90b1c86ab94986e4f470c963f1e91b27ba (diff) | |
download | pdfium-dd17234c42e4572b85b6d74a07bc901974d061be.tar.xz |
Split fwl/core class pt I.
Split classes in FWL to be single class per file. In the case of data providers
which added no new methods, removed and used the IFWL_DataProvider directly.
Review-Url: https://codereview.chromium.org/2506253004
Diffstat (limited to 'xfa/fwl/core/cfwl_sysbtn.cpp')
-rw-r--r-- | xfa/fwl/core/cfwl_sysbtn.cpp | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/xfa/fwl/core/cfwl_sysbtn.cpp b/xfa/fwl/core/cfwl_sysbtn.cpp new file mode 100644 index 0000000000..0ccc4c4b1d --- /dev/null +++ b/xfa/fwl/core/cfwl_sysbtn.cpp @@ -0,0 +1,49 @@ +// Copyright 2016 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#include "xfa/fwl/core/cfwl_sysbtn.h" + +#include "xfa/fwl/core/cfwl_themepart.h" + +CFWL_SysBtn::CFWL_SysBtn() { + m_rtBtn.Set(0, 0, 0, 0); + m_dwState = 0; +} + +CFWL_SysBtn::~CFWL_SysBtn() {} + +bool CFWL_SysBtn::IsDisabled() const { + return !!(m_dwState & FWL_SYSBUTTONSTATE_Disabled); +} + +void CFWL_SysBtn::SetNormal() { + m_dwState &= 0xFFF0; +} + +void CFWL_SysBtn::SetPressed() { + SetNormal(); + m_dwState |= FWL_SYSBUTTONSTATE_Pressed; +} + +void CFWL_SysBtn::SetHover() { + SetNormal(); + m_dwState |= FWL_SYSBUTTONSTATE_Hover; +} + +void CFWL_SysBtn::SetDisabled(bool bDisabled) { + bDisabled ? m_dwState |= FWL_SYSBUTTONSTATE_Disabled + : m_dwState &= ~FWL_SYSBUTTONSTATE_Disabled; +} + +uint32_t CFWL_SysBtn::GetPartState() const { + if (IsDisabled()) + return CFWL_PartState_Disabled; + if (m_dwState & FWL_SYSBUTTONSTATE_Pressed) + return CFWL_PartState_Pressed; + if (m_dwState & FWL_SYSBUTTONSTATE_Hover) + return CFWL_PartState_Hovered; + return CFWL_PartState_Normal; +} |