Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(867)

Side by Side Diff: xfa/fwl/core/fwl_formimp.cpp

Issue 1928963004: Cleanup IFWL_Adapter interfaces. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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"
20 #include "xfa/fwl/core/ifwl_app.h" 19 #include "xfa/fwl/core/ifwl_app.h"
21 #include "xfa/fwl/core/ifwl_themeprovider.h" 20 #include "xfa/fwl/core/ifwl_themeprovider.h"
22 #include "xfa/fwl/theme/cfwl_widgettp.h" 21 #include "xfa/fwl/theme/cfwl_widgettp.h"
23 22
24 #define FWL_SYSBTNSIZE 21 23 #define FWL_SYSBTNSIZE 21
25 #define FWL_SYSBTNMARGIN 5 24 #define FWL_SYSBTNMARGIN 5
26 #define FWL_SYSBTNSPAN 2 25 #define FWL_SYSBTNSPAN 2
27 26
28 namespace { 27 namespace {
29 28
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 if ((m_pProperties->m_dwStyles & FWL_WGTSTYLE_Caption) == 0) { 143 if ((m_pProperties->m_dwStyles & FWL_WGTSTYLE_Caption) == 0) {
145 rect = m_pProperties->m_rtWidget; 144 rect = m_pProperties->m_rtWidget;
146 rect.Offset(-rect.left, -rect.top); 145 rect.Offset(-rect.left, -rect.top);
147 return FWL_ERR_Succeeded; 146 return FWL_ERR_Succeeded;
148 } 147 }
149 #ifdef FWL_UseMacSystemBorder 148 #ifdef FWL_UseMacSystemBorder
150 rect = m_rtRelative; 149 rect = m_rtRelative;
151 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); 150 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr());
152 if (!pWidgetMgr) 151 if (!pWidgetMgr)
153 return FWL_ERR_Indefinite; 152 return FWL_ERR_Indefinite;
154 IFWL_AdapterWidgetMgr* adapterWidgetMgr = pWidgetMgr->GetAdapterWidgetMgr(); 153 CXFA_FWLAdapterWidgetMgr* adapterWidgetMgr =
154 pWidgetMgr->GetAdapterWidgetMgr();
155 FX_FLOAT l, t, r, b; 155 FX_FLOAT l, t, r, b;
156 l = t = r = b = 0; 156 l = t = r = b = 0;
157 adapterWidgetMgr->GetSystemBorder(l, t, r, b); 157 adapterWidgetMgr->GetSystemBorder(l, t, r, b);
158 rect.Deflate(l, t, r, b); 158 rect.Deflate(l, t, r, b);
159 rect.left = rect.top = 0; 159 rect.left = rect.top = 0;
160 return FWL_ERR_Succeeded; 160 return FWL_ERR_Succeeded;
161 #else 161 #else
162 FX_FLOAT x = 0; 162 FX_FLOAT x = 0;
163 FX_FLOAT y = 0; 163 FX_FLOAT y = 0;
164 FX_FLOAT t = 0; 164 FX_FLOAT t = 0;
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 IFWL_App* pApp = FWL_GetApp(); 459 IFWL_App* pApp = FWL_GetApp();
460 if (!pApp) 460 if (!pApp)
461 return; 461 return;
462 CFWL_WidgetMgr* pWidgetMgr = 462 CFWL_WidgetMgr* pWidgetMgr =
463 static_cast<CFWL_WidgetMgr*>(pApp->GetWidgetMgr()); 463 static_cast<CFWL_WidgetMgr*>(pApp->GetWidgetMgr());
464 if (!pWidgetMgr) 464 if (!pWidgetMgr)
465 return; 465 return;
466 IFWL_Widget* pChild = 466 IFWL_Widget* pChild =
467 pWidgetMgr->GetWidget(pParent, FWL_WGTRELATION_FirstChild); 467 pWidgetMgr->GetWidget(pParent, FWL_WGTRELATION_FirstChild);
468 while (pChild) { 468 while (pChild) {
469 pWidgetMgr->ShowWidget_Native(pChild);
470 ShowChildWidget(pChild); 469 ShowChildWidget(pChild);
471 pChild = pWidgetMgr->GetWidget(pChild, FWL_WGTRELATION_NextSibling); 470 pChild = pWidgetMgr->GetWidget(pChild, FWL_WGTRELATION_NextSibling);
472 } 471 }
473 } 472 }
474 void CFWL_FormImp::RemoveSysButtons() { 473 void CFWL_FormImp::RemoveSysButtons() {
475 m_rtCaption.Reset(); 474 m_rtCaption.Reset();
476 if (m_pCloseBox) { 475 if (m_pCloseBox) {
477 delete m_pCloseBox; 476 delete m_pCloseBox;
478 m_pCloseBox = NULL; 477 m_pCloseBox = NULL;
479 } 478 }
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 FX_FLOAT fCY = GetBorderSize(FALSE); 631 FX_FLOAT fCY = GetBorderSize(FALSE);
633 rtEdge.Deflate(fCX, m_rtCaption.Height(), fCX, fCY); 632 rtEdge.Deflate(fCX, m_rtCaption.Height(), fCX, fCY);
634 } 633 }
635 } 634 }
636 void CFWL_FormImp::SetWorkAreaRect() { 635 void CFWL_FormImp::SetWorkAreaRect() {
637 m_rtRestore = m_pProperties->m_rtWidget; 636 m_rtRestore = m_pProperties->m_rtWidget;
638 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); 637 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr());
639 if (!pWidgetMgr) 638 if (!pWidgetMgr)
640 return; 639 return;
641 m_bSetMaximize = TRUE; 640 m_bSetMaximize = TRUE;
642 pWidgetMgr->SetMaximize_Native(m_pInterface);
643 Repaint(&m_rtRelative); 641 Repaint(&m_rtRelative);
644 } 642 }
645 void CFWL_FormImp::SetCursor(FX_FLOAT fx, FX_FLOAT fy) {} 643 void CFWL_FormImp::SetCursor(FX_FLOAT fx, FX_FLOAT fy) {}
646 void CFWL_FormImp::Layout() { 644 void CFWL_FormImp::Layout() {
647 GetRelativeRect(m_rtRelative); 645 GetRelativeRect(m_rtRelative);
648 #ifndef FWL_UseMacSystemBorder 646 #ifndef FWL_UseMacSystemBorder
649 ReSetSysBtn(); 647 ReSetSysBtn();
650 #endif 648 #endif
651 } 649 }
652 void CFWL_FormImp::ReSetSysBtn() { 650 void CFWL_FormImp::ReSetSysBtn() {
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
785 return !!pData->GetIcon(m_pInterface, FALSE); 783 return !!pData->GetIcon(m_pInterface, FALSE);
786 } 784 }
787 void CFWL_FormImp::UpdateIcon() { 785 void CFWL_FormImp::UpdateIcon() {
788 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); 786 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr());
789 if (!pWidgetMgr) 787 if (!pWidgetMgr)
790 return; 788 return;
791 IFWL_FormDP* pData = 789 IFWL_FormDP* pData =
792 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider); 790 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider);
793 CFX_DIBitmap* pBigIcon = pData->GetIcon(m_pInterface, TRUE); 791 CFX_DIBitmap* pBigIcon = pData->GetIcon(m_pInterface, TRUE);
794 CFX_DIBitmap* pSmallIcon = pData->GetIcon(m_pInterface, FALSE); 792 CFX_DIBitmap* pSmallIcon = pData->GetIcon(m_pInterface, FALSE);
795 if (pBigIcon && pBigIcon != m_pBigIcon) { 793 if (pBigIcon && pBigIcon != m_pBigIcon)
Tom Sepez 2016/04/28 16:42:11 The second part of the && seems redundant, do we c
dsinclair 2016/04/28 17:53:45 I guess it was guarding the _Native calls. Removed
796 m_pBigIcon = pBigIcon; 794 m_pBigIcon = pBigIcon;
797 pWidgetMgr->SetWidgetIcon_Native(m_pInterface, m_pBigIcon, TRUE); 795 if (pSmallIcon && pSmallIcon != m_pSmallIcon)
798 }
799 if (pSmallIcon && pSmallIcon != m_pSmallIcon) {
800 m_pSmallIcon = pSmallIcon; 796 m_pSmallIcon = pSmallIcon;
801 pWidgetMgr->SetWidgetIcon_Native(m_pInterface, m_pBigIcon, FALSE);
802 }
803 } 797 }
804 void CFWL_FormImp::UpdateCaption() { 798 void CFWL_FormImp::UpdateCaption() {
805 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr()); 799 CFWL_WidgetMgr* pWidgetMgr = static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr());
806 if (!pWidgetMgr) 800 if (!pWidgetMgr)
807 return; 801 return;
808 IFWL_FormDP* pData = 802 IFWL_FormDP* pData =
809 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider); 803 static_cast<IFWL_FormDP*>(m_pProperties->m_pDataProvider);
810 if (!pData) 804 if (!pData)
811 return; 805 return;
812 CFX_WideString text; 806 CFX_WideString text;
813 pData->GetCaption(m_pInterface, text); 807 pData->GetCaption(m_pInterface, text);
814 pWidgetMgr->SetWidgetCaption_Native(m_pInterface, text.AsStringC());
815 } 808 }
816 void CFWL_FormImp::DoWidthLimit(FX_FLOAT& fLeft, 809 void CFWL_FormImp::DoWidthLimit(FX_FLOAT& fLeft,
817 FX_FLOAT& fWidth, 810 FX_FLOAT& fWidth,
818 FX_FLOAT fCurX, 811 FX_FLOAT fCurX,
819 FX_FLOAT fSpace, 812 FX_FLOAT fSpace,
820 FX_FLOAT fLimitMin, 813 FX_FLOAT fLimitMin,
821 FX_FLOAT fLimitMax, 814 FX_FLOAT fLimitMax,
822 FX_BOOL bLeft) { 815 FX_BOOL bLeft) {
823 FX_FLOAT fx = fCurX; 816 FX_FLOAT fx = fCurX;
824 FX_FLOAT fy = 0; 817 FX_FLOAT fy = 0;
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 if (!pWidgetMgr) 956 if (!pWidgetMgr)
964 return 0; 957 return 0;
965 958
966 pWidgetMgr->AddRedrawCounts(m_pOwner->m_pInterface); 959 pWidgetMgr->AddRedrawCounts(m_pOwner->m_pInterface);
967 if (!m_pOwner->m_bSetMaximize) 960 if (!m_pOwner->m_bSetMaximize)
968 break; 961 break;
969 962
970 m_pOwner->m_bSetMaximize = FALSE; 963 m_pOwner->m_bSetMaximize = FALSE;
971 CFWL_MsgSize* pMsg = static_cast<CFWL_MsgSize*>(pMessage); 964 CFWL_MsgSize* pMsg = static_cast<CFWL_MsgSize*>(pMessage);
972 CFX_RectF rt; 965 CFX_RectF rt;
973 pWidgetMgr->GetWidgetRect_Native(m_pOwner->m_pInterface, rt);
974 m_pOwner->m_pProperties->m_rtWidget.left = rt.left; 966 m_pOwner->m_pProperties->m_rtWidget.left = rt.left;
975 m_pOwner->m_pProperties->m_rtWidget.top = rt.top; 967 m_pOwner->m_pProperties->m_rtWidget.top = rt.top;
976 m_pOwner->m_pProperties->m_rtWidget.width = (FX_FLOAT)pMsg->m_iWidth; 968 m_pOwner->m_pProperties->m_rtWidget.width = (FX_FLOAT)pMsg->m_iWidth;
977 m_pOwner->m_pProperties->m_rtWidget.height = (FX_FLOAT)pMsg->m_iHeight; 969 m_pOwner->m_pProperties->m_rtWidget.height = (FX_FLOAT)pMsg->m_iHeight;
978 m_pOwner->Update(); 970 m_pOwner->Update();
979 break; 971 break;
980 } 972 }
981 case CFWL_MessageType::WindowMove: { 973 case CFWL_MessageType::WindowMove: {
982 OnWindowMove(static_cast<CFWL_MsgWindowMove*>(pMessage)); 974 OnWindowMove(static_cast<CFWL_MsgWindowMove*>(pMessage));
983 break; 975 break;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
1048 if (pPressedBtn == m_pOwner->m_pMaxBox) { 1040 if (pPressedBtn == m_pOwner->m_pMaxBox) {
1049 if (m_pOwner->m_bMaximized) { 1041 if (m_pOwner->m_bMaximized) {
1050 m_pOwner->SetWidgetRect(m_pOwner->m_rtRestore); 1042 m_pOwner->SetWidgetRect(m_pOwner->m_rtRestore);
1051 m_pOwner->Update(); 1043 m_pOwner->Update();
1052 m_pOwner->Repaint(); 1044 m_pOwner->Repaint();
1053 } else { 1045 } else {
1054 m_pOwner->SetWorkAreaRect(); 1046 m_pOwner->SetWorkAreaRect();
1055 m_pOwner->Update(); 1047 m_pOwner->Update();
1056 } 1048 }
1057 m_pOwner->m_bMaximized = !m_pOwner->m_bMaximized; 1049 m_pOwner->m_bMaximized = !m_pOwner->m_bMaximized;
1058 } else if (pPressedBtn == m_pOwner->m_pMinBox) { 1050 } else if (pPressedBtn != m_pOwner->m_pMinBox) {
1059 CFWL_WidgetMgr* pWidgetMgr =
1060 static_cast<CFWL_WidgetMgr*>(FWL_GetWidgetMgr());
1061 if (!pWidgetMgr)
1062 return;
1063 pWidgetMgr->SetMinimize_Native(m_pOwner->m_pInterface);
1064 } else {
1065 CFWL_EvtClose eClose; 1051 CFWL_EvtClose eClose;
1066 eClose.m_pSrcTarget = m_pOwner->m_pInterface; 1052 eClose.m_pSrcTarget = m_pOwner->m_pInterface;
1067 m_pOwner->DispatchEvent(&eClose); 1053 m_pOwner->DispatchEvent(&eClose);
1068 } 1054 }
1069 } 1055 }
1070 void CFWL_FormImpDelegate::OnMouseMove(CFWL_MsgMouse* pMsg) { 1056 void CFWL_FormImpDelegate::OnMouseMove(CFWL_MsgMouse* pMsg) {
1071 if (m_pOwner->m_bLButtonDown) { 1057 if (m_pOwner->m_bLButtonDown) {
1072 return; 1058 return;
1073 } 1059 }
1074 if ((m_pOwner->m_pProperties->m_dwStyles & FWL_WGTSTYLE_Border) && 1060 if ((m_pOwner->m_pProperties->m_dwStyles & FWL_WGTSTYLE_Border) &&
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
1158 } 1144 }
1159 void CFWL_FormImpDelegate::OnWindowMove(CFWL_MsgWindowMove* pMsg) { 1145 void CFWL_FormImpDelegate::OnWindowMove(CFWL_MsgWindowMove* pMsg) {
1160 m_pOwner->m_pProperties->m_rtWidget.left = pMsg->m_fx; 1146 m_pOwner->m_pProperties->m_rtWidget.left = pMsg->m_fx;
1161 m_pOwner->m_pProperties->m_rtWidget.top = pMsg->m_fy; 1147 m_pOwner->m_pProperties->m_rtWidget.top = pMsg->m_fy;
1162 } 1148 }
1163 void CFWL_FormImpDelegate::OnClose(CFWL_MsgClose* pMsg) { 1149 void CFWL_FormImpDelegate::OnClose(CFWL_MsgClose* pMsg) {
1164 CFWL_EvtClose eClose; 1150 CFWL_EvtClose eClose;
1165 eClose.m_pSrcTarget = m_pOwner->m_pInterface; 1151 eClose.m_pSrcTarget = m_pOwner->m_pInterface;
1166 m_pOwner->DispatchEvent(&eClose); 1152 m_pOwner->DispatchEvent(&eClose);
1167 } 1153 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698