Loading...
Searching...
No Matches
LowLevelGraphicsContext Class Referenceabstract

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

#include <juce_LowLevelGraphicsContext.h>

Public Member Functions

virtual ~LowLevelGraphicsContext ()=default
 
virtual bool isVectorDevice () const =0
 Returns true if this device is vector-based, e.g.
 
virtual void setOrigin (Point< int >)=0
 Moves the origin to a new position.
 
virtual void addTransform (const AffineTransform &)=0
 
virtual float getPhysicalPixelScaleFactor () const =0
 
virtual bool clipToRectangle (const Rectangle< int > &)=0
 
virtual bool clipToRectangleList (const RectangleList< int > &)=0
 
virtual void excludeClipRectangle (const Rectangle< int > &)=0
 
virtual void clipToPath (const Path &, const AffineTransform &)=0
 
virtual void clipToImageAlpha (const Image &, const AffineTransform &)=0
 
virtual bool clipRegionIntersects (const Rectangle< int > &)=0
 
virtual Rectangle< int > getClipBounds () const =0
 
virtual bool isClipEmpty () const =0
 
virtual void saveState ()=0
 
virtual void restoreState ()=0
 
virtual void beginTransparencyLayer (float opacity)=0
 
virtual void endTransparencyLayer ()=0
 
virtual void setFill (const FillType &)=0
 
virtual void setOpacity (float)=0
 
virtual void setInterpolationQuality (Graphics::ResamplingQuality)=0
 
virtual void fillAll ()
 
virtual void fillRect (const Rectangle< int > &, bool replaceExistingContents)=0
 
virtual void fillRect (const Rectangle< float > &)=0
 
virtual void fillRectList (const RectangleList< float > &)=0
 
virtual void fillPath (const Path &, const AffineTransform &)=0
 
virtual void drawRect (const Rectangle< float > &rect, float lineThickness)
 
virtual void strokePath (const Path &path, const PathStrokeType &strokeType, const AffineTransform &transform)
 
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 setFont (const Font &)=0
 
virtual const FontgetFont ()=0
 
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 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)
 
virtual uint64_t getFrameId () const =0
 Returns an integer that uniquely identifies the current frame.
 

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.

Constructor & Destructor Documentation

◆ LowLevelGraphicsContext()

LowLevelGraphicsContext::LowLevelGraphicsContext ( )
protecteddefault

◆ ~LowLevelGraphicsContext()

virtual LowLevelGraphicsContext::~LowLevelGraphicsContext ( )
virtualdefault

Member Function Documentation

◆ isVectorDevice()

virtual bool LowLevelGraphicsContext::isVectorDevice ( ) const
pure virtual

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

a printer.

◆ setOrigin()

virtual void 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).

◆ addTransform()

virtual void LowLevelGraphicsContext::addTransform ( const AffineTransform & )
pure virtual

◆ getPhysicalPixelScaleFactor()

virtual float LowLevelGraphicsContext::getPhysicalPixelScaleFactor ( ) const
pure virtual

◆ clipToRectangle()

virtual bool LowLevelGraphicsContext::clipToRectangle ( const Rectangle< int > & )
pure virtual

◆ clipToRectangleList()

virtual bool LowLevelGraphicsContext::clipToRectangleList ( const RectangleList< int > & )
pure virtual

◆ excludeClipRectangle()

virtual void LowLevelGraphicsContext::excludeClipRectangle ( const Rectangle< int > & )
pure virtual

◆ clipToPath()

virtual void LowLevelGraphicsContext::clipToPath ( const Path & ,
const AffineTransform &  )
pure virtual

◆ clipToImageAlpha()

virtual void LowLevelGraphicsContext::clipToImageAlpha ( const Image & ,
const AffineTransform &  )
pure virtual

◆ clipRegionIntersects()

virtual bool LowLevelGraphicsContext::clipRegionIntersects ( const Rectangle< int > & )
pure virtual

◆ getClipBounds()

virtual Rectangle< int > LowLevelGraphicsContext::getClipBounds ( ) const
pure virtual

◆ isClipEmpty()

virtual bool LowLevelGraphicsContext::isClipEmpty ( ) const
pure virtual

◆ saveState()

virtual void LowLevelGraphicsContext::saveState ( )
pure virtual

◆ restoreState()

virtual void LowLevelGraphicsContext::restoreState ( )
pure virtual

◆ beginTransparencyLayer()

virtual void LowLevelGraphicsContext::beginTransparencyLayer ( float opacity)
pure virtual

◆ endTransparencyLayer()

virtual void LowLevelGraphicsContext::endTransparencyLayer ( )
pure virtual

◆ setFill()

virtual void LowLevelGraphicsContext::setFill ( const FillType & )
pure virtual

◆ setOpacity()

virtual void LowLevelGraphicsContext::setOpacity ( float )
pure virtual

◆ setInterpolationQuality()

virtual void LowLevelGraphicsContext::setInterpolationQuality ( Graphics::ResamplingQuality )
pure virtual

◆ fillAll()

virtual void LowLevelGraphicsContext::fillAll ( )
virtual

◆ fillRect() [1/2]

virtual void LowLevelGraphicsContext::fillRect ( const Rectangle< int > & ,
bool replaceExistingContents )
pure virtual

◆ fillRect() [2/2]

virtual void LowLevelGraphicsContext::fillRect ( const Rectangle< float > & )
pure virtual

◆ fillRectList()

virtual void LowLevelGraphicsContext::fillRectList ( const RectangleList< float > & )
pure virtual

◆ fillPath()

virtual void LowLevelGraphicsContext::fillPath ( const Path & ,
const AffineTransform &  )
pure virtual

◆ drawRect()

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

◆ strokePath()

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

◆ drawImage()

virtual void LowLevelGraphicsContext::drawImage ( const Image & ,
const AffineTransform &  )
pure virtual

◆ drawLine()

virtual void LowLevelGraphicsContext::drawLine ( const Line< float > & )
pure virtual

◆ drawLineWithThickness()

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

◆ setFont()

virtual void LowLevelGraphicsContext::setFont ( const Font & )
pure virtual

◆ getFont()

virtual const Font & LowLevelGraphicsContext::getFont ( )
pure virtual

◆ drawGlyphs()

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

Uses the current font to draw the provided glyph numbers.

◆ drawRoundedRectangle()

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

◆ fillRoundedRectangle()

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

◆ drawEllipse()

◆ fillEllipse()

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

References Path::addEllipse().

◆ getFrameId()

virtual uint64_t LowLevelGraphicsContext::getFrameId ( ) const
pure virtual

Returns an integer that uniquely identifies the current frame.

Useful for debugging/logging.


The documentation for this class was generated from the following file:
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram