StuBS
GuardedGraphics Class Reference

Guarded interface to Graphics used by user applications. More...

#include <guarded_graphics.h>

Inheritance diagram for GuardedGraphics:
Collaboration diagram for GuardedGraphics:

Public Member Functions

 GuardedGraphics (unsigned size, void *frontbuffer, void *backbuffer)
 The constructor passes the pointers to the base-class constructor.
 
bool switchBuffers ()
 Switch front and back buffer (only if front buffer was already copied to video memory)
 
void scanoutFrontbuffer ()
 Copy current front buffer to the video memory.
 
- Public Member Functions inherited from Graphics
 Graphics (unsigned size, void *frontbuffer, void *backbuffer)
 Constructor.
 
bool init (bool force=false)
 Initialize GraphicsPrinter according to the current video mode.
 
bool switchBuffers ()
 Switch front and back buffer (only if front buffer was already copied to video memory)
 
void scanoutFrontbuffer ()
 Copy current front buffer to the video memory.
 
void clear ()
 Clear all pixel of the current back buffer (set full screen to black)
 
bool valid (const Point &p)
 Check if a Point can be displayed at the current resolution.
 
unsigned height ()
 Number of vertical pixels in current resolution.
 
unsigned width ()
 Number of horizontal pixels in current resolution.
 
void pixel (const Point &p, const Color &color)
 Draw a pixel on the current back buffer.
 
void pixel (const Point &p, const ColorAlpha &color)
 Draw a pixel on the current back buffer.
 
void line (const Point &start, const Point &end, const Color &color)
 Draw a line on the current back buffer.
 
void line (const Point &start, const Point &end, const ColorAlpha &color)
 Draw a line on the current back buffer.
 
void rectangle (const Point &start, const Point &end, const Color &color, bool filled=true)
 Draw a rectangle on the current back buffer.
 
void rectangle (const Point &start, const Point &end, const ColorAlpha &color, bool filled=true)
 Draw a rectangle on the current back buffer.
 
void font (const Font &new_font)
 Change the current font for text output in video mode.
 
void text (const Point &p, const char *string, unsigned len, const Color &color, const Font *font=nullptr)
 Print text (without automatic word wrap) on the current back buffer.
 
void text (const Point &p, const char *string, unsigned len, const ColorAlpha &color, const Font *font=nullptr)
 Print text (without automatic word wrap) on the current back buffer.
 
void image (const Point &p, PNG &image, unsigned width=0, unsigned height=0, unsigned offset_x=0, unsigned offset_y=0)
 Draw a PNG image [detail] on the current back buffer.
 
void image (const Point &p, const GIMP &image, unsigned width=0, unsigned height=0, unsigned offset_x=0, unsigned offset_y=0)
 Draw a GIMP image [detail] on the current back buffer.
 
void image (const Point &p, const Color *image, unsigned width, unsigned height, unsigned offset_x=0, unsigned offset_y=0)
 Draw a sprite on the current back buffer.
 
void image (const Point &p, const ColorAlpha *image, unsigned width, unsigned height, unsigned offset_x=0, unsigned offset_y=0)
 Draw a sprite with alpha blending (transparency) on the current back buffer.
 

Detailed Description

Guarded interface to Graphics used by user applications.

Member Function Documentation

◆ scanoutFrontbuffer()

void GuardedGraphics::scanoutFrontbuffer ( )
inline

Copy current front buffer to the video memory.

Note
This method is equal to the correspondent method in base class Graphics, with the only difference that the call will be protected by a Guarded object.
Optional:
Extend method by a Guarded object.

◆ switchBuffers()

bool GuardedGraphics::switchBuffers ( )
inline

Switch front and back buffer (only if front buffer was already copied to video memory)

Returns
true if buffers have been switched, false if previous front buffer wasn't yet fully copied to video memory.
Note
This method is equal to the correspondent method in base class Graphics, with the only difference that the call will be protected by a Guarded object.
Optional:
Extend method by a Guarded object.

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