CSFML - C binding of the Simple and Fast Multimedia Library

CSFML 3.0.0
Loading...
Searching...
No Matches
Functions
ConvexShape.h File Reference
`#include <CSFML/Graphics/Export.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>`
`#include <stddef.h>`

Go to the source code of this file.

## Functions
sfConvexShape * | sfConvexShape_create (void)
| Create a new convex shape.
sfConvexShape * | sfConvexShape_copy (const sfConvexShape *shape)
| Copy an existing convex shape.
void | sfConvexShape_destroy (const sfConvexShape *shape)
| Destroy an existing convex Shape.
void | sfConvexShape_setPosition (sfConvexShape *shape, sfVector2f position)
| Set the position of a convex shape.
void | sfConvexShape_setRotation (sfConvexShape *shape, float angle)
| Set the orientation of a convex shape.
void | sfConvexShape_setScale (sfConvexShape *shape, sfVector2f scale)
| Set the scale factors of a convex shape.
void | sfConvexShape_setOrigin (sfConvexShape *shape, sfVector2f origin)
| Set the local origin of a convex shape.
sfVector2f | sfConvexShape_getPosition (const sfConvexShape *shape)
| Get the position of a convex shape.
float | sfConvexShape_getRotation (const sfConvexShape *shape)
| Get the orientation of a convex shape.
sfVector2f | sfConvexShape_getScale (const sfConvexShape *shape)
| Get the current scale of a convex shape.
sfVector2f | sfConvexShape_getOrigin (const sfConvexShape *shape)
| Get the local origin of a convex shape.
void | sfConvexShape_move (sfConvexShape *shape, sfVector2f offset)
| Move a convex shape by a given offset.
void | sfConvexShape_rotate (sfConvexShape *shape, float angle)
| Rotate a convex shape.
void | sfConvexShape_scale (sfConvexShape *shape, sfVector2f factors)
| Scale a convex shape.
sfTransform | sfConvexShape_getTransform (const sfConvexShape *shape)
| Get the combined transform of a convex shape.
sfTransform | sfConvexShape_getInverseTransform (const sfConvexShape *shape)
| Get the inverse of the combined transform of a convex shape.
void | sfConvexShape_setTexture (sfConvexShape *shape, const sfTexture *texture, bool resetRect)
| Change the source texture of a convex shape.
void | sfConvexShape_setTextureRect (sfConvexShape *shape, sfIntRect rect)
| Set the sub-rectangle of the texture that a convex shape will display.
void | sfConvexShape_setFillColor (sfConvexShape *shape, sfColor color)
| Set the fill color of a convex shape.
void | sfConvexShape_setOutlineColor (sfConvexShape *shape, sfColor color)
| Set the outline color of a convex shape.
void | sfConvexShape_setOutlineThickness (sfConvexShape *shape, float thickness)
| Set the thickness of a convex shape's outline.
const sfTexture * | sfConvexShape_getTexture (const sfConvexShape *shape)
| Get the source texture of a convex shape.
sfIntRect | sfConvexShape_getTextureRect (const sfConvexShape *shape)
| Get the sub-rectangle of the texture displayed by a convex shape.
sfColor | sfConvexShape_getFillColor (const sfConvexShape *shape)
| Get the fill color of a convex shape.
sfColor | sfConvexShape_getOutlineColor (const sfConvexShape *shape)
| Get the outline color of a convex shape.
float | sfConvexShape_getOutlineThickness (const sfConvexShape *shape)
| Get the outline thickness of a convex shape.
size_t | sfConvexShape_getPointCount (const sfConvexShape *shape)
| Get the total number of points of a convex shape.
sfVector2f | sfConvexShape_getPoint (const sfConvexShape *shape, size_t index)
| Get a point of a convex shape.
sfVector2f | sfConvexShape_getGeometricCenter (const sfConvexShape *shape)
| Get the geometric center of a convex shape.
void | sfConvexShape_setPointCount (sfConvexShape *shape, size_t count)
| Set the number of points of a convex shap.
void | sfConvexShape_setPoint (sfConvexShape *shape, size_t index, sfVector2f point)
| Set the position of a point in a convex shape.
sfFloatRect | sfConvexShape_getLocalBounds (const sfConvexShape *shape)
| Get the local bounding rectangle of a convex shape.
sfFloatRect | sfConvexShape_getGlobalBounds (const sfConvexShape *shape)
| Get the global bounding rectangle of a convex shape.

## Function Documentation

## ◆ sfConvexShape_copy()

sfConvexShape * sfConvexShape_copy | ( | const sfConvexShape * | shape | ) |

Copy an existing convex shape.

Parameters

  shape | Shape to copy

Returns
  Copied object

## ◆ sfConvexShape_create()

sfConvexShape * sfConvexShape_create | ( | void |  | ) |

Create a new convex shape.

Returns
  A new sfConvexShape object, or NULL if it failed

## ◆ sfConvexShape_destroy()

void sfConvexShape_destroy | ( | const sfConvexShape * | shape | ) |

Destroy an existing convex Shape.

Parameters

  shape | Shape to delete

## ◆ sfConvexShape_getFillColor()

sfColor sfConvexShape_getFillColor | ( | const sfConvexShape * | shape | ) |

Get the fill color of a convex shape.

Parameters

  shape | Shape object

Returns
  Fill color of the shape

## ◆ sfConvexShape_getGeometricCenter()

sfVector2f sfConvexShape_getGeometricCenter | ( | const sfConvexShape * | shape | ) |

Get the geometric center of a convex shape.

The returned point is in local coordinates, that is, the shape's transforms (position, rotation, scale) are not taken into account.

Parameters

  shape | Shape object

Returns
  The geometric center of the shape

## ◆ sfConvexShape_getGlobalBounds()

sfFloatRect sfConvexShape_getGlobalBounds | ( | const sfConvexShape * | shape | ) |

Get the global bounding rectangle of a convex 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

## ◆ sfConvexShape_getInverseTransform()

sfTransform sfConvexShape_getInverseTransform | ( | const sfConvexShape * | shape | ) |

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

Parameters

  shape | shape object

Returns
  Inverse of the combined transformations applied to the object

## ◆ sfConvexShape_getLocalBounds()

sfFloatRect sfConvexShape_getLocalBounds | ( | const sfConvexShape * | shape | ) |

Get the local bounding rectangle of a convex 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

## ◆ sfConvexShape_getOrigin()

sfVector2f sfConvexShape_getOrigin | ( | const sfConvexShape * | shape | ) |

Get the local origin of a convex shape.

Parameters

  shape | Shape object

Returns
  Current origin

## ◆ sfConvexShape_getOutlineColor()

sfColor sfConvexShape_getOutlineColor | ( | const sfConvexShape * | shape | ) |

Get the outline color of a convex shape.

Parameters

  shape | Shape object

Returns
  Outline color of the shape

## ◆ sfConvexShape_getOutlineThickness()

float sfConvexShape_getOutlineThickness | ( | const sfConvexShape * | shape | ) |

Get the outline thickness of a convex shape.

Parameters

  shape | Shape object

Returns
  Outline thickness of the shape

## ◆ sfConvexShape_getPoint()

sfVector2f sfConvexShape_getPoint | ( | const sfConvexShape * | shape,
|  | size_t | index )

Get a point of a convex 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

## ◆ sfConvexShape_getPointCount()

size_t sfConvexShape_getPointCount | ( | const sfConvexShape * | shape | ) |

Get the total number of points of a convex shape.

Parameters

  shape | Shape object

Returns
  Number of points of the shape

## ◆ sfConvexShape_getPosition()

sfVector2f sfConvexShape_getPosition | ( | const sfConvexShape * | shape | ) |

Get the position of a convex shape.

Parameters

  shape | Shape object

Returns
  Current position

## ◆ sfConvexShape_getRotation()

float sfConvexShape_getRotation | ( | const sfConvexShape * | shape | ) |

Get the orientation of a convex shape.

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

Parameters

  shape | Shape object

Returns
  Current rotation, in degrees

## ◆ sfConvexShape_getScale()

sfVector2f sfConvexShape_getScale | ( | const sfConvexShape * | shape | ) |

Get the current scale of a convex shape.

Parameters

  shape | Shape object

Returns
  Current scale factors

## ◆ sfConvexShape_getTexture()

const sfTexture * sfConvexShape_getTexture | ( | const sfConvexShape * | shape | ) |

Get the source texture of a convex 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

## ◆ sfConvexShape_getTextureRect()

sfIntRect sfConvexShape_getTextureRect | ( | const sfConvexShape * | shape | ) |

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

Parameters

  shape | Shape object

Returns
  Texture rectangle of the shape

## ◆ sfConvexShape_getTransform()

sfTransform sfConvexShape_getTransform | ( | const sfConvexShape * | shape | ) |

Get the combined transform of a convex shape.

Parameters

  shape | shape object

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

## ◆ sfConvexShape_move()

void sfConvexShape_move | ( | sfConvexShape * | shape,
|  | sfVector2f | offset )

Move a convex shape by a given offset.

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

Parameters

  shape | Shape object
  offset | Offset

## ◆ sfConvexShape_rotate()

void sfConvexShape_rotate | ( | sfConvexShape * | shape,
|  | float | angle )

Rotate a convex shape.

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

Parameters

  shape | Shape object
  angle | Angle of rotation, in degrees

## ◆ sfConvexShape_scale()

void sfConvexShape_scale | ( | sfConvexShape * | shape,
|  | sfVector2f | factors )

Scale a convex shape.

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

Parameters

  shape | Shape object
  factors | Scale factors

## ◆ sfConvexShape_setFillColor()

void sfConvexShape_setFillColor | ( | sfConvexShape * | shape,
|  | sfColor | color )

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

## ◆ sfConvexShape_setOrigin()

void sfConvexShape_setOrigin | ( | sfConvexShape * | shape,
|  | sfVector2f | origin )

Set the local origin of a convex 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

## ◆ sfConvexShape_setOutlineColor()

void sfConvexShape_setOutlineColor | ( | sfConvexShape * | shape,
|  | sfColor | color )

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

## ◆ sfConvexShape_setOutlineThickness()

void sfConvexShape_setOutlineThickness | ( | sfConvexShape * | shape,
|  | float | thickness )

Set the thickness of a convex 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

## ◆ sfConvexShape_setPoint()

void sfConvexShape_setPoint | ( | sfConvexShape * | shape,
|  | size_t | index,
|  | sfVector2f | point )

Set the position of a point in a convex shape.

Don't forget that the polygon must remain convex, and the points need to stay ordered! setPointCount must be called first in order to set the total number of points. The result is undefined if index is out of the valid range.

Parameters

  shape | Shape object
  index | Index of the point to change, in range [0 .. getPointCount() - 1]
  point | New point

## ◆ sfConvexShape_setPointCount()

void sfConvexShape_setPointCount | ( | sfConvexShape * | shape,
|  | size_t | count )

Set the number of points of a convex shap.

count must be greater than 2 to define a valid shape.

Parameters

  shape | Shape object
  count | New number of points of the shape

## ◆ sfConvexShape_setPosition()

void sfConvexShape_setPosition | ( | sfConvexShape * | shape,
|  | sfVector2f | position )

Set the position of a convex shape.

This function completely overwrites the previous position. See sfConvexShape_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

## ◆ sfConvexShape_setRotation()

void sfConvexShape_setRotation | ( | sfConvexShape * | shape,
|  | float | angle )

Set the orientation of a convex shape.

This function completely overwrites the previous rotation. See sfConvexShape_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

## ◆ sfConvexShape_setScale()

void sfConvexShape_setScale | ( | sfConvexShape * | shape,
|  | sfVector2f | scale )

Set the scale factors of a convex shape.

This function completely overwrites the previous scale. See sfConvexShape_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

## ◆ sfConvexShape_setTexture()

void sfConvexShape_setTexture | ( | sfConvexShape * | shape,
|  | const sfTexture * | texture,
|  | bool | resetRect )

Change the source texture of a convex 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?

## ◆ sfConvexShape_setTextureRect()

void sfConvexShape_setTextureRect | ( | sfConvexShape * | shape,
|  | sfIntRect | rect )

Set the sub-rectangle of the texture that a convex 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