CSFML - C binding of the Simple and Fast Multimedia Library

CSFML 3.0.0
Loading...
Searching...
No Matches
Functions
Sprite.h File Reference
`#include <CSFML/Graphics/Export.h>`
`#include <CSFML/Graphics/BlendMode.h>`
`#include <CSFML/Graphics/Color.h>`
`#include <CSFML/Graphics/Rect.h>`
`#include <CSFML/Graphics/Transform.h>`
`#include <CSFML/Graphics/Types.h>`
`#include <CSFML/System/Vector2.h>`

Go to the source code of this file.

## Functions
sfSprite * | sfSprite_create (const sfTexture *texture)
| Create a new sprite.
sfSprite * | sfSprite_copy (const sfSprite *sprite)
| Copy an existing sprite.
void | sfSprite_destroy (const sfSprite *sprite)
| Destroy an existing sprite.
void | sfSprite_setPosition (sfSprite *sprite, sfVector2f position)
| Set the position of a sprite.
void | sfSprite_setRotation (sfSprite *sprite, float angle)
| Set the orientation of a sprite.
void | sfSprite_setScale (sfSprite *sprite, sfVector2f scale)
| Set the scale factors of a sprite.
void | sfSprite_setOrigin (sfSprite *sprite, sfVector2f origin)
| Set the local origin of a sprite.
sfVector2f | sfSprite_getPosition (const sfSprite *sprite)
| Get the position of a sprite.
float | sfSprite_getRotation (const sfSprite *sprite)
| Get the orientation of a sprite.
sfVector2f | sfSprite_getScale (const sfSprite *sprite)
| Get the current scale of a sprite.
sfVector2f | sfSprite_getOrigin (const sfSprite *sprite)
| Get the local origin of a sprite.
void | sfSprite_move (sfSprite *sprite, sfVector2f offset)
| Move a sprite by a given offset.
void | sfSprite_rotate (sfSprite *sprite, float angle)
| Rotate a sprite.
void | sfSprite_scale (sfSprite *sprite, sfVector2f factors)
| Scale a sprite.
sfTransform | sfSprite_getTransform (const sfSprite *sprite)
| Get the combined transform of a sprite.
sfTransform | sfSprite_getInverseTransform (const sfSprite *sprite)
| Get the inverse of the combined transform of a sprite.
void | sfSprite_setTexture (sfSprite *sprite, const sfTexture *texture, bool resetRect)
| Change the source texture of a sprite.
void | sfSprite_setTextureRect (sfSprite *sprite, sfIntRect rectangle)
| Set the sub-rectangle of the texture that a sprite will display.
void | sfSprite_setColor (sfSprite *sprite, sfColor color)
| Set the global color of a sprite.
const sfTexture * | sfSprite_getTexture (const sfSprite *sprite)
| Get the source texture of a sprite.
sfIntRect | sfSprite_getTextureRect (const sfSprite *sprite)
| Get the sub-rectangle of the texture displayed by a sprite.
sfColor | sfSprite_getColor (const sfSprite *sprite)
| Get the global color of a sprite.
sfFloatRect | sfSprite_getLocalBounds (const sfSprite *sprite)
| Get the local bounding rectangle of a sprite.
sfFloatRect | sfSprite_getGlobalBounds (const sfSprite *sprite)
| Get the global bounding rectangle of a sprite.

## Function Documentation

## ◆ sfSprite_copy()

sfSprite * sfSprite_copy | ( | const sfSprite * | sprite | ) |

Copy an existing sprite.

Parameters

  sprite | Sprite to copy

Returns
  Copied object

## ◆ sfSprite_create()

sfSprite * sfSprite_create | ( | const sfTexture * | texture | ) |

Create a new sprite.

Parameters

  texture | Source texture

Returns
  A new sfSprite object, or NULL if it failed

## ◆ sfSprite_destroy()

void sfSprite_destroy | ( | const sfSprite * | sprite | ) |

Destroy an existing sprite.

Parameters

  sprite | Sprite to delete

## ◆ sfSprite_getColor()

sfColor sfSprite_getColor | ( | const sfSprite * | sprite | ) |

Get the global color of a sprite.

Parameters

  sprite | Sprite object

Returns
  Global color of the sprite

## ◆ sfSprite_getGlobalBounds()

sfFloatRect sfSprite_getGlobalBounds | ( | const sfSprite * | sprite | ) |

Get the global bounding rectangle of a sprite.

The returned rectangle is in global coordinates, which means that it takes in account the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the sprite in the global 2D world's coordinate system.

Parameters

  sprite | Sprite object

Returns
  Global bounding rectangle of the entity

## ◆ sfSprite_getInverseTransform()

sfTransform sfSprite_getInverseTransform | ( | const sfSprite * | sprite | ) |

Get the inverse of the combined transform of a sprite.

Parameters

  sprite | Sprite object

Returns
  Inverse of the combined transformations applied to the object

## ◆ sfSprite_getLocalBounds()

sfFloatRect sfSprite_getLocalBounds | ( | const sfSprite * | sprite | ) |

Get the local bounding rectangle of a sprite.

The returned rectangle is in local coordinates, which means that it ignores the transformations (translation, rotation, scale, ...) that are applied to the entity. In other words, this function returns the bounds of the entity in the entity's coordinate system.

Parameters

  sprite | Sprite object

Returns
  Local bounding rectangle of the entity

## ◆ sfSprite_getOrigin()

sfVector2f sfSprite_getOrigin | ( | const sfSprite * | sprite | ) |

Get the local origin of a sprite.

Parameters

  sprite | Sprite object

Returns
  Current origin

## ◆ sfSprite_getPosition()

sfVector2f sfSprite_getPosition | ( | const sfSprite * | sprite | ) |

Get the position of a sprite.

Parameters

  sprite | Sprite object

Returns
  Current position

## ◆ sfSprite_getRotation()

float sfSprite_getRotation | ( | const sfSprite * | sprite | ) |

Get the orientation of a sprite.

The rotation is always in the range [0, 360].

Parameters

  sprite | Sprite object

Returns
  Current rotation, in degrees

## ◆ sfSprite_getScale()

sfVector2f sfSprite_getScale | ( | const sfSprite * | sprite | ) |

Get the current scale of a sprite.

Parameters

  sprite | Sprite object

Returns
  Current scale factors

## ◆ sfSprite_getTexture()

const sfTexture * sfSprite_getTexture | ( | const sfSprite * | sprite | ) |

Get the source texture of a sprite.

If the sprite has no source texture, a NULL pointer is returned. The returned pointer is const, which means that you can't modify the texture when you retrieve it with this function.

Parameters

  sprite | Sprite object

Returns
  Pointer to the sprite's texture

## ◆ sfSprite_getTextureRect()

sfIntRect sfSprite_getTextureRect | ( | const sfSprite * | sprite | ) |

Get the sub-rectangle of the texture displayed by a sprite.

Parameters

  sprite | Sprite object

Returns
  Texture rectangle of the sprite

## ◆ sfSprite_getTransform()

sfTransform sfSprite_getTransform | ( | const sfSprite * | sprite | ) |

Get the combined transform of a sprite.

Parameters

  sprite | Sprite object

Returns
  Transform combining the position/rotation/scale/origin of the object

## ◆ sfSprite_move()

void sfSprite_move | ( | sfSprite * | sprite,
|  | sfVector2f | offset )

Move a sprite by a given offset.

This function adds to the current position of the object, unlike sfSprite_setPosition which overwrites it.

Parameters

  sprite | Sprite object
  offset | Offset

## ◆ sfSprite_rotate()

void sfSprite_rotate | ( | sfSprite * | sprite,
|  | float | angle )

Rotate a sprite.

This function adds to the current rotation of the object, unlike sfSprite_setRotation which overwrites it.

Parameters

  sprite | Sprite object
  angle | Angle of rotation, in degrees

## ◆ sfSprite_scale()

void sfSprite_scale | ( | sfSprite * | sprite,
|  | sfVector2f | factors )

Scale a sprite.

This function multiplies the current scale of the object, unlike sfSprite_setScale which overwrites it.

Parameters

  sprite | Sprite object
  factors | Scale factors

## ◆ sfSprite_setColor()

void sfSprite_setColor | ( | sfSprite * | sprite,
|  | sfColor | color )

Set the global color of a 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

  sprite | Sprite object
  color | New color of the sprite

## ◆ sfSprite_setOrigin()

void sfSprite_setOrigin | ( | sfSprite * | sprite,
|  | sfVector2f | origin )

Set the local origin of a sprite.

The origin of an object defines the center point for all transformations (position, scale, rotation). The coordinates of this point must be relative to the top-left corner of the object, and ignore all transformations (position, scale, rotation). The default origin of a sprite Sprite object is (0, 0).

Parameters

  sprite | Sprite object
  origin | New origin

## ◆ sfSprite_setPosition()

void sfSprite_setPosition | ( | sfSprite * | sprite,
|  | sfVector2f | position )

Set the position of a sprite.

This function completely overwrites the previous position. See sfSprite_move to apply an offset based on the previous position instead. The default position of a sprite Sprite object is (0, 0).

Parameters

  sprite | Sprite object
  position | New position

## ◆ sfSprite_setRotation()

void sfSprite_setRotation | ( | sfSprite * | sprite,
|  | float | angle )

Set the orientation of a sprite.

This function completely overwrites the previous rotation. See sfSprite_rotate to add an angle based on the previous rotation instead. The default rotation of a sprite Sprite object is 0.

Parameters

  sprite | Sprite object
  angle | New rotation, in degrees

## ◆ sfSprite_setScale()

void sfSprite_setScale | ( | sfSprite * | sprite,
|  | sfVector2f | scale )

Set the scale factors of a sprite.

This function completely overwrites the previous scale. See sfSprite_scale to add a factor based on the previous scale instead. The default scale of a sprite Sprite object is (1, 1).

Parameters

  sprite | Sprite object
  scale | New scale factors

## ◆ sfSprite_setTexture()

void sfSprite_setTexture | ( | sfSprite * | sprite,
|  | const sfTexture * | texture,
|  | bool | resetRect )

Change the source texture of a sprite.

The texture argument refers to a texture that must exist as long as the sprite uses it. Indeed, the sprite doesn't store its own copy of the texture, but rather keeps a pointer to the one that you passed to this function. If the source texture is destroyed and the sprite tries to use it, the behaviour is undefined. If resetRect is true, the TextureRect property of the sprite is automatically adjusted to the size of the new texture. If it is false, the texture rect is left unchanged.

Parameters

  sprite | Sprite object
  texture | New texture
  resetRect | Should the texture rect be reset to the size of the new texture?

## ◆ sfSprite_setTextureRect()

void sfSprite_setTextureRect | ( | sfSprite * | sprite,
|  | sfIntRect | rectangle )

Set the sub-rectangle of the texture that a sprite will display.

The texture rect is useful when you don't want to display the whole texture, but rather a part of it. By default, the texture rect covers the entire texture.

Parameters

  sprite | Sprite object
  rectangle | Rectangle defining the region of the texture to display