|
JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins
« « « Anklang Documentation |
A graphics context, used for drawing a component or image. More...
#include "juce_GraphicsContext.h"
Classes | |
| class | ScopedSaveState |
| Uses RAII to save and restore the state of a graphics context. More... | |
Public Types | |
| enum | ResamplingQuality { lowResamplingQuality , mediumResamplingQuality , highResamplingQuality } |
| Types of rendering quality that can be specified when drawing images. More... | |
Public Member Functions | |
| Graphics (const Image &imageToDrawOnto) | |
| Creates a Graphics object to draw directly onto the given image. | |
| void | setColour (Colour newColour) |
| Changes the current drawing colour. | |
| void | setOpacity (float newOpacity) |
| Changes the opacity to use with the current colour. | |
| void | setGradientFill (const ColourGradient &gradient) |
| Sets the context to use a gradient for its fill pattern. | |
| void | setGradientFill (ColourGradient &&gradient) |
| Sets the context to use a gradient for its fill pattern. | |
| void | setTiledImageFill (const Image &imageToUse, int anchorX, int anchorY, float opacity) |
| Sets the context to use a tiled image pattern for filling. | |
| void | setFillType (const FillType &newFill) |
| Changes the current fill settings. | |
| void | setFont (const Font &newFont) |
| Changes the font to use for subsequent text-drawing functions. | |
| void | setFont (float newFontHeight) |
| Changes the size of the currently-selected font. | |
| Font | getCurrentFont () const |
| Returns the currently selected font. | |
| void | drawSingleLineText (const String &text, int startX, int baselineY, Justification justification=Justification::left) const |
| Draws a one-line text string. | |
| void | drawMultiLineText (const String &text, int startX, int baselineY, int maximumLineWidth, Justification justification=Justification::left, float leading=0.0f) const |
| Draws text across multiple lines. | |
| void | drawText (const String &text, int x, int y, int width, int height, Justification justificationType, bool useEllipsesIfTooBig=true) const |
| Draws a line of text within a specified rectangle. | |
| void | drawText (const String &text, Rectangle< int > area, Justification justificationType, bool useEllipsesIfTooBig=true) const |
| Draws a line of text within a specified rectangle. | |
| void | drawText (const String &text, Rectangle< float > area, Justification justificationType, bool useEllipsesIfTooBig=true) const |
| Draws a line of text within a specified rectangle. | |
| void | drawFittedText (const String &text, int x, int y, int width, int height, Justification justificationFlags, int maximumNumberOfLines, float minimumHorizontalScale=0.0f) const |
| Tries to draw a text string inside a given space. | |
| void | drawFittedText (const String &text, Rectangle< int > area, Justification justificationFlags, int maximumNumberOfLines, float minimumHorizontalScale=0.0f) const |
| Tries to draw a text string inside a given space. | |
| void | fillAll () const |
| Fills the context's entire clip region with the current colour or brush. | |
| void | fillAll (Colour colourToUse) const |
| Fills the context's entire clip region with a given colour. | |
| void | fillRect (Rectangle< int > rectangle) const |
| Fills a rectangle with the current colour or brush. | |
| void | fillRect (Rectangle< float > rectangle) const |
| Fills a rectangle with the current colour or brush. | |
| void | fillRect (int x, int y, int width, int height) const |
| Fills a rectangle with the current colour or brush. | |
| void | fillRect (float x, float y, float width, float height) const |
| Fills a rectangle with the current colour or brush. | |
| void | fillRectList (const RectangleList< float > &rectangles) const |
| Fills a set of rectangles using the current colour or brush. | |
| void | fillRectList (const RectangleList< int > &rectangles) const |
| Fills a set of rectangles using the current colour or brush. | |
| void | fillRoundedRectangle (float x, float y, float width, float height, float cornerSize) const |
| Uses the current colour or brush to fill a rectangle with rounded corners. | |
| void | fillRoundedRectangle (Rectangle< float > rectangle, float cornerSize) const |
| Uses the current colour or brush to fill a rectangle with rounded corners. | |
| void | fillCheckerBoard (Rectangle< float > area, float checkWidth, float checkHeight, Colour colour1, Colour colour2) const |
| Fills a rectangle with a checkerboard pattern, alternating between two colours. | |
| void | drawRect (int x, int y, int width, int height, int lineThickness=1) const |
| Draws a rectangular outline, using the current colour or brush. | |
| void | drawRect (float x, float y, float width, float height, float lineThickness=1.0f) const |
| Draws a rectangular outline, using the current colour or brush. | |
| void | drawRect (Rectangle< int > rectangle, int lineThickness=1) const |
| Draws a rectangular outline, using the current colour or brush. | |
| void | drawRect (Rectangle< float > rectangle, float lineThickness=1.0f) const |
| Draws a rectangular outline, using the current colour or brush. | |
| void | drawRoundedRectangle (float x, float y, float width, float height, float cornerSize, float lineThickness) const |
| Uses the current colour or brush to draw the outline of a rectangle with rounded corners. | |
| void | drawRoundedRectangle (Rectangle< float > rectangle, float cornerSize, float lineThickness) const |
| Uses the current colour or brush to draw the outline of a rectangle with rounded corners. | |
| void | fillEllipse (float x, float y, float width, float height) const |
| Fills an ellipse with the current colour or brush. | |
| void | fillEllipse (Rectangle< float > area) const |
| Fills an ellipse with the current colour or brush. | |
| void | drawEllipse (float x, float y, float width, float height, float lineThickness) const |
| Draws an elliptical stroke using the current colour or brush. | |
| void | drawEllipse (Rectangle< float > area, float lineThickness) const |
| Draws an elliptical stroke using the current colour or brush. | |
| void | drawLine (float startX, float startY, float endX, float endY) const |
| Draws a line between two points. | |
| void | drawLine (float startX, float startY, float endX, float endY, float lineThickness) const |
| Draws a line between two points with a given thickness. | |
| void | drawLine (Line< float > line) const |
| Draws a line between two points. | |
| void | drawLine (Line< float > line, float lineThickness) const |
| Draws a line between two points with a given thickness. | |
| void | drawDashedLine (Line< float > line, const float *dashLengths, int numDashLengths, float lineThickness=1.0f, int dashIndexToStartFrom=0) const |
| Draws a dashed line using a custom set of dash-lengths. | |
| void | drawVerticalLine (int x, float top, float bottom) const |
| Draws a vertical line of pixels at a given x position. | |
| void | drawHorizontalLine (int y, float left, float right) const |
| Draws a horizontal line of pixels at a given y position. | |
| void | fillPath (const Path &path) const |
| Fills a path using the currently selected colour or brush. | |
| void | fillPath (const Path &path, const AffineTransform &transform) const |
| Fills a path using the currently selected colour or brush, and adds a transform. | |
| void | strokePath (const Path &path, const PathStrokeType &strokeType, const AffineTransform &transform={}) const |
| Draws a path's outline using the currently selected colour or brush. | |
| void | drawArrow (Line< float > line, float lineThickness, float arrowheadWidth, float arrowheadLength) const |
| Draws a line with an arrowhead at its end. | |
| void | setImageResamplingQuality (ResamplingQuality newQuality) |
| Changes the quality that will be used when resampling images. | |
| void | drawImageAt (const Image &imageToDraw, int topLeftX, int topLeftY, bool fillAlphaChannelWithCurrentBrush=false) const |
| Draws an image. | |
| void | drawImage (const Image &imageToDraw, int destX, int destY, int destWidth, int destHeight, int sourceX, int sourceY, int sourceWidth, int sourceHeight, bool fillAlphaChannelWithCurrentBrush=false) const |
| Draws part of an image, rescaling it to fit in a given target region. | |
| void | drawImageTransformed (const Image &imageToDraw, const AffineTransform &transform, bool fillAlphaChannelWithCurrentBrush=false) const |
| Draws an image, having applied an affine transform to it. | |
| void | drawImage (const Image &imageToDraw, Rectangle< float > targetArea, RectanglePlacement placementWithinTarget=RectanglePlacement::stretchToFit, bool fillAlphaChannelWithCurrentBrush=false) const |
| Draws an image to fit within a designated rectangle. | |
| void | drawImageWithin (const Image &imageToDraw, int destX, int destY, int destWidth, int destHeight, RectanglePlacement placementWithinTarget, bool fillAlphaChannelWithCurrentBrush=false) const |
| Draws an image to fit within a designated rectangle. | |
| Rectangle< int > | getClipBounds () const |
| Returns the position of the bounding box for the current clipping region. | |
| bool | clipRegionIntersects (Rectangle< int > area) const |
| Checks whether a rectangle overlaps the context's clipping region. | |
| bool | reduceClipRegion (int x, int y, int width, int height) |
| Intersects the current clipping region with another region. | |
| bool | reduceClipRegion (Rectangle< int > area) |
| Intersects the current clipping region with another region. | |
| bool | reduceClipRegion (const RectangleList< int > &clipRegion) |
| Intersects the current clipping region with a rectangle list region. | |
| bool | reduceClipRegion (const Path &path, const AffineTransform &transform=AffineTransform()) |
| Intersects the current clipping region with a path. | |
| bool | reduceClipRegion (const Image &image, const AffineTransform &transform) |
| Intersects the current clipping region with an image's alpha-channel. | |
| void | excludeClipRegion (Rectangle< int > rectangleToExclude) |
| Excludes a rectangle to stop it being drawn into. | |
| bool | isClipEmpty () const |
| Returns true if no drawing can be done because the clip region is zero. | |
| void | saveState () |
| Saves the current graphics state on an internal stack. | |
| void | restoreState () |
| Restores a graphics state that was previously saved with saveState(). | |
| void | beginTransparencyLayer (float layerOpacity) |
| Begins rendering to an off-screen bitmap which will later be flattened onto the current context with the given opacity. | |
| void | endTransparencyLayer () |
| Completes a drawing operation to a temporary semi-transparent buffer. | |
| void | setOrigin (Point< int > newOrigin) |
| Moves the position of the context's origin. | |
| void | setOrigin (int newOriginX, int newOriginY) |
| Moves the position of the context's origin. | |
| void | addTransform (const AffineTransform &transform) |
| Adds a transformation which will be performed on all the graphics operations that the context subsequently performs. | |
| void | resetToDefaultState () |
| Resets the current colour, brush, and font to default settings. | |
| bool | isVectorDevice () const |
| Returns true if this context is drawing to a vector-based device, such as a printer. | |
| Graphics (LowLevelGraphicsContext &) noexcept | |
| Create a graphics that draws with a given low-level renderer. | |
| LowLevelGraphicsContext & | getInternalContext () const noexcept |
A graphics context, used for drawing a component or image.
When a Component needs painting, a Graphics context is passed to its Component::paint() method, and this you then call methods within this object to actually draw the component's content.
A Graphics can also be created from an image, to allow drawing directly onto that image.
@tags{Graphics}
Definition at line 44 of file juce_GraphicsContext.h.
Types of rendering quality that can be specified when drawing images.
Definition at line 461 of file juce_GraphicsContext.h.
Creates a Graphics object to draw directly onto the given image.
The graphics object that is created will be set up to draw onto the image, with the context's clipping area being the entire size of the image, and its origin being the image's origin. To draw into a subsection of an image, use the reduceClipRegion() and setOrigin() methods.
Obviously you shouldn't delete the image before this context is deleted.
Definition at line 148 of file juce_GraphicsContext.cpp.
|
noexcept |
Create a graphics that draws with a given low-level renderer.
This method is intended for use only by people who know what they're doing. Note that the LowLevelGraphicsContext will NOT be deleted by this object.
Definition at line 155 of file juce_GraphicsContext.cpp.
| void juce::Graphics::addTransform | ( | const AffineTransform & | transform | ) |
Adds a transformation which will be performed on all the graphics operations that the context subsequently performs.
After calling this, all the coordinates that are passed into the context will be transformed by this matrix.
Definition at line 255 of file juce_GraphicsContext.cpp.
Begins rendering to an off-screen bitmap which will later be flattened onto the current context with the given opacity.
The context uses an internal stack of temporary image layers to do this. When you've finished drawing to the layer, call endTransparencyLayer() to complete the operation and composite the finished layer. Every call to beginTransparencyLayer() MUST be matched by a corresponding call to endTransparencyLayer()!
This call also saves the current state, and endTransparencyLayer() restores it.
Definition at line 266 of file juce_GraphicsContext.cpp.
Checks whether a rectangle overlaps the context's clipping region.
If this returns false, no part of the given area can be drawn onto, so this method can be used to optimise a component's paint() method, by letting it avoid drawing complex objects that aren't within the region being repainted.
Definition at line 261 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawArrow | ( | Line< float > | line, |
| float | lineThickness, | ||
| float | arrowheadWidth, | ||
| float | arrowheadLength | ||
| ) | const |
Draws a line with an arrowhead at its end.
| line | the line to draw |
| lineThickness | the thickness of the line |
| arrowheadWidth | the width of the arrow head (perpendicular to the line) |
| arrowheadLength | the length of the arrow head (along the length of the line) |
Definition at line 670 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawDashedLine | ( | Line< float > | line, |
| const float * | dashLengths, | ||
| int | numDashLengths, | ||
| float | lineThickness = 1.0f, |
||
| int | dashIndexToStartFrom = 0 |
||
| ) | const |
Draws a dashed line using a custom set of dash-lengths.
| line | the line to draw |
| dashLengths | a series of lengths to specify the on/off lengths - e.g. { 4, 5, 6, 7 } will draw a line of 4 pixels, skip 5 pixels, draw 6 pixels, skip 7 pixels, and then repeat. |
| numDashLengths | the number of elements in the array (this must be an even number). |
| lineThickness | the thickness of the line to draw |
| dashIndexToStartFrom | the index in the dash-length array to use for the first segment |
Definition at line 759 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawEllipse | ( | float | x, |
| float | y, | ||
| float | width, | ||
| float | height, | ||
| float | lineThickness | ||
| ) | const |
Draws an elliptical stroke using the current colour or brush.
Definition at line 621 of file juce_GraphicsContext.cpp.
Draws an elliptical stroke using the current colour or brush.
Definition at line 626 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawFittedText | ( | const String & | text, |
| int | x, | ||
| int | y, | ||
| int | width, | ||
| int | height, | ||
| Justification | justificationFlags, | ||
| int | maximumNumberOfLines, | ||
| float | minimumHorizontalScale = 0.0f |
||
| ) | const |
Tries to draw a text string inside a given space.
This does its best to make the given text readable within the specified rectangle, so it's useful for labelling things.
If the text is too big, it'll be squashed horizontally or broken over multiple lines if the maximumLinesToUse value allows this. If the text just won't fit into the space, it'll cram as much as possible in there, and put some ellipsis at the end to show that it's been truncated.
A Justification parameter lets you specify how the text is laid out within the rectangle, both horizontally and vertically.
The minimumHorizontalScale parameter specifies how much the text can be squashed horizontally to try to squeeze it into the space. If you don't want any horizontal scaling to occur, you can set this value to 1.0f. Pass 0 if you want it to use a default value.
Definition at line 500 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawFittedText | ( | const String & | text, |
| Rectangle< int > | area, | ||
| Justification | justificationFlags, | ||
| int | maximumNumberOfLines, | ||
| float | minimumHorizontalScale = 0.0f |
||
| ) | const |
Tries to draw a text string inside a given space.
This does its best to make the given text readable within the specified rectangle, so it's useful for labelling things.
If the text is too big, it'll be squashed horizontally or broken over multiple lines if the maximumLinesToUse value allows this. If the text just won't fit into the space, it'll cram as much as possible in there, and put some ellipsis at the end to show that it's been truncated.
A Justification parameter lets you specify how the text is laid out within the rectangle, both horizontally and vertically.
The minimumHorizontalScale parameter specifies how much the text can be squashed horizontally to try to squeeze it into the space. If you don't want any horizontal scaling to occur, you can set this value to 1.0f. Pass 0 if you want it to use a default value.
Definition at line 462 of file juce_GraphicsContext.cpp.
Draws a horizontal line of pixels at a given y position.
The y position is an integer, but the left and right ends of the line can be sub-pixel positions, and these will be anti-aliased if necessary.
The right parameter must be greater than or equal to the left parameter.
Definition at line 731 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawImage | ( | const Image & | imageToDraw, |
| int | destX, | ||
| int | destY, | ||
| int | destWidth, | ||
| int | destHeight, | ||
| int | sourceX, | ||
| int | sourceY, | ||
| int | sourceWidth, | ||
| int | sourceHeight, | ||
| bool | fillAlphaChannelWithCurrentBrush = false |
||
| ) | const |
Draws part of an image, rescaling it to fit in a given target region.
The specified area of the source image is rescaled and drawn to fill the specified destination rectangle.
Images are composited using the context's current opacity, so if you don't want it to be drawn semi-transparently, be sure to call setOpacity (1.0f) (or setColour() with an opaque colour) before drawing images.
| imageToDraw | the image to overlay |
| destX | the left of the destination rectangle |
| destY | the top of the destination rectangle |
| destWidth | the width of the destination rectangle |
| destHeight | the height of the destination rectangle |
| sourceX | the left of the rectangle to copy from the source image |
| sourceY | the top of the rectangle to copy from the source image |
| sourceWidth | the width of the rectangle to copy from the source image |
| sourceHeight | the height of the rectangle to copy from the source image |
| fillAlphaChannelWithCurrentBrush | if true, then instead of drawing the source image's pixels, the source image's alpha channel is used as a mask with which to fill the destination using the current colour or brush. (If the source is has no alpha channel, then it will just fill the target with a solid rectangle) |
Definition at line 824 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawImage | ( | const Image & | imageToDraw, |
| Rectangle< float > | targetArea, | ||
| RectanglePlacement | placementWithinTarget = RectanglePlacement::stretchToFit, |
||
| bool | fillAlphaChannelWithCurrentBrush = false |
||
| ) | const |
Draws an image to fit within a designated rectangle.
| imageToDraw | the source image to draw |
| targetArea | the target rectangle to fit it into |
| placementWithinTarget | this specifies how the image should be positioned within the target rectangle - see the RectanglePlacement class for more details about this. |
| fillAlphaChannelWithCurrentBrush | if true, then instead of drawing the image, just its alpha channel will be used as a mask with which to draw with the current brush or colour. This is similar to fillAlphaMap(), and see also drawImage() |
Definition at line 808 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawImageAt | ( | const Image & | imageToDraw, |
| int | topLeftX, | ||
| int | topLeftY, | ||
| bool | fillAlphaChannelWithCurrentBrush = false |
||
| ) | const |
Draws an image.
This will draw the whole of an image, positioning its top-left corner at the given coordinates, and keeping its size the same. This is the simplest image drawing method - the others give more control over the scaling and clipping of the images.
Images are composited using the context's current opacity, so if you don't want it to be drawn semi-transparently, be sure to call setOpacity (1.0f) (or setColour() with an opaque colour) before drawing images.
Definition at line 801 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawImageTransformed | ( | const Image & | imageToDraw, |
| const AffineTransform & | transform, | ||
| bool | fillAlphaChannelWithCurrentBrush = false |
||
| ) | const |
Draws an image, having applied an affine transform to it.
This lets you throw the image around in some wacky ways, rotate it, shear, scale it, etc.
Images are composited using the context's current opacity, so if you don't want it to be drawn semi-transparently, be sure to call setOpacity (1.0f) (or setColour() with an opaque colour) before drawing images.
If fillAlphaChannelWithCurrentBrush is set to true, then the image's RGB channels are ignored and it is filled with the current brush, masked by its alpha channel.
If you want to render only a subsection of an image, use Image::getClippedImage() to create the section that you need.
Definition at line 836 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawImageWithin | ( | const Image & | imageToDraw, |
| int | destX, | ||
| int | destY, | ||
| int | destWidth, | ||
| int | destHeight, | ||
| RectanglePlacement | placementWithinTarget, | ||
| bool | fillAlphaChannelWithCurrentBrush = false |
||
| ) | const |
Draws an image to fit within a designated rectangle.
If the image is too big or too small for the space, it will be rescaled to fit as nicely as it can do without affecting its aspect ratio. It will then be placed within the target rectangle according to the justification flags specified.
| imageToDraw | the source image to draw |
| destX | top-left of the target rectangle to fit it into |
| destY | top-left of the target rectangle to fit it into |
| destWidth | size of the target rectangle to fit the image into |
| destHeight | size of the target rectangle to fit the image into |
| placementWithinTarget | this specifies how the image should be positioned within the target rectangle - see the RectanglePlacement class for more details about this. |
| fillAlphaChannelWithCurrentBrush | if true, then instead of drawing the image, just its alpha channel will be used as a mask with which to draw with the current brush or colour. This is similar to fillAlphaMap(), and see also drawImage() |
Definition at line 817 of file juce_GraphicsContext.cpp.
Draws a line between two points.
The line is 1 pixel wide and drawn with the current colour or brush. TIP: If you're trying to draw horizontal or vertical lines, don't use this - it's better to use fillRect() instead unless you really need an angled line.
Definition at line 742 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawLine | ( | float | startX, |
| float | startY, | ||
| float | endX, | ||
| float | endY, | ||
| float | lineThickness | ||
| ) | const |
Draws a line between two points with a given thickness.
TIP: If you're trying to draw horizontal or vertical lines, don't use this - it's better to use fillRect() instead unless you really need an angled line.
Definition at line 747 of file juce_GraphicsContext.cpp.
Draws a line between two points.
The line is 1 pixel wide and drawn with the current colour or brush. TIP: If you're trying to draw horizontal or vertical lines, don't use this - it's better to use fillRect() instead unless you really need an angled line.
Definition at line 737 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawMultiLineText | ( | const String & | text, |
| int | startX, | ||
| int | baselineY, | ||
| int | maximumLineWidth, | ||
| Justification | justification = Justification::left, |
||
| float | leading = 0.0f |
||
| ) | const |
Draws text across multiple lines.
This will break the text onto a new line where there's a new-line or carriage-return character, or at a word-boundary when the text becomes wider than the size specified by the maximumLineWidth parameter. New-lines will be vertically separated by the specified leading.
Definition at line 382 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawRect | ( | float | x, |
| float | y, | ||
| float | width, | ||
| float | height, | ||
| float | lineThickness = 1.0f |
||
| ) | const |
Draws a rectangular outline, using the current colour or brush.
The lines are drawn inside the given rectangle, and greater line thicknesses extend inwards.
Definition at line 581 of file juce_GraphicsContext.cpp.
Draws a rectangular outline, using the current colour or brush.
The lines are drawn inside the given rectangle, and greater line thicknesses extend inwards.
Definition at line 586 of file juce_GraphicsContext.cpp.
Draws a rectangular outline, using the current colour or brush.
The lines are drawn inside the given rectangle, and greater line thicknesses extend inwards.
Definition at line 596 of file juce_GraphicsContext.cpp.
Draws a rectangular outline, using the current colour or brush.
The lines are drawn inside the given rectangle, and greater line thicknesses extend inwards.
Definition at line 591 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawRoundedRectangle | ( | float | x, |
| float | y, | ||
| float | width, | ||
| float | height, | ||
| float | cornerSize, | ||
| float | lineThickness | ||
| ) | const |
Uses the current colour or brush to draw the outline of a rectangle with rounded corners.
Definition at line 657 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawRoundedRectangle | ( | Rectangle< float > | rectangle, |
| float | cornerSize, | ||
| float | lineThickness | ||
| ) | const |
Uses the current colour or brush to draw the outline of a rectangle with rounded corners.
Definition at line 663 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawSingleLineText | ( | const String & | text, |
| int | startX, | ||
| int | baselineY, | ||
| Justification | justification = Justification::left |
||
| ) | const |
Draws a one-line text string.
This will use the current colour (or brush) to fill the text. The font is the last one specified by setFont().
| text | the string to draw |
| startX | the position to draw the left-hand edge of the text |
| baselineY | the position of the text's baseline |
| justification | the horizontal flags indicate which end of the text string is anchored at the specified point. |
Definition at line 331 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawText | ( | const String & | text, |
| int | x, | ||
| int | y, | ||
| int | width, | ||
| int | height, | ||
| Justification | justificationType, | ||
| bool | useEllipsesIfTooBig = true |
||
| ) | const |
Draws a line of text within a specified rectangle.
The text will be positioned within the rectangle based on the justification flags passed-in. If the string is too long to fit inside the rectangle, it will either be truncated or will have ellipsis added to its end (if the useEllipsesIfTooBig flag is true).
Definition at line 456 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawText | ( | const String & | text, |
| Rectangle< float > | area, | ||
| Justification | justificationType, | ||
| bool | useEllipsesIfTooBig = true |
||
| ) | const |
Draws a line of text within a specified rectangle.
The text will be positioned within the rectangle based on the justification flags passed-in. If the string is too long to fit inside the rectangle, it will either be truncated or will have ellipsis added to its end (if the useEllipsesIfTooBig flag is true).
Definition at line 415 of file juce_GraphicsContext.cpp.
| void juce::Graphics::drawText | ( | const String & | text, |
| Rectangle< int > | area, | ||
| Justification | justificationType, | ||
| bool | useEllipsesIfTooBig = true |
||
| ) | const |
Draws a line of text within a specified rectangle.
The text will be positioned within the rectangle based on the justification flags passed-in. If the string is too long to fit inside the rectangle, it will either be truncated or will have ellipsis added to its end (if the useEllipsesIfTooBig flag is true).
Definition at line 450 of file juce_GraphicsContext.cpp.
Draws a vertical line of pixels at a given x position.
The x position is an integer, but the top and bottom of the line can be sub-pixel positions, and these will be anti-aliased if necessary.
The bottom parameter must be greater than or equal to the top parameter.
Definition at line 725 of file juce_GraphicsContext.cpp.
| void juce::Graphics::endTransparencyLayer | ( | ) |
Completes a drawing operation to a temporary semi-transparent buffer.
See beginTransparencyLayer() for more details.
Definition at line 272 of file juce_GraphicsContext.cpp.
Excludes a rectangle to stop it being drawn into.
Definition at line 205 of file juce_GraphicsContext.cpp.
| void juce::Graphics::fillAll | ( | ) | const |
Fills the context's entire clip region with the current colour or brush.
(See also the fillAll (Colour) method which is a quick way of filling it with a given colour).
Definition at line 541 of file juce_GraphicsContext.cpp.
Fills the context's entire clip region with a given colour.
This leaves the context's current colour and brush unchanged, it just uses the specified colour temporarily.
Definition at line 546 of file juce_GraphicsContext.cpp.
| void juce::Graphics::fillCheckerBoard | ( | Rectangle< float > | area, |
| float | checkWidth, | ||
| float | checkHeight, | ||
| Colour | colour1, | ||
| Colour | colour2 | ||
| ) | const |
Fills a rectangle with a checkerboard pattern, alternating between two colours.
Definition at line 677 of file juce_GraphicsContext.cpp.
Fills an ellipse with the current colour or brush.
The ellipse is drawn to fit inside the given rectangle.
Definition at line 616 of file juce_GraphicsContext.cpp.
Fills an ellipse with the current colour or brush.
The ellipse is drawn to fit inside the given rectangle.
Definition at line 609 of file juce_GraphicsContext.cpp.
Fills a path using the currently selected colour or brush.
Definition at line 559 of file juce_GraphicsContext.cpp.
| void juce::Graphics::fillPath | ( | const Path & | path, |
| const AffineTransform & | transform | ||
| ) | const |
Fills a path using the currently selected colour or brush, and adds a transform.
Definition at line 565 of file juce_GraphicsContext.cpp.
Fills a rectangle with the current colour or brush.
Definition at line 525 of file juce_GraphicsContext.cpp.
Fills a rectangle with the current colour or brush.
Definition at line 520 of file juce_GraphicsContext.cpp.
Fills a rectangle with the current colour or brush.
Definition at line 515 of file juce_GraphicsContext.cpp.
Fills a rectangle with the current colour or brush.
Definition at line 510 of file juce_GraphicsContext.cpp.
| void juce::Graphics::fillRectList | ( | const RectangleList< float > & | rectangles | ) | const |
Fills a set of rectangles using the current colour or brush.
If you have a lot of rectangles to draw, it may be more efficient to create a RectangleList and use this method than to call fillRect() multiple times.
Definition at line 530 of file juce_GraphicsContext.cpp.
| void juce::Graphics::fillRectList | ( | const RectangleList< int > & | rectangles | ) | const |
Fills a set of rectangles using the current colour or brush.
If you have a lot of rectangles to draw, it may be more efficient to create a RectangleList and use this method than to call fillRect() multiple times.
Definition at line 535 of file juce_GraphicsContext.cpp.
| void juce::Graphics::fillRoundedRectangle | ( | float | x, |
| float | y, | ||
| float | width, | ||
| float | height, | ||
| float | cornerSize | ||
| ) | const |
Uses the current colour or brush to fill a rectangle with rounded corners.
Definition at line 645 of file juce_GraphicsContext.cpp.
Uses the current colour or brush to fill a rectangle with rounded corners.
Definition at line 650 of file juce_GraphicsContext.cpp.
Returns the position of the bounding box for the current clipping region.
Definition at line 216 of file juce_GraphicsContext.cpp.
| Font juce::Graphics::getCurrentFont | ( | ) | const |
Returns the currently selected font.
Definition at line 325 of file juce_GraphicsContext.cpp.
|
noexcept |
Definition at line 736 of file juce_GraphicsContext.h.
| bool juce::Graphics::isClipEmpty | ( | ) | const |
Returns true if no drawing can be done because the clip region is zero.
Definition at line 211 of file juce_GraphicsContext.cpp.
| bool juce::Graphics::isVectorDevice | ( | ) | const |
Returns true if this context is drawing to a vector-based device, such as a printer.
Definition at line 169 of file juce_GraphicsContext.cpp.
| bool juce::Graphics::reduceClipRegion | ( | const Image & | image, |
| const AffineTransform & | transform | ||
| ) |
Intersects the current clipping region with an image's alpha-channel.
The current clipping path is intersected with the area covered by this image's alpha-channel, after the image has been transformed by the specified matrix.
| image | the image whose alpha-channel should be used. If the image doesn't have an alpha-channel, it is treated as entirely opaque. |
| transform | a matrix to apply to the image |
Definition at line 198 of file juce_GraphicsContext.cpp.
| bool juce::Graphics::reduceClipRegion | ( | const Path & | path, |
| const AffineTransform & | transform = AffineTransform() |
||
| ) |
Intersects the current clipping region with a path.
Definition at line 191 of file juce_GraphicsContext.cpp.
| bool juce::Graphics::reduceClipRegion | ( | const RectangleList< int > & | clipRegion | ) |
Intersects the current clipping region with a rectangle list region.
Definition at line 185 of file juce_GraphicsContext.cpp.
Intersects the current clipping region with another region.
Definition at line 180 of file juce_GraphicsContext.cpp.
Intersects the current clipping region with another region.
Definition at line 174 of file juce_GraphicsContext.cpp.
| void juce::Graphics::resetToDefaultState | ( | ) |
Resets the current colour, brush, and font to default settings.
Definition at line 161 of file juce_GraphicsContext.cpp.
| void juce::Graphics::restoreState | ( | ) |
Restores a graphics state that was previously saved with saveState().
Definition at line 227 of file juce_GraphicsContext.cpp.
| void juce::Graphics::saveState | ( | ) |
Saves the current graphics state on an internal stack.
To restore the state, use restoreState().
Definition at line 221 of file juce_GraphicsContext.cpp.
Changes the current drawing colour.
This sets the colour that will now be used for drawing operations - it also sets the opacity to that of the colour passed-in.
If a brush is being used when this method is called, the brush will be deselected, and any subsequent drawing will be done with a solid colour brush instead.
Definition at line 278 of file juce_GraphicsContext.cpp.
Changes the current fill settings.
Definition at line 307 of file juce_GraphicsContext.cpp.
Changes the font to use for subsequent text-drawing functions.
Definition at line 314 of file juce_GraphicsContext.cpp.
Changes the size of the currently-selected font.
This is a convenient shortcut that changes the context's current font to a different size. The typeface won't be changed.
Definition at line 320 of file juce_GraphicsContext.cpp.
| void juce::Graphics::setGradientFill | ( | ColourGradient && | gradient | ) |
Sets the context to use a gradient for its fill pattern.
Definition at line 295 of file juce_GraphicsContext.cpp.
| void juce::Graphics::setGradientFill | ( | const ColourGradient & | gradient | ) |
Sets the context to use a gradient for its fill pattern.
Definition at line 290 of file juce_GraphicsContext.cpp.
| void juce::Graphics::setImageResamplingQuality | ( | const Graphics::ResamplingQuality | newQuality | ) |
Changes the quality that will be used when resampling images.
By default a Graphics object will be set to mediumRenderingQuality.
Definition at line 794 of file juce_GraphicsContext.cpp.
Changes the opacity to use with the current colour.
If a solid colour is being used for drawing, this changes its opacity to this new value (i.e. it doesn't multiply the colour's opacity by this amount).
If a gradient is being used, this will have no effect on it.
A value of 0.0 is completely transparent, 1.0 is completely opaque.
Definition at line 284 of file juce_GraphicsContext.cpp.
Moves the position of the context's origin.
This changes the position that the context considers to be (0, 0) to the specified position.
So if you call setOrigin (100, 100), then the position that was previously referred to as (100, 100) will subsequently be considered to be (0, 0).
Definition at line 250 of file juce_GraphicsContext.cpp.
Moves the position of the context's origin.
This changes the position that the context considers to be (0, 0) to the specified position.
So if you call setOrigin with (100, 100), then the position that was previously referred to as (100, 100) will subsequently be considered to be (0, 0).
Definition at line 244 of file juce_GraphicsContext.cpp.
| void juce::Graphics::setTiledImageFill | ( | const Image & | imageToUse, |
| int | anchorX, | ||
| int | anchorY, | ||
| float | opacity | ||
| ) |
Sets the context to use a tiled image pattern for filling.
Make sure that you don't delete this image while it's still being used by this context!
Definition at line 300 of file juce_GraphicsContext.cpp.
| void juce::Graphics::strokePath | ( | const Path & | path, |
| const PathStrokeType & | strokeType, | ||
| const AffineTransform & | transform = {} |
||
| ) | const |
Draws a path's outline using the currently selected colour or brush.
Definition at line 571 of file juce_GraphicsContext.cpp.