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

Side by Side Diff: xfa/src/fwl/src/basewidget/fwl_scrollbarimp.cpp

Issue 1453473002: FWL refcounts never incremented (part 2). (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Legal cast, it turns out. Created 5 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
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 "../../../foxitlib.h" 7 #include "../../../foxitlib.h"
8 #include "../core/include/fwl_targetimp.h" 8 #include "../core/include/fwl_targetimp.h"
9 #include "../core/include/fwl_noteimp.h" 9 #include "../core/include/fwl_noteimp.h"
10 #include "../core/include/fwl_widgetimp.h" 10 #include "../core/include/fwl_widgetimp.h"
11 #include "include/fwl_scrollbarimp.h" 11 #include "include/fwl_scrollbarimp.h"
12 #define FWL_SCROLLBAR_Elapse 500 12 #define FWL_SCROLLBAR_Elapse 500
13 #define FWL_SCROLLBAR_MinThumb 5 13 #define FWL_SCROLLBAR_MinThumb 5
14 IFWL_ScrollBar::IFWL_ScrollBar() { 14
15 // static
16 IFWL_ScrollBar* IFWL_ScrollBar::Create(
17 const CFWL_WidgetImpProperties& properties,
18 IFWL_Widget* pOuter) {
19 IFWL_ScrollBar* pScrollBar = new IFWL_ScrollBar;
20 CFWL_ScrollBarImp* pScrollBarImpl = new CFWL_ScrollBarImp(properties, pOuter);
21 pScrollBar->SetImpl(pScrollBarImpl);
22 pScrollBarImpl->SetInterface(pScrollBar);
23 return pScrollBar;
15 } 24 }
16 FWL_ERR IFWL_ScrollBar::Initialize(const CFWL_WidgetImpProperties& properties, 25 IFWL_ScrollBar::IFWL_ScrollBar() {}
17 IFWL_Widget* pOuter) {
18 CFWL_ScrollBarImp* pScrollBarImpl = new CFWL_ScrollBarImp(properties, pOuter);
19 SetImpl(pScrollBarImpl);
20 pScrollBarImpl->SetInterface(this);
21 return pScrollBarImpl->Initialize();
22 }
23 FX_BOOL IFWL_ScrollBar::IsVertical() { 26 FX_BOOL IFWL_ScrollBar::IsVertical() {
24 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->IsVertical(); 27 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->IsVertical();
25 } 28 }
26 FWL_ERR IFWL_ScrollBar::GetRange(FX_FLOAT& fMin, FX_FLOAT& fMax) { 29 FWL_ERR IFWL_ScrollBar::GetRange(FX_FLOAT& fMin, FX_FLOAT& fMax) {
27 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetRange(fMin, fMax); 30 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetRange(fMin, fMax);
28 } 31 }
29 FWL_ERR IFWL_ScrollBar::SetRange(FX_FLOAT fMin, FX_FLOAT fMax) { 32 FWL_ERR IFWL_ScrollBar::SetRange(FX_FLOAT fMin, FX_FLOAT fMax) {
30 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetRange(fMin, fMax); 33 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetRange(fMin, fMax);
31 } 34 }
32 FX_FLOAT IFWL_ScrollBar::GetPageSize() { 35 FX_FLOAT IFWL_ScrollBar::GetPageSize() {
(...skipping 16 matching lines...) Expand all
49 } 52 }
50 FX_FLOAT IFWL_ScrollBar::GetTrackPos() { 53 FX_FLOAT IFWL_ScrollBar::GetTrackPos() {
51 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetTrackPos(); 54 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetTrackPos();
52 } 55 }
53 FWL_ERR IFWL_ScrollBar::SetTrackPos(FX_FLOAT fTrackPos) { 56 FWL_ERR IFWL_ScrollBar::SetTrackPos(FX_FLOAT fTrackPos) {
54 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetTrackPos(fTrackPos); 57 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetTrackPos(fTrackPos);
55 } 58 }
56 FX_BOOL IFWL_ScrollBar::DoScroll(FX_DWORD dwCode, FX_FLOAT fPos) { 59 FX_BOOL IFWL_ScrollBar::DoScroll(FX_DWORD dwCode, FX_FLOAT fPos) {
57 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->DoScroll(dwCode, fPos); 60 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->DoScroll(dwCode, fPos);
58 } 61 }
59 CFWL_ScrollBarImp::CFWL_ScrollBarImp(IFWL_Widget* pOuter)
60 : CFWL_WidgetImp(pOuter),
61 m_hTimer(NULL),
62 m_fRangeMin(0),
63 m_fRangeMax(-1),
64 m_fPageSize(0),
65 m_fStepSize(0),
66 m_fPos(0),
67 m_fTrackPos(0),
68 m_iMinButtonState(FWL_PARTSTATE_SCB_Normal),
69 m_iMaxButtonState(FWL_PARTSTATE_SCB_Normal),
70 m_iThumbButtonState(FWL_PARTSTATE_SCB_Normal),
71 m_iMinTrackState(FWL_PARTSTATE_SCB_Normal),
72 m_iMaxTrackState(FWL_PARTSTATE_SCB_Normal),
73 m_fLastTrackPos(0),
74 m_cpTrackPointX(0),
75 m_cpTrackPointY(0),
76 m_iMouseWheel(0),
77 m_bTrackMouseLeave(FALSE),
78 m_bMouseHover(FALSE),
79 m_bMouseDown(FALSE),
80 m_bRepaintThumb(FALSE),
81 m_fButtonLen(0),
82 m_bMinSize(FALSE),
83 m_bCustomLayout(FALSE),
84 m_fMinThumb(FWL_SCROLLBAR_MinThumb) {
85 m_rtClient.Reset();
86 m_rtThumb.Reset();
87 m_rtMinBtn.Reset();
88 m_rtMaxBtn.Reset();
89 m_rtMinTrack.Reset();
90 m_rtMaxTrack.Reset();
91 }
92 CFWL_ScrollBarImp::CFWL_ScrollBarImp(const CFWL_WidgetImpProperties& properties, 62 CFWL_ScrollBarImp::CFWL_ScrollBarImp(const CFWL_WidgetImpProperties& properties,
93 IFWL_Widget* pOuter) 63 IFWL_Widget* pOuter)
94 : CFWL_WidgetImp(properties, pOuter), 64 : CFWL_WidgetImp(properties, pOuter),
95 m_hTimer(nullptr), 65 m_hTimer(nullptr),
96 m_fRangeMin(0), 66 m_fRangeMin(0),
97 m_fRangeMax(-1), 67 m_fRangeMax(-1),
98 m_fPageSize(0), 68 m_fPageSize(0),
99 m_fStepSize(0), 69 m_fStepSize(0),
100 m_fPos(0), 70 m_fPos(0),
101 m_fTrackPos(0), 71 m_fTrackPos(0),
(...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 } 792 }
823 void CFWL_ScrollBarImpDelegate::DoMouseHover(int32_t iItem, 793 void CFWL_ScrollBarImpDelegate::DoMouseHover(int32_t iItem,
824 const CFX_RectF& rtItem, 794 const CFX_RectF& rtItem,
825 int32_t& iState) { 795 int32_t& iState) {
826 if (iState == FWL_PARTSTATE_SCB_Hovered) { 796 if (iState == FWL_PARTSTATE_SCB_Hovered) {
827 return; 797 return;
828 } 798 }
829 iState = FWL_PARTSTATE_SCB_Hovered; 799 iState = FWL_PARTSTATE_SCB_Hovered;
830 m_pOwner->Repaint(&rtItem); 800 m_pOwner->Repaint(&rtItem);
831 } 801 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698