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

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

Issue 1946213003: Remove CLASSHASH defines in favour of an enum class. (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
« no previous file with comments | « xfa/fwl/core/fwl_widgetimp.cpp ('k') | xfa/fwl/core/ifwl_form.h » ('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/core/fwl_widgetmgrimp.h" 7 #include "xfa/fwl/core/fwl_widgetmgrimp.h"
8 8
9 #include "xfa/fwl/core/cfwl_message.h" 9 #include "xfa/fwl/core/cfwl_message.h"
10 #include "xfa/fwl/core/fwl_appimp.h" 10 #include "xfa/fwl/core/fwl_appimp.h"
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after
454 if (bRet) { 454 if (bRet) {
455 return bRet; 455 return bRet;
456 } 456 }
457 child = FWL_GetWidgetMgr()->GetWidget(child, FWL_WGTRELATION_NextSibling); 457 child = FWL_GetWidgetMgr()->GetWidget(child, FWL_WGTRELATION_NextSibling);
458 } 458 }
459 return NULL; 459 return NULL;
460 } 460 }
461 int32_t CFWL_WidgetMgr::CountRadioButtonGroup(IFWL_Widget* pFirst) { 461 int32_t CFWL_WidgetMgr::CountRadioButtonGroup(IFWL_Widget* pFirst) {
462 int32_t iRet = 0; 462 int32_t iRet = 0;
463 IFWL_Widget* pChild = pFirst; 463 IFWL_Widget* pChild = pFirst;
464 while (pChild) { 464 while (pChild)
465 if ((pChild->GetStyles() & FWL_WGTSTYLE_Group) &&
466 pChild->GetClassID() == 3811304691) {
467 iRet++;
468 }
469 pChild = GetWidget(pChild, FWL_WGTRELATION_NextSibling); 465 pChild = GetWidget(pChild, FWL_WGTRELATION_NextSibling);
470 }
471 return iRet; 466 return iRet;
472 } 467 }
473 IFWL_Widget* CFWL_WidgetMgr::GetSiblingRadioButton(IFWL_Widget* pWidget, 468 IFWL_Widget* CFWL_WidgetMgr::GetSiblingRadioButton(IFWL_Widget* pWidget,
474 FX_BOOL bNext) { 469 FX_BOOL bNext) {
475 while ((pWidget = GetWidget(pWidget, bNext ? FWL_WGTRELATION_NextSibling 470 return nullptr;
476 : FWL_WGTRELATION_PriorSibling)) !=
477 NULL) {
478 if (pWidget->GetClassID() == 3811304691) {
479 return pWidget;
480 }
481 }
482 return NULL;
483 } 471 }
484 IFWL_Widget* CFWL_WidgetMgr::GetRadioButtonGroupHeader( 472 IFWL_Widget* CFWL_WidgetMgr::GetRadioButtonGroupHeader(
485 IFWL_Widget* pRadioButton) { 473 IFWL_Widget* pRadioButton) {
486 if (pRadioButton->GetStyles() & FWL_WGTSTYLE_Group) { 474 if (pRadioButton->GetStyles() & FWL_WGTSTYLE_Group) {
487 return pRadioButton; 475 return pRadioButton;
488 } 476 }
489 IFWL_Widget* pNext = pRadioButton; 477 IFWL_Widget* pNext = pRadioButton;
490 while ((pNext = GetSiblingRadioButton(pNext, FALSE)) != NULL) { 478 while ((pNext = GetSiblingRadioButton(pNext, FALSE)) != NULL) {
491 if (pNext->GetStyles() & FWL_WGTSTYLE_Group) { 479 if (pNext->GetStyles() & FWL_WGTSTYLE_Group) {
492 return pNext; 480 return pNext;
493 } 481 }
494 } 482 }
495 pNext = GetWidget(pRadioButton, FWL_WGTRELATION_LastSibling); 483 pNext = GetWidget(pRadioButton, FWL_WGTRELATION_LastSibling);
496 if ((pNext->GetStyles() & FWL_WGTSTYLE_Group) &&
497 pNext->GetClassID() == 3811304691) {
498 return pNext;
499 }
500 while ((pNext = GetSiblingRadioButton(pNext, FALSE)) && pNext && 484 while ((pNext = GetSiblingRadioButton(pNext, FALSE)) && pNext &&
501 pNext != pRadioButton) { 485 pNext != pRadioButton) {
502 if (pNext->GetStyles() & FWL_WGTSTYLE_Group) { 486 if (pNext->GetStyles() & FWL_WGTSTYLE_Group) {
503 return pNext; 487 return pNext;
504 } 488 }
505 } 489 }
506 pNext = GetWidget(pRadioButton, FWL_WGTRELATION_FirstSibling); 490 pNext = GetWidget(pRadioButton, FWL_WGTRELATION_FirstSibling);
507 if (pNext && (pNext->GetStyles() == FWL_WGTSTYLE_Group) &&
508 pNext->GetClassID() == 3811304691) {
509 return pNext;
510 }
511 return GetSiblingRadioButton(pNext, TRUE); 491 return GetSiblingRadioButton(pNext, TRUE);
512 } 492 }
513 void CFWL_WidgetMgr::GetSameGroupRadioButton( 493 void CFWL_WidgetMgr::GetSameGroupRadioButton(
514 IFWL_Widget* pRadioButton, 494 IFWL_Widget* pRadioButton,
515 CFX_ArrayTemplate<IFWL_Widget*>& group) { 495 CFX_ArrayTemplate<IFWL_Widget*>& group) {
516 IFWL_Widget* pFirst = GetWidget(pRadioButton, FWL_WGTRELATION_FirstSibling); 496 IFWL_Widget* pFirst = GetWidget(pRadioButton, FWL_WGTRELATION_FirstSibling);
517 if (!pFirst) { 497 if (!pFirst) {
518 pFirst = pRadioButton; 498 pFirst = pRadioButton;
519 } 499 }
520 int32_t iGroup = CountRadioButtonGroup(pFirst); 500 int32_t iGroup = CountRadioButtonGroup(pFirst);
521 if (iGroup < 2) { 501 if (iGroup < 2) {
522 if (pFirst->GetClassID() == 3811304691) {
523 group.Add(pFirst);
524 }
525 IFWL_Widget* pNext = pFirst; 502 IFWL_Widget* pNext = pFirst;
526 while ((pNext = GetSiblingRadioButton(pNext, TRUE)) != NULL) { 503 while ((pNext = GetSiblingRadioButton(pNext, TRUE)) != NULL) {
527 group.Add(pNext); 504 group.Add(pNext);
528 } 505 }
529 return; 506 return;
530 } 507 }
531 IFWL_Widget* pNext = GetRadioButtonGroupHeader(pRadioButton); 508 IFWL_Widget* pNext = GetRadioButtonGroupHeader(pRadioButton);
532 do { 509 do {
533 group.Add(pNext); 510 group.Add(pNext);
534 pNext = GetSiblingRadioButton(pNext, TRUE); 511 pNext = GetSiblingRadioButton(pNext, TRUE);
535 if (!pNext) { 512 if (!pNext)
536 if (pFirst->GetClassID() == 3811304691) { 513 pNext = GetSiblingRadioButton(pFirst, TRUE);
537 pNext = pFirst;
538 } else {
539 pNext = GetSiblingRadioButton(pFirst, TRUE);
540 }
541 }
542 } while (pNext && ((pNext->GetStyles() & FWL_WGTSTYLE_Group) == 0)); 514 } while (pNext && ((pNext->GetStyles() & FWL_WGTSTYLE_Group) == 0));
543 } 515 }
544 IFWL_Widget* CFWL_WidgetMgr::GetDefaultButton(IFWL_Widget* pParent) { 516 IFWL_Widget* CFWL_WidgetMgr::GetDefaultButton(IFWL_Widget* pParent) {
545 if ((pParent->GetClassID() == 3521614244) && 517 if ((pParent->GetClassID() == FWL_Type::PushButton) &&
546 (pParent->GetStates() & (1 << (FWL_WGTSTATE_MAX + 2)))) { 518 (pParent->GetStates() & (1 << (FWL_WGTSTATE_MAX + 2)))) {
547 return pParent; 519 return pParent;
548 } 520 }
549 IFWL_Widget* child = 521 IFWL_Widget* child =
550 FWL_GetWidgetMgr()->GetWidget(pParent, FWL_WGTRELATION_FirstChild); 522 FWL_GetWidgetMgr()->GetWidget(pParent, FWL_WGTRELATION_FirstChild);
551 while (child) { 523 while (child) {
552 if ((child->GetClassID() == 3521614244) && 524 if ((child->GetClassID() == FWL_Type::PushButton) &&
553 (child->GetStates() & (1 << (FWL_WGTSTATE_MAX + 2)))) { 525 (child->GetStates() & (1 << (FWL_WGTSTATE_MAX + 2)))) {
554 return child; 526 return child;
555 } 527 }
556 IFWL_Widget* find = GetDefaultButton(child); 528 IFWL_Widget* find = GetDefaultButton(child);
557 if (find) { 529 if (find) {
558 return find; 530 return find;
559 } 531 }
560 child = FWL_GetWidgetMgr()->GetWidget(child, FWL_WGTRELATION_NextSibling); 532 child = FWL_GetWidgetMgr()->GetWidget(child, FWL_WGTRELATION_NextSibling);
561 } 533 }
562 return NULL; 534 return NULL;
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
824 pWidget->GetWidgetRect(rtWidget); 796 pWidget->GetWidgetRect(rtWidget);
825 rtWidget.left = rtWidget.top = 0; 797 rtWidget.left = rtWidget.top = 0;
826 pMatrix->TransformRect(rtWidget); 798 pMatrix->TransformRect(rtWidget);
827 if (!rtWidget.IntersectWith(rtDirty)) 799 if (!rtWidget.IntersectWith(rtDirty))
828 return FALSE; 800 return FALSE;
829 801
830 IFWL_Widget* pChild = 802 IFWL_Widget* pChild =
831 FWL_GetWidgetMgr()->GetWidget(pWidget, FWL_WGTRELATION_FirstChild); 803 FWL_GetWidgetMgr()->GetWidget(pWidget, FWL_WGTRELATION_FirstChild);
832 if (!pChild) 804 if (!pChild)
833 return TRUE; 805 return TRUE;
834 if (pChild->GetClassID() == 3150298670) { 806
835 CFX_RectF rtTemp;
836 pChild->GetWidgetRect(rtTemp);
837 if (rtTemp.width >= rtWidget.width && rtTemp.height >= rtWidget.height) {
838 pChild =
839 FWL_GetWidgetMgr()->GetWidget(pChild, FWL_WGTRELATION_FirstChild);
840 if (!pChild)
841 return TRUE;
842 }
843 }
844 CFX_RectF rtChilds; 807 CFX_RectF rtChilds;
845 rtChilds.Empty(); 808 rtChilds.Empty();
846 FX_BOOL bChildIntersectWithDirty = FALSE; 809 FX_BOOL bChildIntersectWithDirty = FALSE;
847 FX_BOOL bOrginPtIntersectWidthChild = FALSE; 810 FX_BOOL bOrginPtIntersectWidthChild = FALSE;
848 FX_BOOL bOrginPtIntersectWidthDirty = 811 FX_BOOL bOrginPtIntersectWidthDirty =
849 rtDirty.Contains(rtWidget.left, rtWidget.top); 812 rtDirty.Contains(rtWidget.left, rtWidget.top);
850 static FWL_NEEDREPAINTHITDATA hitPoint[kNeedRepaintHitPoints]; 813 static FWL_NEEDREPAINTHITDATA hitPoint[kNeedRepaintHitPoints];
851 int32_t iSize = sizeof(FWL_NEEDREPAINTHITDATA); 814 int32_t iSize = sizeof(FWL_NEEDREPAINTHITDATA);
852 FXSYS_memset(hitPoint, 0, iSize); 815 FXSYS_memset(hitPoint, 0, iSize);
853 FX_FLOAT fxPiece = rtWidget.width / kNeedRepaintHitPiece; 816 FX_FLOAT fxPiece = rtWidget.width / kNeedRepaintHitPiece;
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 temp.Deflate(50, 50); 896 temp.Deflate(50, 50);
934 if (!temp.Contains(r)) 897 if (!temp.Contains(r))
935 return FALSE; 898 return FALSE;
936 899
937 pItem->bOutsideChanged = FALSE; 900 pItem->bOutsideChanged = FALSE;
938 } 901 }
939 #endif 902 #endif
940 903
941 return pItem->iRedrawCounter == 0; 904 return pItem->iRedrawCounter == 0;
942 } 905 }
OLDNEW
« no previous file with comments | « xfa/fwl/core/fwl_widgetimp.cpp ('k') | xfa/fwl/core/ifwl_form.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698