summaryrefslogtreecommitdiff
path: root/xfa/fwl/core/ifwl_scrollbar.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fwl/core/ifwl_scrollbar.h')
-rw-r--r--xfa/fwl/core/ifwl_scrollbar.h95
1 files changed, 48 insertions, 47 deletions
diff --git a/xfa/fwl/core/ifwl_scrollbar.h b/xfa/fwl/core/ifwl_scrollbar.h
index 07393a9040..78164fd50a 100644
--- a/xfa/fwl/core/ifwl_scrollbar.h
+++ b/xfa/fwl/core/ifwl_scrollbar.h
@@ -9,7 +9,6 @@
#include "core/fxcrt/fx_system.h"
#include "xfa/fwl/core/cfwl_widgetproperties.h"
-#include "xfa/fwl/core/fwl_error.h"
#include "xfa/fwl/core/ifwl_dataprovider.h"
#include "xfa/fwl/core/ifwl_timer.h"
#include "xfa/fwl/core/ifwl_widget.h"
@@ -51,21 +50,25 @@ class IFWL_ScrollBar : public IFWL_Widget {
void OnDrawWidget(CFX_Graphics* pGraphics,
const CFX_Matrix* pMatrix) override;
- bool IsVertical();
- FWL_Error GetRange(FX_FLOAT& fMin, FX_FLOAT& fMax);
- FWL_Error SetRange(FX_FLOAT fMin, FX_FLOAT fMax);
- FX_FLOAT GetPageSize();
- FWL_Error SetPageSize(FX_FLOAT fPageSize);
- FX_FLOAT GetStepSize();
- FWL_Error SetStepSize(FX_FLOAT fStepSize);
- FX_FLOAT GetPos();
- FWL_Error SetPos(FX_FLOAT fPos);
- FX_FLOAT GetTrackPos();
- FWL_Error SetTrackPos(FX_FLOAT fTrackPos);
- bool DoScroll(uint32_t dwCode, FX_FLOAT fPos = 0.0f);
- FWL_Error SetOuter(IFWL_Widget* pOuter);
+ void GetRange(FX_FLOAT* fMin, FX_FLOAT* fMax) const {
+ ASSERT(fMin);
+ ASSERT(fMax);
+ *fMin = m_fRangeMin;
+ *fMax = m_fRangeMax;
+ }
+ void SetRange(FX_FLOAT fMin, FX_FLOAT fMax) {
+ m_fRangeMin = fMin;
+ m_fRangeMax = fMax;
+ }
+ FX_FLOAT GetPageSize() const { return m_fPageSize; }
+ void SetPageSize(FX_FLOAT fPageSize) { m_fPageSize = fPageSize; }
+ FX_FLOAT GetStepSize() const { return m_fStepSize; }
+ void SetStepSize(FX_FLOAT fStepSize) { m_fStepSize = fStepSize; }
+ FX_FLOAT GetPos() const { return m_fPos; }
+ void SetPos(FX_FLOAT fPos) { m_fPos = fPos; }
+ void SetTrackPos(FX_FLOAT fTrackPos);
- protected:
+ private:
class Timer : public IFWL_Timer {
public:
explicit Timer(IFWL_ScrollBar* pToolTip);
@@ -75,7 +78,9 @@ class IFWL_ScrollBar : public IFWL_Widget {
};
friend class IFWL_ScrollBar::Timer;
- IFWL_ScrollBar();
+ bool IsVertical() const {
+ return !!(m_pProperties->m_dwStyleExes & FWL_STYLEEXT_SCB_Vert);
+ }
void DrawTrack(CFX_Graphics* pGraphics,
IFWL_ThemeProvider* pTheme,
bool bLower = true,
@@ -98,6 +103,33 @@ class IFWL_ScrollBar : public IFWL_Widget {
void GetTrackRect(CFX_RectF& rect, bool bLower = true);
bool SendEvent();
bool OnScroll(uint32_t dwCode, FX_FLOAT fPos);
+ void OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
+ void OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
+ void OnMouseMove(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
+ void OnMouseLeave();
+ void OnMouseWheel(FX_FLOAT fx,
+ FX_FLOAT fy,
+ uint32_t dwFlags,
+ FX_FLOAT fDeltaX,
+ FX_FLOAT fDeltaY);
+ bool DoScroll(uint32_t dwCode, FX_FLOAT fPos = 0.0f);
+ void DoMouseDown(int32_t iItem,
+ const CFX_RectF& rtItem,
+ int32_t& iState,
+ FX_FLOAT fx,
+ FX_FLOAT fy);
+ void DoMouseUp(int32_t iItem,
+ const CFX_RectF& rtItem,
+ int32_t& iState,
+ FX_FLOAT fx,
+ FX_FLOAT fy);
+ void DoMouseMove(int32_t iItem,
+ const CFX_RectF& rtItem,
+ int32_t& iState,
+ FX_FLOAT fx,
+ FX_FLOAT fy);
+ void DoMouseLeave(int32_t iItem, const CFX_RectF& rtItem, int32_t& iState);
+ void DoMouseHover(int32_t iItem, const CFX_RectF& rtItem, int32_t& iState);
IFWL_TimerInfo* m_pTimerInfo;
FX_FLOAT m_fRangeMin;
@@ -115,10 +147,7 @@ class IFWL_ScrollBar : public IFWL_Widget {
FX_FLOAT m_cpTrackPointX;
FX_FLOAT m_cpTrackPointY;
int32_t m_iMouseWheel;
- bool m_bTrackMouseLeave;
- bool m_bMouseHover;
bool m_bMouseDown;
- bool m_bRepaintThumb;
FX_FLOAT m_fButtonLen;
bool m_bMinSize;
CFX_RectF m_rtClient;
@@ -130,34 +159,6 @@ class IFWL_ScrollBar : public IFWL_Widget {
bool m_bCustomLayout;
FX_FLOAT m_fMinThumb;
IFWL_ScrollBar::Timer m_Timer;
-
- private:
- void OnLButtonDown(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- void OnLButtonUp(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- void OnMouseMove(uint32_t dwFlags, FX_FLOAT fx, FX_FLOAT fy);
- void OnMouseLeave();
- void OnMouseWheel(FX_FLOAT fx,
- FX_FLOAT fy,
- uint32_t dwFlags,
- FX_FLOAT fDeltaX,
- FX_FLOAT fDeltaY);
- void DoMouseDown(int32_t iItem,
- const CFX_RectF& rtItem,
- int32_t& iState,
- FX_FLOAT fx,
- FX_FLOAT fy);
- void DoMouseUp(int32_t iItem,
- const CFX_RectF& rtItem,
- int32_t& iState,
- FX_FLOAT fx,
- FX_FLOAT fy);
- void DoMouseMove(int32_t iItem,
- const CFX_RectF& rtItem,
- int32_t& iState,
- FX_FLOAT fx,
- FX_FLOAT fy);
- void DoMouseLeave(int32_t iItem, const CFX_RectF& rtItem, int32_t& iState);
- void DoMouseHover(int32_t iItem, const CFX_RectF& rtItem, int32_t& iState);
};
#endif // XFA_FWL_CORE_IFWL_SCROLLBAR_H_