Skip to content

Commit 9c890de

Browse files
committed
Show dragging cursor in ScrubberInterface
1 parent 2710e82 commit 9c890de

2 files changed

Lines changed: 28 additions & 3 deletions

File tree

Source/Processors/FileReader/ScrubberInterface.cpp

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,18 @@ double FullTimeline::getIntervalDurationInSeconds()
134134
return ((stopMs - startMs) / 1000.0f);
135135
}
136136

137+
void FullTimeline::mouseMove (const MouseEvent& event)
138+
{
139+
if (event.x >= intervalStartPosition && event.x <= intervalStartPosition + intervalWidth)
140+
{
141+
setMouseCursor (MouseCursor::DraggingHandCursor);
142+
}
143+
else
144+
{
145+
setMouseCursor (MouseCursor::NormalCursor);
146+
}
147+
}
148+
137149
void FullTimeline::mouseDown (const MouseEvent& event)
138150
{
139151
if (event.x >= intervalStartPosition && event.x <= intervalStartPosition + intervalWidth)
@@ -221,20 +233,31 @@ void ZoomTimeline::paint (Graphics& g)
221233
/* Draw the current playback position */
222234
g.setColour (findColour (ThemeColours::defaultText));
223235
float timelinePos = (float) (fileReader->getPlayheadPosition() - startSampleNumber) / (stopSampleNumber - startSampleNumber) * getWidth();
224-
if (0 < timelinePos < sliderPosition + sliderWidth)
236+
if (0 < timelinePos && timelinePos < getWidth())
225237
{
226238
g.setOpacity (1.0f);
227239
g.fillRoundedRectangle (timelinePos, 0, 1, this->getHeight(), 0.2);
228240
}
229241

230242
/* Draw the scrubber interval */
231-
g.setColour (findColour (ThemeColours::componentParentBackground));
243+
g.setColour (findColour (ThemeColours::outline));
232244
g.fillRoundedRectangle (sliderPosition, 0, sliderWidth, this->getHeight(), 2);
233245
g.setColour (findColour (ThemeColours::componentBackground));
234-
g.setOpacity (0.8f);
235246
g.fillRoundedRectangle (sliderPosition + 1, 1, sliderWidth - 2, this->getHeight() - 2, 2);
236247
}
237248

249+
void ZoomTimeline::mouseMove (const MouseEvent& event)
250+
{
251+
if (event.x > sliderPosition && event.x < sliderPosition + sliderWidth)
252+
{
253+
setMouseCursor (MouseCursor::DraggingHandCursor);
254+
}
255+
else
256+
{
257+
setMouseCursor (MouseCursor::NormalCursor);
258+
}
259+
}
260+
238261
void ZoomTimeline::mouseDown (const MouseEvent& event)
239262
{
240263
if (event.x > sliderPosition && event.x < sliderPosition + sliderWidth)

Source/Processors/FileReader/ScrubberInterface.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ class FullTimeline : public Timeline
8686
bool intervalIsSelected;
8787

8888
void paint (Graphics& g) override;
89+
void mouseMove (const MouseEvent& event) override;
8990
void mouseDown (const MouseEvent& event) override;
9091
void mouseDrag (const MouseEvent& event) override;
9192
void mouseUp (const MouseEvent& event) override;
@@ -116,6 +117,7 @@ class ZoomTimeline : public Timeline
116117
bool sliderIsSelected;
117118

118119
void paint (Graphics& g) override;
120+
void mouseMove (const MouseEvent& event) override;
119121
void mouseDown (const MouseEvent& event) override;
120122
void mouseDrag (const MouseEvent& event) override;
121123
void mouseUp (const MouseEvent& event) override;

0 commit comments

Comments
 (0)