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 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
468 static_cast<FX_FLOAT*>(GetThemeCapacity(dwCapacity)); | 469 static_cast<FX_FLOAT*>(GetThemeCapacity(dwCapacity)); |
469 return pfCapHeight ? *pfCapHeight : 0; | 470 return pfCapHeight ? *pfCapHeight : 0; |
470 } | 471 } |
471 return 0; | 472 return 0; |
472 } | 473 } |
473 | 474 |
474 void IFWL_Form::DrawCaptionText(CFX_Graphics* pGs, | 475 void IFWL_Form::DrawCaptionText(CFX_Graphics* pGs, |
475 IFWL_ThemeProvider* pTheme, | 476 IFWL_ThemeProvider* pTheme, |
476 const CFX_Matrix* pMatrix) { | 477 const CFX_Matrix* pMatrix) { |
477 CFX_WideString wsText; | 478 CFX_WideString wsText; |
478 IFWL_DataProvider* pData = m_pProperties->m_pDataProvider; | 479 IFWL_Widget::DataProvider* pData = m_pProperties->m_pDataProvider; |
479 pData->GetCaption(this, wsText); | 480 pData->GetCaption(this, wsText); |
480 if (wsText.IsEmpty()) | 481 if (wsText.IsEmpty()) |
481 return; | 482 return; |
482 | 483 |
483 CFWL_ThemeText textParam; | 484 CFWL_ThemeText textParam; |
484 textParam.m_pWidget = this; | 485 textParam.m_pWidget = this; |
485 textParam.m_iPart = CFWL_Part::Caption; | 486 textParam.m_iPart = CFWL_Part::Caption; |
486 textParam.m_dwStates = CFWL_PartState_Normal; | 487 textParam.m_dwStates = CFWL_PartState_Normal; |
487 textParam.m_pGraphics = pGs; | 488 textParam.m_pGraphics = pGs; |
488 if (pMatrix) | 489 if (pMatrix) |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
672 m_pBigIcon = pBigIcon; | 673 m_pBigIcon = pBigIcon; |
673 if (pSmallIcon) | 674 if (pSmallIcon) |
674 m_pSmallIcon = pSmallIcon; | 675 m_pSmallIcon = pSmallIcon; |
675 } | 676 } |
676 | 677 |
677 void IFWL_Form::UpdateCaption() { | 678 void IFWL_Form::UpdateCaption() { |
678 CFWL_WidgetMgr* pWidgetMgr = GetOwnerApp()->GetWidgetMgr(); | 679 CFWL_WidgetMgr* pWidgetMgr = GetOwnerApp()->GetWidgetMgr(); |
679 if (!pWidgetMgr) | 680 if (!pWidgetMgr) |
680 return; | 681 return; |
681 | 682 |
682 IFWL_DataProvider* pData = m_pProperties->m_pDataProvider; | 683 IFWL_Widget::DataProvider* pData = m_pProperties->m_pDataProvider; |
683 if (!pData) | 684 if (!pData) |
684 return; | 685 return; |
685 | 686 |
686 CFX_WideString text; | 687 CFX_WideString text; |
687 pData->GetCaption(this, text); | 688 pData->GetCaption(this, text); |
688 } | 689 } |
689 | 690 |
690 void IFWL_Form::OnProcessMessage(CFWL_Message* pMessage) { | 691 void IFWL_Form::OnProcessMessage(CFWL_Message* pMessage) { |
691 #ifndef FWL_UseMacSystemBorder | 692 #ifndef FWL_UseMacSystemBorder |
692 if (!pMessage) | 693 if (!pMessage) |
(...skipping 153 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 |