45 bool shouldDrawButtonAsHighlighted,
bool shouldDrawButtonAsDown)
override;
49 bool shouldDrawButtonAsHighlighted,
bool shouldDrawButtonAsDown)
override;
50 int getTextButtonWidthToFitText (
TextButton&,
int buttonHeight)
override;
53 bool shouldDrawButtonAsHighlighted,
bool shouldDrawButtonAsDown)
override;
55 void changeToggleButtonWidthToFitText (
ToggleButton&)
override;
58 float x,
float y,
float w,
float h,
59 bool ticked,
bool isEnabled,
60 bool shouldDrawButtonAsHighlighted,
bool shouldDrawButtonAsDown)
override;
63 bool shouldDrawButtonAsHighlighted,
bool shouldDrawButtonAsDown)
override;
71 int numButtons,
Component* associatedComponent)
override;
74 int getAlertBoxWindowFlags()
override;
77 int getAlertWindowButtonHeight()
override;
94 Font getAlertWindowFont()
override;
103 bool areScrollbarButtonsVisible()
override;
105 bool isScrollbarVertical,
bool shouldDrawButtonAsHighlighted,
bool shouldDrawButtonAsDown)
override;
108 bool isScrollbarVertical,
int thumbStartPosition,
int thumbSize,
109 bool isMouseOver,
bool isMouseDown)
override;
122 Colour backgroundColour,
bool isOpen,
bool isMouseOver)
override;
123 bool areLinesDrawnForTreeView (
TreeView&)
override;
124 int getTreeViewIndentSize (
TreeView&)
override;
127 void fillTextEditorBackground (
Graphics&,
int width,
int height,
TextEditor&)
override;
132 const Drawable* getDefaultFolderImage()
override;
133 const Drawable* getDefaultDocumentFileImage()
override;
137 void drawFileBrowserRow (
Graphics&,
int width,
int height,
139 const String& fileSizeDescription,
const String& fileTimeDescription,
140 bool isDirectory,
bool isItemSelected,
int itemIndex,
143 Button* createFileBrowserGoUpButton()
override;
150 Button* goUpButton)
override;
166 bool isSeparator,
bool isActive,
bool isHighlighted,
bool isTicked,
bool hasSubMenu,
176 const String& sectionName)
override;
179 const String& sectionName,
184 void drawPopupMenuUpDownArrow (
Graphics&,
int width,
int height,
bool isScrollUpArrow)
override;
186 void drawPopupMenuUpDownArrowWithOptions (
Graphics&,
187 int width,
int height,
188 bool isScrollUpArrow,
192 int& idealWidth,
int& idealHeight)
override;
196 int standardMenuItemHeight,
201 int getMenuWindowFlags()
override;
202 void preparePopupMenuWindow (
Component&)
override;
207 int getDefaultMenuBarHeight()
override;
209 void drawMenuBarItem (
Graphics&,
int width,
int height,
210 int itemIndex,
const String& itemText,
211 bool isMouseOverItem,
bool isMenuOpen,
bool isMouseOverBar,
218 int getPopupMenuBorderSize()
override;
229 void drawComboBox (
Graphics&,
int width,
int height,
bool isMouseButtonDown,
230 int buttonX,
int buttonY,
int buttonW,
int buttonH,
244 void drawLinearSlider (
Graphics&,
int x,
int y,
int width,
int height,
245 float sliderPos,
float minSliderPos,
float maxSliderPos,
248 void drawLinearSliderBackground (
Graphics&,
int x,
int y,
int width,
int height,
249 float sliderPos,
float minSliderPos,
float maxSliderPos,
252 void drawLinearSliderOutline (
Graphics&,
int x,
int y,
int width,
int height,
256 void drawLinearSliderThumb (
Graphics&,
int x,
int y,
int width,
int height,
257 float sliderPos,
float minSliderPos,
float maxSliderPos,
260 void drawRotarySlider (
Graphics&,
int x,
int y,
int width,
int height,
261 float sliderPosProportional,
float rotaryStartAngle,
float rotaryEndAngle,
264 int getSliderThumbRadius (
Slider&)
override;
265 Button* createSliderButton (
Slider&,
bool isIncrement)
override;
269 int getSliderPopupPlacement (
Slider&)
override;
274 void drawTooltip (
Graphics&,
const String& text,
int width,
int height)
override;
277 Button* createFilenameComponentBrowseButton (
const String& text)
override;
282 bool isMouseOver,
bool isMouseDown,
286 void drawCornerResizer (
Graphics&,
int w,
int h,
bool isMouseOver,
bool isMouseDragging)
override;
295 int titleSpaceX,
int titleSpaceW,
296 const Image* icon,
bool drawTitleTextOnLeft)
override;
298 Button* createDocumentWindowButton (
int buttonType)
override;
301 int titleBarX,
int titleBarY,
int titleBarW,
int titleBarH,
305 bool positionTitleBarButtonsOnLeft)
override;
312 void drawStretchableLayoutResizerBar (
Graphics&,
int w,
int h,
bool isVerticalBar,
313 bool isMouseOver,
bool isMouseDragging)
override;
316 void drawGroupComponentOutline (
Graphics&,
int w,
int h,
const String& text,
320 int getTabButtonSpaceAroundImage()
override;
321 int getTabButtonOverlap (
int tabDepth)
override;
322 int getTabButtonBestWidth (
TabBarButton&,
int tabDepth)
override;
331 void createTabButtonShape (
TabBarButton&,
Path&,
bool isMouseOver,
bool isMouseDown)
override;
334 Button* createTabBarExtrasButton()
override;
338 int imageX,
int imageY,
int imageW,
int imageH,
345 int columnId,
int width,
int height,
bool isMouseOver,
346 bool isMouseDown,
int columnFlags)
override;
349 void paintToolbarBackground (
Graphics&,
int width,
int height,
Toolbar&)
override;
353 void paintToolbarButtonBackground (
Graphics&,
int width,
int height,
354 bool isMouseOver,
bool isMouseDown,
357 void paintToolbarButtonLabel (
Graphics&,
int x,
int y,
int width,
int height,
361 void drawPropertyPanelSectionHeader (
Graphics&,
const String& name,
bool isOpen,
int width,
int height)
override;
365 int getPropertyPanelSectionHeaderHeight (
const String& sectionTitle)
override;
369 int getCallOutBoxBorderSize (
const CallOutBox&)
override;
370 float getCallOutBoxCornerSize (
const CallOutBox&)
override;
373 void drawLevelMeter (
Graphics&,
int width,
int height,
float level)
override;
375 void drawKeymapChangeButton (
Graphics&,
int width,
int height,
Button&,
const String& keyDescription)
override;
398 int x,
int y,
int width,
int height,
400 const Colour& topLeftColour = Colours::white,
401 const Colour& bottomRightColour = Colours::black,
402 bool useGradient =
true,
403 bool sharpEdgeOnOutside =
true);
407 const Colour&,
float outlineThickness)
noexcept;
409 static void drawGlassPointer (
Graphics&,
float x,
float y,
float diameter,
410 const Colour&,
float outlineThickness,
int direction)
noexcept;
414 float x,
float y,
float width,
float height,
415 const Colour&,
float outlineThickness,
float cornerSize,
416 bool flatOnLeft,
bool flatOnRight,
bool flatOnTop,
bool flatOnBottom)
noexcept;
423 void drawShinyButtonShape (
Graphics&,
424 float x,
float y,
float w,
float h,
float maxCornerSize,
425 const Colour&,
float strokeWidth,
426 bool flatOnLeft,
bool flatOnRight,
bool flatOnTop,
bool flatOnBottom)
noexcept;
428 class GlassWindowButton;
429 class SliderLabelComp;
A window that displays a message and has buttons for the user to react to it.
Holds a resizable array of primitive or copy-by-value objects.
A text string with a set of colour/font settings that are associated with sub-ranges of the text.
Specifies a set of gaps to be left around the sides of a rectangle.
A component for showing a message or other graphics inside a speech-bubble-shaped outline,...
A box with a small arrow that can be used as a temporary pop-up window to show extra controls when a ...
Represents a colour, also including a transparency value.
A component that lets the user choose from a drop-down list of choices.
The base class for all JUCE user-interface objects.
A panel which holds a vertical stack of components which can be expanded and contracted.
A base class for components that display a list of the files in a directory.
A resizable window with a title bar and maximise, minimise and close buttons.
The base class for objects which can draw themselves, e.g.
An effect filter that adds a drop-shadow behind the image's content.
A component for browsing and selecting a file or directory to open or save.
Base class for components that live inside a file chooser dialog box and show previews of the files t...
Represents a local file or directory.
Shows a filename as an editable text box, with a 'browse' button and a drop-down list for recently se...
Represents a particular font, including its size, style, etc.
A graphics context, used for drawing a component or image.
A component that draws an outline around itself and has an optional title at the top,...
A graphical effect filter that can be applied to components.
Holds a fixed-size bitmap.
Represents a type of justification to be used when positioning graphical items.
A component that displays a text string, and can optionally become a text editor when clicked.
This LookAndFeel subclass implements the juce style from around 2008-12.
void drawSpinningWaitAnimation(Graphics &, const Colour &colour, int x, int y, int w, int h) override
Draws a small image that spins to indicate that something's happening.
std::unique_ptr< DropShadower > createDropShadowerForComponent(Component &) override
Creates a drop-shadower for a given component, if required.
void setComponentEffectForBubbleComponent(BubbleComponent &bubbleComponent) override
Override this method to set effects, such as a drop-shadow, on a BubbleComponent.
void drawProgressBar(Graphics &, ProgressBar &, int width, int height, double progress, const String &textToShow) override
Draws a progress bar.
void drawPopupMenuBackgroundWithOptions(Graphics &, int width, int height, const PopupMenu::Options &) override
Fills the background of a popup menu component.
void drawToggleButton(Graphics &, ToggleButton &, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override
Draws the contents of a standard ToggleButton.
void drawScrollbar(Graphics &, ScrollBar &, int x, int y, int width, int height, bool isScrollbarVertical, int thumbStartPosition, int thumbSize, bool isMouseOver, bool isMouseDown) override
Draws the thumb area of a scrollbar.
bool shouldPopupMenuScaleWithTargetComponent(const PopupMenu::Options &options) override
Return true if you want your popup menus to scale with the target component's AffineTransform or scal...
void drawPopupMenuColumnSeparatorWithOptions(Graphics &g, const Rectangle< int > &bounds, const PopupMenu::Options &) override
Implement this to draw some custom decoration between the columns of the popup menu.
static void drawGlassSphere(Graphics &, float x, float y, float diameter, const Colour &, float outlineThickness) noexcept
Utility function to draw a shiny, glassy circle (for round LED-type buttons).
void getIdealPopupMenuItemSize(const String &text, bool isSeparator, int standardMenuItemHeight, int &idealWidth, int &idealHeight) override
Finds the best size for an item in a popup menu.
void drawPopupMenuBackground(Graphics &, int width, int height) override
Fills the background of a popup menu component.
void drawScrollbarButton(Graphics &, ScrollBar &, int width, int height, int buttonDirection, bool isScrollbarVertical, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override
Draws one of the buttons on a scrollbar.
std::unique_ptr< FocusOutline > createFocusOutlineForComponent(Component &) override
Creates a focus outline for a given component, if required.
void drawButtonText(Graphics &, TextButton &, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown) override
Draws the text for a TextButton.
void getIdealPopupMenuItemSizeWithOptions(const String &text, bool isSeparator, int standardMenuItemHeight, int &idealWidth, int &idealHeight, const PopupMenu::Options &) override
Finds the best size for an item in a popup menu.
Rectangle< int > getTooltipBounds(const String &tipText, Point< int > screenPos, Rectangle< int > parentArea) override
returns the bounds for a tooltip at the given screen coordinate, constrained within the given desktop...
Font getAlertWindowMessageFont() override
Override this function to supply a custom font for the alert window message.
void drawBubble(Graphics &, BubbleComponent &, const Point< float > &tip, const Rectangle< float > &body) override
Override this method to draw a speech-bubble pointing at a specific location on the screen.
ProgressBar::Style getDefaultProgressBarStyle(const ProgressBar &) override
Returns the default style a progress bar should use if one hasn't been set.
int getScrollbarButtonSize(ScrollBar &) override
Returns the length in pixels to use for a scrollbar button.
int getPopupMenuColumnSeparatorWidthWithOptions(const PopupMenu::Options &) override
Return the amount of space that should be left between popup menu columns.
ImageEffectFilter * getScrollbarEffect() override
Returns the component effect to use for a scrollbar.
Path getCrossShape(float height) override
Returns a cross shape for use in yes/no boxes, etc.
static void drawBevel(Graphics &, int x, int y, int width, int height, int bevelThickness, const Colour &topLeftColour=Colours::white, const Colour &bottomRightColour=Colours::black, bool useGradient=true, bool sharpEdgeOnOutside=true)
Draws a 3D raised (or indented) bevel using two colours.
void drawPopupMenuItemWithOptions(Graphics &, const Rectangle< int > &area, bool isHighlighted, const PopupMenu::Item &item, const PopupMenu::Options &) override
Draws one of the items in a popup menu.
int getMinimumScrollbarThumbSize(ScrollBar &) override
Returns the minimum length in pixels to use for a scrollbar thumb.
int getDefaultScrollbarWidth() override
Returns the default thickness to use for a scrollbar.
Path getTickShape(float height) override
Returns a tick shape for use in yes/no boxes, etc.
Font getAlertWindowTitleFont() override
Override this function to supply a custom font for the alert window title.
void drawPopupMenuItem(Graphics &, const Rectangle< int > &area, bool isSeparator, bool isActive, bool isHighlighted, bool isTicked, bool hasSubMenu, const String &text, const String &shortcutKeyText, const Drawable *icon, const Colour *textColour) override
Draws one of the items in a popup menu.
static void drawGlassLozenge(Graphics &, float x, float y, float width, float height, const Colour &, float outlineThickness, float cornerSize, bool flatOnLeft, bool flatOnRight, bool flatOnTop, bool flatOnBottom) noexcept
Utility function to draw a shiny, glassy oblong (for text buttons).
Font getPopupMenuFont() override
Returns the size and style of font to use in popup menus.
LookAndFeel objects define the appearance of all the JUCE widgets, and subclasses can be used to appl...
A path is a sequence of lines and curves that may either form a closed shape or be open-ended.
A pair of (x, y) coordinates.
A progress bar component.
Style
The types of ProgressBar styles available.
A base class for a component that goes in a PropertyPanel and displays one of an item's properties.
Manages a rectangle and allows geometric operations to be performed on it.
A base class for top-level windows that can be dragged around and resized.
A component that is positioned on either the left- or right-hand side of its parent,...
A slider control for changing a value.
SliderStyle
The types of slider available.
A struct defining the placement of the slider area and the text box area relative to the bounds of th...
A button that uses the standard lozenge-shaped background with a line of text on it.
A Pre-formatted piece of text, which may contain multiple fonts and colours.
MessageBoxIconType
The type of icon to show in the dialog box.