JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce::LowLevelGraphicsContext Class Referenceabstract

Interface class for graphics context objects, used internally by the Graphics class. More...

#include <juce_LowLevelGraphicsContext.h>

Inheritance diagram for juce::LowLevelGraphicsContext:

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 FontgetFont ()=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< ImageTypegetPreferredImageTypeForTemporaryImages () 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
 

Detailed Description

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}

Constructor & Destructor Documentation

◆ LowLevelGraphicsContext()

juce::LowLevelGraphicsContext::LowLevelGraphicsContext ( )
protecteddefault

◆ ~LowLevelGraphicsContext()

virtual juce::LowLevelGraphicsContext::~LowLevelGraphicsContext ( )
virtualdefault

Member Function Documentation

◆ addTransform()

◆ beginTransparencyLayer()

◆ clipRegionIntersects()

◆ clipToImageAlpha()

◆ clipToPath()

◆ clipToRectangle()

◆ clipToRectangleList()

◆ drawEllipse()

◆ drawGlyphs()

virtual void juce::LowLevelGraphicsContext::drawGlyphs ( Span< const uint16_t >  ,
Span< const Point< float > >  ,
const AffineTransform  
)
pure virtual

◆ drawImage()

◆ drawLine()

◆ drawLineWithThickness()

virtual void juce::LowLevelGraphicsContext::drawLineWithThickness ( const Line< float > &  line,
float  lineThickness 
)
inlinevirtual

◆ drawRect()

virtual void juce::LowLevelGraphicsContext::drawRect ( const Rectangle< float > &  rect,
float  lineThickness 
)
inlinevirtual

◆ drawRoundedRectangle()

virtual void juce::LowLevelGraphicsContext::drawRoundedRectangle ( const Rectangle< float > &  r,
float  cornerSize,
float  lineThickness 
)
inlinevirtual

◆ endTransparencyLayer()

◆ excludeClipRectangle()

◆ fillAll()

virtual void juce::LowLevelGraphicsContext::fillAll ( )
inlinevirtual

Reimplemented in juce::CoreGraphicsContext.

◆ fillEllipse()

virtual void juce::LowLevelGraphicsContext::fillEllipse ( const Rectangle< float > &  area)
inlinevirtual

◆ fillPath()

◆ fillRect() [1/2]

◆ fillRect() [2/2]

◆ fillRectList()

◆ fillRoundedRectangle()

virtual void juce::LowLevelGraphicsContext::fillRoundedRectangle ( const Rectangle< float > &  r,
float  cornerSize 
)
inlinevirtual

◆ getClipBounds()

◆ getFont()

◆ getFrameId()

virtual uint64_t juce::LowLevelGraphicsContext::getFrameId ( ) const
pure virtual

◆ getPhysicalPixelScaleFactor()

◆ getPreferredImageTypeForTemporaryImages()

virtual std::unique_ptr< ImageType > juce::LowLevelGraphicsContext::getPreferredImageTypeForTemporaryImages ( ) const
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).

Returns
A unique_ptr to the recommended ImageType instance for temporary images

Implemented in juce::LowLevelGraphicsSoftwareRenderer, juce::CoreGraphicsContext, and juce::Direct2DGraphicsContext.

◆ isClipEmpty()

◆ isVectorDevice()

virtual bool juce::LowLevelGraphicsContext::isVectorDevice ( ) const
pure virtual

◆ restoreState()

◆ saveState()

◆ setFill()

◆ setFont()

◆ setInterpolationQuality()

◆ setOpacity()

◆ setOrigin()

virtual void juce::LowLevelGraphicsContext::setOrigin ( Point< int >  )
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.

◆ strokePath()

virtual void juce::LowLevelGraphicsContext::strokePath ( const Path path,
const PathStrokeType strokeType,
const AffineTransform transform 
)
inlinevirtual

The documentation for this class was generated from the following file: