TurtleBrains  0.3.5
High quality, portable, C++ framework for rapid 2D game development.
TurtleBrains::Graphics::QuadShape Class Reference

#include <tb_basic_shapes.hpp>

Inheritance diagram for TurtleBrains::Graphics::QuadShape:
TurtleBrains::Graphics::Graphic

Public Types

enum  QuadVertex { kTopLeft , kTopRight , kBottomLeft , kBottomRight }
 

Public Member Functions

 QuadShape (const float width, const float height, const tbGraphics::Color &color=tbGraphics::ColorPalette::White, const tbMath::Vector2 &position=tbMath::Vector2::Zero())
 
 QuadShape (const QuadShape &other) noexcept
 
 QuadShape (QuadShape &&other) noexcept
 
virtual ~QuadShape (void)
 
QuadShapeoperator= (const QuadShape &other) noexcept
 
QuadShapeoperator= (QuadShape &&other) noexcept
 
virtual void SetColor (const tbGraphics::Color &newColor) override
 
virtual void SetColor (const tbGraphics::Color &topLeftColor, const tbGraphics::Color &topRightColor, const tbGraphics::Color &bottomLeftColor, const tbGraphics::Color &bottomRightColor)
 
void SetPosition (const float x, const float y)
 
void SetPosition (const tbMath::Vector2 &position)
 
void SetPosition (const QuadVertex vertexIndex, const tbMath::Vector2 &position)
 
const tbMath::Vector2GetPosition (void) const
 
tbMath::Vector2 GetPosition (const QuadVertex vertexPosition) const
 
void SetSize (const float width, const float height)
 
virtual PixelSpace GetPixelWidth (void) const override
 
virtual PixelSpace GetPixelHeight (void) const override
 
virtual void OnRender (void) const override
 
- Public Member Functions inherited from TurtleBrains::Graphics::Graphic
 Graphic (void)
 
 Graphic (const Graphic &other)=default
 
virtual ~Graphic (void)=default
 
Graphicoperator= (const Graphic &other)=default
 
bool IsActive (void) const
 
void SetActive (const bool isActive)
 
void Update (const float deltaTime)
 
bool IsVisible (void) const
 
void SetVisible (const bool isVisible)
 
void Render (void) const
 
const tbMath::Vector2GetPosition (void) const
 
void SetPosition (const float x, const float y)
 
void SetPosition (const tbMath::Vector2 &position)
 
const tbMath::Vector2GetOrigin (void) const
 
void SetOrigin (const AnchorLocation &anchor, const float offsetX, const float offsetY)
 
void SetOrigin (const AnchorLocation &anchor, const tbMath::Vector2 &offset=tbMath::Vector2::Zero())
 
void SetOrigin (const float originX, const float originY)
 
void SetOrigin (const tbMath::Vector2 &origin)
 
float GetDepth (void) const
 
void SetDepth (const float newDepth)
 
const tbMath::Vector2GetScale (void) const
 
void SetScale (const float scale)
 
void SetScale (const tbMath::Vector2 &scale)
 
void SetScale (const float scaleX, const float scaleY)
 
tbMath::Angle GetRotation (void) const
 
void SetRotation (const tbMath::Angle &angle)
 
void SetScroll (const float scroll)
 
void SetScroll (const float scrollX, const float scrollY)
 
bool IsRelative (void) const
 
const ColorGetColor (void) const
 
float GetWidth (void) const
 
float GetHeight (void) const
 
float GetScaledWidth (void) const
 
float GetScaledHeight (void) const
 
tbMath::Vector2 GetAnchorPosition (const tbGraphics::AnchorLocation &anchor, const float offsetX, const float offsetY) const
 
tbMath::Vector2 GetAnchorPosition (const tbGraphics::AnchorLocation &anchor, const tbMath::Vector2 &offset=tbMath::Vector2::Zero()) const
 
bool UnstableIsPointContained (const tbMath::Vector2 &point) const
 

Additional Inherited Members

- Protected Member Functions inherited from TurtleBrains::Graphics::Graphic
virtual void OnUpdate (const float deltaTime)
 
virtual void ApplyTransform (void) const
 
virtual void PopTransform (void) const
 

Detailed Description

Create a simple QuadShape graphic to present gradients!

Constructor & Destructor Documentation

◆ QuadShape()

TurtleBrains::Graphics::QuadShape::QuadShape ( const float  width,
const float  height,
const tbGraphics::Color color = tbGraphics::ColorPalette::White,
const tbMath::Vector2 position = tbMath::Vector2::Zero() 
)

Constructs an QuadShape object as a Rectangle that covers the whole screen size by default.

◆ ~QuadShape()

virtual TurtleBrains::Graphics::QuadShape::~QuadShape ( void  )
virtual

Cleans up after a PolygonShape, clearing the vertex container in the process.

Member Function Documentation

◆ GetPixelHeight()

virtual PixelSpace TurtleBrains::Graphics::QuadShape::GetPixelHeight ( void  ) const
overridevirtual

Computes and returns the height of the PolygonShape in pixels.

Reimplemented from TurtleBrains::Graphics::Graphic.

◆ GetPixelWidth()

virtual PixelSpace TurtleBrains::Graphics::QuadShape::GetPixelWidth ( void  ) const
overridevirtual

Computes and returns the width of the PolygonShape in pixels.

Reimplemented from TurtleBrains::Graphics::Graphic.

◆ OnRender()

virtual void TurtleBrains::Graphics::QuadShape::OnRender ( void  ) const
overridevirtual

Renders the PolygonShape object vertices as Triangles, TriangleStrip, TriangleFan, Lines, LineStrip or LineLoop depending on how the object is configured to treat the vertices. Depending on the configuration this may trigger an error condition based on number of vertices.

Implements TurtleBrains::Graphics::Graphic.

◆ SetColor()

virtual void TurtleBrains::Graphics::QuadShape::SetColor ( const tbGraphics::Color newColor)
overridevirtual

Sets the color of all the vertices in the PolygonShape.

Reimplemented from TurtleBrains::Graphics::Graphic.

◆ SetSize()

void TurtleBrains::Graphics::QuadShape::SetSize ( const float  width,
const float  height 
)

Moves the vertices of the box around to match.

Note
This will certainly destroy any anchor / origin offset that was initially applied to the shape. You will need to call SetOrigin again after calling this function.