TGUI
1.7
|
Render target implementation that makes use of OpenGL ES. More...
#include <TGUI/Backend/Renderer/GLES2/BackendRenderTargetGLES2.hpp>
Public Member Functions | |
BackendRenderTargetGLES2 () | |
Default constructor. | |
~BackendRenderTargetGLES2 () override | |
Destructor. | |
void | setClearColor (const Color &color) override |
Select the color that will be used by clearScreen. | |
void | clearScreen () override |
Clears the screen, called at the beginning of each frame when gui.mainLoop() is called. | |
void | setView (FloatRect view, FloatRect viewport, Vector2f targetSize) override |
Informs the render target about which part of the window is used for rendering. | |
void | drawGui (const std::shared_ptr< RootContainer > &root) override |
Draws the gui and all of its widgets. | |
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) override |
Draws a vertex array. This is called by the other draw functions. | |
Public Member Functions inherited from tgui::BackendRenderTarget | |
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 | 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 | drawTextOutline (const RenderStates &states, const Text &text) |
Draws only the outline of some text. | |
virtual void | drawTextWithoutOutline (const RenderStates &states, const Text &text) |
Draws some text, but without rendering its outline. | |
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. | |
Vector2f | getPixelsPerPoint () const |
Returns the current mapping between the screen pixels and the points in the current view. | |
Protected Member Functions | |
void | updateClipping (FloatRect clipRect, FloatRect clipViewport) override |
Called from addClippingLayer and removeClippingLayer to apply the clipping. | |
void | setVertexAttribs () |
void | createBuffers () |
Protected Member Functions inherited from tgui::BackendRenderTarget |
Protected Attributes | |
unsigned int | m_shaderProgram = 0 |
unsigned int | m_vertexArray = 0 |
unsigned int | m_vertexBuffer = 0 |
unsigned int | m_indexBuffer = 0 |
std::size_t | m_vertexBufferSize = 0 |
std::size_t | m_indexBufferSize = 0 |
std::unique_ptr< BackendTextureGLES2 > | m_emptyTexture |
std::shared_ptr< BackendTextureGLES2 > | m_currentTexture |
Transform | m_projectionTransform |
int | m_projectionMatrixShaderUniformLocation = 0 |
unsigned int | m_positionShaderLocation = 0 |
unsigned int | m_colorShaderLocation = 1 |
unsigned int | m_texCoordShaderLocation = 2 |
Protected Attributes inherited from tgui::BackendRenderTarget | |
FloatRect | m_viewRect |
FloatRect | m_viewport |
Vector2f | m_targetSize |
std::vector< std::pair< FloatRect, FloatRect > > | m_clipLayers |
Vector2f | m_pixelsPerPoint = {1, 1} |
Render target implementation that makes use of OpenGL ES.
|
overridevirtual |
Clears the screen, called at the beginning of each frame when gui.mainLoop() is called.
Implements tgui::BackendRenderTarget.
|
overridevirtual |
Draws the gui and all of its widgets.
root | Root container that holds all widgets in the gui |
GL_BLEND, GL_DEPTH_TEST, GL_CULL_FACE and GL_SCISSOR_TEST are temporarily changed but restored at the end of this function
Implements tgui::BackendRenderTarget.
|
overridevirtual |
Draws a vertex array. This is called by the other draw functions.
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 |
Implements tgui::BackendRenderTarget.
|
overridevirtual |
Select the color that will be used by clearScreen.
color | Background color of the window |
Implements tgui::BackendRenderTarget.
|
overridevirtual |
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 from tgui::BackendRenderTarget.
|
overrideprotectedvirtual |
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.
Implements tgui::BackendRenderTarget.