Loading...
Searching...
No Matches

Shape defines a drawable convex shape ; it also defines helper functions to draw simple shapes like lines, rectangles, circles, etc. More...

#include <SFML/Graphics/Shape.hpp>

Inheritance diagram for sf::Shape:
sf::Drawable

Public Member Functions

 Shape ()
 Default constructor.
void AddPoint (float X, float Y, const Color &Col=Color(255, 255, 255), const Color &OutlineCol=Color(0, 0, 0))
 Add a point to the shape.
void AddPoint (const Vector2f &Position, const Color &Col=Color(255, 255, 255), const Color &OutlineCol=Color(0, 0, 0))
 Add a point to the shape.
unsigned int GetNbPoints () const
 Get the number of points composing the shape.
void EnableFill (bool Enable)
 Enable or disable filling the shape.
void EnableOutline (bool Enable)
 Enable or disable drawing the shape outline.
void SetPointPosition (unsigned int Index, const Vector2f &Position)
 Set the position of a point.
void SetPointPosition (unsigned int Index, float X, float Y)
 Set the position of a point.
void SetPointColor (unsigned int Index, const Color &Col)
 Set the color of a point.
void SetPointOutlineColor (unsigned int Index, const Color &OutlineCol)
 Set the outline color of a point.
void SetOutlineWidth (float Width)
 Change the width of the shape outline.
const Vector2f & GetPointPosition (unsigned int Index) const
 Get the position of a point.
const Color & GetPointColor (unsigned int Index) const
 Get the color of a point.
const Color & GetPointOutlineColor (unsigned int Index) const
 Get the outline color of a point.
float GetOutlineWidth () const
 Get the width of the shape outline.
void SetPosition (float X, float Y)
 Set the position of the object (take 2 values).
void SetPosition (const Vector2f &Position)
 Set the position of the object (take a 2D vector).
void SetX (float X)
 Set the X position of the object.
void SetY (float Y)
 Set the Y position of the object.
void SetScale (float ScaleX, float ScaleY)
 Set the scale of the object (take 2 values).
void SetScale (const Vector2f &Scale)
 Set the scale of the object (take a 2D vector).
void SetScaleX (float FactorX)
 Set the X scale factor of the object.
void SetScaleY (float FactorY)
 Set the Y scale factor of the object.
void SetCenter (float CenterX, float CenterY)
 Set the center of the object, in coordinates relative to the top-left of the object (take 2 values).
void SetCenter (const Vector2f &Center)
 Set the center of the object, in coordinates relative to the top-left of the object (take a 2D vector).
void SetRotation (float Rotation)
 Set the orientation of the object.
void SetColor (const Color &Col)
 Set the color of the object.
void SetBlendMode (Blend::Mode Mode)
 Set the blending mode for the object.
const Vector2f & GetPosition () const
 Get the position of the object.
const Vector2f & GetScale () const
 Get the current scale of the object.
const Vector2f & GetCenter () const
 Get the center of the object.
float GetRotation () const
 Get the orientation of the object.
const Color & GetColor () const
 Get the color of the object.
Blend::Mode GetBlendMode () const
 Get the current blending mode.
void Move (float OffsetX, float OffsetY)
 Move the object of a given offset (take 2 values).
void Move (const Vector2f &Offset)
 Move the object of a given offset (take a 2D vector).
void Scale (float FactorX, float FactorY)
 Scale the object (take 2 values).
void Scale (const Vector2f &Factor)
 Scale the object (take a 2D vector).
void Rotate (float Angle)
 Rotate the object.
sf::Vector2f TransformToLocal (const sf::Vector2f &Point) const
 Transform a point from global coordinates into local coordinates (ie it applies the inverse of object's center, translation, rotation and scale to the point).
sf::Vector2f TransformToGlobal (const sf::Vector2f &Point) const
 Transform a point from local coordinates into global coordinates (ie it applies the object's center, translation, rotation and scale to the point).

Static Public Member Functions

static Shape Line (float P1X, float P1Y, float P2X, float P2Y, float Thickness, const Color &Col, float Outline=0.f, const Color &OutlineCol=sf::Color(0, 0, 0))
 Create a shape made of a single line (use floats).
static Shape Line (const Vector2f &P1, const Vector2f &P2, float Thickness, const Color &Col, float Outline=0.f, const Color &OutlineCol=sf::Color(0, 0, 0))
 Create a shape made of a single line (use vectors).
static Shape Rectangle (float P1X, float P1Y, float P2X, float P2Y, const Color &Col, float Outline=0.f, const Color &OutlineCol=sf::Color(0, 0, 0))
 Create a shape made of a single rectangle (use floats).
static Shape Rectangle (const Vector2f &P1, const Vector2f &P2, const Color &Col, float Outline=0.f, const Color &OutlineCol=sf::Color(0, 0, 0))
 Create a shape made of a single rectangle (use vectors).
static Shape Circle (float X, float Y, float Radius, const Color &Col, float Outline=0.f, const Color &OutlineCol=sf::Color(0, 0, 0))
 Create a shape made of a single circle (use floats).
static Shape Circle (const Vector2f &Center, float Radius, const Color &Col, float Outline=0.f, const Color &OutlineCol=sf::Color(0, 0, 0))
 Create a shape made of a single circle (use vectors).

Protected Member Functions

virtual void Render (RenderTarget &Target) const
 /see Drawable::Render
const Matrix3 & GetMatrix () const
 Get the transform matrix of the drawable.
const Matrix3 & GetInverseMatrix () const
 Get the inverse transform matrix of the drawable.

Detailed Description

Shape defines a drawable convex shape ; it also defines helper functions to draw simple shapes like lines, rectangles, circles, etc.

Definition at line 43 of file Shape.hpp.

Constructor & Destructor Documentation

◆ Shape()

sf::Shape::Shape ( )

Default constructor.

Member Function Documentation

◆ AddPoint() [1/2]

void sf::Shape::AddPoint ( const Vector2f & Position,
const Color & Col = Color(255, 255, 255),
const Color & OutlineCol = Color(0, 0, 0) )

Add a point to the shape.

Parameters
Position: Position of the point
Col: Color of the point (white by default)
OutlineCol: Outline color of the point (black by default)

◆ AddPoint() [2/2]

void sf::Shape::AddPoint ( float X,
float Y,
const Color & Col = Color(255, 255, 255),
const Color & OutlineCol = Color(0, 0, 0) )

Add a point to the shape.

Parameters
X,Y: Position of the point
Col: Color of the point (white by default)
OutlineCol: Outline color of the point (black by default)

◆ Circle() [1/2]

Shape sf::Shape::Circle ( const Vector2f & Center,
float Radius,
const Color & Col,
float Outline = 0.f,
const Color & OutlineCol = sf::Color(0, 0, 0) )
static

Create a shape made of a single circle (use vectors).

Parameters
Center: Position of the center
Radius: Radius
Col: Color used to fill the circle
Outline: Outline width (0 by default)
OutlineCol: Color used to draw the outline (black by default)

◆ Circle() [2/2]

Shape sf::Shape::Circle ( float X,
float Y,
float Radius,
const Color & Col,
float Outline = 0.f,
const Color & OutlineCol = sf::Color(0, 0, 0) )
static

Create a shape made of a single circle (use floats).

Parameters
X,Y: Position of the center
Radius: Radius
Col: Color used to fill the circle
Outline: Outline width (0 by default)
OutlineCol: Color used to draw the outline (black by default)

◆ EnableFill()

void sf::Shape::EnableFill ( bool Enable)

Enable or disable filling the shape.

Fill is enabled by default

Parameters
Enable: True to enable, false to disable

◆ EnableOutline()

void sf::Shape::EnableOutline ( bool Enable)

Enable or disable drawing the shape outline.

Outline is enabled by default

Parameters
Enable: True to enable, false to disable

◆ GetBlendMode()

Blend::Mode sf::Drawable::GetBlendMode ( ) const
inherited

Get the current blending mode.

Returns
Current blending mode

◆ GetCenter()

const Vector2f & sf::Drawable::GetCenter ( ) const
inherited

Get the center of the object.

Returns
Current position of the center

◆ GetColor()

const Color & sf::Drawable::GetColor ( ) const
inherited

Get the color of the object.

Returns
Current color

◆ GetInverseMatrix()

const Matrix3 & sf::Drawable::GetInverseMatrix ( ) const
protectedinherited

Get the inverse transform matrix of the drawable.

Returns
Inverse transform matrix

◆ GetMatrix()

const Matrix3 & sf::Drawable::GetMatrix ( ) const
protectedinherited

Get the transform matrix of the drawable.

Returns
Transform matrix

◆ GetNbPoints()

unsigned int sf::Shape::GetNbPoints ( ) const

Get the number of points composing the shape.

Parameters
Totalnumber of points

◆ GetOutlineWidth()

float sf::Shape::GetOutlineWidth ( ) const

Get the width of the shape outline.

Returns
Current outline width

◆ GetPointColor()

const Color & sf::Shape::GetPointColor ( unsigned int Index) const

Get the color of a point.

Parameters
Index: Index of the point, in range [0, GetNbPoints() - 1]
Returns
Color of the Index-th point

◆ GetPointOutlineColor()

const Color & sf::Shape::GetPointOutlineColor ( unsigned int Index) const

Get the outline color of a point.

Parameters
Index: Index of the point, in range [0, GetNbPoints() - 1]
Returns
Outline color of the Index-th point

◆ GetPointPosition()

const Vector2f & sf::Shape::GetPointPosition ( unsigned int Index) const

Get the position of a point.

Parameters
Index: Index of the point, in range [0, GetNbPoints() - 1]
Returns
Position of the Index-th point

◆ GetPosition()

const Vector2f & sf::Drawable::GetPosition ( ) const
inherited

Get the position of the object.

Returns
Current position

◆ GetRotation()

float sf::Drawable::GetRotation ( ) const
inherited

Get the orientation of the object.

Rotation is always in the range [0, 360]

Returns
Current rotation, in degrees

◆ GetScale()

const Vector2f & sf::Drawable::GetScale ( ) const
inherited

Get the current scale of the object.

Returns
Current scale factor (always positive)

◆ Line() [1/2]

Shape sf::Shape::Line ( const Vector2f & P1,
const Vector2f & P2,
float Thickness,
const Color & Col,
float Outline = 0.f,
const Color & OutlineCol = sf::Color(0, 0, 0) )
static

Create a shape made of a single line (use vectors).

Parameters
P1X,P1Y: Position of the first point
P2X,P2Y: Position second point
Thickness: Line thickness
Col: Color used to draw the line
Outline: Outline width (0 by default)
OutlineCol: Color used to draw the outline (black by default)

◆ Line() [2/2]

Shape sf::Shape::Line ( float P1X,
float P1Y,
float P2X,
float P2Y,
float Thickness,
const Color & Col,
float Outline = 0.f,
const Color & OutlineCol = sf::Color(0, 0, 0) )
static

Create a shape made of a single line (use floats).

Parameters
P1X,P1Y: Position of the first point
P2X,P2Y: Position second point
Thickness: Line thickness
Col: Color used to draw the line
Outline: Outline width (0 by default)
OutlineCol: Color used to draw the outline (black by default)

◆ Move() [1/2]

void sf::Drawable::Move ( const Vector2f & Offset)
inherited

Move the object of a given offset (take a 2D vector).

Parameters
Offset: Amount of units to move the object of

◆ Move() [2/2]

void sf::Drawable::Move ( float OffsetX,
float OffsetY )
inherited

Move the object of a given offset (take 2 values).

Parameters
OffsetX: X offset
OffsetY: Y offset

◆ Rectangle() [1/2]

Shape sf::Shape::Rectangle ( const Vector2f & P1,
const Vector2f & P2,
const Color & Col,
float Outline = 0.f,
const Color & OutlineCol = sf::Color(0, 0, 0) )
static

Create a shape made of a single rectangle (use vectors).

Parameters
P1: Position of the first point
P2: Position second point
Col: Color used to fill the rectangle
Outline: Outline width (0 by default)
OutlineCol: Color used to draw the outline (black by default)

◆ Rectangle() [2/2]

Shape sf::Shape::Rectangle ( float P1X,
float P1Y,
float P2X,
float P2Y,
const Color & Col,
float Outline = 0.f,
const Color & OutlineCol = sf::Color(0, 0, 0) )
static

Create a shape made of a single rectangle (use floats).

Parameters
P1X,P1Y: Position of the first point
P2X,P2Y: Position second point
Col: Color used to fill the rectangle
Outline: Outline width (0 by default)
OutlineCol: Color used to draw the outline (black by default)

◆ Render()

virtual void sf::Shape::Render ( RenderTarget & Target) const
protectedvirtual

/see Drawable::Render

Implements sf::Drawable.

◆ Rotate()

void sf::Drawable::Rotate ( float Angle)
inherited

Rotate the object.

Parameters
Angle: Angle of rotation, in degrees

◆ Scale() [1/2]

void sf::Drawable::Scale ( const Vector2f & Factor)
inherited

Scale the object (take a 2D vector).

Parameters
Factor: Scaling factors (both values must be strictly positive)

◆ Scale() [2/2]

void sf::Drawable::Scale ( float FactorX,
float FactorY )
inherited

Scale the object (take 2 values).

Parameters
FactorX: Scaling factor on X (must be strictly positive)
FactorY: Scaling factor on Y (must be strictly positive)

◆ SetBlendMode()

void sf::Drawable::SetBlendMode ( Blend::Mode Mode)
inherited

Set the blending mode for the object.

The default blend mode is Blend::Alpha

Parameters
Mode: New blending mode

◆ SetCenter() [1/2]

void sf::Drawable::SetCenter ( const Vector2f & Center)
inherited

Set the center of the object, in coordinates relative to the top-left of the object (take a 2D vector).

The default center is (0, 0)

Parameters
Center: New center

◆ SetCenter() [2/2]

void sf::Drawable::SetCenter ( float CenterX,
float CenterY )
inherited

Set the center of the object, in coordinates relative to the top-left of the object (take 2 values).

The default center is (0, 0)

Parameters
CenterX: X coordinate of the center
CenterY: Y coordinate of the center

◆ SetColor()

void sf::Drawable::SetColor ( const Color & Col)
inherited

Set the color of the object.

The default color is white

Parameters
Col: New color

◆ SetOutlineWidth()

void sf::Shape::SetOutlineWidth ( float Width)

Change the width of the shape outline.

Parameters
Width: New width

◆ SetPointColor()

void sf::Shape::SetPointColor ( unsigned int Index,
const Color & Col )

Set the color of a point.

Parameters
Index: Index of the point, in range [0, GetNbPoints() - 1]
Col: New color of the Index-th point

◆ SetPointOutlineColor()

void sf::Shape::SetPointOutlineColor ( unsigned int Index,
const Color & OutlineCol )

Set the outline color of a point.

Parameters
Index: Index of the point, in range [0, GetNbPoints() - 1]
OutlineCol: New outline color of the Index-th point

◆ SetPointPosition() [1/2]

void sf::Shape::SetPointPosition ( unsigned int Index,
const Vector2f & Position )

Set the position of a point.

Parameters
Index: Index of the point, in range [0, GetNbPoints() - 1]
Position: New position of the Index-th point

◆ SetPointPosition() [2/2]

void sf::Shape::SetPointPosition ( unsigned int Index,
float X,
float Y )

Set the position of a point.

Parameters
Index: Index of the point, in range [0, GetNbPoints() - 1]
X: New X coordinate of the Index-th point
Y: New Y coordinate of the Index-th point

◆ SetPosition() [1/2]

void sf::Drawable::SetPosition ( const Vector2f & Position)
inherited

Set the position of the object (take a 2D vector).

Parameters
Position: New position

◆ SetPosition() [2/2]

void sf::Drawable::SetPosition ( float X,
float Y )
inherited

Set the position of the object (take 2 values).

Parameters
X: New X coordinate
Y: New Y coordinate

◆ SetRotation()

void sf::Drawable::SetRotation ( float Rotation)
inherited

Set the orientation of the object.

Parameters
Rotation: Angle of rotation, in degrees

◆ SetScale() [1/2]

void sf::Drawable::SetScale ( const Vector2f & Scale)
inherited

Set the scale of the object (take a 2D vector).

Parameters
Scale: New scale (both values must be strictly positive)

◆ SetScale() [2/2]

void sf::Drawable::SetScale ( float ScaleX,
float ScaleY )
inherited

Set the scale of the object (take 2 values).

Parameters
ScaleX: New horizontal scale (must be strictly positive)
ScaleY: New vertical scale (must be strictly positive)

◆ SetScaleX()

void sf::Drawable::SetScaleX ( float FactorX)
inherited

Set the X scale factor of the object.

Parameters
X: New X scale factor

◆ SetScaleY()

void sf::Drawable::SetScaleY ( float FactorY)
inherited

Set the Y scale factor of the object.

Parameters
Y: New Y scale factor

◆ SetX()

void sf::Drawable::SetX ( float X)
inherited

Set the X position of the object.

Parameters
X: New X coordinate

◆ SetY()

void sf::Drawable::SetY ( float Y)
inherited

Set the Y position of the object.

Parameters
Y: New Y coordinate

◆ TransformToGlobal()

sf::Vector2f sf::Drawable::TransformToGlobal ( const sf::Vector2f & Point) const
inherited

Transform a point from local coordinates into global coordinates (ie it applies the object's center, translation, rotation and scale to the point).

Parameters
Point: Point to transform
Returns
Transformed point

◆ TransformToLocal()

sf::Vector2f sf::Drawable::TransformToLocal ( const sf::Vector2f & Point) const
inherited

Transform a point from global coordinates into local coordinates (ie it applies the inverse of object's center, translation, rotation and scale to the point).

Parameters
Point: Point to transform
Returns
Transformed point

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