Interface class for graphics context objects, used internally by the Graphics class. More...
#include <juce_LowLevelGraphicsContext.h>

Public Member Functions | |
| virtual | ~LowLevelGraphicsContext ()=default |
| virtual void | addTransform (const AffineTransform &)=0 |
| virtual void | beginTransparencyLayer (float opacity)=0 |
| virtual bool | clipRegionIntersects (const Rectangle< int > &)=0 |
| virtual void | clipToImageAlpha (const Image &, const AffineTransform &)=0 |
| virtual void | clipToPath (const Path &, const AffineTransform &)=0 |
| virtual bool | clipToRectangle (const Rectangle< int > &)=0 |
| virtual bool | clipToRectangleList (const RectangleList< int > &)=0 |
| virtual void | drawEllipse (const Rectangle< float > &area, float lineThickness) |
| virtual void | drawGlyphs (Span< const uint16_t >, Span< const Point< float > >, const AffineTransform &)=0 |
| Uses the current font to draw the provided glyph numbers. | |
| virtual void | drawImage (const Image &, const AffineTransform &)=0 |
| virtual void | drawLine (const Line< float > &)=0 |
| virtual void | drawLineWithThickness (const Line< float > &line, float lineThickness) |
| virtual void | drawRect (const Rectangle< float > &rect, float lineThickness) |
| virtual void | drawRoundedRectangle (const Rectangle< float > &r, float cornerSize, float lineThickness) |
| virtual void | endTransparencyLayer ()=0 |
| virtual void | excludeClipRectangle (const Rectangle< int > &)=0 |
| virtual void | fillAll () |
| virtual void | fillEllipse (const Rectangle< float > &area) |
| virtual void | fillPath (const Path &, const AffineTransform &)=0 |
| virtual void | fillRect (const Rectangle< float > &)=0 |
| virtual void | fillRect (const Rectangle< int > &, bool replaceExistingContents)=0 |
| virtual void | fillRectList (const RectangleList< float > &)=0 |
| virtual void | fillRoundedRectangle (const Rectangle< float > &r, float cornerSize) |
| virtual Rectangle< int > | getClipBounds () const =0 |
| virtual const Font & | getFont ()=0 |
| virtual uint64_t | getFrameId () const =0 |
| Returns an integer that uniquely identifies the current frame. | |
| virtual float | getPhysicalPixelScaleFactor () const =0 |
| virtual std::unique_ptr< ImageType > | getPreferredImageTypeForTemporaryImages () const =0 |
| Returns the optimal ImageType for creating temporary images in this GraphicsContext. | |
| virtual bool | isClipEmpty () const =0 |
| virtual bool | isVectorDevice () const =0 |
| Returns true if this device is vector-based, e.g. | |
| virtual void | restoreState ()=0 |
| virtual void | saveState ()=0 |
| virtual void | setFill (const FillType &)=0 |
| virtual void | setFont (const Font &)=0 |
| virtual void | setInterpolationQuality (Graphics::ResamplingQuality)=0 |
| virtual void | setOpacity (float)=0 |
| virtual void | setOrigin (Point< int >)=0 |
| Moves the origin to a new position. | |
| virtual void | strokePath (const Path &path, const PathStrokeType &strokeType, const AffineTransform &transform) |
Protected Member Functions | |
| LowLevelGraphicsContext ()=default | |
Interface class for graphics context objects, used internally by the Graphics class.
Users are not supposed to create instances of this class directly - do your drawing via the Graphics object instead.
It's a base class for different types of graphics context, that may perform software-based or OS-accelerated rendering.
E.g. the LowLevelGraphicsSoftwareRenderer renders onto an image in memory, but other subclasses could render directly to a windows HDC, a Quartz context, or an OpenGL context.
@tags{Graphics}
|
protecteddefault |
|
virtualdefault |
|
pure virtual |
Implemented in juce::CoreGraphicsContext, juce::Direct2DGraphicsContext, juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >, and juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< RenderingHelpers::SoftwareRendererSavedState >.
Referenced by juce::detail::StandardCachedComponentImage::paint().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Uses the current font to draw the provided glyph numbers.
Implemented in juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >, juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< RenderingHelpers::SoftwareRendererSavedState >, juce::CoreGraphicsContext, and juce::Direct2DGraphicsContext.
|
pure virtual |
|
inlinevirtual |
Reimplemented in juce::Direct2DGraphicsContext, and juce::CoreGraphicsContext.
|
inlinevirtual |
Reimplemented in juce::Direct2DGraphicsContext.
References juce::RectangleList< ValueType >::addWithoutMerging().
|
inlinevirtual |
Reimplemented in juce::Direct2DGraphicsContext, and juce::CoreGraphicsContext.
|
pure virtual |
|
pure virtual |
|
inlinevirtual |
Reimplemented in juce::CoreGraphicsContext.
|
inlinevirtual |
Reimplemented in juce::CoreGraphicsContext, and juce::Direct2DGraphicsContext.
|
pure virtual |
|
pure virtual |
|
inlinevirtual |
Reimplemented in juce::Direct2DGraphicsContext, and juce::CoreGraphicsContext.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Returns an integer that uniquely identifies the current frame.
Useful for debugging/logging.
Implemented in juce::CoreGraphicsContext, juce::Direct2DGraphicsContext, juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >, and juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< RenderingHelpers::SoftwareRendererSavedState >.
|
pure virtual |
|
pure virtual |
Returns the optimal ImageType for creating temporary images in this GraphicsContext.
While this typically matches the GraphicsContext's native ImageType, certain scenarios may benefit from using a different format for temporary operations (e.g., for performance, memory efficiency, or specific rendering requirements).
Implemented in juce::LowLevelGraphicsSoftwareRenderer, juce::CoreGraphicsContext, and juce::Direct2DGraphicsContext.
|
pure virtual |
|
pure virtual |
Returns true if this device is vector-based, e.g.
a printer.
Implemented in juce::CoreGraphicsContext, juce::Direct2DGraphicsContext, juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >, and juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< RenderingHelpers::SoftwareRendererSavedState >.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Moves the origin to a new position.
The coordinates are relative to the current origin, and indicate the new position of (0, 0).
Implemented in juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >, juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< RenderingHelpers::SoftwareRendererSavedState >, juce::CoreGraphicsContext, and juce::Direct2DGraphicsContext.
|
inlinevirtual |
Reimplemented in juce::Direct2DGraphicsContext, and juce::CoreGraphicsContext.
References juce::PathStrokeType::createStrokedPath().