openshot-audio
0.1.5
|
#include <juce_DrawableButton.h>
Public Types | |
enum | ButtonStyle { ImageFitted, ImageRaw, ImageAboveTextLabel, ImageOnButtonBackground, ImageStretched } |
enum | ColourIds { textColourId = 0x1004010, textColourOnId = 0x1004013, backgroundColourId = 0x1004011, backgroundOnColourId = 0x1004012 } |
![]() | |
enum | ConnectedEdgeFlags { ConnectedOnLeft = 1, ConnectedOnRight = 2, ConnectedOnTop = 4, ConnectedOnBottom = 8 } |
enum | ButtonState { buttonNormal, buttonOver, buttonDown } |
![]() | |
enum | FocusChangeType { focusChangedByMouseClick, focusChangedByTabKey, focusChangedDirectly } |
Public Member Functions | |
DrawableButton (const String &buttonName, ButtonStyle buttonStyle) | |
~DrawableButton () | |
void | setImages (const Drawable *normalImage, const Drawable *overImage=nullptr, const Drawable *downImage=nullptr, const Drawable *disabledImage=nullptr, const Drawable *normalImageOn=nullptr, const Drawable *overImageOn=nullptr, const Drawable *downImageOn=nullptr, const Drawable *disabledImageOn=nullptr) |
void | setButtonStyle (ButtonStyle newStyle) |
ButtonStyle | getStyle () const noexcept |
void | setEdgeIndent (int numPixelsIndent) |
Drawable * | getCurrentImage () const noexcept |
Drawable * | getNormalImage () const noexcept |
Drawable * | getOverImage () const noexcept |
Drawable * | getDownImage () const noexcept |
virtual Rectangle< float > | getImageBounds () const |
void | paintButton (Graphics &, bool isMouseOverButton, bool isButtonDown) override |
void | buttonStateChanged () override |
void | resized () override |
void | enablementChanged () override |
void | colourChanged () override |
![]() | |
virtual | ~Button () |
void | setButtonText (const String &newText) |
const String & | getButtonText () const |
bool | isDown () const noexcept |
bool | isOver () const noexcept |
void | setToggleState (bool shouldBeOn, NotificationType notification) |
bool | getToggleState () const noexcept |
Value & | getToggleStateValue () noexcept |
void | setClickingTogglesState (bool shouldAutoToggleOnClick) noexcept |
bool | getClickingTogglesState () const noexcept |
void | setRadioGroupId (int newGroupId, NotificationType notification=sendNotification) |
int | getRadioGroupId () const noexcept |
void | addListener (Listener *newListener) |
void | removeListener (Listener *listener) |
virtual void | triggerClick () |
void | setCommandToTrigger (ApplicationCommandManager *commandManagerToUse, CommandID commandID, bool generateTooltip) |
CommandID | getCommandID () const noexcept |
void | addShortcut (const KeyPress &) |
void | clearShortcuts () |
bool | isRegisteredForShortcut (const KeyPress &) const |
void | setRepeatSpeed (int initialDelayInMillisecs, int repeatDelayInMillisecs, int minimumDelayInMillisecs=-1) noexcept |
void | setTriggeredOnMouseDown (bool isTriggeredOnMouseDown) noexcept |
uint32 | getMillisecondsSinceButtonDown () const noexcept |
void | setTooltip (const String &newTooltip) override |
void | setConnectedEdges (int connectedEdgeFlags) |
int | getConnectedEdgeFlags () const noexcept |
bool | isConnectedOnLeft () const noexcept |
bool | isConnectedOnRight () const noexcept |
bool | isConnectedOnTop () const noexcept |
bool | isConnectedOnBottom () const noexcept |
void | setState (ButtonState newState) |
ButtonState | getState () const noexcept |
JUCE_DEPRECATED (void setToggleState(bool, bool)) | |
![]() | |
Component () noexcept | |
virtual | ~Component () |
Component (const String &componentName) noexcept | |
const String & | getName () const noexcept |
virtual void | setName (const String &newName) |
const String & | getComponentID () const noexcept |
void | setComponentID (const String &newID) |
virtual void | setVisible (bool shouldBeVisible) |
bool | isVisible () const noexcept |
bool | isShowing () const |
virtual void | addToDesktop (int windowStyleFlags, void *nativeWindowToAttachTo=nullptr) |
void | removeFromDesktop () |
bool | isOnDesktop () const noexcept |
ComponentPeer * | getPeer () const |
virtual void | userTriedToCloseWindow () |
virtual void | minimisationStateChanged (bool isNowMinimised) |
virtual float | getDesktopScaleFactor () const |
void | toFront (bool shouldAlsoGainFocus) |
void | toBack () |
void | toBehind (Component *other) |
void | setAlwaysOnTop (bool shouldStayOnTop) |
bool | isAlwaysOnTop () const noexcept |
int | getX () const noexcept |
int | getY () const noexcept |
int | getWidth () const noexcept |
int | getHeight () const noexcept |
int | getRight () const noexcept |
Point< int > | getPosition () const noexcept |
int | getBottom () const noexcept |
const Rectangle< int > & | getBounds () const noexcept |
Rectangle< int > | getLocalBounds () const noexcept |
Rectangle< int > | getBoundsInParent () const noexcept |
int | getScreenX () const |
int | getScreenY () const |
Point< int > | getScreenPosition () const |
Rectangle< int > | getScreenBounds () const |
Point< int > | getLocalPoint (const Component *sourceComponent, Point< int > pointRelativeToSourceComponent) const |
Point< float > | getLocalPoint (const Component *sourceComponent, Point< float > pointRelativeToSourceComponent) const |
Rectangle< int > | getLocalArea (const Component *sourceComponent, const Rectangle< int > &areaRelativeToSourceComponent) const |
Point< int > | localPointToGlobal (Point< int > localPoint) const |
Point< float > | localPointToGlobal (Point< float > localPoint) const |
Rectangle< int > | localAreaToGlobal (const Rectangle< int > &localArea) const |
void | setTopLeftPosition (int x, int y) |
void | setTopLeftPosition (Point< int > newTopLeftPosition) |
void | setTopRightPosition (int x, int y) |
void | setSize (int newWidth, int newHeight) |
void | setBounds (int x, int y, int width, int height) |
void | setBounds (const Rectangle< int > &newBounds) |
void | setBounds (const RelativeRectangle &newBounds) |
void | setBounds (const String &newBoundsExpression) |
void | setBoundsRelative (float proportionalX, float proportionalY, float proportionalWidth, float proportionalHeight) |
void | setBoundsInset (const BorderSize< int > &borders) |
void | setBoundsToFit (int x, int y, int width, int height, Justification justification, bool onlyReduceInSize) |
void | setCentrePosition (int x, int y) |
void | setCentreRelative (float x, float y) |
void | centreWithSize (int width, int height) |
void | setTransform (const AffineTransform &transform) |
AffineTransform | getTransform () const |
bool | isTransformed () const noexcept |
int | proportionOfWidth (float proportion) const noexcept |
int | proportionOfHeight (float proportion) const noexcept |
int | getParentWidth () const noexcept |
int | getParentHeight () const noexcept |
Rectangle< int > | getParentMonitorArea () const |
int | getNumChildComponents () const noexcept |
Component * | getChildComponent (int index) const noexcept |
int | getIndexOfChildComponent (const Component *child) const noexcept |
Component * | findChildWithID (StringRef componentID) const noexcept |
void | addChildComponent (Component *child, int zOrder=-1) |
void | addChildComponent (Component &child, int zOrder=-1) |
void | addAndMakeVisible (Component *child, int zOrder=-1) |
void | addAndMakeVisible (Component &child, int zOrder=-1) |
void | addChildAndSetID (Component *child, const String &componentID) |
void | removeChildComponent (Component *childToRemove) |
Component * | removeChildComponent (int childIndexToRemove) |
void | removeAllChildren () |
void | deleteAllChildren () |
Component * | getParentComponent () const noexcept |
template<class TargetClass > | |
TargetClass * | findParentComponentOfClass () const |
Component * | getTopLevelComponent () const noexcept |
bool | isParentOf (const Component *possibleChild) const noexcept |
virtual void | childrenChanged () |
virtual bool | hitTest (int x, int y) |
void | setInterceptsMouseClicks (bool allowClicksOnThisComponent, bool allowClicksOnChildComponents) noexcept |
void | getInterceptsMouseClicks (bool &allowsClicksOnThisComponent, bool &allowsClicksOnChildComponents) const noexcept |
bool | contains (Point< int > localPoint) |
bool | reallyContains (Point< int > localPoint, bool returnTrueIfWithinAChild) |
Component * | getComponentAt (int x, int y) |
Component * | getComponentAt (Point< int > position) |
void | repaint () |
void | repaint (int x, int y, int width, int height) |
void | repaint (const Rectangle< int > &area) |
void | setBufferedToImage (bool shouldBeBuffered) |
Image | createComponentSnapshot (const Rectangle< int > &areaToGrab, bool clipImageToComponentBounds=true, float scaleFactor=1.0f) |
void | paintEntireComponent (Graphics &context, bool ignoreAlphaLevel) |
void | setPaintingIsUnclipped (bool shouldPaintWithoutClipping) noexcept |
void | setComponentEffect (ImageEffectFilter *newEffect) |
ImageEffectFilter * | getComponentEffect () const noexcept |
LookAndFeel & | getLookAndFeel () const noexcept |
void | setLookAndFeel (LookAndFeel *newLookAndFeel) |
virtual void | lookAndFeelChanged () |
void | sendLookAndFeelChange () |
void | setOpaque (bool shouldBeOpaque) |
bool | isOpaque () const noexcept |
void | setBroughtToFrontOnMouseClick (bool shouldBeBroughtToFront) noexcept |
bool | isBroughtToFrontOnMouseClick () const noexcept |
void | setWantsKeyboardFocus (bool wantsFocus) noexcept |
bool | getWantsKeyboardFocus () const noexcept |
void | setMouseClickGrabsKeyboardFocus (bool shouldGrabFocus) |
bool | getMouseClickGrabsKeyboardFocus () const noexcept |
void | grabKeyboardFocus () |
bool | hasKeyboardFocus (bool trueIfChildIsFocused) const |
void | moveKeyboardFocusToSibling (bool moveToNext) |
virtual KeyboardFocusTraverser * | createFocusTraverser () |
int | getExplicitFocusOrder () const |
void | setExplicitFocusOrder (int newFocusOrderIndex) |
void | setFocusContainer (bool shouldBeFocusContainer) noexcept |
bool | isFocusContainer () const noexcept |
bool | isEnabled () const noexcept |
void | setEnabled (bool shouldBeEnabled) |
void | setAlpha (float newAlpha) |
float | getAlpha () const |
void | setMouseCursor (const MouseCursor &cursorType) |
virtual MouseCursor | getMouseCursor () |
void | updateMouseCursor () const |
virtual void | paintOverChildren (Graphics &g) |
virtual void | mouseMove (const MouseEvent &event) override |
virtual void | mouseDoubleClick (const MouseEvent &event) override |
virtual void | mouseWheelMove (const MouseEvent &event, const MouseWheelDetails &wheel) override |
virtual void | mouseMagnify (const MouseEvent &event, float scaleFactor) |
void | setRepaintsOnMouseActivity (bool shouldRepaint) noexcept |
void | addMouseListener (MouseListener *newListener, bool wantsEventsForAllNestedChildComponents) |
void | removeMouseListener (MouseListener *listenerToRemove) |
void | addKeyListener (KeyListener *newListener) |
void | removeKeyListener (KeyListener *listenerToRemove) |
virtual bool | keyStateChanged (bool isKeyDown) |
virtual void | modifierKeysChanged (const ModifierKeys &modifiers) |
virtual void | focusOfChildComponentChanged (FocusChangeType cause) |
bool | isMouseOver (bool includeChildren=false) const |
bool | isMouseButtonDown () const |
bool | isMouseOverOrDragging () const |
Point< int > | getMouseXYRelative () const |
virtual void | moved () |
virtual void | childBoundsChanged (Component *child) |
virtual void | parentSizeChanged () |
virtual void | broughtToFront () |
void | addComponentListener (ComponentListener *newListener) |
void | removeComponentListener (ComponentListener *listenerToRemove) |
void | postCommandMessage (int commandId) |
void | enterModalState (bool takeKeyboardFocus=true, ModalComponentManager::Callback *callback=nullptr, bool deleteWhenDismissed=false) |
void | exitModalState (int returnValue) |
bool | isCurrentlyModal () const noexcept |
bool | isCurrentlyBlockedByAnotherModalComponent () const |
virtual bool | canModalEventBeSentToComponent (const Component *targetComponent) |
virtual void | inputAttemptWhenModal () |
NamedValueSet & | getProperties () noexcept |
const NamedValueSet & | getProperties () const noexcept |
Colour | findColour (int colourId, bool inheritFromParent=false) const |
void | setColour (int colourId, Colour newColour) |
void | removeColour (int colourId) |
bool | isColourSpecified (int colourId) const |
void | copyAllExplicitColoursTo (Component &target) const |
virtual MarkerList * | getMarkers (bool xAxis) |
void * | getWindowHandle () const |
Positioner * | getPositioner () const noexcept |
void | setPositioner (Positioner *newPositioner) |
void | setCachedComponentImage (CachedComponentImage *newCachedImage) |
CachedComponentImage * | getCachedComponentImage () const noexcept |
JUCE_DEPRECATED (Point< int > relativePositionToGlobal(Point< int >) const) | |
JUCE_DEPRECATED (Point< int > globalPositionToRelative(Point< int >) const) | |
JUCE_DEPRECATED (Point< int > relativePositionToOtherComponent(const Component *, Point< int >) const) | |
![]() | |
virtual | ~MouseListener () |
![]() | |
virtual | ~SettableTooltipClient () |
virtual String | getTooltip () |
![]() | |
virtual | ~TooltipClient () |
A button that displays a Drawable.
Up to three Drawable objects can be given to this button, to represent the 'normal', 'over' and 'down' states.
Enumerator | |
---|---|
ImageFitted | The button will just display the images, but will resize and centre them to fit inside it. |
ImageRaw | The button will just display the images in their normal size and position. This leaves it up to the caller to make sure the images are the correct size and position for the button. |
ImageAboveTextLabel | Draws the button as a text label across the bottom with the image resized and scaled to fit above it. |
ImageOnButtonBackground | Draws the button as a standard rounded-rectangle button with the image on top. Note that if you use this style, the colour IDs that control the button colour are TextButton::buttonColourId and TextButton::buttonOnColourId. |
ImageStretched | Fills the button with a stretched version of the image. |
A set of colour IDs to use to change the colour of various aspects of the link.
These constants can be used either via the Component::setColour(), or LookAndFeel::setColour() methods.
Note that when the ImageOnButtonBackground style is used, the colour IDs that control the button colour are TextButton::buttonColourId and TextButton::buttonOnColourId.
Enumerator | |
---|---|
textColourId | The colour to use for the button's text label. |
textColourOnId | The colour to use for the button's text.when the button's toggle state is "on". |
backgroundColourId | The colour used to fill the button's background (when the button is toggled 'off'). Note that if you use the ImageOnButtonBackground style, you should use TextButton::buttonColourId to change the button's colour. |
backgroundOnColourId | The colour used to fill the button's background (when the button is toggled 'on'). Note that if you use the ImageOnButtonBackground style, you should use TextButton::buttonOnColourId to change the button's colour. |
DrawableButton::DrawableButton | ( | const String & | buttonName, |
const DrawableButton::ButtonStyle | buttonStyle | ||
) |
Creates a DrawableButton.
After creating one of these, use setImages() to specify the drawables to use.
buttonName | the name to give the component |
buttonStyle | the layout to use |
DrawableButton::~DrawableButton | ( | ) |
Destructor.
|
overridevirtual |
|
overridevirtual |
This method is called when a colour is changed by the setColour() method.
Reimplemented from Component.
|
overridevirtual |
Callback to indicate that this component has been enabled or disabled.
This can be triggered by one of the component's parent components being enabled or disabled, as well as changes to the component itself.
The default implementation of this method does nothing; your class may wish to repaint itself or something when this happens.
Reimplemented from Button.
|
noexcept |
Returns the image that the button is currently displaying.
|
noexcept |
Returns the image that the button will use when the mouse is held down on it.
|
virtual |
Can be overridden to specify a custom position for the image within the button.
|
noexcept |
Returns the image that the button will use for its normal state.
|
noexcept |
Returns the image that the button will use when the mouse is over it.
|
inlinenoexcept |
Returns the current style.
|
overridevirtual |
Subclasses should override this to actually paint the button's contents.
It's better to use this than the paint method, because it gives you information about the over/down state of the button.
g | the graphics context to use |
isMouseOverButton | true if the button is either in the 'over' or 'down' state |
isButtonDown | true if the button should be drawn in the 'down' position |
Implements Button.
|
overridevirtual |
Called when this component's size has been changed.
A component can implement this method to do things such as laying out its child components when its width or height changes.
The method is called synchronously as a result of the setBounds or setSize methods, so repeatedly changing a components size will repeatedly call its resized method (unlike things like repainting, where multiple calls to repaint are coalesced together).
If the component is a top-level window on the desktop, its size could also be changed by operating-system factors beyond the application's control.
Reimplemented from Component.
void DrawableButton::setButtonStyle | ( | const DrawableButton::ButtonStyle | newStyle | ) |
Changes the button's style.
void DrawableButton::setEdgeIndent | ( | int | numPixelsIndent | ) |
Gives the button an optional amount of space around the edge of the drawable. By default there's a gap of about 3 pixels.
void DrawableButton::setImages | ( | const Drawable * | normalImage, |
const Drawable * | overImage = nullptr , |
||
const Drawable * | downImage = nullptr , |
||
const Drawable * | disabledImage = nullptr , |
||
const Drawable * | normalImageOn = nullptr , |
||
const Drawable * | overImageOn = nullptr , |
||
const Drawable * | downImageOn = nullptr , |
||
const Drawable * | disabledImageOn = nullptr |
||
) |
Sets up the images to draw for the various button states.
The button will keep its own internal copies of these drawables.
normalImage | the thing to draw for the button's 'normal' state. An internal copy will be made of the object passed-in if it is non-zero. |
overImage | the thing to draw for the button's 'over' state - if this is zero, the button's normal image will be used when the mouse is over it. An internal copy will be made of the object passed-in if it is non-zero. |
downImage | the thing to draw for the button's 'down' state - if this is zero, the 'over' image will be used instead (or the normal image as a last resort). An internal copy will be made of the object passed-in if it is non-zero. |
disabledImage | an image to draw when the button is disabled. If this is zero, the normal image will be drawn with a reduced opacity instead. An internal copy will be made of the object passed-in if it is non-zero. |
normalImageOn | same as the normalImage, but this is used when the button's toggle state is 'on'. If this is nullptr, the normal image is used instead |
overImageOn | same as the overImage, but this is used when the button's toggle state is 'on'. If this is nullptr, the normalImageOn is drawn instead |
downImageOn | same as the downImage, but this is used when the button's toggle state is 'on'. If this is nullptr, the overImageOn is drawn instead |
disabledImageOn | same as the disabledImage, but this is used when the button's toggle state is 'on'. If this is nullptr, the normal image will be drawn instead with a reduced opacity |