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 823 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
846 HitTest(pMsg->m_fx, pMsg->m_fy) == FWL_WidgetHit::Titlebar) { | 847 HitTest(pMsg->m_fx, pMsg->m_fy) == FWL_WidgetHit::Titlebar) { |
847 if (m_bMaximized) | 848 if (m_bMaximized) |
848 SetWidgetRect(m_rtRestore); | 849 SetWidgetRect(m_rtRestore); |
849 else | 850 else |
850 SetWorkAreaRect(); | 851 SetWorkAreaRect(); |
851 | 852 |
852 Update(); | 853 Update(); |
853 m_bMaximized = !m_bMaximized; | 854 m_bMaximized = !m_bMaximized; |
854 } | 855 } |
855 } | 856 } |
856 | |
857 CFWL_SysBtn::CFWL_SysBtn() { | |
858 m_rtBtn.Set(0, 0, 0, 0); | |
859 m_dwState = 0; | |
860 } | |
861 | |
862 bool CFWL_SysBtn::IsDisabled() const { | |
863 return !!(m_dwState & FWL_SYSBUTTONSTATE_Disabled); | |
864 } | |
865 | |
866 void CFWL_SysBtn::SetNormal() { | |
867 m_dwState &= 0xFFF0; | |
868 } | |
869 | |
870 void CFWL_SysBtn::SetPressed() { | |
871 SetNormal(); | |
872 m_dwState |= FWL_SYSBUTTONSTATE_Pressed; | |
873 } | |
874 | |
875 void CFWL_SysBtn::SetHover() { | |
876 SetNormal(); | |
877 m_dwState |= FWL_SYSBUTTONSTATE_Hover; | |
878 } | |
879 | |
880 void CFWL_SysBtn::SetDisabled(bool bDisabled) { | |
881 bDisabled ? m_dwState |= FWL_SYSBUTTONSTATE_Disabled | |
882 : m_dwState &= ~FWL_SYSBUTTONSTATE_Disabled; | |
883 } | |
884 | |
885 uint32_t CFWL_SysBtn::GetPartState() const { | |
886 if (IsDisabled()) | |
887 return CFWL_PartState_Disabled; | |
888 if (m_dwState & FWL_SYSBUTTONSTATE_Pressed) | |
889 return CFWL_PartState_Pressed; | |
890 if (m_dwState & FWL_SYSBUTTONSTATE_Hover) | |
891 return CFWL_PartState_Hovered; | |
892 return CFWL_PartState_Normal; | |
893 } | |
OLD | NEW |