A base class implementing common functionality for Drawable classes which consist of some kind of filled and stroked outline. More...
Public Member Functions | |
| void | setFill (const FillType &newFill) |
| Sets a fill type for the path. | |
| const FillType & | getFill () const noexcept |
| Returns the current fill type. | |
| void | setStrokeFill (const FillType &newStrokeFill) |
| Sets the fill type with which the outline will be drawn. | |
| const FillType & | getStrokeFill () const noexcept |
| Returns the current stroke fill. | |
| void | setStrokeType (const PathStrokeType &newStrokeType) |
| Changes the properties of the outline that will be drawn around the path. | |
| void | setStrokeThickness (float newThickness) |
| Changes the stroke thickness. | |
| PathStrokeType | getStrokeType () const noexcept |
| Returns the current outline style. | |
| void | setDashLengths (Span< const float > newDashLengths) |
| Provides a set of dash lengths to use for stroking the path. | |
| void | setDashOffset (float dashOffset) |
| Provides an offset on the rendering of the associated dash array. | |
| Span< const float > | getDashLengths () const & |
| Returns the set of dash lengths that the path is using. | |
| Span< const float > | getDashLengths () const &&=delete |
| Rectangle< float > | getDrawableBoundsUntransformed () const override |
| Returns the area that this drawable covers in its original coordinate system. | |
| bool | hitTest (Point< float >) const override |
| Tests whether a given point is inside the Drawable. | |
| bool | replaceColour (Colour originalColour, Colour replacementColour) override |
| Recursively replaces a colour that might be used for filling or stroking. | |
| Path | getOutlineAsPath () const override |
| Creates a path that describes the outline of this drawable. | |
Public Member Functions inherited from juce::Drawable | |
| Drawable ()=default | |
| Constructor. | |
| Drawable (const Drawable &other) | |
| Copy constructor. | |
| virtual | ~Drawable ()=default |
| Destructor. | |
| virtual std::unique_ptr< Drawable > | createCopy () const =0 |
| Creates a deep copy of this Drawable object. | |
| void | draw (Graphics &g, float opacity, const AffineTransform &transform=AffineTransform()) const |
| Renders this Drawable object. | |
| void | drawAt (Graphics &g, float x, float y, float opacity) const |
| Renders the Drawable at a given offset within the Graphics context. | |
| void | drawWithin (Graphics &g, Rectangle< float > destArea, RectanglePlacement placement, float opacity) const |
| Renders the Drawable within a rectangle, scaling it to fit neatly inside without changing its aspect-ratio. | |
| void | setClipPath (std::unique_ptr< Drawable > drawableClipPath) |
| Sets a the clipping region of this drawable using another drawable. | |
| Rectangle< float > | getDrawableBounds () const |
| Returns the area that this drawable covers. | |
| Rectangle< float > | getContentBounds () const |
| Returns the bounds that this drawable is intended to occupy. | |
| virtual Rectangle< float > | getContentBoundsUntransformed () const |
| Returns the area that this drawable is intended to occupy in its original coordinate system. | |
| int | getWidth () const |
| Returns the width of the drawable bounds rounded up to the nearest integer. | |
| int | getHeight () const |
| Returns the height of the drawable bounds rounded up to the nearest integer. | |
| void | setDrawableTransform (const AffineTransform &transform) |
| Sets a transformation that applies to the same coordinate system in which the rest of the draw calls are made. | |
| void | setDrawableTransformToFit (const Rectangle< float > &area, RectanglePlacement placement) |
| Calls setDrawableTransform() with a transform that will position this Drawable within the specified area in the untransformed coordinate system of the Drawable. | |
| AffineTransform | getDrawableTransform () const |
| Returns the transform that is currently being applied to this drawable. | |
| const String & | getName () const |
| Returns the name of this Drawable object. | |
| void | setName (const String &newName) |
| Sets the name of this drawable object. | |
| void | addListener (Listener *newListener) |
| Adds a listener. | |
| void | removeListener (Listener *listenerToRemove) |
| Removes a listener. | |
| virtual bool | isImage () const |
| virtual std::optional< String > | getContainedText () const |
| virtual bool | requiresBlendBuffer () const |
Protected Member Functions | |
| DrawableShape ()=default | |
| DrawableShape (const DrawableShape &)=default | |
| void | pathChanged () |
| Called when the cached path should be updated. | |
| void | strokeChanged () |
| Called when the cached stroke should be updated. | |
| bool | isStrokeVisible () const noexcept |
| True if there's a stroke with a non-zero thickness and non-transparent colour. | |
Protected Member Functions inherited from juce::Drawable | |
| virtual AffineTransform | getTransform () const |
| void | callListeners () |
Protected Attributes | |
| StrokeOptions | strokeOptions = StrokeOptions{}.withWidth (0.0f) |
| Path | path |
| Path | strokePath |
Additional Inherited Members | |
Static Public Member Functions inherited from juce::Drawable | |
| static std::unique_ptr< Drawable > | createFromImageData (const void *data, size_t numBytes) |
| Tries to turn some kind of image file into a drawable. | |
| static std::unique_ptr< Drawable > | createFromImageDataStream (InputStream &dataSource) |
| Tries to turn a stream containing some kind of image data into a drawable. | |
| static std::unique_ptr< Drawable > | createFromImageFile (const File &file) |
| Tries to turn a file containing some kind of image data into a drawable. | |
| static std::unique_ptr< Drawable > | createFromSVGFile (const File &svgFile) |
| Attempts to parse an SVG (Scalable Vector Graphics) document from a file, and to turn this into a Drawable tree. | |
| static std::unique_ptr< DrawableComposite > | createFromSVGString (const String &svgString) |
| Attempts to parse an SVG (Scalable Vector Graphics) document from a string, and to turn this into a Drawable tree. | |
| static Path | parseSVGPath (const String &svgPath) |
| Parses an SVG path string and returns it. | |
A base class implementing common functionality for Drawable classes which consist of some kind of filled and stroked outline.
|
protecteddefault |
|
protecteddefault |
Sets a fill type for the path.
This colour is used to fill the path - if you don't want the path to be filled (e.g. if you're just drawing an outline), set this to a transparent colour.
Returns the current fill type.
Sets the fill type with which the outline will be drawn.
Returns the current stroke fill.
| void juce::DrawableShape::setStrokeType | ( | const PathStrokeType & | newStrokeType | ) |
Changes the properties of the outline that will be drawn around the path.
If the stroke has 0 thickness, no stroke will be drawn.
Changes the stroke thickness.
This is a shortcut for calling setStrokeType.
|
inlinenoexcept |
Returns the current outline style.
Provides a set of dash lengths to use for stroking the path.
Provides an offset on the rendering of the associated dash array.
Returns the set of dash lengths that the path is using.
Returns the area that this drawable covers in its original coordinate system.
These bounds are not affected by setDrawableTransform().
Implements juce::Drawable.
Tests whether a given point is inside the Drawable.
Implements juce::Drawable.
|
overridevirtual |
Recursively replaces a colour that might be used for filling or stroking.
return true if any instances of this colour were found.
Reimplemented from juce::Drawable.
|
overridevirtual |
Creates a path that describes the outline of this drawable.
Implements juce::Drawable.
|
protected |
Called when the cached path should be updated.
|
protected |
Called when the cached stroke should be updated.
|
protectednoexcept |
True if there's a stroke with a non-zero thickness and non-transparent colour.
|
protected |
|
protected |
|
protected |