RectangleShape#

Functions

sfRectangleShape *sfRectangleShape_create(void)#

Create a new rectangle shape.

Returns:

A new sfRectangleShape object, or NULL if it failed

sfRectangleShape *sfRectangleShape_copy(const sfRectangleShape *shape)#

Copy an existing rectangle shape.

Parameters:
  • shape – Shape to copy

Returns:

Copied object

void sfRectangleShape_destroy(sfRectangleShape *shape)#

Destroy an existing rectangle shape.

Parameters:
  • shape – Shape to delete

void sfRectangleShape_setPosition(sfRectangleShape *shape, sfVector2f position)#

Set the position of a rectangle shape.

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

Parameters:
  • shape – Shape object

  • position – New position

void sfRectangleShape_setRotation(sfRectangleShape *shape, float angle)#

Set the orientation of a rectangle shape.

This function completely overwrites the previous rotation. See sfRectangleShape_rotate to add an angle based on the previous rotation instead. The default rotation of a circle Shape object is 0.

Parameters:
  • shape – Shape object

  • angle – New rotation, in degrees

void sfRectangleShape_setScale(sfRectangleShape *shape, sfVector2f scale)#

Set the scale factors of a rectangle shape.

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

Parameters:
  • shape – Shape object

  • scale – New scale factors

void sfRectangleShape_setOrigin(sfRectangleShape *shape, sfVector2f origin)#

Set the local origin of a rectangle shape.

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 circle Shape object is (0, 0).

Parameters:
  • shape – Shape object

  • origin – New origin

sfVector2f sfRectangleShape_getPosition(const sfRectangleShape *shape)#

Get the position of a rectangle shape.

Parameters:
  • shape – Shape object

Returns:

Current position

float sfRectangleShape_getRotation(const sfRectangleShape *shape)#

Get the orientation of a rectangle shape.

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

Parameters:
  • shape – Shape object

Returns:

Current rotation, in degrees

sfVector2f sfRectangleShape_getScale(const sfRectangleShape *shape)#

Get the current scale of a rectangle shape.

Parameters:
  • shape – Shape object

Returns:

Current scale factors

sfVector2f sfRectangleShape_getOrigin(const sfRectangleShape *shape)#

Get the local origin of a rectangle shape.

Parameters:
  • shape – Shape object

Returns:

Current origin

void sfRectangleShape_move(sfRectangleShape *shape, sfVector2f offset)#

Move a rectangle shape by a given offset.

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

Parameters:
  • shape – Shape object

  • offset – Offset

void sfRectangleShape_rotate(sfRectangleShape *shape, float angle)#

Rotate a rectangle shape.

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

Parameters:
  • shape – Shape object

  • angle – Angle of rotation, in degrees

void sfRectangleShape_scale(sfRectangleShape *shape, sfVector2f factors)#

Scale a rectangle shape.

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

Parameters:
  • shape – Shape object

  • factors – Scale factors

sfTransform sfRectangleShape_getTransform(const sfRectangleShape *shape)#

Get the combined transform of a rectangle shape.

Parameters:
  • shape – shape object

Returns:

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

sfTransform sfRectangleShape_getInverseTransform(const sfRectangleShape *shape)#

Get the inverse of the combined transform of a rectangle shape.

Parameters:
  • shape – shape object

Returns:

Inverse of the combined transformations applied to the object

void sfRectangleShape_setTexture(sfRectangleShape *shape, const sfTexture *texture, sfBool resetRect)#

Change the source texture of a rectangle shape.

The texture argument refers to a texture that must exist as long as the shape uses it. Indeed, the shape 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 shape tries to use it, the behaviour is undefined. texture can be NULL to disable texturing. If resetRect is true, the TextureRect property of the shape is automatically adjusted to the size of the new texture. If it is false, the texture rect is left unchanged.

Parameters:
  • shape – Shape object

  • texture – New texture

  • resetRect – Should the texture rect be reset to the size of the new texture?

void sfRectangleShape_setTextureRect(sfRectangleShape *shape, sfIntRect rect)#

Set the sub-rectangle of the texture that a rectangle shape 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:
  • shape – Shape object

  • rect – Rectangle defining the region of the texture to display

void sfRectangleShape_setFillColor(sfRectangleShape *shape, sfColor color)#

Set the fill color of a rectangle shape.

This color is modulated (multiplied) with the shape’s texture if any. It can be used to colorize the shape, or change its global opacity. You can use sfTransparent to make the inside of the shape transparent, and have the outline alone. By default, the shape’s fill color is opaque white.

Parameters:
  • shape – Shape object

  • color – New color of the shape

void sfRectangleShape_setOutlineColor(sfRectangleShape *shape, sfColor color)#

Set the outline color of a rectangle shape.

You can use sfTransparent to disable the outline. By default, the shape’s outline color is opaque white.

Parameters:
  • shape – Shape object

  • color – New outline color of the shape

void sfRectangleShape_setOutlineThickness(sfRectangleShape *shape, float thickness)#

Set the thickness of a rectangle shape’s outline.

This number cannot be negative. Using zero disables the outline. By default, the outline thickness is 0.

Parameters:
  • shape – Shape object

  • thickness – New outline thickness

const sfTexture *sfRectangleShape_getTexture(const sfRectangleShape *shape)#

Get the source texture of a rectangle shape.

If the shape 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:
  • shape – Shape object

Returns:

Pointer to the shape’s texture

sfIntRect sfRectangleShape_getTextureRect(const sfRectangleShape *shape)#

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

Parameters:
  • shape – Shape object

Returns:

Texture rectangle of the shape

sfColor sfRectangleShape_getFillColor(const sfRectangleShape *shape)#

Get the fill color of a rectangle shape.

Parameters:
  • shape – Shape object

Returns:

Fill color of the shape

sfColor sfRectangleShape_getOutlineColor(const sfRectangleShape *shape)#

Get the outline color of a rectangle shape.

Parameters:
  • shape – Shape object

Returns:

Outline color of the shape

float sfRectangleShape_getOutlineThickness(const sfRectangleShape *shape)#

Get the outline thickness of a rectangle shape.

Parameters:
  • shape – Shape object

Returns:

Outline thickness of the shape

size_t sfRectangleShape_getPointCount(const sfRectangleShape *shape)#

Get the total number of points of a rectangle shape.

Parameters:
  • shape – Shape object

Returns:

Number of points of the shape

sfVector2f sfRectangleShape_getPoint(const sfRectangleShape *shape, size_t index)#

Get a point of a rectangle shape.

The result is undefined if index is out of the valid range.

Parameters:
  • shape – Shape object

  • index – Index of the point to get, in range [0 .. getPointCount() - 1]

Returns:

Index-th point of the shape

void sfRectangleShape_setSize(sfRectangleShape *shape, sfVector2f size)#

Set the size of a rectangle shape.

Parameters:
  • shape – Shape object

  • size – New size of the rectangle

sfVector2f sfRectangleShape_getSize(const sfRectangleShape *shape)#

Get the size of a rectangle shape.

Parameters:
  • shape – Shape object

Returns:

height Size of the rectangle

sfFloatRect sfRectangleShape_getLocalBounds(const sfRectangleShape *shape)#

Get the local bounding rectangle of a rectangle shape.

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:
  • shape – Shape object

Returns:

Local bounding rectangle of the entity

sfFloatRect sfRectangleShape_getGlobalBounds(const sfRectangleShape *shape)#

Get the global bounding rectangle of a rectangle shape.

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:
  • shape – Shape object

Returns:

Global bounding rectangle of the entity