JUCE v8.0.9
JUCE API
 
Loading...
Searching...
No Matches
juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType > Class Template Referenceabstract

#include <juce_RenderingHelpers.h>

Inheritance diagram for juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >:
Collaboration diagram for juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >:

Public Member Functions

 StackBasedLowLevelGraphicsContext (uint64_t frameIn)
 
void addTransform (const AffineTransform &t) override
 
void beginTransparencyLayer (float opacity) override
 
bool clipRegionIntersects (const Rectangle< int > &r) override
 
void clipToImageAlpha (const Image &im, const AffineTransform &t) override
 
void clipToPath (const Path &path, const AffineTransform &t) override
 
bool clipToRectangle (const Rectangle< int > &r) override
 
bool clipToRectangleList (const RectangleList< int > &r) override
 
virtual void drawEllipse (const Rectangle< float > &area, float lineThickness)
 
void drawGlyphs (Span< const uint16_t > glyphs, Span< const Point< float > > positions, const AffineTransform &t) override
 Uses the current font to draw the provided glyph numbers.
 
void drawImage (const Image &im, const AffineTransform &t) override
 
void drawLine (const Line< float > &line) override
 
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)
 
void endTransparencyLayer () override
 
void excludeClipRectangle (const Rectangle< int > &r) override
 
virtual void fillAll ()
 
virtual void fillEllipse (const Rectangle< float > &area)
 
void fillPath (const Path &path, const AffineTransform &t) override
 
void fillRect (const Rectangle< float > &r) override
 
void fillRect (const Rectangle< int > &r, bool replace) override
 
void fillRectList (const RectangleList< float > &list) override
 
virtual void fillRoundedRectangle (const Rectangle< float > &r, float cornerSize)
 
Rectangle< int > getClipBounds () const override
 
const FontgetFont () override
 
uint64_t getFrameId () const override
 Returns an integer that uniquely identifies the current frame.
 
float getPhysicalPixelScaleFactor () const override
 
virtual std::unique_ptr< ImageTypegetPreferredImageTypeForTemporaryImages () const =0
 Returns the optimal ImageType for creating temporary images in this GraphicsContext.
 
bool isClipEmpty () const override
 
bool isVectorDevice () const override
 Returns true if this device is vector-based, e.g.
 
void restoreState () override
 
void saveState () override
 
void setFill (const FillType &fillType) override
 
void setFont (const Font &newFont) override
 
void setInterpolationQuality (Graphics::ResamplingQuality quality) override
 
void setOpacity (float newOpacity) override
 
void setOrigin (Point< int > o) override
 Moves the origin to a new position.
 
virtual void strokePath (const Path &path, const PathStrokeType &strokeType, const AffineTransform &transform)
 

Protected Member Functions

 StackBasedLowLevelGraphicsContext ()=default
 
 StackBasedLowLevelGraphicsContext (SavedStateType *initialState)
 
void drawGlyph (uint16_t i, const AffineTransform &t)
 

Protected Attributes

uint64_t frame = 0
 
RenderingHelpers::SavedStateStack< SavedStateType > stack
 

Constructor & Destructor Documentation

◆ StackBasedLowLevelGraphicsContext() [1/3]

template<class SavedStateType >
juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::StackBasedLowLevelGraphicsContext ( uint64_t  frameIn)
inlineexplicit

◆ StackBasedLowLevelGraphicsContext() [2/3]

template<class SavedStateType >
juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::StackBasedLowLevelGraphicsContext ( SavedStateType *  initialState)
inlineexplicitprotected

◆ StackBasedLowLevelGraphicsContext() [3/3]

template<class SavedStateType >
juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::StackBasedLowLevelGraphicsContext ( )
protecteddefault

Member Function Documentation

◆ addTransform()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::addTransform ( const AffineTransform t)
inlineoverridevirtual

◆ beginTransparencyLayer()

◆ clipRegionIntersects()

template<class SavedStateType >
bool juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::clipRegionIntersects ( const Rectangle< int > &  r)
inlineoverridevirtual

◆ clipToImageAlpha()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::clipToImageAlpha ( const Image im,
const AffineTransform t 
)
inlineoverridevirtual

◆ clipToPath()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::clipToPath ( const Path path,
const AffineTransform t 
)
inlineoverridevirtual

◆ clipToRectangle()

template<class SavedStateType >
bool juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::clipToRectangle ( const Rectangle< int > &  r)
inlineoverridevirtual

◆ clipToRectangleList()

template<class SavedStateType >
bool juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::clipToRectangleList ( const RectangleList< int > &  r)
inlineoverridevirtual

◆ drawEllipse()

virtual void juce::LowLevelGraphicsContext::drawEllipse ( const Rectangle< float > &  area,
float  lineThickness 
)
inlinevirtualinherited

◆ drawGlyph()

◆ drawGlyphs()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::drawGlyphs ( Span< const uint16_t >  ,
Span< const Point< float > >  ,
const AffineTransform  
)
inlineoverridevirtual

◆ drawImage()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::drawImage ( const Image im,
const AffineTransform t 
)
inlineoverridevirtual

◆ drawLine()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::drawLine ( const Line< float > &  line)
inlineoverridevirtual

◆ drawLineWithThickness()

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

◆ drawRect()

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

◆ drawRoundedRectangle()

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

◆ endTransparencyLayer()

◆ excludeClipRectangle()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::excludeClipRectangle ( const Rectangle< int > &  r)
inlineoverridevirtual

◆ fillAll()

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

Reimplemented in juce::CoreGraphicsContext.

◆ fillEllipse()

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

◆ fillPath()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::fillPath ( const Path path,
const AffineTransform t 
)
inlineoverridevirtual

◆ fillRect() [1/2]

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::fillRect ( const Rectangle< float > &  r)
inlineoverridevirtual

◆ fillRect() [2/2]

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::fillRect ( const Rectangle< int > &  r,
bool  replace 
)
inlineoverridevirtual

◆ fillRectList()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::fillRectList ( const RectangleList< float > &  list)
inlineoverridevirtual

◆ fillRoundedRectangle()

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

◆ getClipBounds()

template<class SavedStateType >
Rectangle< int > juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::getClipBounds ( ) const
inlineoverridevirtual

◆ getFont()

template<class SavedStateType >
const Font & juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::getFont ( )
inlineoverridevirtual

◆ getFrameId()

template<class SavedStateType >
uint64_t juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::getFrameId ( ) const
inlineoverridevirtual

Returns an integer that uniquely identifies the current frame.

Useful for debugging/logging.

Implements juce::LowLevelGraphicsContext.

References juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::frame.

◆ getPhysicalPixelScaleFactor()

template<class SavedStateType >
float juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::getPhysicalPixelScaleFactor ( ) const
inlineoverridevirtual

◆ getPreferredImageTypeForTemporaryImages()

virtual std::unique_ptr< ImageType > juce::LowLevelGraphicsContext::getPreferredImageTypeForTemporaryImages ( ) const
pure virtualinherited

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()

template<class SavedStateType >
bool juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::isClipEmpty ( ) const
inlineoverridevirtual

◆ isVectorDevice()

template<class SavedStateType >
bool juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::isVectorDevice ( ) const
inlineoverridevirtual

Returns true if this device is vector-based, e.g.

a printer.

Implements juce::LowLevelGraphicsContext.

◆ restoreState()

◆ saveState()

◆ setFill()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::setFill ( const FillType fillType)
inlineoverridevirtual

◆ setFont()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::setFont ( const Font newFont)
inlineoverridevirtual

◆ setInterpolationQuality()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::setInterpolationQuality ( Graphics::ResamplingQuality  quality)
inlineoverridevirtual

◆ setOpacity()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::setOpacity ( float  newOpacity)
inlineoverridevirtual

◆ setOrigin()

template<class SavedStateType >
void juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::setOrigin ( Point< int >  )
inlineoverridevirtual

Moves the origin to a new position.

The coordinates are relative to the current origin, and indicate the new position of (0, 0).

Implements juce::LowLevelGraphicsContext.

References juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::stack.

◆ strokePath()

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

Member Data Documentation

◆ frame

◆ stack

template<class SavedStateType >
RenderingHelpers::SavedStateStack<SavedStateType> juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::stack
protected

Referenced by juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::addTransform(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::beginTransparencyLayer(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::clipRegionIntersects(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::clipToImageAlpha(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::clipToPath(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::clipToRectangle(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::clipToRectangleList(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::drawGlyph(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::drawImage(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::drawLine(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::endTransparencyLayer(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::excludeClipRectangle(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::fillPath(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::fillRect(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::fillRect(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::fillRectList(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::getClipBounds(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::getFont(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::getPhysicalPixelScaleFactor(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::isClipEmpty(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::restoreState(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::saveState(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::setFill(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::setFont(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::setInterpolationQuality(), juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::setOpacity(), and juce::RenderingHelpers::StackBasedLowLevelGraphicsContext< SavedStateType >::setOrigin().


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