76 void setOrientation (
bool shouldBeVertical);
85 void setAutoHide (
bool shouldHideWhenFullRange);
91 bool autoHides() const noexcept;
105 void setRangeLimits (
Range<
double> newRangeLimit,
120 void setRangeLimits (
double minimum,
double maximum,
126 Range<
double> getRangeLimit() const noexcept {
return totalRange; }
174 void setCurrentRange (
double newStart,
double newSize,
188 void setCurrentRangeStart (
double newStart,
212 void setSingleStepSize (
double newSingleStepSize)
noexcept;
233 bool moveScrollbarInSteps (
int howManySteps,
250 bool moveScrollbarInPages (
int howManyPages,
271 bool scrollToBottom (
NotificationType notification = sendNotificationAsync);
280 void setButtonRepeatSpeed (
int initialDelayInMillisecs,
281 int repeatDelayInMillisecs,
282 int minimumDelayInMillisecs = -1);
294 backgroundColourId = 0x1000300,
295 thumbColourId = 0x1000400,
296 trackColourId = 0x1000401
320 double newRangeStart) = 0;
324 void addListener (
Listener* listener);
327 void removeListener (
Listener* listener);
337 virtual bool areScrollbarButtonsVisible() = 0;
352 int width,
int height,
354 bool isScrollbarVertical,
355 bool isMouseOverButton,
356 bool isButtonDown) = 0;
376 int x,
int y,
int width,
int height,
377 bool isScrollbarVertical,
378 int thumbStartPosition,
381 bool isMouseDown) = 0;
398 bool keyPressed (
const KeyPress&)
override;
402 void lookAndFeelChanged()
override;
412 void resized()
override;
414 void parentHierarchyChanged()
override;
416 void setVisible (
bool)
override;
422 Range<double> totalRange { 0.0, 1.0 }, visibleRange { 0.0, 1.0 };
423 double singleStepSize = 0.1, dragStartRange = 0;
424 int thumbAreaStart = 0, thumbAreaSize = 0, thumbStart = 0, thumbSize = 0;
425 int dragStartMousePos = 0, lastMousePos = 0;
426 int initialDelayInMillisecs = 100, repeatDelayInMillisecs = 50, minimumDelayInMillisecs = 10;
427 bool vertical, isDraggingThumb =
false, autohides =
true, userVisibilityFlag =
false;
428 class ScrollbarButton;
430 ListenerList<Listener> listeners;
432 void handleAsyncUpdate()
override;
433 void updateThumbPosition();
434 void timerCallback()
override;
435 bool getVisibility() const noexcept;
Has a callback method that is triggered asynchronously.
The base class for all JUCE user-interface objects.
A graphics context, used for drawing a component or image.
A graphical effect filter that can be applied to components.
Represents a key press, including any modifier keys that are needed.
Contains position and status information about a mouse event.
A general-purpose range object, that simply represents any linear range with a start and end point.
Makes repeated callbacks to a virtual method at a specified time interval.
NotificationType
These enums are used in various classes to indicate whether a notification event should be sent out.
Contains status information about a mouse wheel event.