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

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

Issue 2482253004: Convert FWL_SCBCODE to an enum class (Closed)
Patch Set: Rebase to master Created 4 years, 1 month 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/ifwl_scrollbar.h ('k') | no next file » | 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/ifwl_scrollbar.h" 7 #include "xfa/fwl/core/ifwl_scrollbar.h"
8 8
9 #include "third_party/base/ptr_util.h" 9 #include "third_party/base/ptr_util.h"
10 #include "xfa/fwl/core/cfwl_message.h" 10 #include "xfa/fwl/core/cfwl_message.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 DrawThumb(pGraphics, pTheme, pMatrix); 106 DrawThumb(pGraphics, pTheme, pMatrix);
107 } 107 }
108 108
109 void IFWL_ScrollBar::SetTrackPos(FX_FLOAT fTrackPos) { 109 void IFWL_ScrollBar::SetTrackPos(FX_FLOAT fTrackPos) {
110 m_fTrackPos = fTrackPos; 110 m_fTrackPos = fTrackPos;
111 CalcThumbButtonRect(m_rtThumb); 111 CalcThumbButtonRect(m_rtThumb);
112 CalcMinTrackRect(m_rtMinTrack); 112 CalcMinTrackRect(m_rtMinTrack);
113 CalcMaxTrackRect(m_rtMaxTrack); 113 CalcMaxTrackRect(m_rtMaxTrack);
114 } 114 }
115 115
116 bool IFWL_ScrollBar::DoScroll(uint32_t dwCode, FX_FLOAT fPos) { 116 bool IFWL_ScrollBar::DoScroll(FWL_SCBCODE dwCode, FX_FLOAT fPos) {
117 switch (dwCode) { 117 if (dwCode == FWL_SCBCODE::None)
118 case FWL_SCBCODE_Min: 118 return false;
119 case FWL_SCBCODE_Max:
120 case FWL_SCBCODE_PageBackward:
121 case FWL_SCBCODE_PageForward:
122 case FWL_SCBCODE_StepBackward:
123 case FWL_SCBCODE_StepForward:
124 case FWL_SCBCODE_Pos:
125 case FWL_SCBCODE_TrackPos:
126 case FWL_SCBCODE_EndScroll:
127 break;
128 default:
129 return false;
130 }
131 return OnScroll(dwCode, fPos); 119 return OnScroll(dwCode, fPos);
132 } 120 }
133 121
134 void IFWL_ScrollBar::DrawTrack(CFX_Graphics* pGraphics, 122 void IFWL_ScrollBar::DrawTrack(CFX_Graphics* pGraphics,
135 IFWL_ThemeProvider* pTheme, 123 IFWL_ThemeProvider* pTheme,
136 bool bLower, 124 bool bLower,
137 const CFX_Matrix* pMatrix) { 125 const CFX_Matrix* pMatrix) {
138 CFWL_ThemeBackground param; 126 CFWL_ThemeBackground param;
139 param.m_pWidget = this; 127 param.m_pWidget = this;
140 param.m_iPart = bLower ? CFWL_Part::LowerTrack : CFWL_Part::UpperTrack; 128 param.m_iPart = bLower ? CFWL_Part::LowerTrack : CFWL_Part::UpperTrack;
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 fMaxTrackWidth = (fMaxTrackWidth >= 0.0f) ? fMaxTrackWidth : 0.0f; 455 fMaxTrackWidth = (fMaxTrackWidth >= 0.0f) ? fMaxTrackWidth : 0.0f;
468 rect.Set(m_rtMaxTrack.left + fW, m_rtMaxTrack.top, fMaxTrackWidth, 456 rect.Set(m_rtMaxTrack.left + fW, m_rtMaxTrack.top, fMaxTrackWidth,
469 m_rtMaxTrack.height); 457 m_rtMaxTrack.height);
470 } 458 }
471 } 459 }
472 } 460 }
473 } 461 }
474 462
475 bool IFWL_ScrollBar::SendEvent() { 463 bool IFWL_ScrollBar::SendEvent() {
476 if (m_iMinButtonState == CFWL_PartState_Pressed) { 464 if (m_iMinButtonState == CFWL_PartState_Pressed) {
477 DoScroll(FWL_SCBCODE_StepBackward, m_fTrackPos); 465 DoScroll(FWL_SCBCODE::StepBackward, m_fTrackPos);
478 return false; 466 return false;
479 } 467 }
480 if (m_iMaxButtonState == CFWL_PartState_Pressed) { 468 if (m_iMaxButtonState == CFWL_PartState_Pressed) {
481 DoScroll(FWL_SCBCODE_StepForward, m_fTrackPos); 469 DoScroll(FWL_SCBCODE::StepForward, m_fTrackPos);
482 return false; 470 return false;
483 } 471 }
484 if (m_iMinTrackState == CFWL_PartState_Pressed) { 472 if (m_iMinTrackState == CFWL_PartState_Pressed) {
485 DoScroll(FWL_SCBCODE_PageBackward, m_fTrackPos); 473 DoScroll(FWL_SCBCODE::PageBackward, m_fTrackPos);
486 return m_rtThumb.Contains(m_cpTrackPointX, m_cpTrackPointY); 474 return m_rtThumb.Contains(m_cpTrackPointX, m_cpTrackPointY);
487 } 475 }
488 if (m_iMaxTrackState == CFWL_PartState_Pressed) { 476 if (m_iMaxTrackState == CFWL_PartState_Pressed) {
489 DoScroll(FWL_SCBCODE_PageForward, m_fTrackPos); 477 DoScroll(FWL_SCBCODE::PageForward, m_fTrackPos);
490 return m_rtThumb.Contains(m_cpTrackPointX, m_cpTrackPointY); 478 return m_rtThumb.Contains(m_cpTrackPointX, m_cpTrackPointY);
491 } 479 }
492 if (m_iMouseWheel) { 480 if (m_iMouseWheel) {
493 uint16_t dwCode = 481 FWL_SCBCODE dwCode = m_iMouseWheel < 0 ? FWL_SCBCODE::StepForward
494 m_iMouseWheel < 0 ? FWL_SCBCODE_StepForward : FWL_SCBCODE_StepBackward; 482 : FWL_SCBCODE::StepBackward;
495 DoScroll(dwCode, m_fTrackPos); 483 DoScroll(dwCode, m_fTrackPos);
496 } 484 }
497 return true; 485 return true;
498 } 486 }
499 487
500 bool IFWL_ScrollBar::OnScroll(uint32_t dwCode, FX_FLOAT fPos) { 488 bool IFWL_ScrollBar::OnScroll(FWL_SCBCODE dwCode, FX_FLOAT fPos) {
501 bool bRet = true; 489 bool bRet = true;
502 CFWL_EvtScroll ev; 490 CFWL_EvtScroll ev;
503 ev.m_iScrollCode = dwCode; 491 ev.m_iScrollCode = dwCode;
504 ev.m_pSrcTarget = this; 492 ev.m_pSrcTarget = this;
505 ev.m_fPos = fPos; 493 ev.m_fPos = fPos;
506 ev.m_pRet = &bRet; 494 ev.m_pRet = &bRet;
507 DispatchEvent(&ev); 495 DispatchEvent(&ev);
508 return bRet; 496 return bRet;
509 } 497 }
510 498
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 int32_t& iState, 610 int32_t& iState,
623 FX_FLOAT fx, 611 FX_FLOAT fx,
624 FX_FLOAT fy) { 612 FX_FLOAT fy) {
625 int32_t iNewState = 613 int32_t iNewState =
626 rtItem.Contains(fx, fy) ? CFWL_PartState_Hovered : CFWL_PartState_Normal; 614 rtItem.Contains(fx, fy) ? CFWL_PartState_Hovered : CFWL_PartState_Normal;
627 if (iState == iNewState) 615 if (iState == iNewState)
628 return; 616 return;
629 617
630 iState = iNewState; 618 iState = iNewState;
631 Repaint(&rtItem); 619 Repaint(&rtItem);
632 OnScroll(FWL_SCBCODE_EndScroll, m_fTrackPos); 620 OnScroll(FWL_SCBCODE::EndScroll, m_fTrackPos);
633 } 621 }
634 622
635 void IFWL_ScrollBar::DoMouseMove(int32_t iItem, 623 void IFWL_ScrollBar::DoMouseMove(int32_t iItem,
636 const CFX_RectF& rtItem, 624 const CFX_RectF& rtItem,
637 int32_t& iState, 625 int32_t& iState,
638 FX_FLOAT fx, 626 FX_FLOAT fx,
639 FX_FLOAT fy) { 627 FX_FLOAT fy) {
640 if (!m_bMouseDown) { 628 if (!m_bMouseDown) {
641 int32_t iNewState = rtItem.Contains(fx, fy) ? CFWL_PartState_Hovered 629 int32_t iNewState = rtItem.Contains(fx, fy) ? CFWL_PartState_Hovered
642 : CFWL_PartState_Normal; 630 : CFWL_PartState_Normal;
643 if (iState == iNewState) 631 if (iState == iNewState)
644 return; 632 return;
645 633
646 iState = iNewState; 634 iState = iNewState;
647 Repaint(&rtItem); 635 Repaint(&rtItem);
648 } else if ((2 == iItem) && (m_iThumbButtonState == CFWL_PartState_Pressed)) { 636 } else if ((2 == iItem) && (m_iThumbButtonState == CFWL_PartState_Pressed)) {
649 FX_FLOAT fPos = GetTrackPointPos(fx, fy); 637 FX_FLOAT fPos = GetTrackPointPos(fx, fy);
650 m_fTrackPos = fPos; 638 m_fTrackPos = fPos;
651 OnScroll(FWL_SCBCODE_TrackPos, fPos); 639 OnScroll(FWL_SCBCODE::TrackPos, fPos);
652 } 640 }
653 } 641 }
654 642
655 void IFWL_ScrollBar::DoMouseLeave(int32_t iItem, 643 void IFWL_ScrollBar::DoMouseLeave(int32_t iItem,
656 const CFX_RectF& rtItem, 644 const CFX_RectF& rtItem,
657 int32_t& iState) { 645 int32_t& iState) {
658 if (iState == CFWL_PartState_Normal) 646 if (iState == CFWL_PartState_Normal)
659 return; 647 return;
660 648
661 iState = CFWL_PartState_Normal; 649 iState = CFWL_PartState_Normal;
(...skipping 14 matching lines...) Expand all
676 664
677 void IFWL_ScrollBar::Timer::Run(IFWL_TimerInfo* pTimerInfo) { 665 void IFWL_ScrollBar::Timer::Run(IFWL_TimerInfo* pTimerInfo) {
678 IFWL_ScrollBar* pButton = static_cast<IFWL_ScrollBar*>(m_pWidget); 666 IFWL_ScrollBar* pButton = static_cast<IFWL_ScrollBar*>(m_pWidget);
679 667
680 if (pButton->m_pTimerInfo) 668 if (pButton->m_pTimerInfo)
681 pButton->m_pTimerInfo->StopTimer(); 669 pButton->m_pTimerInfo->StopTimer();
682 670
683 if (!pButton->SendEvent()) 671 if (!pButton->SendEvent())
684 pButton->m_pTimerInfo = StartTimer(0, true); 672 pButton->m_pTimerInfo = StartTimer(0, true);
685 } 673 }
OLDNEW
« no previous file with comments | « xfa/fwl/core/ifwl_scrollbar.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698