TGUI  1.6.1
Loading...
Searching...
No Matches
tgui::BackendTextureSDL Class Reference

Texture implementation that makes use of SDL_Texture. More...

#include <TGUI/Backend/Renderer/SDL_Renderer/BackendTextureSDL.hpp>

Inheritance diagram for tgui::BackendTextureSDL:
tgui::BackendTexture

Public Member Functions

 BackendTextureSDL (SDL_Renderer *renderer)
 Constructor.
 
 ~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.
 
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.
 
- Public Member Functions inherited from tgui::BackendTexture
 BackendTexture (const BackendTexture &)=delete
 
 BackendTexture (BackendTexture &&)=delete
 
BackendTextureoperator= (const BackendTexture &)=delete
 
BackendTextureoperator= (BackendTexture &&)=delete
 
 BackendTexture ()=default
 Default constructor.
 
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.
 
Vector2u getSize () const
 Returns the size of the entire image.
 
bool isSmooth () const
 Returns whether the smooth filter is enabled or not.
 
bool isTransparentPixel (Vector2u pixel) const
 Checks if a certain pixel is transparent.
 
const std::uint8_t * getPixels () const
 Returns a pointer to the pixels (read-only)
 

Protected Attributes

SDL_Renderer * m_renderer = nullptr
 
SDL_Texture * m_texture = nullptr
 
- Protected Attributes inherited from tgui::BackendTexture
Vector2u m_imageSize
 
std::unique_ptr< std::uint8_t[]> m_pixels
 
bool m_isSmooth = true
 

Detailed Description

Texture implementation that makes use of SDL_Texture.

Constructor & Destructor Documentation

◆ BackendTextureSDL()

tgui::BackendTextureSDL::BackendTextureSDL ( SDL_Renderer * renderer)

Constructor.

Parameters
rendererThe renderer to use when creating textures

Member Function Documentation

◆ getInternalTexture()

SDL_Texture * tgui::BackendTextureSDL::getInternalTexture ( ) const
nodiscard

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
sizeWidth and height of the image to create
pixelsPointer to array of size.x*size.y*4 bytes with RGBA pixels, or nullptr to create an empty texture
smoothShould 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
textureTexture to copy

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
smoothTrue 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: