TGUI
1.5
|
Base class for render targets. More...
#include <TGUI/Backend/Renderer/BackendRenderTarget.hpp>
Public Member Functions | |
BackendRenderTarget (const BackendRenderTarget &)=delete | |
BackendRenderTarget (BackendRenderTarget &&)=delete | |
BackendRenderTarget & | operator= (const BackendRenderTarget &)=delete |
BackendRenderTarget & | operator= (BackendRenderTarget &&)=delete |
BackendRenderTarget ()=default | |
Default constructor. | |
virtual | ~BackendRenderTarget ()=default |
Virtual destructor. | |
virtual void | setClearColor (const Color &color)=0 |
Select the color that will be used by clearScreen. | |
virtual void | clearScreen ()=0 |
Clears the screen, called at the beginning of each frame when gui.mainLoop() is called. | |
virtual void | setView (FloatRect view, FloatRect viewport, Vector2f targetSize) |
Informs the render target about which part of the window is used for rendering. | |
virtual void | drawGui (const std::shared_ptr< RootContainer > &root)=0 |
Draws the gui and all of its widgets. | |
virtual void | drawWidget (const RenderStates &states, const std::shared_ptr< Widget > &widget) |
Draws a widget, if the widget is visible. | |
virtual void | addClippingLayer (const RenderStates &states, FloatRect rect) |
Adds another clipping region. | |
virtual void | removeClippingLayer () |
Removes the last added clipping region. | |
virtual void | drawBorders (const RenderStates &states, const Borders &borders, Vector2f size, Color color) |
Draws borders inside a provided rectangle. | |
virtual void | drawFilledRect (const RenderStates &states, Vector2f size, Color color) |
Draws a colored rectangle. | |
virtual void | drawSprite (const RenderStates &states, const Sprite &sprite) |
Draws a texture. | |
virtual void | drawText (const RenderStates &states, const Text &text) |
Draws some text. | |
virtual void | drawTriangle (const RenderStates &states, const Vertex &point1, const Vertex &point2, const Vertex &point3) |
Draws a single triangles (using the color that is specified in the vertices) | |
virtual void | drawCircle (const RenderStates &states, float size, const Color &backgroundColor, float borderThickness=0, const Color &borderColor={}) |
Draws a circle. | |
virtual void | drawRoundedRectangle (const RenderStates &states, const Vector2f &size, const Color &backgroundColor, float radius, const Borders &borders={0}, const Color &borderColor=Color::Black) |
Draws a rounded rectangle. | |
virtual void | drawVertexArray (const RenderStates &states, const Vertex *vertices, std::size_t vertexCount, const unsigned int *indices, std::size_t indexCount, const std::shared_ptr< BackendTexture > &texture)=0 |
Draws a vertex array. This is called by the other draw functions when they are not overriden. | |
TGUI_NODISCARD Vector2f | getPixelsPerPoint () const |
Returns the current mapping between the screen pixels and the points in the current view. | |
Protected Member Functions | |
virtual void | updateClipping (FloatRect clipRect, FloatRect clipViewport)=0 |
Called from addClippingLayer and removeClippingLayer to apply the clipping. | |
Protected Attributes | |
FloatRect | m_viewRect |
FloatRect | m_viewport |
Vector2f | m_targetSize |
std::vector< std::pair< FloatRect, FloatRect > > | m_clipLayers |
Vector2f | m_pixelsPerPoint = {1, 1} |
Base class for render targets.
|
virtual |
Adds another clipping region.
states | Render states to use for drawing |
rect | The clipping region |
If multiple clipping regions were added then contents is only shown in the intersection of all regions.
|
pure virtual |
Clears the screen, called at the beginning of each frame when gui.mainLoop() is called.
Implemented in tgui::BackendRenderTargetGLES2, tgui::BackendRenderTargetOpenGL3, tgui::BackendRenderTargetRaylib, tgui::BackendRenderTargetSDL, and tgui::BackendRenderTargetSFML.
|
virtual |
Draws borders inside a provided rectangle.
states | Render states to use for drawing |
borders | The size of the borders on each side |
size | The size of the rectangle in which borders will be drawn |
color | Color of the borders |
|
virtual |
Draws a circle.
|
virtual |
Draws a colored rectangle.
states | Render states to use for drawing |
size | Size of the rectangle |
color | Color of the rectangle |
|
pure virtual |
Draws the gui and all of its widgets.
root | Root container that holds all widgets in the gui |
Implemented in tgui::BackendRenderTargetGLES2, tgui::BackendRenderTargetOpenGL3, tgui::BackendRenderTargetRaylib, tgui::BackendRenderTargetSDL, and tgui::BackendRenderTargetSFML.
|
virtual |
Draws a rounded rectangle.
states | Render states to use for drawing |
size | Size of the rectangle (includes borders) |
backgroundColor | Fill color of the rectangle |
radius | Radius of the rounded corners |
borders | Optional borders on the sides of the rectangle (must be the same on all sides) |
borderColor | Color of the borders |
|
virtual |
Draws a texture.
states | Render states to use for drawing |
sprite | Image to draw |
Reimplemented in tgui::BackendRenderTargetSFML.
|
virtual |
Draws some text.
states | Render states to use for drawing |
text | Text to draw |
|
virtual |
Draws a single triangles (using the color that is specified in the vertices)
states | Render states to use for drawing |
point1 | First point of the triangle |
point2 | Second point of the triangle |
point3 | Third point of the triangle |
To draw multiple triangles at once, optionally with a texture, use the drawVertexArray function.
|
pure virtual |
Draws a vertex array. This is called by the other draw functions when they are not overriden.
states | Render states to use for drawing |
vertices | Pointer to first element in array of vertices |
vertexCount | Amount of elements in the vertex array |
indices | Pointer to first element in array of indices |
indexCount | Amount of elements in the indices array |
texture | Texture to use, or nullptr when drawing colored triangles |
Implemented in tgui::BackendRenderTargetGLES2, tgui::BackendRenderTargetOpenGL3, tgui::BackendRenderTargetRaylib, tgui::BackendRenderTargetSDL, and tgui::BackendRenderTargetSFML.
|
virtual |
Draws a widget, if the widget is visible.
states | Render states to use for drawing |
widget | The widget to draw |
TGUI_NODISCARD Vector2f tgui::BackendRenderTarget::getPixelsPerPoint | ( | ) | const |
Returns the current mapping between the screen pixels and the points in the current view.
Example when rounding rendering to the nearest pixel:
|
virtual |
Removes the last added clipping region.
|
pure virtual |
Select the color that will be used by clearScreen.
color | Background color of the window |
Implemented in tgui::BackendRenderTargetGLES2, tgui::BackendRenderTargetOpenGL3, tgui::BackendRenderTargetRaylib, tgui::BackendRenderTargetSDL, and tgui::BackendRenderTargetSFML.
|
virtual |
Informs the render target about which part of the window is used for rendering.
view | Defines which part of the gui is being shown |
viewport | Defines which part of the window is being rendered to |
targetSize | Size of the window |
Reimplemented in tgui::BackendRenderTargetGLES2, tgui::BackendRenderTargetOpenGL3, tgui::BackendRenderTargetRaylib, and tgui::BackendRenderTargetSDL.
|
protectedpure virtual |
Called from addClippingLayer and removeClippingLayer to apply the clipping.
clipRect | View rectangle to apply |
clipViewport | Viewport to apply |
Both rectangles may be empty when nothing that will be drawn is going to be visible.
Implemented in tgui::BackendRenderTargetGLES2, tgui::BackendRenderTargetOpenGL3, tgui::BackendRenderTargetRaylib, tgui::BackendRenderTargetSDL, and tgui::BackendRenderTargetSFML.