| 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 |