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

Side by Side Diff: xfa/fwl/cfwl_form.cpp

Issue 2560873005: Cleanup CFWL_Widget code to return CFX_RectFs where appropriate (Closed)
Patch Set: Review feedback Created 4 years 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
« no previous file with comments | « xfa/fwl/cfwl_form.h ('k') | xfa/fwl/cfwl_listbox.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/cfwl_form.h" 7 #include "xfa/fwl/cfwl_form.h"
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 FWL_Type CFWL_Form::GetClassID() const { 73 FWL_Type CFWL_Form::GetClassID() const {
74 return FWL_Type::Form; 74 return FWL_Type::Form;
75 } 75 }
76 76
77 bool CFWL_Form::IsInstance(const CFX_WideStringC& wsClass) const { 77 bool CFWL_Form::IsInstance(const CFX_WideStringC& wsClass) const {
78 if (wsClass == CFX_WideStringC(FWL_CLASS_Form)) 78 if (wsClass == CFX_WideStringC(FWL_CLASS_Form))
79 return true; 79 return true;
80 return CFWL_Widget::IsInstance(wsClass); 80 return CFWL_Widget::IsInstance(wsClass);
81 } 81 }
82 82
83 void CFWL_Form::GetClientRect(CFX_RectF& rect) { 83 CFX_RectF CFWL_Form::GetClientRect() {
84 rect = m_pProperties->m_rtWidget; 84 CFX_RectF rect = m_pProperties->m_rtWidget;
85 rect.Offset(-rect.left, -rect.top); 85 rect.Offset(-rect.left, -rect.top);
86 return rect;
86 } 87 }
87 88
88 void CFWL_Form::Update() { 89 void CFWL_Form::Update() {
89 if (m_iLock > 0) 90 if (m_iLock > 0)
90 return; 91 return;
91 if (!m_pProperties->m_pThemeProvider) 92 if (!m_pProperties->m_pThemeProvider)
92 m_pProperties->m_pThemeProvider = GetAvailableTheme(); 93 m_pProperties->m_pThemeProvider = GetAvailableTheme();
93 94
94 Layout(); 95 Layout();
95 } 96 }
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 } 378 }
378 } 379 }
379 380
380 void CFWL_Form::SetWorkAreaRect() { 381 void CFWL_Form::SetWorkAreaRect() {
381 m_rtRestore = m_pProperties->m_rtWidget; 382 m_rtRestore = m_pProperties->m_rtWidget;
382 CFWL_WidgetMgr* pWidgetMgr = GetOwnerApp()->GetWidgetMgr(); 383 CFWL_WidgetMgr* pWidgetMgr = GetOwnerApp()->GetWidgetMgr();
383 if (!pWidgetMgr) 384 if (!pWidgetMgr)
384 return; 385 return;
385 386
386 m_bSetMaximize = true; 387 m_bSetMaximize = true;
387 Repaint(&m_rtRelative); 388 RepaintRect(m_rtRelative);
388 } 389 }
389 390
390 void CFWL_Form::Layout() { 391 void CFWL_Form::Layout() {
391 GetRelativeRect(m_rtRelative); 392 m_rtRelative = GetRelativeRect();
392 393
393 #ifndef FWL_UseMacSystemBorder 394 #ifndef FWL_UseMacSystemBorder
394 ResetSysBtn(); 395 ResetSysBtn();
395 #endif 396 #endif
396 } 397 }
397 398
398 void CFWL_Form::ResetSysBtn() { 399 void CFWL_Form::ResetSysBtn() {
399 m_fCXBorder = 400 m_fCXBorder =
400 *static_cast<FX_FLOAT*>(GetThemeCapacity(CFWL_WidgetCapacity::CXBorder)); 401 *static_cast<FX_FLOAT*>(GetThemeCapacity(CFWL_WidgetCapacity::CXBorder));
401 m_fCYBorder = 402 m_fCYBorder =
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 SetGrab(true); 513 SetGrab(true);
513 m_bLButtonDown = true; 514 m_bLButtonDown = true;
514 515
515 CFWL_SysBtn* pPressBtn = GetSysBtnAtPoint(pMsg->m_fx, pMsg->m_fy); 516 CFWL_SysBtn* pPressBtn = GetSysBtnAtPoint(pMsg->m_fx, pMsg->m_fy);
516 m_iCaptureBtn = GetSysBtnIndex(pPressBtn); 517 m_iCaptureBtn = GetSysBtnIndex(pPressBtn);
517 518
518 if (!pPressBtn) 519 if (!pPressBtn)
519 return; 520 return;
520 521
521 pPressBtn->SetPressed(); 522 pPressBtn->SetPressed();
522 Repaint(&pPressBtn->m_rtBtn); 523 RepaintRect(pPressBtn->m_rtBtn);
523 } 524 }
524 525
525 void CFWL_Form::OnLButtonUp(CFWL_MessageMouse* pMsg) { 526 void CFWL_Form::OnLButtonUp(CFWL_MessageMouse* pMsg) {
526 SetGrab(false); 527 SetGrab(false);
527 m_bLButtonDown = false; 528 m_bLButtonDown = false;
528 CFWL_SysBtn* pPointBtn = GetSysBtnAtPoint(pMsg->m_fx, pMsg->m_fy); 529 CFWL_SysBtn* pPointBtn = GetSysBtnAtPoint(pMsg->m_fx, pMsg->m_fy);
529 CFWL_SysBtn* pPressedBtn = GetSysBtnByIndex(m_iCaptureBtn); 530 CFWL_SysBtn* pPressedBtn = GetSysBtnByIndex(m_iCaptureBtn);
530 if (!pPressedBtn || pPointBtn != pPressedBtn) 531 if (!pPressedBtn || pPointBtn != pPressedBtn)
531 return; 532 return;
532 if (pPressedBtn == GetSysBtnByState(FWL_SYSBUTTONSTATE_Pressed)) 533 if (pPressedBtn == GetSysBtnByState(FWL_SYSBUTTONSTATE_Pressed))
533 pPressedBtn->SetNormal(); 534 pPressedBtn->SetNormal();
534 if (pPressedBtn == m_pMaxBox) { 535 if (pPressedBtn == m_pMaxBox) {
535 if (m_bMaximized) { 536 if (m_bMaximized) {
536 SetWidgetRect(m_rtRestore); 537 SetWidgetRect(m_rtRestore);
537 Update(); 538 Update();
538 Repaint(nullptr); 539 Repaint();
539 } else { 540 } else {
540 SetWorkAreaRect(); 541 SetWorkAreaRect();
541 Update(); 542 Update();
542 } 543 }
543 m_bMaximized = !m_bMaximized; 544 m_bMaximized = !m_bMaximized;
544 } else if (pPressedBtn != m_pMinBox) { 545 } else if (pPressedBtn != m_pMinBox) {
545 CFWL_Event eClose(CFWL_Event::Type::Close, this); 546 CFWL_Event eClose(CFWL_Event::Type::Close, this);
546 DispatchEvent(&eClose); 547 DispatchEvent(&eClose);
547 } 548 }
548 } 549 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 pPointBtn->SetHover(); 592 pPointBtn->SetHover();
592 if (rtInvalidate.IsEmpty()) 593 if (rtInvalidate.IsEmpty())
593 rtInvalidate = pPointBtn->m_rtBtn; 594 rtInvalidate = pPointBtn->m_rtBtn;
594 else 595 else
595 rtInvalidate.Union(pPointBtn->m_rtBtn); 596 rtInvalidate.Union(pPointBtn->m_rtBtn);
596 } 597 }
597 } 598 }
598 #endif 599 #endif
599 600
600 if (!rtInvalidate.IsEmpty()) 601 if (!rtInvalidate.IsEmpty())
601 Repaint(&rtInvalidate); 602 RepaintRect(rtInvalidate);
602 } 603 }
603 604
604 void CFWL_Form::OnMouseLeave(CFWL_MessageMouse* pMsg) { 605 void CFWL_Form::OnMouseLeave(CFWL_MessageMouse* pMsg) {
605 CFWL_SysBtn* pHover = GetSysBtnByState(FWL_SYSBUTTONSTATE_Hover); 606 CFWL_SysBtn* pHover = GetSysBtnByState(FWL_SYSBUTTONSTATE_Hover);
606 if (!pHover) 607 if (!pHover)
607 return; 608 return;
608 609
609 pHover->SetNormal(); 610 pHover->SetNormal();
610 Repaint(&pHover->m_rtBtn); 611 RepaintRect(pHover->m_rtBtn);
611 } 612 }
612 613
613 void CFWL_Form::OnLButtonDblClk(CFWL_MessageMouse* pMsg) { 614 void CFWL_Form::OnLButtonDblClk(CFWL_MessageMouse* pMsg) {
614 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_FRM_Resize) && 615 if ((m_pProperties->m_dwStyleExes & FWL_STYLEEXT_FRM_Resize) &&
615 HitTest(pMsg->m_fx, pMsg->m_fy) == FWL_WidgetHit::Titlebar) { 616 HitTest(pMsg->m_fx, pMsg->m_fy) == FWL_WidgetHit::Titlebar) {
616 if (m_bMaximized) 617 if (m_bMaximized)
617 SetWidgetRect(m_rtRestore); 618 SetWidgetRect(m_rtRestore);
618 else 619 else
619 SetWorkAreaRect(); 620 SetWorkAreaRect();
620 621
621 Update(); 622 Update();
622 m_bMaximized = !m_bMaximized; 623 m_bMaximized = !m_bMaximized;
623 } 624 }
624 } 625 }
OLDNEW
« no previous file with comments | « xfa/fwl/cfwl_form.h ('k') | xfa/fwl/cfwl_listbox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698