sf::Drawable Class Referenceabstract

Abstract base class for every object that can be drawn into a render window. More...

#include <Drawable.hpp>

Inheritance diagram for sf::Drawable:
sf::PostFX sf::Shape sf::Sprite sf::String

Public Member Functions

 Drawable (const Vector2f &Position=Vector2f(0, 0), const Vector2f &Scale=Vector2f(1, 1), float Rotation=0.f, const Color &Col=Color(255, 255, 255, 255))
 Default constructor.
virtual ~Drawable ()
 Virtual destructor.
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)

Protected Member Functions

const Matrix3 & GetMatrix () const
 Get the transform matrix of the drawable.
const Matrix3 & GetInverseMatrix () const
 Get the inverse transform matrix of the drawable.

Friends

class RenderTarget

Detailed Description

Abstract base class for every object that can be drawn into a render window.

Definition at line 58 of file Drawable.hpp.

Constructor & Destructor Documentation

◆ Drawable()

sf::Drawable::Drawable ( const Vector2f & Position = Vector2f(0, 0),
const Vector2f & Scale = Vector2f(1, 1),
float Rotation = 0.f,
const Color & Col = Color(255, 255, 255, 255) )

Default constructor.

Parameters
Position: Position of the object (0, 0 by default)
Scale: Scale factor (1, 1 by default)
Rotation: Orientation, in degrees (0 by default)
Col: Color of the object (white by default)

Definition at line 39 of file Drawable.cpp.

◆ ~Drawable()

sf::Drawable::~Drawable ( )
virtual

Virtual destructor.

Definition at line 56 of file Drawable.cpp.

Member Function Documentation

◆ GetBlendMode()

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

Get the current blending mode.

Returns
Current blending mode

Definition at line 258 of file Drawable.cpp.

◆ GetCenter()

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

Get the center of the object.

Returns
Current position of the center

Definition at line 231 of file Drawable.cpp.

◆ GetColor()

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

Get the color of the object.

Returns
Current color

Definition at line 249 of file Drawable.cpp.

◆ GetInverseMatrix()

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

Get the inverse transform matrix of the drawable.

Returns
Inverse transform matrix

Definition at line 350 of file Drawable.cpp.

◆ GetMatrix()

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

Get the transform matrix of the drawable.

Returns
Transform matrix

Definition at line 334 of file Drawable.cpp.

◆ GetPosition()

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

Get the position of the object.

Returns
Current position

Definition at line 213 of file Drawable.cpp.

◆ GetRotation()

float sf::Drawable::GetRotation ( ) const

Get the orientation of the object.

Rotation is always in the range [0, 360]

Returns
Current rotation, in degrees

Definition at line 240 of file Drawable.cpp.

◆ GetScale()

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

Get the current scale of the object.

Returns
Current scale factor (always positive)

Definition at line 222 of file Drawable.cpp.

◆ Move() [1/2]

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

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

Parameters
Offset: Amount of units to move the object of

Definition at line 278 of file Drawable.cpp.

◆ Move() [2/2]

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

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

Parameters
OffsetX: X offset
OffsetY: Y offset

Definition at line 268 of file Drawable.cpp.

◆ Rotate()

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

Rotate the object.

Parameters
Angle: Angle of rotation, in degrees

Definition at line 306 of file Drawable.cpp.

◆ Scale() [1/2]

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

Scale the object (take a 2D vector)

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

Definition at line 297 of file Drawable.cpp.

◆ Scale() [2/2]

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

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)

Definition at line 287 of file Drawable.cpp.

◆ SetBlendMode()

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

Set the blending mode for the object.

The default blend mode is Blend::Alpha

Parameters
Mode: New blending mode

The default blend mode is Blend::Alpha

Definition at line 204 of file Drawable.cpp.

◆ SetCenter() [1/2]

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

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

The default center is (0, 0)

Definition at line 171 of file Drawable.cpp.

◆ SetCenter() [2/2]

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

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

The default center is (0, 0)

Definition at line 157 of file Drawable.cpp.

◆ SetColor()

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

Set the color of the object.

The default color is white

Parameters
Col: New color

The default color is white

Definition at line 194 of file Drawable.cpp.

◆ SetPosition() [1/2]

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

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

Parameters
Position: New position

Definition at line 75 of file Drawable.cpp.

◆ SetPosition() [2/2]

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

Set the position of the object (take 2 values)

Parameters
X: New X coordinate
Y: New Y coordinate

Definition at line 65 of file Drawable.cpp.

◆ SetRotation()

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

Set the orientation of the object.

Parameters
Rotation: Angle of rotation, in degrees

Definition at line 180 of file Drawable.cpp.

◆ SetScale() [1/2]

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

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

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

Definition at line 117 of file Drawable.cpp.

◆ SetScale() [2/2]

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

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)

Definition at line 107 of file Drawable.cpp.

◆ SetScaleX()

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

Set the X scale factor of the object.

Parameters
X: New X scale factor

Definition at line 127 of file Drawable.cpp.

◆ SetScaleY()

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

Set the Y scale factor of the object.

Parameters
Y: New Y scale factor

Definition at line 141 of file Drawable.cpp.

◆ SetX()

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

Set the X position of the object.

Parameters
X: New X coordinate

Definition at line 85 of file Drawable.cpp.

◆ SetY()

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

Set the Y position of the object.

Parameters
Y: New Y coordinate

Definition at line 96 of file Drawable.cpp.

◆ TransformToGlobal()

sf::Vector2f sf::Drawable::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)

Parameters
Point: Point to transform
Returns
Transformed point

Definition at line 325 of file Drawable.cpp.

◆ TransformToLocal()

sf::Vector2f sf::Drawable::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)

Parameters
Point: Point to transform
Returns
Transformed point

Definition at line 316 of file Drawable.cpp.

◆ RenderTarget

friend class RenderTarget
friend

Definition at line 325 of file Drawable.hpp.


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