// 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; }