14 #ifndef TurtleBrains_BasicShapes_hpp
15 #define TurtleBrains_BasicShapes_hpp
17 #include <turtle_brains/graphics/tb_graphic.hpp>
18 #include <turtle_brains/math/tb_vector.hpp>
26 namespace Implementation
28 struct PolygonShapeData;
32 class OutlinedPolygonShape;
169 std::unique_ptr<Implementation::PolygonShapeData> mData;
275 explicit BoxShape(
const float width = 64.0f,
const float height = 64.0f,
const tbGraphics::Color& color = tbGraphics::ColorPalette::White,
299 void SetSize(
const float width,
const float height);
309 enum QuadVertex { kTopLeft, kTopRight, kBottomLeft, kBottomRight };
344 void SetPosition(
const QuadVertex vertexIndex,
const tbMath::Vector2& position);
355 void SetSize(
const float width,
const float height);
375 std::unique_ptr<Implementation::QuadShapeData> mData;
464 void SetSize(
const float radius,
const int sectionCount = 30);
489 const int sectionCount = 30);
Definition: tb_basic_shapes.hpp:264
virtual ~BoxShape(void)=default
BoxShape(const float width=64.0f, const float height=64.0f, const tbGraphics::Color &color=tbGraphics::ColorPalette::White, const tbMath::Vector2 &position=tbMath::Vector2::Zero())
void SetSize(const float width, const float height)
BoxShape & operator=(const BoxShape &other)=default
BoxShape(const BoxShape &other)=default
Definition: tb_basic_shapes.hpp:432
void SetSize(const float radius, const int sectionCount=30)
virtual ~CircleShape(void)
CircleShape(const float radius=64.0f, const tbGraphics::Color &color=tbGraphics::ColorPalette::White, const tbMath::Vector2 &position=tbMath::Vector2::Zero(), const int sectionCount=30)
Definition: tb_color.hpp:24
Definition: tb_basic_shapes.hpp:413
FullScreenQuad(const tbGraphics::Color &color)
virtual ~FullScreenQuad(void)
Definition: tb_graphic.hpp:50
const tbMath::Vector2 & GetPosition(void) const
void SetPosition(const float x, const float y)
Definition: tb_basic_shapes.hpp:384
OutlinedBoxShape(const float width=64.0f, const float height=64.0f, const tbGraphics::Color &fillColor=tbGraphics::ColorPalette::White, const tbGraphics::Color &outlineColor=tbGraphics::ColorPalette::Black, const tbMath::Vector2 &position=tbMath::Vector2::Zero())
virtual ~OutlinedBoxShape(void)
Definition: tb_basic_shapes.hpp:473
OutlinedCircleShape(const float radius=64.0f, const tbGraphics::Color &fillColor=tbGraphics::ColorPalette::White, const tbGraphics::Color &outlineColor=tbGraphics::ColorPalette::Black, const tbMath::Vector2 &position=tbMath::Vector2::Zero(), const int sectionCount=30)
virtual ~OutlinedCircleShape(void)
Definition: tb_basic_shapes.hpp:178
OutlinedPolygonShape(void)
void AddOutlineVertex(const tbMath::Vector2 &position, const tbMath::Vector2 &uv=tbMath::Vector2::Zero())
void AddShapeVertex(const tbMath::Vector2 &position, const tbMath::Vector2 &uv=tbMath::Vector2::Zero())
void SetOutlineColor(const tbGraphics::Color &outlineColor)
virtual void ClearVertices(void) override
void AddShapeAndOutlineVertex(const tbMath::Vector2 &position, const tbMath::Vector2 &uv=tbMath::Vector2::Zero())
virtual ~OutlinedPolygonShape(void)
void SetFillColor(const tbGraphics::Color &fillColor)
virtual void OnRender(void) const override
OutlinedPolygonShape(const OutlinedPolygonShape &other)
Definition: tb_basic_shapes.hpp:38
virtual PixelSpace GetPixelHeight(void) const override
virtual void AddVertex(const tbMath::Vector2 &position, const Color &color=ColorPalette::White, const tbMath::Vector2 &uv=tbMath::Vector2::Zero())
void SetAsLineStrip(void)
virtual ~PolygonShape(void)
PolygonShape & operator=(const PolygonShape &other)
virtual PixelSpace GetPixelWidth(void) const override
void RecomputeBounds(void)
void SetVertexPosition(size_t vertexIndex, const tbMath::Vector2 &position)
PolygonShape(const PolygonShape &other)
void SetAsTriangleFan(void)
void SetAsTriangleStrip(void)
virtual void ClearVertices(void)
virtual void SetColor(const tbGraphics::Color &newColor) override
void SetAsTriangles(void)
virtual void OnRender(void) const override
Definition: tb_basic_shapes.hpp:307
virtual PixelSpace GetPixelWidth(void) const override
virtual void OnRender(void) const override
virtual void SetColor(const tbGraphics::Color &newColor) override
QuadShape(const float width, const float height, const tbGraphics::Color &color=tbGraphics::ColorPalette::White, const tbMath::Vector2 &position=tbMath::Vector2::Zero())
void SetSize(const float width, const float height)
virtual PixelSpace GetPixelHeight(void) const override
Definition: tb_vector.hpp:99
static TypedVector2 Zero(void)
Definition: tb_vector.hpp:104
Give the GameScene and Entities something to display, Text, Sprites and AnimatedSprites help bring th...
tbCore::uint16 PixelSpace
Definition: tb_texture_manager.hpp:34