| 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/fwl_formimp.h" | 7 #include "xfa/fwl/core/fwl_formimp.h" |
| 8 | 8 |
| 9 #include "xfa/fde/tto/fde_textout.h" | 9 #include "xfa/fde/tto/fde_textout.h" |
| 10 #include "xfa/fwl/basewidget/fwl_formproxyimp.h" | 10 #include "xfa/fwl/basewidget/fwl_formproxyimp.h" |
| 11 #include "xfa/fwl/core/cfwl_message.h" | 11 #include "xfa/fwl/core/cfwl_message.h" |
| 12 #include "xfa/fwl/core/cfwl_themebackground.h" | 12 #include "xfa/fwl/core/cfwl_themebackground.h" |
| 13 #include "xfa/fwl/core/cfwl_themepart.h" | 13 #include "xfa/fwl/core/cfwl_themepart.h" |
| 14 #include "xfa/fwl/core/cfwl_themetext.h" | 14 #include "xfa/fwl/core/cfwl_themetext.h" |
| 15 #include "xfa/fwl/core/fwl_appimp.h" | 15 #include "xfa/fwl/core/fwl_appimp.h" |
| 16 #include "xfa/fwl/core/fwl_noteimp.h" | 16 #include "xfa/fwl/core/fwl_noteimp.h" |
| 17 #include "xfa/fwl/core/fwl_widgetimp.h" | 17 #include "xfa/fwl/core/fwl_widgetimp.h" |
| 18 #include "xfa/fwl/core/fwl_widgetmgrimp.h" | 18 #include "xfa/fwl/core/fwl_widgetmgrimp.h" |
| 19 #include "xfa/fwl/core/ifwl_adapterwidgetmgr.h" | 19 #include "xfa/fwl/core/ifwl_adapterwidgetmgr.h" |
| 20 #include "xfa/fwl/core/ifwl_app.h" | 20 #include "xfa/fwl/core/ifwl_app.h" |
| 21 #include "xfa/fwl/core/ifwl_themeprovider.h" | 21 #include "xfa/fwl/core/ifwl_themeprovider.h" |
| 22 #include "xfa/fwl/theme/cfwl_widgettp.h" | 22 #include "xfa/fwl/theme/cfwl_widgettp.h" |
| 23 | 23 |
| 24 #define FWL_SYSBTNSIZE 21 | 24 namespace { |
| 25 #define FWL_SYSBTNMARGIN 5 | 25 |
| 26 #define FWL_SYSBTNSPAN 2 | 26 const int kSystemButtonSize = 21; |
| 27 const int kSystemButtonMargin = 5; |
| 28 const int kSystemButtonSpan = 2; |
| 29 |
| 30 } // namespace |
| 27 | 31 |
| 28 namespace { | 32 namespace { |
| 29 | 33 |
| 30 const uint8_t kCornerEnlarge = 10; | 34 const uint8_t kCornerEnlarge = 10; |
| 31 | 35 |
| 32 } // namespace | 36 } // namespace |
| 33 | 37 |
| 34 // static | 38 // static |
| 35 IFWL_Form* IFWL_Form::CreateFormProxy(CFWL_WidgetImpProperties& properties, | 39 IFWL_Form* IFWL_Form::CreateFormProxy(CFWL_WidgetImpProperties& properties, |
| 36 CFX_WideString* classname, | 40 CFX_WideString* classname, |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 return FWL_WGTHITTEST_CloseBox; | 207 return FWL_WGTHITTEST_CloseBox; |
| 204 } | 208 } |
| 205 if (m_pMaxBox && m_pMaxBox->m_rtBtn.Contains(fx, fy)) { | 209 if (m_pMaxBox && m_pMaxBox->m_rtBtn.Contains(fx, fy)) { |
| 206 return FWL_WGTHITTEST_MaxBox; | 210 return FWL_WGTHITTEST_MaxBox; |
| 207 } | 211 } |
| 208 if (m_pMinBox && m_pMinBox->m_rtBtn.Contains(fx, fy)) { | 212 if (m_pMinBox && m_pMinBox->m_rtBtn.Contains(fx, fy)) { |
| 209 return FWL_WGTHITTEST_MinBox; | 213 return FWL_WGTHITTEST_MinBox; |
| 210 } | 214 } |
| 211 CFX_RectF rtCap; | 215 CFX_RectF rtCap; |
| 212 rtCap.Set(m_rtCaption.left + m_fCYBorder, m_rtCaption.top + m_fCXBorder, | 216 rtCap.Set(m_rtCaption.left + m_fCYBorder, m_rtCaption.top + m_fCXBorder, |
| 213 m_rtCaption.width - FWL_SYSBTNSIZE * m_iSysBox - 2 * m_fCYBorder, | 217 m_rtCaption.width - kSystemButtonSize * m_iSysBox - 2 * m_fCYBorder, |
| 214 m_rtCaption.height - m_fCXBorder); | 218 m_rtCaption.height - m_fCXBorder); |
| 215 if (rtCap.Contains(fx, fy)) { | 219 if (rtCap.Contains(fx, fy)) { |
| 216 return FWL_WGTHITTEST_Titlebar; | 220 return FWL_WGTHITTEST_Titlebar; |
| 217 } | 221 } |
| 218 if ((m_pProperties->m_dwStyles & FWL_WGTSTYLE_Border) && | 222 if ((m_pProperties->m_dwStyles & FWL_WGTSTYLE_Border) && |
| 219 (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_FRM_Resize)) { | 223 (m_pProperties->m_dwStyleExes & FWL_STYLEEXT_FRM_Resize)) { |
| 220 FX_FLOAT fWidth = m_rtRelative.width - 2 * (m_fCYBorder + kCornerEnlarge); | 224 FX_FLOAT fWidth = m_rtRelative.width - 2 * (m_fCYBorder + kCornerEnlarge); |
| 221 FX_FLOAT fHeight = m_rtRelative.height - 2 * (m_fCXBorder + kCornerEnlarge); | 225 FX_FLOAT fHeight = m_rtRelative.height - 2 * (m_fCXBorder + kCornerEnlarge); |
| 222 CFX_RectF rt; | 226 CFX_RectF rt; |
| 223 rt.Set(0, m_fCXBorder + kCornerEnlarge, m_fCYBorder, fHeight); | 227 rt.Set(0, m_fCXBorder + kCornerEnlarge, m_fCYBorder, fHeight); |
| (...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 659 m_iSysBox = 0; | 663 m_iSysBox = 0; |
| 660 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_CloseBox) { | 664 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_CloseBox) { |
| 661 m_pCloseBox = new CFWL_SysBtn; | 665 m_pCloseBox = new CFWL_SysBtn; |
| 662 if (m_bCustomizeLayout) { | 666 if (m_bCustomizeLayout) { |
| 663 CFWL_ThemeBackground param; | 667 CFWL_ThemeBackground param; |
| 664 param.m_pWidget = m_pInterface; | 668 param.m_pWidget = m_pInterface; |
| 665 param.m_iPart = CFWL_Part::CloseBox; | 669 param.m_iPart = CFWL_Part::CloseBox; |
| 666 pTheme->GetPartRect(¶m, m_pCloseBox->m_rtBtn); | 670 pTheme->GetPartRect(¶m, m_pCloseBox->m_rtBtn); |
| 667 } else { | 671 } else { |
| 668 m_pCloseBox->m_rtBtn.Set( | 672 m_pCloseBox->m_rtBtn.Set( |
| 669 m_rtRelative.right() - FWL_SYSBTNMARGIN - FWL_SYSBTNSIZE, | 673 m_rtRelative.right() - kSystemButtonMargin - kSystemButtonSize, |
| 670 FWL_SYSBTNMARGIN, FWL_SYSBTNSIZE, FWL_SYSBTNSIZE); | 674 kSystemButtonMargin, kSystemButtonSize, kSystemButtonSize); |
| 671 } | 675 } |
| 672 m_iSysBox++; | 676 m_iSysBox++; |
| 673 } | 677 } |
| 674 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_MaximizeBox) { | 678 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_MaximizeBox) { |
| 675 m_pMaxBox = new CFWL_SysBtn; | 679 m_pMaxBox = new CFWL_SysBtn; |
| 676 if (m_bCustomizeLayout) { | 680 if (m_bCustomizeLayout) { |
| 677 CFWL_ThemeBackground param; | 681 CFWL_ThemeBackground param; |
| 678 param.m_pWidget = m_pInterface; | 682 param.m_pWidget = m_pInterface; |
| 679 param.m_iPart = CFWL_Part::MaximizeBox; | 683 param.m_iPart = CFWL_Part::MaximizeBox; |
| 680 pTheme->GetPartRect(¶m, m_pMaxBox->m_rtBtn); | 684 pTheme->GetPartRect(¶m, m_pMaxBox->m_rtBtn); |
| 681 } else { | 685 } else { |
| 682 if (m_pCloseBox) { | 686 if (m_pCloseBox) { |
| 683 m_pMaxBox->m_rtBtn.Set( | 687 m_pMaxBox->m_rtBtn.Set( |
| 684 m_pCloseBox->m_rtBtn.left - FWL_SYSBTNSPAN - FWL_SYSBTNSIZE, | 688 m_pCloseBox->m_rtBtn.left - kSystemButtonSpan - kSystemButtonSize, |
| 685 m_pCloseBox->m_rtBtn.top, FWL_SYSBTNSIZE, FWL_SYSBTNSIZE); | 689 m_pCloseBox->m_rtBtn.top, kSystemButtonSize, kSystemButtonSize); |
| 686 } else { | 690 } else { |
| 687 m_pMaxBox->m_rtBtn.Set( | 691 m_pMaxBox->m_rtBtn.Set( |
| 688 m_rtRelative.right() - FWL_SYSBTNMARGIN - FWL_SYSBTNSIZE, | 692 m_rtRelative.right() - kSystemButtonMargin - kSystemButtonSize, |
| 689 FWL_SYSBTNMARGIN, FWL_SYSBTNSIZE, FWL_SYSBTNSIZE); | 693 kSystemButtonMargin, kSystemButtonSize, kSystemButtonSize); |
| 690 } | 694 } |
| 691 } | 695 } |
| 692 m_iSysBox++; | 696 m_iSysBox++; |
| 693 } | 697 } |
| 694 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_MinimizeBox) { | 698 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_MinimizeBox) { |
| 695 m_pMinBox = new CFWL_SysBtn; | 699 m_pMinBox = new CFWL_SysBtn; |
| 696 if (m_bCustomizeLayout) { | 700 if (m_bCustomizeLayout) { |
| 697 CFWL_ThemeBackground param; | 701 CFWL_ThemeBackground param; |
| 698 param.m_pWidget = m_pInterface; | 702 param.m_pWidget = m_pInterface; |
| 699 param.m_iPart = CFWL_Part::MinimizeBox; | 703 param.m_iPart = CFWL_Part::MinimizeBox; |
| 700 pTheme->GetPartRect(¶m, m_pMinBox->m_rtBtn); | 704 pTheme->GetPartRect(¶m, m_pMinBox->m_rtBtn); |
| 701 } else { | 705 } else { |
| 702 if (m_pMaxBox) { | 706 if (m_pMaxBox) { |
| 703 m_pMinBox->m_rtBtn.Set( | 707 m_pMinBox->m_rtBtn.Set( |
| 704 m_pMaxBox->m_rtBtn.left - FWL_SYSBTNSPAN - FWL_SYSBTNSIZE, | 708 m_pMaxBox->m_rtBtn.left - kSystemButtonSpan - kSystemButtonSize, |
| 705 m_pMaxBox->m_rtBtn.top, FWL_SYSBTNSIZE, FWL_SYSBTNSIZE); | 709 m_pMaxBox->m_rtBtn.top, kSystemButtonSize, kSystemButtonSize); |
| 706 } else if (m_pCloseBox) { | 710 } else if (m_pCloseBox) { |
| 707 m_pMinBox->m_rtBtn.Set( | 711 m_pMinBox->m_rtBtn.Set( |
| 708 m_pCloseBox->m_rtBtn.left - FWL_SYSBTNSPAN - FWL_SYSBTNSIZE, | 712 m_pCloseBox->m_rtBtn.left - kSystemButtonSpan - kSystemButtonSize, |
| 709 m_pCloseBox->m_rtBtn.top, FWL_SYSBTNSIZE, FWL_SYSBTNSIZE); | 713 m_pCloseBox->m_rtBtn.top, kSystemButtonSize, kSystemButtonSize); |
| 710 } else { | 714 } else { |
| 711 m_pMinBox->m_rtBtn.Set( | 715 m_pMinBox->m_rtBtn.Set( |
| 712 m_rtRelative.right() - FWL_SYSBTNMARGIN - FWL_SYSBTNSIZE, | 716 m_rtRelative.right() - kSystemButtonMargin - kSystemButtonSize, |
| 713 FWL_SYSBTNMARGIN, FWL_SYSBTNSIZE, FWL_SYSBTNSIZE); | 717 kSystemButtonMargin, kSystemButtonSize, kSystemButtonSize); |
| 714 } | 718 } |
| 715 } | 719 } |
| 716 m_iSysBox++; | 720 m_iSysBox++; |
| 717 } | 721 } |
| 718 IFWL_FormDP* pData = | 722 IFWL_FormDP* pData = |
| 719 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider); | 723 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider); |
| 720 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_Icon && | 724 if (m_pProperties->m_dwStyles & FWL_WGTSTYLE_Icon && |
| 721 pData->GetIcon(m_pInterface, FALSE)) { | 725 pData->GetIcon(m_pInterface, FALSE)) { |
| 722 if (m_bCustomizeLayout) { | 726 if (m_bCustomizeLayout) { |
| 723 CFWL_ThemeBackground param; | 727 CFWL_ThemeBackground param; |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 917 if (pDelegate) | 921 if (pDelegate) |
| 918 pDelegate->OnProcessMessage(&ms); | 922 pDelegate->OnProcessMessage(&ms); |
| 919 } | 923 } |
| 920 } | 924 } |
| 921 m_pOwner->Repaint(&m_pOwner->m_rtRelative); | 925 m_pOwner->Repaint(&m_pOwner->m_rtRelative); |
| 922 break; | 926 break; |
| 923 } | 927 } |
| 924 case CFWL_MessageType::Mouse: { | 928 case CFWL_MessageType::Mouse: { |
| 925 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); | 929 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
| 926 switch (pMsg->m_dwCmd) { | 930 switch (pMsg->m_dwCmd) { |
| 927 case FWL_MSGMOUSECMD_LButtonDown: { | 931 case FWL_MouseCommand::LeftButtonDown: { |
| 928 OnLButtonDown(pMsg); | 932 OnLButtonDown(pMsg); |
| 929 break; | 933 break; |
| 930 } | 934 } |
| 931 case FWL_MSGMOUSECMD_LButtonUp: { | 935 case FWL_MouseCommand::LeftButtonUp: { |
| 932 OnLButtonUp(pMsg); | 936 OnLButtonUp(pMsg); |
| 933 break; | 937 break; |
| 934 } | 938 } |
| 935 case FWL_MSGMOUSECMD_MouseMove: { | 939 case FWL_MouseCommand::Move: { |
| 936 OnMouseMove(pMsg); | 940 OnMouseMove(pMsg); |
| 937 break; | 941 break; |
| 938 } | 942 } |
| 939 case FWL_MSGMOUSECMD_MouseHover: { | 943 case FWL_MouseCommand::Hover: { |
| 940 OnMouseHover(pMsg); | 944 OnMouseHover(pMsg); |
| 941 break; | 945 break; |
| 942 } | 946 } |
| 943 case FWL_MSGMOUSECMD_MouseLeave: { | 947 case FWL_MouseCommand::Leave: { |
| 944 OnMouseLeave(pMsg); | 948 OnMouseLeave(pMsg); |
| 945 break; | 949 break; |
| 946 } | 950 } |
| 947 case FWL_MSGMOUSECMD_LButtonDblClk: { | 951 case FWL_MouseCommand::LeftButtonDblClk: { |
| 948 OnLButtonDblClk(pMsg); | 952 OnLButtonDblClk(pMsg); |
| 949 break; | 953 break; |
| 950 } | 954 } |
| 955 default: |
| 956 break; |
| 951 } | 957 } |
| 952 break; | 958 break; |
| 953 } | 959 } |
| 954 case CFWL_MessageType::Size: { | 960 case CFWL_MessageType::Size: { |
| 955 CFWL_WidgetMgr* pWidgetMgr = | 961 CFWL_WidgetMgr* pWidgetMgr = |
| 956 static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); | 962 static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); |
| 957 if (!pWidgetMgr) | 963 if (!pWidgetMgr) |
| 958 return 0; | 964 return 0; |
| 959 | 965 |
| 960 pWidgetMgr->AddRedrawCounts(m_pOwner->m_pInterface); | 966 pWidgetMgr->AddRedrawCounts(m_pOwner->m_pInterface); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1001 } | 1007 } |
| 1002 void CFWL_FormImpDelegate::OnLButtonDown(CFWL_MsgMouse* pMsg) { | 1008 void CFWL_FormImpDelegate::OnLButtonDown(CFWL_MsgMouse* pMsg) { |
| 1003 m_pOwner->SetGrab(TRUE); | 1009 m_pOwner->SetGrab(TRUE); |
| 1004 m_pOwner->m_bLButtonDown = TRUE; | 1010 m_pOwner->m_bLButtonDown = TRUE; |
| 1005 m_pOwner->m_eResizeType = FORM_RESIZETYPE_None; | 1011 m_pOwner->m_eResizeType = FORM_RESIZETYPE_None; |
| 1006 CFWL_SysBtn* pPressBtn = m_pOwner->GetSysBtnAtPoint(pMsg->m_fx, pMsg->m_fy); | 1012 CFWL_SysBtn* pPressBtn = m_pOwner->GetSysBtnAtPoint(pMsg->m_fx, pMsg->m_fy); |
| 1007 m_pOwner->m_iCaptureBtn = m_pOwner->GetSysBtnIndex(pPressBtn); | 1013 m_pOwner->m_iCaptureBtn = m_pOwner->GetSysBtnIndex(pPressBtn); |
| 1008 CFX_RectF rtCap; | 1014 CFX_RectF rtCap; |
| 1009 rtCap.Set(m_pOwner->m_rtCaption.left + m_pOwner->m_fCYBorder, | 1015 rtCap.Set(m_pOwner->m_rtCaption.left + m_pOwner->m_fCYBorder, |
| 1010 m_pOwner->m_rtCaption.top + m_pOwner->m_fCXBorder, | 1016 m_pOwner->m_rtCaption.top + m_pOwner->m_fCXBorder, |
| 1011 m_pOwner->m_rtCaption.width - FWL_SYSBTNSIZE * m_pOwner->m_iSysBox - | 1017 m_pOwner->m_rtCaption.width - |
| 1018 kSystemButtonSize * m_pOwner->m_iSysBox - |
| 1012 2 * m_pOwner->m_fCYBorder, | 1019 2 * m_pOwner->m_fCYBorder, |
| 1013 m_pOwner->m_rtCaption.height - m_pOwner->m_fCXBorder); | 1020 m_pOwner->m_rtCaption.height - m_pOwner->m_fCXBorder); |
| 1014 if (pPressBtn) { | 1021 if (pPressBtn) { |
| 1015 pPressBtn->SetPressed(); | 1022 pPressBtn->SetPressed(); |
| 1016 m_pOwner->Repaint(&pPressBtn->m_rtBtn); | 1023 m_pOwner->Repaint(&pPressBtn->m_rtBtn); |
| 1017 } else if (rtCap.Contains(pMsg->m_fx, pMsg->m_fy)) { | 1024 } else if (rtCap.Contains(pMsg->m_fx, pMsg->m_fy)) { |
| 1018 m_pOwner->m_eResizeType = FORM_RESIZETYPE_Cap; | 1025 m_pOwner->m_eResizeType = FORM_RESIZETYPE_Cap; |
| 1019 } else if ((m_pOwner->m_pProperties->m_dwStyles & FWL_WGTSTYLE_Border) && | 1026 } else if ((m_pOwner->m_pProperties->m_dwStyles & FWL_WGTSTYLE_Border) && |
| 1020 (m_pOwner->m_pProperties->m_dwStyleExes & | 1027 (m_pOwner->m_pProperties->m_dwStyleExes & |
| 1021 FWL_STYLEEXT_FRM_Resize) && | 1028 FWL_STYLEEXT_FRM_Resize) && |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1126 } | 1133 } |
| 1127 void CFWL_FormImpDelegate::OnMouseHover(CFWL_MsgMouse* pMsg) { | 1134 void CFWL_FormImpDelegate::OnMouseHover(CFWL_MsgMouse* pMsg) { |
| 1128 m_pOwner->SetCursor(pMsg->m_fx, pMsg->m_fy); | 1135 m_pOwner->SetCursor(pMsg->m_fx, pMsg->m_fy); |
| 1129 } | 1136 } |
| 1130 void CFWL_FormImpDelegate::OnMouseLeave(CFWL_MsgMouse* pMsg) { | 1137 void CFWL_FormImpDelegate::OnMouseLeave(CFWL_MsgMouse* pMsg) { |
| 1131 CFWL_SysBtn* pHover = m_pOwner->GetSysBtnByState(FWL_SYSBUTTONSTATE_Hover); | 1138 CFWL_SysBtn* pHover = m_pOwner->GetSysBtnByState(FWL_SYSBUTTONSTATE_Hover); |
| 1132 if (pHover) { | 1139 if (pHover) { |
| 1133 pHover->SetNormal(); | 1140 pHover->SetNormal(); |
| 1134 m_pOwner->Repaint(&pHover->m_rtBtn); | 1141 m_pOwner->Repaint(&pHover->m_rtBtn); |
| 1135 } | 1142 } |
| 1136 if (pMsg->m_dwCmd == FWL_MSGMOUSECMD_MouseLeave && | 1143 if (pMsg->m_dwCmd == FWL_MouseCommand::Leave && !m_pOwner->m_bLButtonDown) { |
| 1137 !m_pOwner->m_bLButtonDown) { | |
| 1138 m_pOwner->SetCursor(pMsg->m_fx, pMsg->m_fy); | 1144 m_pOwner->SetCursor(pMsg->m_fx, pMsg->m_fy); |
| 1139 } | 1145 } |
| 1140 } | 1146 } |
| 1141 void CFWL_FormImpDelegate::OnLButtonDblClk(CFWL_MsgMouse* pMsg) { | 1147 void CFWL_FormImpDelegate::OnLButtonDblClk(CFWL_MsgMouse* pMsg) { |
| 1142 if ((m_pOwner->m_pProperties->m_dwStyleExes & FWL_STYLEEXT_FRM_Resize) && | 1148 if ((m_pOwner->m_pProperties->m_dwStyleExes & FWL_STYLEEXT_FRM_Resize) && |
| 1143 m_pOwner->HitTest(pMsg->m_fx, pMsg->m_fy) == FWL_WGTHITTEST_Titlebar) { | 1149 m_pOwner->HitTest(pMsg->m_fx, pMsg->m_fy) == FWL_WGTHITTEST_Titlebar) { |
| 1144 if (m_pOwner->m_bMaximized) { | 1150 if (m_pOwner->m_bMaximized) { |
| 1145 m_pOwner->SetWidgetRect(m_pOwner->m_rtRestore); | 1151 m_pOwner->SetWidgetRect(m_pOwner->m_rtRestore); |
| 1146 } else { | 1152 } else { |
| 1147 m_pOwner->SetWorkAreaRect(); | 1153 m_pOwner->SetWorkAreaRect(); |
| 1148 } | 1154 } |
| 1149 m_pOwner->Update(); | 1155 m_pOwner->Update(); |
| 1150 m_pOwner->m_bMaximized = !m_pOwner->m_bMaximized; | 1156 m_pOwner->m_bMaximized = !m_pOwner->m_bMaximized; |
| 1151 } | 1157 } |
| 1152 } | 1158 } |
| 1153 void CFWL_FormImpDelegate::OnWindowMove(CFWL_MsgWindowMove* pMsg) { | 1159 void CFWL_FormImpDelegate::OnWindowMove(CFWL_MsgWindowMove* pMsg) { |
| 1154 m_pOwner->m_pProperties->m_rtWidget.left = pMsg->m_fx; | 1160 m_pOwner->m_pProperties->m_rtWidget.left = pMsg->m_fx; |
| 1155 m_pOwner->m_pProperties->m_rtWidget.top = pMsg->m_fy; | 1161 m_pOwner->m_pProperties->m_rtWidget.top = pMsg->m_fy; |
| 1156 } | 1162 } |
| 1157 void CFWL_FormImpDelegate::OnClose(CFWL_MsgClose* pMsg) { | 1163 void CFWL_FormImpDelegate::OnClose(CFWL_MsgClose* pMsg) { |
| 1158 CFWL_EvtClose eClose; | 1164 CFWL_EvtClose eClose; |
| 1159 eClose.m_pSrcTarget = m_pOwner->m_pInterface; | 1165 eClose.m_pSrcTarget = m_pOwner->m_pInterface; |
| 1160 m_pOwner->DispatchEvent(&eClose); | 1166 m_pOwner->DispatchEvent(&eClose); |
| 1161 } | 1167 } |
| OLD | NEW |