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

A square grid. More...

#include <gf/Grid.h>

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

Public Member Functions

 SquareGrid (Vector2u gridSize, Vector2f cellSize, const Color4f &color, float lineWidth=1.0f)
 Constructor. More...
 
void setGridSize (Vector2u gridSize)
 Set the grid size. More...
 
Vector2u getGridSize () const noexcept
 Get the grid size. More...
 
void setCellSize (Vector2f cellSize)
 Set the cell size. More...
 
Vector2f getCellSize () const noexcept
 Get the cell size. More...
 
void setColor (const Color4f &color)
 Set the color of the grid frame. More...
 
const Color4fgetColor () const noexcept
 Get the color of the grid frame. More...
 
void setLineWidth (float lineWidth) noexcept
 Set the width of the grid frame. More...
 
float getLineWidth () const noexcept
 Get the width of the grid frame. 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...
 
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::Transformable
void setOriginFromAnchorAndBounds (Anchor anchor, const RectF &bounds)
 Set the origin from an anchor and bounds. More...
 

Detailed Description

A square grid.

Constructor & Destructor Documentation

◆ SquareGrid()

gf::SquareGrid::SquareGrid ( Vector2u  gridSize,
Vector2f  cellSize,
const Color4f color,
float  lineWidth = 1.0f 
)

Constructor.

Parameters
gridSizeThe size of the grid
cellSizeThe size of a cell in the grid
colorThe color of the grid frame
lineWidthThe width of the grid frame

Member Function Documentation

◆ commitGeometry()

VertexBuffer gf::SquareGrid::commitGeometry ( ) const

Create a buffer with the current geometry.

The geometry is uploaded in the graphics memory so that it's faster to draw.

Returns
A buffer with the current geometry

◆ draw()

virtual void gf::SquareGrid::draw ( RenderTarget target,
RenderStates  states 
)
overridevirtual

Draw the object to a render target.

This is a pure virtual function that has to be implemented by the derived class to define how the drawable should be drawn.

Parameters
targetRender target to draw to
statesCurrent render states

Implements gf::Drawable.

◆ getCellSize()

Vector2f gf::SquareGrid::getCellSize ( ) const
inlinenoexcept

Get the cell size.

Returns
The current cell size

◆ getColor()

const Color4f& gf::SquareGrid::getColor ( ) const
inlinenoexcept

Get the color of the grid frame.

Returns
The current color of the grid frame

◆ getGridSize()

Vector2u gf::SquareGrid::getGridSize ( ) const
inlinenoexcept

Get the grid size.

Returns
The current grid size

◆ getLineWidth()

float gf::SquareGrid::getLineWidth ( ) const
inlinenoexcept

Get the width of the grid frame.

Returns
The current width of the grid frame

◆ getLocalBounds()

RectF gf::SquareGrid::getLocalBounds ( ) const

Get the local bounding rectangle of the entity.

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.

Returns
Local bounding rectangle of the entity

◆ setAnchor()

void gf::SquareGrid::setAnchor ( Anchor  anchor)

Set the anchor origin of the entity.

Compute the origin of the entity based on the local bounds and the specified anchor. Internally, this function calls Transformable::setOrigin().

Parameters
anchorThe anchor of the entity
See also
getLocalBounds(), Transformable::setOrigin()

◆ setCellSize()

void gf::SquareGrid::setCellSize ( Vector2f  cellSize)

Set the cell size.

Parameters
cellSizeThe new cell size

◆ setColor()

void gf::SquareGrid::setColor ( const Color4f color)

Set the color of the grid frame.

Parameters
colorThe new color of the grid frame

◆ setGridSize()

void gf::SquareGrid::setGridSize ( Vector2u  gridSize)

Set the grid size.

Parameters
gridSizeThe new grid size

◆ setLineWidth()

void gf::SquareGrid::setLineWidth ( float  lineWidth)
inlinenoexcept

Set the width of the grid frame.

Parameters
lineWidthThe new width of the grid frame