Gamedev Framework (gf)  0.3.0
A C++11 framework for 2D games
Public Member Functions | List of all members
gf::RoundedRectangleShape Class Reference

Specialized shape representing a rounded rectangle. More...

#include <gf/Shapes.h>

Inheritance diagram for gf::RoundedRectangleShape:
Inheritance graph
[legend]

Public Member Functions

 RoundedRectangleShape (Vector2f size=Vector2f{0.0f, 0.0f}, float radius=0.0f, std::size_t cornerPointCount=8)
 Default constructor. More...
 
 RoundedRectangleShape (const RectF &rect, float radius=0.0f, std::size_t cornerPointCount=8)
 Constructor with a rectangle. More...
 
void setSize (Vector2f size)
 Set the size of the rectangle. More...
 
Vector2f getSize () const
 Get the size of the rectangle. More...
 
void setRadius (float radius)
 Set the radius of the corner. More...
 
float getRadius () const
 Get the radius of the corner. More...
 
void setCornerPointCount (std::size_t cornerPointCount)
 Set the number of points of a corner. More...
 
virtual std::size_t getPointCount () const override
 Get the total number of points of the shape. More...
 
virtual Vector2f getPoint (std::size_t index) const override
 Get a point of the shape. More...
 
- Public Member Functions inherited from gf::Shape
 Shape ()
 Default constructor. More...
 
void setTexture (const Texture &texture, bool resetRect=false)
 Change the source texture of the shape. More...
 
const TexturegetTexture () const
 Get the source texture of the shape. More...
 
void unsetTexture ()
 Unset the source texture of the shape. More...
 
void setTextureRect (const RectF &rect)
 Set the sub-rectangle of the texture that the shape will display. More...
 
const RectFgetTextureRect () const
 Get the sub-rectangle of the texture displayed by the shape. More...
 
void setColor (const Color4f &color)
 Set the fill color of the shape. More...
 
const Color4fgetColor () const
 Get the fill color of the shape. More...
 
void setOutlineColor (const Color4f &color)
 Set the outline color of the shape. More...
 
const Color4fgetOutlineColor () const
 Get the outline color of the shape. More...
 
void setOutlineThickness (float thickness)
 Set the thickness of the shape's outline. More...
 
float getOutlineThickness () const
 Get the outline thickness of the shape. More...
 
RectF getLocalBounds () const
 Get the local bounding rectangle of the entity. More...
 
void setAnchor (Anchor anchor)
 Set the anchor origin of the entity. More...
 
VertexBuffer commitGeometry () const
 Create a buffer with the current geometry. More...
 
VertexBuffer commitOutlineGeometry () const
 Create a buffer with the current outline geometry. More...
 
virtual void draw (RenderTarget &target, RenderStates states) override
 Draw the object to a render target. More...
 
- Public Member Functions inherited from gf::Transformable
 Transformable ()
 Default constructor. More...
 
void setOrigin (Vector2f origin)
 Set the local origin of the object. More...
 
Vector2f getOrigin () const
 Get the local origin of the object. More...
 
void setPosition (Vector2f position)
 Set the position of the object. More...
 
Vector2f getPosition () const
 Get the position of the object. More...
 
void move (Vector2f offset)
 Move the object by a given offset. More...
 
void setRotation (float angle)
 Set the orientation of the object. More...
 
float getRotation () const
 Get the orientation of the object. More...
 
void rotate (float angle)
 Rotate the object. More...
 
void setScale (Vector2f factors)
 Set the scale factors of the object. More...
 
void setScale (float factor)
 Set the scale factor of the object. More...
 
Vector2f getScale () const
 Get the current scale of the object. More...
 
void scale (Vector2f factors)
 Scale the object. More...
 
void scale (float factor)
 Scale the object. More...
 
Matrix3f getTransform () const
 Get the combined transform of the object. More...
 
Matrix3f getInverseTransform () const
 Get the inverse of the combined transform of the object. More...
 
- Public Member Functions inherited from gf::Drawable
virtual ~Drawable ()
 Virtual desctructor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from gf::Shape
void updateGeometry ()
 Recompute the internal geometry of the shape. More...
 
- Protected Member Functions inherited from gf::Transformable
void setOriginFromAnchorAndBounds (Anchor anchor, const RectF &bounds)
 Set the origin from an anchor and bounds. More...
 

Detailed Description

Specialized shape representing a rounded rectangle.

This class inherits all the functions of gf::Transformable (position, rotation, scale, bounds, ...) as well as the functions of gf::Shape (outline, color, texture, ...).

Usage example:

rectangle.setSize({ 100.0f, 50.0f });
rectangle.setRadius(10);
rectangle.setOutlineThickness(5);
rectangle.setPosition({ 10.0f, 20.0f });
...
window.draw(rect);
See also
gf::Shape

Constructor & Destructor Documentation

gf::RoundedRectangleShape::RoundedRectangleShape ( Vector2f  size = Vector2f{0.0f, 0.0f},
float  radius = 0.0f,
std::size_t  cornerPointCount = 8 
)

Default constructor.

Parameters
sizeSize of the rectangle
radiusRadius of the corner
cornerPointCountNumber of points in the corner
gf::RoundedRectangleShape::RoundedRectangleShape ( const RectF rect,
float  radius = 0.0f,
std::size_t  cornerPointCount = 8 
)
explicit

Constructor with a rectangle.

The shape takes the size of the rectangle and the position of the rectangle.

Parameters
rectA rectangle with a size and a position
radiusRadius of the corner
cornerPointCountNumber of points in the corner

Member Function Documentation

virtual Vector2f gf::RoundedRectangleShape::getPoint ( std::size_t  index) const
overridevirtual

Get a point of the shape.

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

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

Parameters
indexIndex of the point to get, in range \( [0, n-1] \) where \( n \) is the number of points of the shape.
Returns
index-th point of the shape
See also
getPointCount()

Implements gf::Shape.

virtual std::size_t gf::RoundedRectangleShape::getPointCount ( ) const
overridevirtual

Get the total number of points of the shape.

Returns
Number of points of the shape
See also
getPoint()

Implements gf::Shape.

float gf::RoundedRectangleShape::getRadius ( ) const
inline

Get the radius of the corner.

Returns
Radius of the corner
See also
setRadius()
Vector2f gf::RoundedRectangleShape::getSize ( ) const
inline

Get the size of the rectangle.

Returns
Size of the rectangle
See also
setSize()
void gf::RoundedRectangleShape::setCornerPointCount ( std::size_t  cornerPointCount)

Set the number of points of a corner.

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

Parameters
cornerPointCountNew number of points of a corner
void gf::RoundedRectangleShape::setRadius ( float  radius)

Set the radius of the corner.

Parameters
radiusNew radius of the corner
See also
getRadius()
void gf::RoundedRectangleShape::setSize ( Vector2f  size)

Set the size of the rectangle.

Parameters
sizeNew size of the rectangle
See also
getSize()