TGUI  1.3-dev
Loading...
Searching...
No Matches
tgui::BackendTextureSFML Class Reference

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

#include <TGUI/Backend/Renderer/SFML-Graphics/BackendTextureSFML.hpp>

Inheritance diagram for tgui::BackendTextureSFML:
tgui::BackendTexture

Public Member Functions

 BackendTextureSFML ()
 Default constructor.
 
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 sf::Texture & getInternalTexture ()
 Returns a reference to the internal SFML texture.
 
TGUI_NODISCARD const sf::Texture & getInternalTexture () const
 Returns a const reference to the internal SFML texture.
 
void replaceInternalTexture (const sf::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.
 
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)
 

Protected Attributes

sf::Texture m_texture
 
- 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 SFML.

Member Function Documentation

◆ getInternalTexture() [1/2]

TGUI_NODISCARD sf::Texture & tgui::BackendTextureSFML::getInternalTexture ( )

Returns a reference to the internal SFML texture.

Returns
Reference to internal texture
Warning
You are not allowed to change the size, pixels or smoothing of the texture

◆ getInternalTexture() [2/2]

TGUI_NODISCARD const sf::Texture & tgui::BackendTextureSFML::getInternalTexture ( ) const

Returns a const reference to the internal SFML texture.

Returns
Const reference to internal texture

◆ loadTextureOnly()

bool tgui::BackendTextureSFML::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::BackendTextureSFML::replaceInternalTexture ( const sf::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.

◆ setSmooth()

void tgui::BackendTextureSFML::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: