Texture implementation that makes use of SDL_Texture.
More...
#include <TGUI/Backend/Renderer/SDL_Renderer/BackendTextureSDL.hpp>
|
| | BackendTextureSDL (SDL_Renderer *renderer) |
| | Destructor.
|
| |
|
| ~BackendTextureSDL () override |
| | Destructor.
|
| |
| bool | loadTextureOnly (Vector2u size, const std::uint8_t *pixels, bool smooth) override |
| | Loads the texture from an array of 32-bits RGBA pixels, but don't take ownership of the pixels.
|
| |
| void | setSmooth (bool smooth) override |
| | Changes whether the smooth filter is enabled or not.
|
| |
| TGUI_NODISCARD SDL_Texture * | getInternalTexture () const |
| | Returns a pointer to the internal SDL_Texture.
|
| |
| void | replaceInternalTexture (SDL_Texture *texture) |
| | Replaces the internal texture by a different one.
|
| |
|
virtual | ~BackendTexture ()=default |
| | Virtual destructor.
|
| |
| bool | load (Vector2u size, std::unique_ptr< std::uint8_t[]> pixels, bool smooth) |
| | Loads the texture from an array of 32-bits RGBA pixels.
|
| |
| TGUI_NODISCARD Vector2u | getSize () const |
| | Returns the size of the entire image.
|
| |
| TGUI_NODISCARD bool | isSmooth () const |
| | Returns whether the smooth filter is enabled or not.
|
| |
| TGUI_NODISCARD bool | isTransparentPixel (Vector2u pixel) const |
| | Checks if a certain pixel is transparent.
|
| |
| TGUI_NODISCARD const std::uint8_t * | getPixels () const |
| | Returns a pointer to the pixels (read-only)
|
| |
|
|
SDL_Renderer * | m_renderer = nullptr |
| |
|
SDL_Texture * | m_texture = nullptr |
| |
|
Vector2u | m_imageSize |
| |
|
std::unique_ptr< std::uint8_t[]> | m_pixels |
| |
|
bool | m_isSmooth = true |
| |
Texture implementation that makes use of SDL_Texture.
◆ BackendTextureSDL()
| tgui::BackendTextureSDL::BackendTextureSDL |
( |
SDL_Renderer * | renderer | ) |
|
Destructor.
- Parameters
-
| renderer | The renderer to use when creating textures |
◆ getInternalTexture()
| TGUI_NODISCARD SDL_Texture * tgui::BackendTextureSDL::getInternalTexture |
( |
| ) |
const |
Returns a pointer to the internal SDL_Texture.
- Returns
- Pointer to internal texture
◆ loadTextureOnly()
| bool tgui::BackendTextureSDL::loadTextureOnly |
( |
Vector2u | size, |
|
|
const std::uint8_t * | pixels, |
|
|
bool | smooth ) |
|
overridevirtual |
Loads the texture from an array of 32-bits RGBA pixels, but don't take ownership of the pixels.
- Parameters
-
| size | Width and height of the image to create |
| pixels | Pointer to array of size.x*size.y*4 bytes with RGBA pixels, or nullptr to create an empty texture |
| smooth | Should the smooth filter be enabled or not? |
- Warning
- Unlike the load function, loadTextureOnly won't store the pixels and isTransparentPixel thus won't work
Reimplemented from tgui::BackendTexture.
◆ replaceInternalTexture()
| void tgui::BackendTextureSDL::replaceInternalTexture |
( |
SDL_Texture * | texture | ) |
|
Replaces the internal texture by a different one.
- Parameters
-
This will remove the pixel data stored by this object and reset its smoothing and size based on the new texture.
- Warning
- Ownership of the texture is transferred by calling this function. The SDL_DestroyTexture function will be called when this object is destroyed and it should NOT be called by the caller of replaceInternalTexture.
◆ setSmooth()
| void tgui::BackendTextureSDL::setSmooth |
( |
bool | smooth | ) |
|
|
overridevirtual |
Changes whether the smooth filter is enabled or not.
- Parameters
-
| smooth | True if smoothing should be enabled, false if it should be disabled |
Reimplemented from tgui::BackendTexture.
The documentation for this class was generated from the following file: