OLD | NEW |
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/basewidget/fwl_scrollbarimp.h" | 7 #include "xfa/fwl/basewidget/fwl_scrollbarimp.h" |
8 | 8 |
9 #include "xfa/fwl/basewidget/ifwl_scrollbar.h" | 9 #include "xfa/fwl/basewidget/ifwl_scrollbar.h" |
10 #include "xfa/fwl/core/cfwl_message.h" | 10 #include "xfa/fwl/core/cfwl_message.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 IFWL_ScrollBar* pScrollBar = new IFWL_ScrollBar; | 24 IFWL_ScrollBar* pScrollBar = new IFWL_ScrollBar; |
25 CFWL_ScrollBarImp* pScrollBarImpl = new CFWL_ScrollBarImp(properties, pOuter); | 25 CFWL_ScrollBarImp* pScrollBarImpl = new CFWL_ScrollBarImp(properties, pOuter); |
26 pScrollBar->SetImpl(pScrollBarImpl); | 26 pScrollBar->SetImpl(pScrollBarImpl); |
27 pScrollBarImpl->SetInterface(pScrollBar); | 27 pScrollBarImpl->SetInterface(pScrollBar); |
28 return pScrollBar; | 28 return pScrollBar; |
29 } | 29 } |
30 IFWL_ScrollBar::IFWL_ScrollBar() {} | 30 IFWL_ScrollBar::IFWL_ScrollBar() {} |
31 FX_BOOL IFWL_ScrollBar::IsVertical() { | 31 FX_BOOL IFWL_ScrollBar::IsVertical() { |
32 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->IsVertical(); | 32 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->IsVertical(); |
33 } | 33 } |
34 FWL_ERR IFWL_ScrollBar::GetRange(FX_FLOAT& fMin, FX_FLOAT& fMax) { | 34 FWL_Error IFWL_ScrollBar::GetRange(FX_FLOAT& fMin, FX_FLOAT& fMax) { |
35 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetRange(fMin, fMax); | 35 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetRange(fMin, fMax); |
36 } | 36 } |
37 FWL_ERR IFWL_ScrollBar::SetRange(FX_FLOAT fMin, FX_FLOAT fMax) { | 37 FWL_Error IFWL_ScrollBar::SetRange(FX_FLOAT fMin, FX_FLOAT fMax) { |
38 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetRange(fMin, fMax); | 38 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetRange(fMin, fMax); |
39 } | 39 } |
40 FX_FLOAT IFWL_ScrollBar::GetPageSize() { | 40 FX_FLOAT IFWL_ScrollBar::GetPageSize() { |
41 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetPageSize(); | 41 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetPageSize(); |
42 } | 42 } |
43 FWL_ERR IFWL_ScrollBar::SetPageSize(FX_FLOAT fPageSize) { | 43 FWL_Error IFWL_ScrollBar::SetPageSize(FX_FLOAT fPageSize) { |
44 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetPageSize(fPageSize); | 44 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetPageSize(fPageSize); |
45 } | 45 } |
46 FX_FLOAT IFWL_ScrollBar::GetStepSize() { | 46 FX_FLOAT IFWL_ScrollBar::GetStepSize() { |
47 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetStepSize(); | 47 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetStepSize(); |
48 } | 48 } |
49 FWL_ERR IFWL_ScrollBar::SetStepSize(FX_FLOAT fStepSize) { | 49 FWL_Error IFWL_ScrollBar::SetStepSize(FX_FLOAT fStepSize) { |
50 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetStepSize(fStepSize); | 50 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetStepSize(fStepSize); |
51 } | 51 } |
52 FX_FLOAT IFWL_ScrollBar::GetPos() { | 52 FX_FLOAT IFWL_ScrollBar::GetPos() { |
53 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetPos(); | 53 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetPos(); |
54 } | 54 } |
55 FWL_ERR IFWL_ScrollBar::SetPos(FX_FLOAT fPos) { | 55 FWL_Error IFWL_ScrollBar::SetPos(FX_FLOAT fPos) { |
56 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetPos(fPos); | 56 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetPos(fPos); |
57 } | 57 } |
58 FX_FLOAT IFWL_ScrollBar::GetTrackPos() { | 58 FX_FLOAT IFWL_ScrollBar::GetTrackPos() { |
59 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetTrackPos(); | 59 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->GetTrackPos(); |
60 } | 60 } |
61 FWL_ERR IFWL_ScrollBar::SetTrackPos(FX_FLOAT fTrackPos) { | 61 FWL_Error IFWL_ScrollBar::SetTrackPos(FX_FLOAT fTrackPos) { |
62 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetTrackPos(fTrackPos); | 62 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->SetTrackPos(fTrackPos); |
63 } | 63 } |
64 FX_BOOL IFWL_ScrollBar::DoScroll(uint32_t dwCode, FX_FLOAT fPos) { | 64 FX_BOOL IFWL_ScrollBar::DoScroll(uint32_t dwCode, FX_FLOAT fPos) { |
65 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->DoScroll(dwCode, fPos); | 65 return static_cast<CFWL_ScrollBarImp*>(GetImpl())->DoScroll(dwCode, fPos); |
66 } | 66 } |
67 CFWL_ScrollBarImp::CFWL_ScrollBarImp(const CFWL_WidgetImpProperties& properties, | 67 CFWL_ScrollBarImp::CFWL_ScrollBarImp(const CFWL_WidgetImpProperties& properties, |
68 IFWL_Widget* pOuter) | 68 IFWL_Widget* pOuter) |
69 : CFWL_WidgetImp(properties, pOuter), | 69 : CFWL_WidgetImp(properties, pOuter), |
70 m_hTimer(nullptr), | 70 m_hTimer(nullptr), |
71 m_fRangeMin(0), | 71 m_fRangeMin(0), |
(...skipping 20 matching lines...) Expand all Loading... |
92 m_bCustomLayout(FALSE), | 92 m_bCustomLayout(FALSE), |
93 m_fMinThumb(FWL_SCROLLBAR_MinThumb) { | 93 m_fMinThumb(FWL_SCROLLBAR_MinThumb) { |
94 m_rtClient.Reset(); | 94 m_rtClient.Reset(); |
95 m_rtThumb.Reset(); | 95 m_rtThumb.Reset(); |
96 m_rtMinBtn.Reset(); | 96 m_rtMinBtn.Reset(); |
97 m_rtMaxBtn.Reset(); | 97 m_rtMaxBtn.Reset(); |
98 m_rtMinTrack.Reset(); | 98 m_rtMinTrack.Reset(); |
99 m_rtMaxTrack.Reset(); | 99 m_rtMaxTrack.Reset(); |
100 } | 100 } |
101 CFWL_ScrollBarImp::~CFWL_ScrollBarImp() {} | 101 CFWL_ScrollBarImp::~CFWL_ScrollBarImp() {} |
102 FWL_ERR CFWL_ScrollBarImp::GetClassName(CFX_WideString& wsClass) const { | 102 FWL_Error CFWL_ScrollBarImp::GetClassName(CFX_WideString& wsClass) const { |
103 wsClass = FWL_CLASS_ScrollBar; | 103 wsClass = FWL_CLASS_ScrollBar; |
104 return FWL_ERR_Succeeded; | 104 return FWL_Error::Succeeded; |
105 } | 105 } |
106 uint32_t CFWL_ScrollBarImp::GetClassID() const { | 106 uint32_t CFWL_ScrollBarImp::GetClassID() const { |
107 return FWL_CLASSHASH_ScrollBar; | 107 return FWL_CLASSHASH_ScrollBar; |
108 } | 108 } |
109 FWL_ERR CFWL_ScrollBarImp::Initialize() { | 109 FWL_Error CFWL_ScrollBarImp::Initialize() { |
110 if (CFWL_WidgetImp::Initialize() != FWL_ERR_Succeeded) | 110 if (CFWL_WidgetImp::Initialize() != FWL_Error::Succeeded) |
111 return FWL_ERR_Indefinite; | 111 return FWL_Error::Indefinite; |
112 m_pDelegate = new CFWL_ScrollBarImpDelegate(this); | 112 m_pDelegate = new CFWL_ScrollBarImpDelegate(this); |
113 return FWL_ERR_Succeeded; | 113 return FWL_Error::Succeeded; |
114 } | 114 } |
115 FWL_ERR CFWL_ScrollBarImp::Finalize() { | 115 FWL_Error CFWL_ScrollBarImp::Finalize() { |
116 delete m_pDelegate; | 116 delete m_pDelegate; |
117 m_pDelegate = nullptr; | 117 m_pDelegate = nullptr; |
118 return CFWL_WidgetImp::Finalize(); | 118 return CFWL_WidgetImp::Finalize(); |
119 } | 119 } |
120 FWL_ERR CFWL_ScrollBarImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { | 120 FWL_Error CFWL_ScrollBarImp::GetWidgetRect(CFX_RectF& rect, FX_BOOL bAutoSize) { |
121 if (bAutoSize) { | 121 if (bAutoSize) { |
122 rect.Set(0, 0, 0, 0); | 122 rect.Set(0, 0, 0, 0); |
123 FX_FLOAT* pfMinWidth = static_cast<FX_FLOAT*>( | 123 FX_FLOAT* pfMinWidth = static_cast<FX_FLOAT*>( |
124 GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth)); | 124 GetThemeCapacity(CFWL_WidgetCapacity::ScrollBarWidth)); |
125 if (!pfMinWidth) | 125 if (!pfMinWidth) |
126 return FWL_ERR_Indefinite; | 126 return FWL_Error::Indefinite; |
127 if (IsVertical()) { | 127 if (IsVertical()) { |
128 rect.Set(0, 0, (*pfMinWidth), (*pfMinWidth) * 3); | 128 rect.Set(0, 0, (*pfMinWidth), (*pfMinWidth) * 3); |
129 } else { | 129 } else { |
130 rect.Set(0, 0, (*pfMinWidth) * 3, (*pfMinWidth)); | 130 rect.Set(0, 0, (*pfMinWidth) * 3, (*pfMinWidth)); |
131 } | 131 } |
132 CFWL_WidgetImp::GetWidgetRect(rect, TRUE); | 132 CFWL_WidgetImp::GetWidgetRect(rect, TRUE); |
133 } else { | 133 } else { |
134 rect = m_pProperties->m_rtWidget; | 134 rect = m_pProperties->m_rtWidget; |
135 } | 135 } |
136 return FWL_ERR_Succeeded; | 136 return FWL_Error::Succeeded; |
137 } | 137 } |
138 FWL_ERR CFWL_ScrollBarImp::Update() { | 138 FWL_Error CFWL_ScrollBarImp::Update() { |
139 if (IsLocked()) { | 139 if (IsLocked()) { |
140 return FWL_ERR_Indefinite; | 140 return FWL_Error::Indefinite; |
141 } | 141 } |
142 if (!m_pProperties->m_pThemeProvider) { | 142 if (!m_pProperties->m_pThemeProvider) { |
143 m_pProperties->m_pThemeProvider = GetAvailableTheme(); | 143 m_pProperties->m_pThemeProvider = GetAvailableTheme(); |
144 } | 144 } |
145 Layout(); | 145 Layout(); |
146 return FWL_ERR_Succeeded; | 146 return FWL_Error::Succeeded; |
147 } | 147 } |
148 FWL_ERR CFWL_ScrollBarImp::DrawWidget(CFX_Graphics* pGraphics, | 148 FWL_Error CFWL_ScrollBarImp::DrawWidget(CFX_Graphics* pGraphics, |
149 const CFX_Matrix* pMatrix) { | 149 const CFX_Matrix* pMatrix) { |
150 if (!pGraphics) | 150 if (!pGraphics) |
151 return FWL_ERR_Indefinite; | 151 return FWL_Error::Indefinite; |
152 if (!m_pProperties->m_pThemeProvider) | 152 if (!m_pProperties->m_pThemeProvider) |
153 return FWL_ERR_Indefinite; | 153 return FWL_Error::Indefinite; |
154 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; | 154 IFWL_ThemeProvider* pTheme = m_pProperties->m_pThemeProvider; |
155 if (HasBorder()) { | 155 if (HasBorder()) { |
156 DrawBorder(pGraphics, CFWL_Part::Border, pTheme, pMatrix); | 156 DrawBorder(pGraphics, CFWL_Part::Border, pTheme, pMatrix); |
157 } | 157 } |
158 if (HasEdge()) { | 158 if (HasEdge()) { |
159 DrawEdge(pGraphics, CFWL_Part::Edge, pTheme, pMatrix); | 159 DrawEdge(pGraphics, CFWL_Part::Edge, pTheme, pMatrix); |
160 } | 160 } |
161 DrawTrack(pGraphics, pTheme, TRUE, pMatrix); | 161 DrawTrack(pGraphics, pTheme, TRUE, pMatrix); |
162 DrawTrack(pGraphics, pTheme, FALSE, pMatrix); | 162 DrawTrack(pGraphics, pTheme, FALSE, pMatrix); |
163 DrawArrowBtn(pGraphics, pTheme, TRUE, pMatrix); | 163 DrawArrowBtn(pGraphics, pTheme, TRUE, pMatrix); |
164 DrawArrowBtn(pGraphics, pTheme, FALSE, pMatrix); | 164 DrawArrowBtn(pGraphics, pTheme, FALSE, pMatrix); |
165 DrawThumb(pGraphics, pTheme, pMatrix); | 165 DrawThumb(pGraphics, pTheme, pMatrix); |
166 return FWL_ERR_Succeeded; | 166 return FWL_Error::Succeeded; |
167 } | 167 } |
168 inline FX_BOOL CFWL_ScrollBarImp::IsVertical() { | 168 inline FX_BOOL CFWL_ScrollBarImp::IsVertical() { |
169 return m_pProperties->m_dwStyleExes & FWL_STYLEEXT_SCB_Vert; | 169 return m_pProperties->m_dwStyleExes & FWL_STYLEEXT_SCB_Vert; |
170 } | 170 } |
171 FWL_ERR CFWL_ScrollBarImp::GetRange(FX_FLOAT& fMin, FX_FLOAT& fMax) { | 171 FWL_Error CFWL_ScrollBarImp::GetRange(FX_FLOAT& fMin, FX_FLOAT& fMax) { |
172 fMin = m_fRangeMin; | 172 fMin = m_fRangeMin; |
173 fMax = m_fRangeMax; | 173 fMax = m_fRangeMax; |
174 return FWL_ERR_Succeeded; | 174 return FWL_Error::Succeeded; |
175 } | 175 } |
176 FWL_ERR CFWL_ScrollBarImp::SetRange(FX_FLOAT fMin, FX_FLOAT fMax) { | 176 FWL_Error CFWL_ScrollBarImp::SetRange(FX_FLOAT fMin, FX_FLOAT fMax) { |
177 m_fRangeMin = fMin; | 177 m_fRangeMin = fMin; |
178 m_fRangeMax = fMax; | 178 m_fRangeMax = fMax; |
179 return FWL_ERR_Succeeded; | 179 return FWL_Error::Succeeded; |
180 } | 180 } |
181 FX_FLOAT CFWL_ScrollBarImp::GetPageSize() { | 181 FX_FLOAT CFWL_ScrollBarImp::GetPageSize() { |
182 return m_fPageSize; | 182 return m_fPageSize; |
183 } | 183 } |
184 FWL_ERR CFWL_ScrollBarImp::SetPageSize(FX_FLOAT fPageSize) { | 184 FWL_Error CFWL_ScrollBarImp::SetPageSize(FX_FLOAT fPageSize) { |
185 m_fPageSize = fPageSize; | 185 m_fPageSize = fPageSize; |
186 return FWL_ERR_Succeeded; | 186 return FWL_Error::Succeeded; |
187 } | 187 } |
188 FX_FLOAT CFWL_ScrollBarImp::GetStepSize() { | 188 FX_FLOAT CFWL_ScrollBarImp::GetStepSize() { |
189 return m_fStepSize; | 189 return m_fStepSize; |
190 } | 190 } |
191 FWL_ERR CFWL_ScrollBarImp::SetStepSize(FX_FLOAT fStepSize) { | 191 FWL_Error CFWL_ScrollBarImp::SetStepSize(FX_FLOAT fStepSize) { |
192 m_fStepSize = fStepSize; | 192 m_fStepSize = fStepSize; |
193 return FWL_ERR_Succeeded; | 193 return FWL_Error::Succeeded; |
194 } | 194 } |
195 FX_FLOAT CFWL_ScrollBarImp::GetPos() { | 195 FX_FLOAT CFWL_ScrollBarImp::GetPos() { |
196 return m_fPos; | 196 return m_fPos; |
197 } | 197 } |
198 FWL_ERR CFWL_ScrollBarImp::SetPos(FX_FLOAT fPos) { | 198 FWL_Error CFWL_ScrollBarImp::SetPos(FX_FLOAT fPos) { |
199 m_fPos = fPos; | 199 m_fPos = fPos; |
200 return FWL_ERR_Succeeded; | 200 return FWL_Error::Succeeded; |
201 } | 201 } |
202 FX_FLOAT CFWL_ScrollBarImp::GetTrackPos() { | 202 FX_FLOAT CFWL_ScrollBarImp::GetTrackPos() { |
203 return m_fTrackPos; | 203 return m_fTrackPos; |
204 } | 204 } |
205 FWL_ERR CFWL_ScrollBarImp::SetTrackPos(FX_FLOAT fTrackPos) { | 205 FWL_Error CFWL_ScrollBarImp::SetTrackPos(FX_FLOAT fTrackPos) { |
206 m_fTrackPos = fTrackPos; | 206 m_fTrackPos = fTrackPos; |
207 CalcThumbButtonRect(m_rtThumb); | 207 CalcThumbButtonRect(m_rtThumb); |
208 CalcMinTrackRect(m_rtMinTrack); | 208 CalcMinTrackRect(m_rtMinTrack); |
209 CalcMaxTrackRect(m_rtMaxTrack); | 209 CalcMaxTrackRect(m_rtMaxTrack); |
210 return FWL_ERR_Succeeded; | 210 return FWL_Error::Succeeded; |
211 } | 211 } |
212 FX_BOOL CFWL_ScrollBarImp::DoScroll(uint32_t dwCode, FX_FLOAT fPos) { | 212 FX_BOOL CFWL_ScrollBarImp::DoScroll(uint32_t dwCode, FX_FLOAT fPos) { |
213 switch (dwCode) { | 213 switch (dwCode) { |
214 case FWL_SCBCODE_Min: | 214 case FWL_SCBCODE_Min: |
215 case FWL_SCBCODE_Max: | 215 case FWL_SCBCODE_Max: |
216 case FWL_SCBCODE_PageBackward: | 216 case FWL_SCBCODE_PageBackward: |
217 case FWL_SCBCODE_PageForward: | 217 case FWL_SCBCODE_PageForward: |
218 case FWL_SCBCODE_StepBackward: | 218 case FWL_SCBCODE_StepBackward: |
219 break; | 219 break; |
220 case FWL_SCBCODE_StepForward: | 220 case FWL_SCBCODE_StepForward: |
221 break; | 221 break; |
222 case FWL_SCBCODE_Pos: | 222 case FWL_SCBCODE_Pos: |
223 case FWL_SCBCODE_TrackPos: | 223 case FWL_SCBCODE_TrackPos: |
224 case FWL_SCBCODE_EndScroll: | 224 case FWL_SCBCODE_EndScroll: |
225 break; | 225 break; |
226 default: { return FALSE; } | 226 default: { return FALSE; } |
227 } | 227 } |
228 return OnScroll(dwCode, fPos); | 228 return OnScroll(dwCode, fPos); |
229 } | 229 } |
230 int32_t CFWL_ScrollBarImp::Run(FWL_HTIMER hTimer) { | 230 int32_t CFWL_ScrollBarImp::Run(FWL_HTIMER hTimer) { |
231 if (m_hTimer) { | 231 if (m_hTimer) { |
232 FWL_StopTimer(m_hTimer); | 232 FWL_StopTimer(m_hTimer); |
233 } | 233 } |
234 if (!SendEvent()) { | 234 if (!SendEvent()) { |
235 m_hTimer = FWL_StartTimer(this, 0); | 235 m_hTimer = FWL_StartTimer(this, 0); |
236 } | 236 } |
237 return 1; | 237 return 1; |
238 } | 238 } |
239 FWL_ERR CFWL_ScrollBarImp::SetOuter(IFWL_Widget* pOuter) { | 239 FWL_Error CFWL_ScrollBarImp::SetOuter(IFWL_Widget* pOuter) { |
240 m_pOuter = pOuter; | 240 m_pOuter = pOuter; |
241 return FWL_ERR_Succeeded; | 241 return FWL_Error::Succeeded; |
242 } | 242 } |
243 void CFWL_ScrollBarImp::DrawTrack(CFX_Graphics* pGraphics, | 243 void CFWL_ScrollBarImp::DrawTrack(CFX_Graphics* pGraphics, |
244 IFWL_ThemeProvider* pTheme, | 244 IFWL_ThemeProvider* pTheme, |
245 FX_BOOL bLower, | 245 FX_BOOL bLower, |
246 const CFX_Matrix* pMatrix) { | 246 const CFX_Matrix* pMatrix) { |
247 CFWL_ThemeBackground param; | 247 CFWL_ThemeBackground param; |
248 param.m_pWidget = m_pInterface; | 248 param.m_pWidget = m_pInterface; |
249 param.m_iPart = bLower ? CFWL_Part::LowerTrack : CFWL_Part::UpperTrack; | 249 param.m_iPart = bLower ? CFWL_Part::LowerTrack : CFWL_Part::UpperTrack; |
250 param.m_dwStates = (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) | 250 param.m_dwStates = (m_pProperties->m_dwStates & FWL_WGTSTATE_Disabled) |
251 ? CFWL_PartState_Disabled | 251 ? CFWL_PartState_Disabled |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
621 ev.m_pSrcTarget = m_pInterface; | 621 ev.m_pSrcTarget = m_pInterface; |
622 ev.m_fPos = fPos; | 622 ev.m_fPos = fPos; |
623 ev.m_pRet = &bRet; | 623 ev.m_pRet = &bRet; |
624 DispatchEvent(&ev); | 624 DispatchEvent(&ev); |
625 return bRet; | 625 return bRet; |
626 } | 626 } |
627 | 627 |
628 CFWL_ScrollBarImpDelegate::CFWL_ScrollBarImpDelegate(CFWL_ScrollBarImp* pOwner) | 628 CFWL_ScrollBarImpDelegate::CFWL_ScrollBarImpDelegate(CFWL_ScrollBarImp* pOwner) |
629 : m_pOwner(pOwner) {} | 629 : m_pOwner(pOwner) {} |
630 | 630 |
631 int32_t CFWL_ScrollBarImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { | 631 void CFWL_ScrollBarImpDelegate::OnProcessMessage(CFWL_Message* pMessage) { |
632 if (!pMessage) | 632 if (!pMessage) |
633 return 0; | 633 return; |
634 | 634 |
635 int32_t iRet = 1; | |
636 CFWL_MessageType dwMsgCode = pMessage->GetClassID(); | 635 CFWL_MessageType dwMsgCode = pMessage->GetClassID(); |
637 if (dwMsgCode == CFWL_MessageType::Mouse) { | 636 if (dwMsgCode == CFWL_MessageType::Mouse) { |
638 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); | 637 CFWL_MsgMouse* pMsg = static_cast<CFWL_MsgMouse*>(pMessage); |
639 switch (pMsg->m_dwCmd) { | 638 switch (pMsg->m_dwCmd) { |
640 case FWL_MouseCommand::LeftButtonDown: { | 639 case FWL_MouseCommand::LeftButtonDown: { |
641 OnLButtonDown(pMsg->m_dwFlags, pMsg->m_fx, pMsg->m_fy); | 640 OnLButtonDown(pMsg->m_dwFlags, pMsg->m_fx, pMsg->m_fy); |
642 break; | 641 break; |
643 } | 642 } |
644 case FWL_MouseCommand::LeftButtonUp: { | 643 case FWL_MouseCommand::LeftButtonUp: { |
645 OnLButtonUp(pMsg->m_dwFlags, pMsg->m_fx, pMsg->m_fy); | 644 OnLButtonUp(pMsg->m_dwFlags, pMsg->m_fx, pMsg->m_fy); |
646 break; | 645 break; |
647 } | 646 } |
648 case FWL_MouseCommand::Move: { | 647 case FWL_MouseCommand::Move: { |
649 OnMouseMove(pMsg->m_dwFlags, pMsg->m_fx, pMsg->m_fy); | 648 OnMouseMove(pMsg->m_dwFlags, pMsg->m_fx, pMsg->m_fy); |
650 break; | 649 break; |
651 } | 650 } |
652 case FWL_MouseCommand::Leave: { | 651 case FWL_MouseCommand::Leave: { |
653 OnMouseLeave(); | 652 OnMouseLeave(); |
654 break; | 653 break; |
655 } | 654 } |
656 default: { | 655 default: { |
657 iRet = 0; | |
658 break; | 656 break; |
659 } | 657 } |
660 } | 658 } |
661 } else if (dwMsgCode == CFWL_MessageType::MouseWheel) { | 659 } else if (dwMsgCode == CFWL_MessageType::MouseWheel) { |
662 CFWL_MsgMouseWheel* pMsg = static_cast<CFWL_MsgMouseWheel*>(pMessage); | 660 CFWL_MsgMouseWheel* pMsg = static_cast<CFWL_MsgMouseWheel*>(pMessage); |
663 OnMouseWheel(pMsg->m_fx, pMsg->m_fy, pMsg->m_dwFlags, pMsg->m_fDeltaX, | 661 OnMouseWheel(pMsg->m_fx, pMsg->m_fy, pMsg->m_dwFlags, pMsg->m_fDeltaX, |
664 pMsg->m_fDeltaY); | 662 pMsg->m_fDeltaY); |
665 } else { | |
666 iRet = 0; | |
667 } | 663 } |
668 return iRet; | |
669 } | 664 } |
670 | 665 |
671 FWL_ERR CFWL_ScrollBarImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics, | 666 void CFWL_ScrollBarImpDelegate::OnDrawWidget(CFX_Graphics* pGraphics, |
672 const CFX_Matrix* pMatrix) { | 667 const CFX_Matrix* pMatrix) { |
673 return m_pOwner->DrawWidget(pGraphics, pMatrix); | 668 m_pOwner->DrawWidget(pGraphics, pMatrix); |
674 } | 669 } |
| 670 |
675 void CFWL_ScrollBarImpDelegate::OnLButtonDown(uint32_t dwFlags, | 671 void CFWL_ScrollBarImpDelegate::OnLButtonDown(uint32_t dwFlags, |
676 FX_FLOAT fx, | 672 FX_FLOAT fx, |
677 FX_FLOAT fy) { | 673 FX_FLOAT fy) { |
678 if (!m_pOwner->IsEnabled()) { | 674 if (!m_pOwner->IsEnabled()) { |
679 return; | 675 return; |
680 } | 676 } |
681 m_pOwner->m_bMouseDown = TRUE; | 677 m_pOwner->m_bMouseDown = TRUE; |
682 m_pOwner->SetGrab(TRUE); | 678 m_pOwner->SetGrab(TRUE); |
683 m_pOwner->m_cpTrackPointX = fx; | 679 m_pOwner->m_cpTrackPointX = fx; |
684 m_pOwner->m_cpTrackPointY = fy; | 680 m_pOwner->m_cpTrackPointY = fy; |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
804 } | 800 } |
805 void CFWL_ScrollBarImpDelegate::DoMouseHover(int32_t iItem, | 801 void CFWL_ScrollBarImpDelegate::DoMouseHover(int32_t iItem, |
806 const CFX_RectF& rtItem, | 802 const CFX_RectF& rtItem, |
807 int32_t& iState) { | 803 int32_t& iState) { |
808 if (iState == CFWL_PartState_Hovered) { | 804 if (iState == CFWL_PartState_Hovered) { |
809 return; | 805 return; |
810 } | 806 } |
811 iState = CFWL_PartState_Hovered; | 807 iState = CFWL_PartState_Hovered; |
812 m_pOwner->Repaint(&rtItem); | 808 m_pOwner->Repaint(&rtItem); |
813 } | 809 } |
OLD | NEW |