25 #ifndef JUCE_SCROLLBAR_H_INCLUDED
26 #define JUCE_SCROLLBAR_H_INCLUDED
74 void setOrientation (
bool shouldBeVertical);
83 void setAutoHide (
bool shouldHideWhenFullRange);
99 void setRangeLimits (
Range<
double> newRangeLimit,
109 void setRangeLimits (
double minimum,
double maximum,
163 void setCurrentRange (
double newStart,
double newSize,
177 void setCurrentRangeStart (
double newStart,
201 void setSingleStepSize (
double newSingleStepSize)
noexcept;
212 bool moveScrollbarInSteps (
int howManySteps,
224 bool moveScrollbarInPages (
int howManyPages,
246 void setButtonRepeatSpeed (
int initialDelayInMillisecs,
247 int repeatDelayInMillisecs,
248 int minimumDelayInMillisecs = -1);
260 backgroundColourId = 0x1000300,
261 thumbColourId = 0x1000400,
262 trackColourId = 0x1000401
285 virtual void scrollBarMoved (
ScrollBar* scrollBarThatHasMoved,
286 double newRangeStart) = 0;
290 void addListener (Listener* listener);
293 void removeListener (Listener* listener);
303 virtual bool areScrollbarButtonsVisible() = 0;
316 virtual void drawScrollbarButton (
Graphics& g,
318 int width,
int height,
320 bool isScrollbarVertical,
321 bool isMouseOverButton,
322 bool isButtonDown) = 0;
342 int x,
int y,
int width,
int height,
343 bool isScrollbarVertical,
344 int thumbStartPosition,
347 bool isMouseDown) = 0;
353 virtual int getMinimumScrollbarThumbSize (
ScrollBar&) = 0;
356 virtual int getDefaultScrollbarWidth() = 0;
359 virtual int getScrollbarButtonSize (
ScrollBar&) = 0;
364 bool keyPressed (
const KeyPress&)
override;
368 void lookAndFeelChanged()
override;
378 void resized()
override;
380 void parentHierarchyChanged()
override;
385 double singleStepSize, dragStartRange;
386 int thumbAreaStart, thumbAreaSize, thumbStart, thumbSize;
387 int minimumScrollBarThumbSize;
388 int dragStartMousePos, lastMousePos;
389 int initialDelayInMillisecs, repeatDelayInMillisecs, minimumDelayInMillisecs;
390 bool vertical, isDraggingThumb, autohides;
396 void handleAsyncUpdate()
override;
397 void updateThumbPosition();
398 void timerCallback()
override;
407 #endif // JUCE_SCROLLBAR_H_INCLUDED
Definition: juce_KeyPress.h:37
#define noexcept
Definition: juce_CompilerSupport.h:141
Definition: juce_NotificationType.h:38
Definition: juce_Range.h:44
#define JUCE_API
Definition: juce_StandardHeader.h:139
Definition: juce_AsyncUpdater.h:39
NotificationType
Definition: juce_NotificationType.h:33
Definition: juce_ListenerList.h:69
Definition: juce_Component.h:33
Definition: juce_ScopedPointer.h:70
Definition: juce_MouseEvent.h:329
png_const_structrp png_const_inforp int png_fixed_point * width
Definition: juce_PNGLoader.cpp:2339
Definition: juce_ContainerDeletePolicy.h:44
Definition: juce_GraphicsContext.h:42
Definition: juce_Timer.h:52
Definition: juce_MouseEvent.h:36
Definition: juce_ImageEffectFilter.h:40