Transformable#

Functions

sfTransformable *sfTransformable_create(void)#

Create a new transformable.

Returns:

A new sfTransformable object

sfTransformable *sfTransformable_copy(const sfTransformable *transformable)#

Copy an existing transformable.

Parameters:
  • transformable – Transformable to copy

Returns:

Copied object

void sfTransformable_destroy(sfTransformable *transformable)#

Destroy an existing transformable.

Parameters:
  • transformable – Transformable to delete

void sfTransformable_setPosition(sfTransformable *transformable, sfVector2f position)#

Set the position of a transformable.

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

Parameters:
  • transformable – Transformable object

  • position – New position

void sfTransformable_setRotation(sfTransformable *transformable, float angle)#

Set the orientation of a transformable.

This function completely overwrites the previous rotation. See sfTransformable_rotate to add an angle based on the previous rotation instead. The default rotation of a transformable Transformable object is 0.

Parameters:
  • transformable – Transformable object

  • angle – New rotation, in degrees

void sfTransformable_setScale(sfTransformable *transformable, sfVector2f scale)#

Set the scale factors of a transformable.

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

Parameters:
  • transformable – Transformable object

  • scale – New scale factors

void sfTransformable_setOrigin(sfTransformable *transformable, sfVector2f origin)#

Set the local origin of a transformable.

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 transformable Transformable object is (0, 0).

Parameters:
  • transformable – Transformable object

  • origin – New origin

sfVector2f sfTransformable_getPosition(const sfTransformable *transformable)#

Get the position of a transformable.

Parameters:
  • transformable – Transformable object

Returns:

Current position

float sfTransformable_getRotation(const sfTransformable *transformable)#

Get the orientation of a transformable.

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

Parameters:
  • transformable – Transformable object

Returns:

Current rotation, in degrees

sfVector2f sfTransformable_getScale(const sfTransformable *transformable)#

Get the current scale of a transformable.

Parameters:
  • transformable – Transformable object

Returns:

Current scale factors

sfVector2f sfTransformable_getOrigin(const sfTransformable *transformable)#

Get the local origin of a transformable.

Parameters:
  • transformable – Transformable object

Returns:

Current origin

void sfTransformable_move(sfTransformable *transformable, sfVector2f offset)#

Move a transformable by a given offset.

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

Parameters:
  • transformable – Transformable object

  • offset – Offset

void sfTransformable_rotate(sfTransformable *transformable, float angle)#

Rotate a transformable.

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

Parameters:
  • transformable – Transformable object

  • angle – Angle of rotation, in degrees

void sfTransformable_scale(sfTransformable *transformable, sfVector2f factors)#

Scale a transformable.

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

Parameters:
  • transformable – Transformable object

  • factors – Scale factors

sfTransform sfTransformable_getTransform(const sfTransformable *transformable)#

Get the combined transform of a transformable.

Parameters:
  • transformable – Transformable object

Returns:

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

sfTransform sfTransformable_getInverseTransform(const sfTransformable *transformable)#

Get the inverse of the combined transform of a transformable.

Parameters:
  • transformable – Transformable object

Returns:

Inverse of the combined transformations applied to the object