46
46
PlacesOverlayVScrollBar(NUX_FILE_LINE_PROTO);
47
47
virtual ~PlacesOverlayVScrollBar() {}
49
void PerformPageNavigation(ScrollDir dir);
52
void Draw(nux::GraphicsEngine& graphics_engine, bool force_draw);
49
void PerformPageNavigation(ScrollDir);
55
void OnTrackGeometryChanged(nux::Area* area, nux::Geometry& geo);
56
void OnVisibilityChanged(nux::Area* area, bool visible);
57
void OnSensitivityChanged(nux::Area* area, bool sensitive);
59
void OnMouseEnter(int x, int y, unsigned int button_flags, unsigned int key_flags);
60
void OnMouseLeave(int x, int y, unsigned int button_flags, unsigned int key_flags);
62
void OnMouseNear(nux::Point const& mouse_pos);
63
void OnMouseBeyond(nux::Point const& mouse_pos);
64
void AdjustThumbOffsetFromMouse();
66
void OnMouseClick(int x, int y, unsigned int button_flags, unsigned int key_flags);
67
void LeftMouseClick(int y);
68
void MiddleMouseClick(int y);
70
void OnMouseDown(int x, int y, unsigned int button_flags, unsigned int key_flags);
71
void OnMouseUp(int x, int y, unsigned int button_flags, unsigned int key_flags);
72
void OnMouseMove(int x, int y, int dx, int dy, unsigned int button_flags, unsigned int key_flags);
73
void OnMouseDrag(int x, int y, int dx, int dy, unsigned int button_flags, unsigned int key_flags);
74
void OnMouseWheel(int x, int y, int delta, unsigned long mouse_state, unsigned long key_state);
76
void MouseDraggingOverlay(int y, int dy);
78
bool IsMouseInTopHalfOfThumb(int y);
79
void CheckIfThumbIsInsideSlider();
81
bool IsScrollBarVisible() const;
83
void UpdateConnectorPosition();
84
void ResetConnector();
88
void SetupAnimation(int start, int stop, int milliseconds);
90
void StartScrollAnimation(ScrollDir dir, int stop);
91
void OnScroll(ScrollDir dir, int mouse_dy);
93
void StartConnectorAnimation();
95
void UpdateConnectorTexture();
97
nux::ObjectPtr<VScrollBarOverlayWindow> overlay_window_;
52
void UpdateScrollbarSize();
53
void StartScrollAnimation(ScrollDir, int stop, unsigned duration);
99
55
class ProximityArea;
100
56
std::shared_ptr<ProximityArea> area_prox_;
102
58
nux::animation::AnimateValue<int> animation_;
103
59
connection::Wrapper tweening_connection_;
105
nux::ObjectPtr<nux::BaseTexture> connector_texture_;
107
bool thumb_above_slider_;
108
int connector_height_;
109
int mouse_down_offset_;
110
60
int delta_update_;
112
62
friend class MockScrollBar;