Loading...
Searching...
No Matches
juce::LowLevelGraphicsSoftwareRenderer Class Reference

Detailed Description

A lowest-common-denominator implementation of LowLevelGraphicsContext that does all its rendering in memory.

User code is not supposed to create instances of this class directly - do all your rendering via the Graphics class instead.


The documentation for this class was generated from the following file:
Inheritance diagram for juce::LowLevelGraphicsSoftwareRenderer:

Public Member Functions

 LowLevelGraphicsSoftwareRenderer (const Image &imageToRenderOnto)
 Creates a context to render into an image.
 LowLevelGraphicsSoftwareRenderer (const Image &imageToRenderOnto, Point< int > origin, const RectangleList< int > &initialClip)
 Creates a context to render into a clipped subsection of an image.
 ~LowLevelGraphicsSoftwareRenderer () override
 Destructor.
std::unique_ptr< ImageTypegetPreferredImageTypeForTemporaryImages () const override
 Returns the optimal ImageType for creating temporary images in this GraphicsContext.
bool isVectorDevice () const override
 Returns true if this device is vector-based, e.g.
Rectangle< int > getClipBounds () const override
bool isClipEmpty () const override
void setOrigin (Point< int > o) override
 Moves the origin to a new position.
void addTransform (const AffineTransform &t) override
float getPhysicalPixelScaleFactor () const override
bool clipRegionIntersects (const Rectangle< int > &r) override
bool clipToRectangle (const Rectangle< int > &r) override
bool clipToRectangleList (const RectangleList< int > &r) override
void excludeClipRectangle (const Rectangle< int > &r) override
void clipToPath (const Path &path, const AffineTransform &t) override
void clipToImageAlpha (const Image &im, const AffineTransform &t) override
void saveState () override
void restoreState () override
void beginTransparencyLayer (float opacity) override
void endTransparencyLayer () override
void setFill (const FillType &fillType) override
void setOpacity (float newOpacity) override
void setInterpolationQuality (Graphics::ResamplingQuality quality) override
void fillRect (const Rectangle< int > &r, bool replace) override
void fillRect (const Rectangle< float > &r) override
void fillRectList (const RectangleList< float > &list) override
void fillPath (const Path &path, const AffineTransform &t) override
void drawImage (const Image &im, const AffineTransform &t) override
void drawLine (const Line< float > &line) override
void setFont (const Font &newFont) override
const FontgetFont () override
uint64_t getFrameId () const override
 Returns an integer that uniquely identifies the current frame.
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.
Public Member Functions inherited from juce::LowLevelGraphicsContext
virtual ~LowLevelGraphicsContext ()=default
virtual void fillAll ()
virtual void drawRect (const Rectangle< float > &rect, float lineThickness)
virtual void strokePath (const Path &path, const PathStrokeType &strokeType, const AffineTransform &transform)
virtual void drawLineWithThickness (const Line< float > &line, float lineThickness)
virtual void drawRoundedRectangle (const Rectangle< float > &r, float cornerSize, float lineThickness)
virtual void fillRoundedRectangle (const Rectangle< float > &r, float cornerSize)
virtual void drawEllipse (const Rectangle< float > &area, float lineThickness)
virtual void fillEllipse (const Rectangle< float > &area)

Additional Inherited Members

Protected Member Functions inherited from juce::LowLevelGraphicsContext
 LowLevelGraphicsContext ()=default

Constructors and Destructors

◆ LowLevelGraphicsSoftwareRenderer() [1/2]

juce::LowLevelGraphicsSoftwareRenderer::LowLevelGraphicsSoftwareRenderer ( const Image & imageToRenderOnto)

Creates a context to render into an image.

Referenced by drawGlyphs().

◆ LowLevelGraphicsSoftwareRenderer() [2/2]

juce::LowLevelGraphicsSoftwareRenderer::LowLevelGraphicsSoftwareRenderer ( const Image & imageToRenderOnto,
Point< int > origin,
const RectangleList< int > & initialClip )

Creates a context to render into a clipped subsection of an image.

◆ ~LowLevelGraphicsSoftwareRenderer()

juce::LowLevelGraphicsSoftwareRenderer::~LowLevelGraphicsSoftwareRenderer ( )
override

Destructor.

Member Functions

◆ getPreferredImageTypeForTemporaryImages()

std::unique_ptr< ImageType > juce::LowLevelGraphicsSoftwareRenderer::getPreferredImageTypeForTemporaryImages ( ) const
inlineoverridevirtual

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

Implements juce::LowLevelGraphicsContext.

◆ isVectorDevice()

bool juce::LowLevelGraphicsSoftwareRenderer::isVectorDevice ( ) const
overridevirtual

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

a printer.

Implements juce::LowLevelGraphicsContext.

◆ getClipBounds()

Rectangle< int > juce::LowLevelGraphicsSoftwareRenderer::getClipBounds ( ) const
overridevirtual

◆ isClipEmpty()

bool juce::LowLevelGraphicsSoftwareRenderer::isClipEmpty ( ) const
overridevirtual

◆ setOrigin()

void juce::LowLevelGraphicsSoftwareRenderer::setOrigin ( Point< int > )
overridevirtual

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.

◆ addTransform()

void juce::LowLevelGraphicsSoftwareRenderer::addTransform ( const AffineTransform & t)
overridevirtual

◆ getPhysicalPixelScaleFactor()

float juce::LowLevelGraphicsSoftwareRenderer::getPhysicalPixelScaleFactor ( ) const
overridevirtual

◆ clipRegionIntersects()

bool juce::LowLevelGraphicsSoftwareRenderer::clipRegionIntersects ( const Rectangle< int > & r)
overridevirtual

◆ clipToRectangle()

bool juce::LowLevelGraphicsSoftwareRenderer::clipToRectangle ( const Rectangle< int > & r)
overridevirtual

◆ clipToRectangleList()

bool juce::LowLevelGraphicsSoftwareRenderer::clipToRectangleList ( const RectangleList< int > & r)
overridevirtual

◆ excludeClipRectangle()

void juce::LowLevelGraphicsSoftwareRenderer::excludeClipRectangle ( const Rectangle< int > & r)
overridevirtual

◆ clipToPath()

void juce::LowLevelGraphicsSoftwareRenderer::clipToPath ( const Path & path,
const AffineTransform & t )
overridevirtual

◆ clipToImageAlpha()

void juce::LowLevelGraphicsSoftwareRenderer::clipToImageAlpha ( const Image & im,
const AffineTransform & t )
overridevirtual

◆ saveState()

void juce::LowLevelGraphicsSoftwareRenderer::saveState ( )
overridevirtual

◆ restoreState()

void juce::LowLevelGraphicsSoftwareRenderer::restoreState ( )
overridevirtual

◆ beginTransparencyLayer()

void juce::LowLevelGraphicsSoftwareRenderer::beginTransparencyLayer ( float opacity)
overridevirtual

◆ endTransparencyLayer()

void juce::LowLevelGraphicsSoftwareRenderer::endTransparencyLayer ( )
overridevirtual

◆ setFill()

void juce::LowLevelGraphicsSoftwareRenderer::setFill ( const FillType & fillType)
overridevirtual

◆ setOpacity()

void juce::LowLevelGraphicsSoftwareRenderer::setOpacity ( float newOpacity)
overridevirtual

◆ setInterpolationQuality()

void juce::LowLevelGraphicsSoftwareRenderer::setInterpolationQuality ( Graphics::ResamplingQuality quality)
overridevirtual

◆ fillRect() [1/2]

void juce::LowLevelGraphicsSoftwareRenderer::fillRect ( const Rectangle< int > & r,
bool replace )
overridevirtual

◆ fillRect() [2/2]

void juce::LowLevelGraphicsSoftwareRenderer::fillRect ( const Rectangle< float > & r)
overridevirtual

◆ fillRectList()

void juce::LowLevelGraphicsSoftwareRenderer::fillRectList ( const RectangleList< float > & list)
overridevirtual

◆ fillPath()

void juce::LowLevelGraphicsSoftwareRenderer::fillPath ( const Path & path,
const AffineTransform & t )
overridevirtual

◆ drawImage()

void juce::LowLevelGraphicsSoftwareRenderer::drawImage ( const Image & im,
const AffineTransform & t )
overridevirtual

◆ drawLine()

void juce::LowLevelGraphicsSoftwareRenderer::drawLine ( const Line< float > & line)
overridevirtual

◆ setFont()

void juce::LowLevelGraphicsSoftwareRenderer::setFont ( const Font & newFont)
overridevirtual

◆ getFont()

const Font & juce::LowLevelGraphicsSoftwareRenderer::getFont ( )
overridevirtual

◆ getFrameId()

uint64_t juce::LowLevelGraphicsSoftwareRenderer::getFrameId ( ) const
overridevirtual

Returns an integer that uniquely identifies the current frame.

Useful for debugging/logging.

Implements juce::LowLevelGraphicsContext.

◆ drawGlyphs()

void juce::LowLevelGraphicsSoftwareRenderer::drawGlyphs ( Span< const uint16_t > ,
Span< const Point< float > > ,
const AffineTransform &  )
overridevirtual

Uses the current font to draw the provided glyph numbers.

Implements juce::LowLevelGraphicsContext.

References LowLevelGraphicsSoftwareRenderer().

linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram