JUCE
|
LookAndFeel objects define the appearance of all the JUCE widgets, and subclasses can be used to apply different 'skins' to the application. More...
Public Member Functions | |
LookAndFeel () | |
Creates the default JUCE look and feel. More... | |
~LookAndFeel () override | |
Destructor. More... | |
Colour | findColour (int colourId) const noexcept |
Looks for a colour that has been registered with the given colour ID number. More... | |
void | setColour (int colourId, Colour colour) noexcept |
Registers a colour to be used for a particular purpose. More... | |
bool | isColourSpecified (int colourId) const noexcept |
Returns true if the specified colour ID has been explicitly set using the setColour() method. More... | |
virtual Typeface::Ptr | getTypefaceForFont (const Font &) |
Returns the typeface that should be used for a given font. More... | |
void | setDefaultSansSerifTypeface (Typeface::Ptr newDefaultTypeface) |
Allows you to supply a default typeface that will be returned as the default sans-serif font. More... | |
void | setDefaultSansSerifTypefaceName (const String &newName) |
Allows you to change the default sans-serif font. More... | |
virtual MouseCursor | getMouseCursorFor (Component &) |
Override this to get the chance to swap a component's mouse cursor for a customised one. More... | |
virtual std::unique_ptr< LowLevelGraphicsContext > | createGraphicsContext (const Image &imageToRenderOn, Point< int > origin, const RectangleList< int > &initialClip) |
Creates a new graphics context object. More... | |
void | setUsingNativeAlertWindows (bool shouldUseNativeAlerts) |
bool | isUsingNativeAlertWindows () |
virtual void | drawSpinningWaitAnimation (Graphics &, const Colour &colour, int x, int y, int w, int h)=0 |
Draws a small image that spins to indicate that something's happening. More... | |
virtual Path | getTickShape (float height)=0 |
Returns a tick shape for use in yes/no boxes, etc. More... | |
virtual Path | getCrossShape (float height)=0 |
Returns a cross shape for use in yes/no boxes, etc. More... | |
virtual DropShadower * | createDropShadowerForComponent (Component *)=0 |
virtual void | playAlertSound () |
Plays the system's default 'beep' noise, to alert the user about something very important. More... | |
Public Member Functions inherited from ScrollBar::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual bool | areScrollbarButtonsVisible ()=0 |
virtual void | drawScrollbarButton (Graphics &g, ScrollBar &scrollbar, int width, int height, int buttonDirection, bool isScrollbarVertical, bool isMouseOverButton, bool isButtonDown)=0 |
Draws one of the buttons on a scrollbar. More... | |
virtual void | drawScrollbar (Graphics &g, ScrollBar &scrollbar, int x, int y, int width, int height, bool isScrollbarVertical, int thumbStartPosition, int thumbSize, bool isMouseOver, bool isMouseDown)=0 |
Draws the thumb area of a scrollbar. More... | |
virtual ImageEffectFilter * | getScrollbarEffect ()=0 |
Returns the component effect to use for a scrollbar. More... | |
virtual int | getMinimumScrollbarThumbSize (ScrollBar &)=0 |
Returns the minimum length in pixels to use for a scrollbar thumb. More... | |
virtual int | getDefaultScrollbarWidth ()=0 |
Returns the default thickness to use for a scrollbar. More... | |
virtual int | getScrollbarButtonSize (ScrollBar &)=0 |
Returns the length in pixels to use for a scrollbar button. More... | |
Public Member Functions inherited from Button::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawButtonBackground (Graphics &, Button &, const Colour &backgroundColour, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown)=0 |
virtual Font | getTextButtonFont (TextButton &, int buttonHeight)=0 |
virtual int | getTextButtonWidthToFitText (TextButton &, int buttonHeight)=0 |
virtual void | drawButtonText (Graphics &, TextButton &, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown)=0 |
Draws the text for a TextButton. More... | |
virtual void | drawToggleButton (Graphics &, ToggleButton &, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown)=0 |
Draws the contents of a standard ToggleButton. More... | |
virtual void | changeToggleButtonWidthToFitText (ToggleButton &)=0 |
virtual void | drawTickBox (Graphics &, Component &, float x, float y, float w, float h, bool ticked, bool isEnabled, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown)=0 |
virtual void | drawDrawableButton (Graphics &, DrawableButton &, bool shouldDrawButtonAsHighlighted, bool shouldDrawButtonAsDown)=0 |
Public Member Functions inherited from ImageButton::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawImageButton (Graphics &, Image *, int imageX, int imageY, int imageW, int imageH, const Colour &overlayColour, float imageOpacity, ImageButton &)=0 |
Public Member Functions inherited from TextEditor::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | fillTextEditorBackground (Graphics &, int width, int height, TextEditor &)=0 |
virtual void | drawTextEditorOutline (Graphics &, int width, int height, TextEditor &)=0 |
virtual CaretComponent * | createCaretComponent (Component *keyFocusOwner)=0 |
Public Member Functions inherited from FileBrowserComponent::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual const Drawable * | getDefaultFolderImage ()=0 |
virtual const Drawable * | getDefaultDocumentFileImage ()=0 |
virtual AttributedString | createFileChooserHeaderText (const String &title, const String &instructions)=0 |
virtual void | drawFileBrowserRow (Graphics &, int width, int height, const File &file, const String &filename, Image *optionalIcon, const String &fileSizeDescription, const String &fileTimeDescription, bool isDirectory, bool isItemSelected, int itemIndex, DirectoryContentsDisplayComponent &)=0 |
virtual Button * | createFileBrowserGoUpButton ()=0 |
virtual void | layoutFileBrowserComponent (FileBrowserComponent &browserComp, DirectoryContentsDisplayComponent *fileListComponent, FilePreviewComponent *previewComp, ComboBox *currentPathBox, TextEditor *filenameBox, Button *goUpButton)=0 |
Public Member Functions inherited from TreeView::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawTreeviewPlusMinusBox (Graphics &, const Rectangle< float > &area, Colour backgroundColour, bool isItemOpen, bool isMouseOver)=0 |
virtual bool | areLinesDrawnForTreeView (TreeView &)=0 |
virtual int | getTreeViewIndentSize (TreeView &)=0 |
Public Member Functions inherited from BubbleComponent::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawBubble (Graphics &, BubbleComponent &, const Point< float > &positionOfTip, const Rectangle< float > &body)=0 |
Public Member Functions inherited from AlertWindow::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual AlertWindow * | createAlertWindow (const String &title, const String &message, const String &button1, const String &button2, const String &button3, AlertWindow::AlertIconType iconType, int numButtons, Component *associatedComponent)=0 |
virtual void | drawAlertBox (Graphics &, AlertWindow &, const Rectangle< int > &textArea, TextLayout &)=0 |
virtual int | getAlertBoxWindowFlags ()=0 |
virtual Array< int > | getWidthsForTextButtons (AlertWindow &, const Array< TextButton *> &)=0 |
virtual int | getAlertWindowButtonHeight ()=0 |
virtual Font | getAlertWindowTitleFont ()=0 |
virtual Font | getAlertWindowMessageFont ()=0 |
virtual Font | getAlertWindowFont ()=0 |
Public Member Functions inherited from PopupMenu::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawPopupMenuBackground (Graphics &, int width, int height)=0 |
Fills the background of a popup menu component. More... | |
virtual 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)=0 |
Draws one of the items in a popup menu. More... | |
virtual void | drawPopupMenuSectionHeader (Graphics &, const Rectangle< int > &area, const String §ionName)=0 |
virtual Font | getPopupMenuFont ()=0 |
Returns the size and style of font to use in popup menus. More... | |
virtual void | drawPopupMenuUpDownArrow (Graphics &, int width, int height, bool isScrollUpArrow)=0 |
virtual void | getIdealPopupMenuItemSize (const String &text, bool isSeparator, int standardMenuItemHeight, int &idealWidth, int &idealHeight)=0 |
Finds the best size for an item in a popup menu. More... | |
virtual int | getMenuWindowFlags ()=0 |
virtual void | drawMenuBarBackground (Graphics &, int width, int height, bool isMouseOverBar, MenuBarComponent &)=0 |
virtual int | getDefaultMenuBarHeight ()=0 |
virtual int | getMenuBarItemWidth (MenuBarComponent &, int itemIndex, const String &itemText)=0 |
virtual Font | getMenuBarFont (MenuBarComponent &, int itemIndex, const String &itemText)=0 |
virtual void | drawMenuBarItem (Graphics &, int width, int height, int itemIndex, const String &itemText, bool isMouseOverItem, bool isMenuOpen, bool isMouseOverBar, MenuBarComponent &)=0 |
virtual Component * | getParentComponentForMenuOptions (const PopupMenu::Options &options)=0 |
virtual void | preparePopupMenuWindow (Component &newWindow)=0 |
virtual bool | shouldPopupMenuScaleWithTargetComponent (const PopupMenu::Options &options)=0 |
Return true if you want your popup menus to scale with the target component's AffineTransform or scale factor. More... | |
virtual int | getPopupMenuBorderSize ()=0 |
Public Member Functions inherited from ComboBox::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawComboBox (Graphics &, int width, int height, bool isButtonDown, int buttonX, int buttonY, int buttonW, int buttonH, ComboBox &)=0 |
virtual Font | getComboBoxFont (ComboBox &)=0 |
virtual Label * | createComboBoxTextBox (ComboBox &)=0 |
virtual void | positionComboBoxText (ComboBox &, Label &labelToPosition)=0 |
virtual PopupMenu::Options | getOptionsForComboBoxPopupMenu (ComboBox &, Label &)=0 |
virtual void | drawComboBoxTextWhenNothingSelected (Graphics &, ComboBox &, Label &)=0 |
Public Member Functions inherited from Label::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawLabel (Graphics &, Label &)=0 |
virtual Font | getLabelFont (Label &)=0 |
virtual BorderSize< int > | getLabelBorderSize (Label &)=0 |
Public Member Functions inherited from Slider::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawLinearSlider (Graphics &, int x, int y, int width, int height, float sliderPos, float minSliderPos, float maxSliderPos, const Slider::SliderStyle, Slider &)=0 |
virtual void | drawLinearSliderBackground (Graphics &, int x, int y, int width, int height, float sliderPos, float minSliderPos, float maxSliderPos, const Slider::SliderStyle style, Slider &)=0 |
virtual void | drawLinearSliderThumb (Graphics &, int x, int y, int width, int height, float sliderPos, float minSliderPos, float maxSliderPos, const Slider::SliderStyle, Slider &)=0 |
virtual int | getSliderThumbRadius (Slider &)=0 |
virtual void | drawRotarySlider (Graphics &, int x, int y, int width, int height, float sliderPosProportional, float rotaryStartAngle, float rotaryEndAngle, Slider &)=0 |
virtual Button * | createSliderButton (Slider &, bool isIncrement)=0 |
virtual Label * | createSliderTextBox (Slider &)=0 |
virtual ImageEffectFilter * | getSliderEffect (Slider &)=0 |
virtual Font | getSliderPopupFont (Slider &)=0 |
virtual int | getSliderPopupPlacement (Slider &)=0 |
virtual SliderLayout | getSliderLayout (Slider &)=0 |
Public Member Functions inherited from ResizableWindow::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawCornerResizer (Graphics &, int w, int h, bool isMouseOver, bool isMouseDragging)=0 |
virtual void | drawResizableFrame (Graphics &, int w, int h, const BorderSize< int > &)=0 |
virtual void | fillResizableWindowBackground (Graphics &, int w, int h, const BorderSize< int > &, ResizableWindow &)=0 |
virtual void | drawResizableWindowBorder (Graphics &, int w, int h, const BorderSize< int > &border, ResizableWindow &)=0 |
Public Member Functions inherited from DocumentWindow::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawDocumentWindowTitleBar (DocumentWindow &, Graphics &, int w, int h, int titleSpaceX, int titleSpaceW, const Image *icon, bool drawTitleTextOnLeft)=0 |
virtual Button * | createDocumentWindowButton (int buttonType)=0 |
virtual void | positionDocumentWindowButtons (DocumentWindow &, int titleBarX, int titleBarY, int titleBarW, int titleBarH, Button *minimiseButton, Button *maximiseButton, Button *closeButton, bool positionTitleBarButtonsOnLeft)=0 |
Public Member Functions inherited from TooltipWindow::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual Rectangle< int > | getTooltipBounds (const String &tipText, Point< int > screenPos, Rectangle< int > parentArea)=0 |
returns the bounds for a tooltip at the given screen coordinate, constrained within the given desktop area. More... | |
virtual void | drawTooltip (Graphics &, const String &text, int width, int height)=0 |
Public Member Functions inherited from TabbedButtonBar::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual int | getTabButtonSpaceAroundImage ()=0 |
virtual int | getTabButtonOverlap (int tabDepth)=0 |
virtual int | getTabButtonBestWidth (TabBarButton &, int tabDepth)=0 |
virtual Rectangle< int > | getTabButtonExtraComponentBounds (const TabBarButton &, Rectangle< int > &textArea, Component &extraComp)=0 |
virtual void | drawTabButton (TabBarButton &, Graphics &, bool isMouseOver, bool isMouseDown)=0 |
virtual Font | getTabButtonFont (TabBarButton &, float height)=0 |
virtual void | drawTabButtonText (TabBarButton &, Graphics &, bool isMouseOver, bool isMouseDown)=0 |
virtual void | drawTabbedButtonBarBackground (TabbedButtonBar &, Graphics &)=0 |
virtual void | drawTabAreaBehindFrontButton (TabbedButtonBar &, Graphics &, int w, int h)=0 |
virtual void | createTabButtonShape (TabBarButton &, Path &path, bool isMouseOver, bool isMouseDown)=0 |
virtual void | fillTabButtonShape (TabBarButton &, Graphics &, const Path &path, bool isMouseOver, bool isMouseDown)=0 |
virtual Button * | createTabBarExtrasButton ()=0 |
Public Member Functions inherited from PropertyComponent::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawPropertyPanelSectionHeader (Graphics &, const String &name, bool isOpen, int width, int height)=0 |
virtual void | drawPropertyComponentBackground (Graphics &, int width, int height, PropertyComponent &)=0 |
virtual void | drawPropertyComponentLabel (Graphics &, int width, int height, PropertyComponent &)=0 |
virtual Rectangle< int > | getPropertyComponentContentPosition (PropertyComponent &)=0 |
virtual int | getPropertyPanelSectionHeaderHeight (const String §ionTitle)=0 |
Public Member Functions inherited from FilenameComponent::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual Button * | createFilenameComponentBrowseButton (const String &text)=0 |
virtual void | layoutFilenameComponent (FilenameComponent &, ComboBox *filenameBox, Button *browseButton)=0 |
Public Member Functions inherited from GroupComponent::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawGroupComponentOutline (Graphics &, int w, int h, const String &text, const Justification &, GroupComponent &)=0 |
Public Member Functions inherited from TableHeaderComponent::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawTableHeaderBackground (Graphics &, TableHeaderComponent &)=0 |
virtual void | drawTableHeaderColumn (Graphics &, TableHeaderComponent &, const String &columnName, int columnId, int width, int height, bool isMouseOver, bool isMouseDown, int columnFlags)=0 |
Public Member Functions inherited from CallOutBox::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawCallOutBoxBackground (CallOutBox &, Graphics &, const Path &, Image &)=0 |
virtual int | getCallOutBoxBorderSize (const CallOutBox &)=0 |
virtual float | getCallOutBoxCornerSize (const CallOutBox &)=0 |
Public Member Functions inherited from Toolbar::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | paintToolbarBackground (Graphics &, int width, int height, Toolbar &)=0 |
virtual Button * | createToolbarMissingItemsButton (Toolbar &)=0 |
virtual void | paintToolbarButtonBackground (Graphics &, int width, int height, bool isMouseOver, bool isMouseDown, ToolbarItemComponent &)=0 |
virtual void | paintToolbarButtonLabel (Graphics &, int x, int y, int width, int height, const String &text, ToolbarItemComponent &)=0 |
Public Member Functions inherited from ConcertinaPanel::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawConcertinaPanelHeader (Graphics &, const Rectangle< int > &area, bool isMouseOver, bool isMouseDown, ConcertinaPanel &, Component &)=0 |
Public Member Functions inherited from ProgressBar::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawProgressBar (Graphics &, ProgressBar &, int width, int height, double progress, const String &textToShow)=0 |
Draws a progress bar. More... | |
virtual bool | isProgressBarOpaque (ProgressBar &)=0 |
Public Member Functions inherited from StretchableLayoutResizerBar::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual void | drawStretchableLayoutResizerBar (Graphics &, int w, int h, bool isVerticalBar, bool isMouseOver, bool isMouseDragging)=0 |
Public Member Functions inherited from ExtraLookAndFeelBaseClasses::KeyMappingEditorComponentMethods | |
virtual | ~KeyMappingEditorComponentMethods ()=default |
virtual void | drawKeymapChangeButton (Graphics &, int width, int height, Button &, const String &keyDescription)=0 |
Public Member Functions inherited from ExtraLookAndFeelBaseClasses::AudioDeviceSelectorComponentMethods | |
virtual | ~AudioDeviceSelectorComponentMethods ()=default |
virtual void | drawLevelMeter (Graphics &, int width, int height, float level)=0 |
Public Member Functions inherited from ExtraLookAndFeelBaseClasses::LassoComponentMethods | |
virtual | ~LassoComponentMethods ()=default |
virtual void | drawLasso (Graphics &, Component &lassoComp)=0 |
Public Member Functions inherited from SidePanel::LookAndFeelMethods | |
virtual | ~LookAndFeelMethods ()=default |
virtual Font | getSidePanelTitleFont (SidePanel &)=0 |
virtual Justification | getSidePanelTitleJustification (SidePanel &)=0 |
virtual Path | getSidePanelDismissButtonShape (SidePanel &)=0 |
Static Public Member Functions | |
static LookAndFeel & | getDefaultLookAndFeel () noexcept |
Returns the current default look-and-feel for a component to use when it hasn't got one explicitly set. More... | |
static void | setDefaultLookAndFeel (LookAndFeel *newDefaultLookAndFeel) noexcept |
Changes the default look-and-feel. More... | |
LookAndFeel objects define the appearance of all the JUCE widgets, and subclasses can be used to apply different 'skins' to the application.
This class is an abstract base-class - for actual look-and-feels that you can instantiate, see LookAndFeel_V1, LookAndFeel_V2 and LookAndFeel_V3.
LookAndFeel::LookAndFeel | ( | ) |
Creates the default JUCE look and feel.
|
override |
Destructor.
|
staticnoexcept |
Returns the current default look-and-feel for a component to use when it hasn't got one explicitly set.
|
staticnoexcept |
Changes the default look-and-feel.
newDefaultLookAndFeel | the new look-and-feel object to use - if this is set to null, it will revert to using the default one. The object passed-in must be deleted by the caller when it's no longer needed. |
Looks for a colour that has been registered with the given colour ID number.
If a colour has been set for this ID number using setColour(), then it is returned. If none has been set, it will just return Colours::black.
The colour IDs for various purposes are stored as enums in the components that they are relevant to - for an example, see Slider::ColourIds, Label::ColourIds, TextEditor::ColourIds, TreeView::ColourIds, etc.
If you're looking up a colour for use in drawing a component, it's usually best not to call this directly, but to use the Component::findColour() method instead. That will first check whether a suitable colour has been registered directly with the component, and will fall-back on calling the component's LookAndFeel's findColour() method if none is found.
Referenced by StandalonePluginHolder::showAudioSettingsDialog().
Registers a colour to be used for a particular purpose.
For more details, see the comments for findColour().
|
noexcept |
Returns true if the specified colour ID has been explicitly set using the setColour() method.
|
virtual |
Returns the typeface that should be used for a given font.
The default implementation just does what you'd expect it to, but you can override this if you want to intercept fonts and use your own custom typeface object.
void LookAndFeel::setDefaultSansSerifTypeface | ( | Typeface::Ptr | newDefaultTypeface | ) |
Allows you to supply a default typeface that will be returned as the default sans-serif font.
Instead of a typeface object, you can specify a typeface by name using the setDefaultSansSerifTypefaceName() method. You can perform more complex typeface substitutions by overloading getTypefaceForFont() but this lets you easily set a global typeface.
void LookAndFeel::setDefaultSansSerifTypefaceName | ( | const String & | newName | ) |
Allows you to change the default sans-serif font.
If you need to supply your own Typeface object for any of the default fonts, rather than just supplying the name (e.g. if you want to use an embedded font), then you can instead call setDefaultSansSerifTypeface() with an object to use.
|
virtual |
Override this to get the chance to swap a component's mouse cursor for a customised one.
|
virtual |
Creates a new graphics context object.
void LookAndFeel::setUsingNativeAlertWindows | ( | bool | shouldUseNativeAlerts | ) |
bool LookAndFeel::isUsingNativeAlertWindows | ( | ) |
|
pure virtual |
Draws a small image that spins to indicate that something's happening.
This method should use the current time to animate itself, so just keep repainting it every so often.
Implemented in LookAndFeel_V2.
|
pure virtual |
Returns a tick shape for use in yes/no boxes, etc.
Implemented in LookAndFeel_V4, LookAndFeel_V2, and LookAndFeel_V3.
|
pure virtual |
Returns a cross shape for use in yes/no boxes, etc.
Implemented in LookAndFeel_V4, LookAndFeel_V2, and LookAndFeel_V3.
|
pure virtual |
Implemented in LookAndFeel_V2.
|
virtual |
Plays the system's default 'beep' noise, to alert the user about something very important.