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/core/ifwl_form.h" | 7 #include "xfa/fwl/core/ifwl_form.h" |
8 | 8 |
9 #include "third_party/base/ptr_util.h" | 9 #include "third_party/base/ptr_util.h" |
10 #include "xfa/fde/tto/fde_textout.h" | 10 #include "xfa/fde/tto/fde_textout.h" |
11 #include "xfa/fwl/core/cfwl_evtclose.h" | 11 #include "xfa/fwl/core/cfwl_evtclose.h" |
12 #include "xfa/fwl/core/cfwl_msgmouse.h" | 12 #include "xfa/fwl/core/cfwl_msgmouse.h" |
| 13 #include "xfa/fwl/core/cfwl_sysbtn.h" |
13 #include "xfa/fwl/core/cfwl_themebackground.h" | 14 #include "xfa/fwl/core/cfwl_themebackground.h" |
14 #include "xfa/fwl/core/cfwl_themepart.h" | 15 #include "xfa/fwl/core/cfwl_themepart.h" |
15 #include "xfa/fwl/core/cfwl_themetext.h" | 16 #include "xfa/fwl/core/cfwl_themetext.h" |
16 #include "xfa/fwl/core/cfwl_widgetmgr.h" | 17 #include "xfa/fwl/core/cfwl_widgetmgr.h" |
17 #include "xfa/fwl/core/fwl_noteimp.h" | 18 #include "xfa/fwl/core/fwl_noteimp.h" |
18 #include "xfa/fwl/core/ifwl_app.h" | 19 #include "xfa/fwl/core/ifwl_app.h" |
19 #include "xfa/fwl/core/ifwl_formproxy.h" | 20 #include "xfa/fwl/core/ifwl_formproxy.h" |
20 #include "xfa/fwl/core/ifwl_themeprovider.h" | 21 #include "xfa/fwl/core/ifwl_themeprovider.h" |
21 #include "xfa/fwl/theme/cfwl_widgettp.h" | 22 #include "xfa/fwl/theme/cfwl_widgettp.h" |
22 | 23 |
(...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
636 HitTest(pMsg->m_fx, pMsg->m_fy) == FWL_WidgetHit::Titlebar) { | 637 HitTest(pMsg->m_fx, pMsg->m_fy) == FWL_WidgetHit::Titlebar) { |
637 if (m_bMaximized) | 638 if (m_bMaximized) |
638 SetWidgetRect(m_rtRestore); | 639 SetWidgetRect(m_rtRestore); |
639 else | 640 else |
640 SetWorkAreaRect(); | 641 SetWorkAreaRect(); |
641 | 642 |
642 Update(); | 643 Update(); |
643 m_bMaximized = !m_bMaximized; | 644 m_bMaximized = !m_bMaximized; |
644 } | 645 } |
645 } | 646 } |
646 | |
647 CFWL_SysBtn::CFWL_SysBtn() { | |
648 m_rtBtn.Set(0, 0, 0, 0); | |
649 m_dwState = 0; | |
650 } | |
651 | |
652 bool CFWL_SysBtn::IsDisabled() const { | |
653 return !!(m_dwState & FWL_SYSBUTTONSTATE_Disabled); | |
654 } | |
655 | |
656 void CFWL_SysBtn::SetNormal() { | |
657 m_dwState &= 0xFFF0; | |
658 } | |
659 | |
660 void CFWL_SysBtn::SetPressed() { | |
661 SetNormal(); | |
662 m_dwState |= FWL_SYSBUTTONSTATE_Pressed; | |
663 } | |
664 | |
665 void CFWL_SysBtn::SetHover() { | |
666 SetNormal(); | |
667 m_dwState |= FWL_SYSBUTTONSTATE_Hover; | |
668 } | |
669 | |
670 void CFWL_SysBtn::SetDisabled(bool bDisabled) { | |
671 bDisabled ? m_dwState |= FWL_SYSBUTTONSTATE_Disabled | |
672 : m_dwState &= ~FWL_SYSBUTTONSTATE_Disabled; | |
673 } | |
674 | |
675 uint32_t CFWL_SysBtn::GetPartState() const { | |
676 if (IsDisabled()) | |
677 return CFWL_PartState_Disabled; | |
678 if (m_dwState & FWL_SYSBUTTONSTATE_Pressed) | |
679 return CFWL_PartState_Pressed; | |
680 if (m_dwState & FWL_SYSBUTTONSTATE_Hover) | |
681 return CFWL_PartState_Hovered; | |
682 return CFWL_PartState_Normal; | |
683 } | |
OLD | NEW |