TGUI  0.7.8
Inheritance diagram for tgui::Texture:

Public Types

enum class  ScalingType { Normal , Horizontal , Vertical , NineSlice }
 The way the image should be scaled. More...
 

Public Member Functions

 Texture ()
 Default constructor.
 
 Texture (const sf::String &id, const sf::IntRect &partRect=sf::IntRect(0, 0, 0, 0), const sf::IntRect &middlePart=sf::IntRect(0, 0, 0, 0))
 Constructor that created the texture. More...
 
 Texture (const sf::Texture &texture, const sf::IntRect &partRect=sf::IntRect(0, 0, 0, 0), const sf::IntRect &middlePart=sf::IntRect(0, 0, 0, 0))
 Constructor that created the texture from an existing sf::Texture. More...
 
 Texture (const Texture &texture)
 Copy constructor. More...
 
Textureoperator= (const Texture &right)
 Overload of assignment operator. More...
 
void load (const sf::Texture &texture, const sf::IntRect &partRect={}, const sf::IntRect &middleRect={})
 Creates the texture from an existing sf::Texture. More...
 
void load (const sf::String &id, const sf::IntRect &partRect={}, const sf::IntRect &middleRect={})
 Creates the texture. More...
 
void setTexture (std::shared_ptr< TextureData > data, const sf::IntRect &middleRect={})
 Changes the texture. More...
 
std::string getId () const
 Returns the id that was used to load the texture (for the default loader, the id is the filename) More...
 
std::shared_ptr< TextureData > & getData ()
 Returns a reference to the texture data. More...
 
std::shared_ptr< const TextureData > getData () const
 Returns the constant texture data. More...
 
void setSize (const sf::Vector2f &size)
 Changes the size that the image will have when drawing. More...
 
sf::Vector2f getSize () const
 Returns the size that the image has when drawing. More...
 
sf::Vector2f getImageSize () const
 Returns the size that the loaded image. More...
 
void setColor (const sf::Color &color)
 Set the global color of the sprite. More...
 
const sf::Color & getColor () const
 Returns the global color of the sprite. More...
 
void setTextureRect (const sf::FloatRect &textureRect)
 Changes the part of the texture that should be drawn. More...
 
sf::FloatRect getTextureRect () const
 Returns the part of the texture that is drawn. More...
 
sf::IntRect getMiddleRect () const
 Returns the middle rect of the texture which is used for 9-slice scaling. More...
 
void setSmooth (bool smooth)
 Enable or disable the smooth filter. More...
 
bool isSmooth () const
 Tell whether the smooth filter is enabled or not. More...
 
bool isTransparentPixel (float x, float y) const
 Check if a certain pixel is transparent. More...
 
ScalingType getScalingType () const
 Returns the way in which the image is being scaled. More...
 
bool isLoaded () const
 Check if the texture has been correctly loaded. More...
 
void setCopyCallback (const std::function< void(std::shared_ptr< TextureData >)> func)
 Sets a callback function for when this texture is copied. More...
 
void setDestructCallback (const std::function< void(std::shared_ptr< TextureData >)> func)
 Sets a callback function for when this texture is destroyed. More...
 

Static Public Member Functions

static void setImageLoader (const ImageLoaderFunc &func)
 Sets a different image loader. More...
 
static void setTextureLoader (const TextureLoaderFunc &func)
 Sets a different texture loader. More...
 
static ImageLoaderFunc getImageLoader ()
 Returns the used image loader. More...
 
static TextureLoaderFunc getTextureLoader ()
 Returns the used texture loader. More...
 

Member Enumeration Documentation

◆ ScalingType

enum class tgui::Texture::ScalingType
strong

The way the image should be scaled.

Enumerator
Normal 

The image is not split and scaled normally.

Horizontal 

Image is split in Left, Middle and Right parts. Left and Right keep ratio, Middle gets stretched.

Vertical 

Image is split in Top, Middle and Bottom parts. Top and Bottom keep ratio, Middle gets stretched.

NineSlice 

Image is split in 9 parts. Corners keep size, sides are stretched in one direction, middle is stretched in both directions.

Constructor & Destructor Documentation

◆ Texture() [1/3]

tgui::Texture::Texture ( const sf::String &  id,
const sf::IntRect &  partRect = sf::IntRect(0, 0, 0, 0),
const sf::IntRect &  middlePart = sf::IntRect(0, 0, 0, 0) 
)

Constructor that created the texture.

Parameters
idId for the the image to load (for the default loader, the id is the filename).
partRectLoad only part of the image. Pass an empty rectangle if you want to load the full image.
middlePartChoose the middle part of the image for 9-slice scaling (relative to the part defined by partRect)

This constructor just calls the corresponding load function.

◆ Texture() [2/3]

tgui::Texture::Texture ( const sf::Texture &  texture,
const sf::IntRect &  partRect = sf::IntRect(0, 0, 0, 0),
const sf::IntRect &  middlePart = sf::IntRect(0, 0, 0, 0) 
)

Constructor that created the texture from an existing sf::Texture.

Parameters
textureExisting texture to copy.
partRectLoad only part of the image. Pass an empty rectangle if you want to load the full image.
middlePartChoose the middle part of the image for 9-slice scaling (relative to the part defined by partRect)

The texture will be copied, you do not have to keep the sf::Texture alive after calling this function.

This constructor just calls the corresponding load function.

◆ Texture() [3/3]

tgui::Texture::Texture ( const Texture texture)

Copy constructor.

Parameters
textureInstance to copy

Member Function Documentation

◆ getColor()

const sf::Color & tgui::Texture::getColor ( ) const

Returns the global color of the sprite.

This color is modulated (multiplied) with the sprite's texture. It can be used to colorize the sprite, or change its global opacity.

By default, the sprite's color is opaque white.

Returns
Current color of the sprite

◆ getData() [1/2]

std::shared_ptr< TextureData > & tgui::Texture::getData ( )

Returns a reference to the texture data.

Returns
Data of the texture

◆ getData() [2/2]

std::shared_ptr< const TextureData > tgui::Texture::getData ( ) const

Returns the constant texture data.

Returns
Read-only data of the texture

◆ getId()

std::string tgui::Texture::getId ( ) const

Returns the id that was used to load the texture (for the default loader, the id is the filename)

Returns
Id of the texture

◆ getImageLoader()

static ImageLoaderFunc tgui::Texture::getImageLoader ( )
static

Returns the used image loader.

Returns
Image loader that is currently being used
See also
setImageLoader

◆ getImageSize()

sf::Vector2f tgui::Texture::getImageSize ( ) const
inline

Returns the size that the loaded image.

Returns
Size of the image like it was when loaded (no scaling applied)

◆ getMiddleRect()

sf::IntRect tgui::Texture::getMiddleRect ( ) const
inline

Returns the middle rect of the texture which is used for 9-slice scaling.

Returns
Middle rect of the texture

◆ getScalingType()

ScalingType tgui::Texture::getScalingType ( ) const
inline

Returns the way in which the image is being scaled.

Returns
Scaling type

◆ getSize()

sf::Vector2f tgui::Texture::getSize ( ) const
inline

Returns the size that the image has when drawing.

Returns
Size of the image

◆ getTextureLoader()

static TextureLoaderFunc tgui::Texture::getTextureLoader ( )
static

Returns the used texture loader.

Returns
Texture loader that is currently being used
See also
setTextureLoader

◆ getTextureRect()

sf::FloatRect tgui::Texture::getTextureRect ( ) const
inline

Returns the part of the texture that is drawn.

Returns
Visible part of the texture

◆ isLoaded()

bool tgui::Texture::isLoaded ( ) const
inline

Check if the texture has been correctly loaded.

Returns
True if texture was initialized

◆ isSmooth()

bool tgui::Texture::isSmooth ( ) const
inline

Tell whether the smooth filter is enabled or not.

Returns
True if smoothing is enabled, false if it is disabled
See also
setSmooth

◆ isTransparentPixel()

bool tgui::Texture::isTransparentPixel ( float  x,
float  y 
) const

Check if a certain pixel is transparent.

Parameters
xglobal X coordinate of the pixel
yglobal Y coordinate of the pixel
Returns
True when the pixel is transparent, false when it is not

◆ load() [1/2]

void tgui::Texture::load ( const sf::String &  id,
const sf::IntRect &  partRect = {},
const sf::IntRect &  middleRect = {} 
)

Creates the texture.

Parameters
idId for the the image to load (for the default loader, the id is the filename).
partRectLoad only part of the image. Don't pass this parameter if you want to load the full image.
middleRectChoose the middle part of the image for 9-slice scaling (relative to the part defined by partRect)

◆ load() [2/2]

void tgui::Texture::load ( const sf::Texture &  texture,
const sf::IntRect &  partRect = {},
const sf::IntRect &  middleRect = {} 
)

Creates the texture from an existing sf::Texture.

Parameters
textureExisting texture to copy.
partRectLoad only part of the texture. Don't pass this parameter if you want to load the full image.
middleRectChoose the middle part of the image for 9-slice scaling (relative to the part defined by partRect)

The texture will be copied, you do not have to keep the sf::Texture alive after calling this function.

◆ operator=()

Texture & tgui::Texture::operator= ( const Texture right)

Overload of assignment operator.

Parameters
rightInstance to assign
Returns
Reference to itself

◆ setColor()

void tgui::Texture::setColor ( const sf::Color &  color)

Set the global color of the sprite.

This color is modulated (multiplied) with the sprite's texture. It can be used to colorize the sprite, or change its global opacity.

By default, the sprite's color is opaque white.

Parameters
colorNew color of the sprite

◆ setCopyCallback()

void tgui::Texture::setCopyCallback ( const std::function< void(std::shared_ptr< TextureData >)>  func)

Sets a callback function for when this texture is copied.

Parameters
funcFunction that will be called when this texture is copied

This function can be useful when implementing a resource manager.

◆ setDestructCallback()

void tgui::Texture::setDestructCallback ( const std::function< void(std::shared_ptr< TextureData >)>  func)

Sets a callback function for when this texture is destroyed.

Parameters
funcFunction that will be called when this texture is destroyed

This function can be useful when implementing a resource manager.

◆ setImageLoader()

static void tgui::Texture::setImageLoader ( const ImageLoaderFunc &  func)
static

Sets a different image loader.

Parameters
funcNew image loader function

The image loader will be called inside the texture loader to create the sf::Image.

The default loader will simply load the image from a file.

◆ setSize()

void tgui::Texture::setSize ( const sf::Vector2f &  size)

Changes the size that the image will have when drawing.

Parameters
sizeSize of the image

◆ setSmooth()

void tgui::Texture::setSmooth ( bool  smooth)

Enable or disable the smooth filter.

When the filter is activated, the texture appears smoother so that pixels are less noticeable. However if you want the texture to look exactly the same as its source file, you should leave it disabled. The smooth filter is disabled by default.

Parameters
smoothTrue to enable smoothing, false to disable it
See also
isSmooth

◆ setTexture()

void tgui::Texture::setTexture ( std::shared_ptr< TextureData >  data,
const sf::IntRect &  middleRect = {} 
)

Changes the texture.

Parameters
dataNew texture data
middleRectChoose the middle part of the image part to determine scaling (e.g. 9-slice scaling)

This function is not intended to be used directly, except from custom loaders.

◆ setTextureLoader()

static void tgui::Texture::setTextureLoader ( const TextureLoaderFunc &  func)
static

Sets a different texture loader.

Parameters
funcNew texture loader function

The texture loader will initialize this Texture object.

The default loader will use an internal texture manager to prevent the same thing from being loaded twice.

◆ setTextureRect()

void tgui::Texture::setTextureRect ( const sf::FloatRect &  textureRect)
inline

Changes the part of the texture that should be drawn.

Parameters
textureRectVisible part of the texture

Set this to (0, 0, 0, 0) to show the entire texture


The documentation for this class was generated from the following file: