#pragma once #include #include #include "Morault_Player.h" #include namespace Morault { namespace UI { typedef enum { BL, // bottom left BR, // bottom right TL, // top left TR, // top right CN // center } Anchor; class CanvasElement { public: int posx, posy; Anchor anchor; virtual void Draw(Morault::Gameplay::Player player) = 0; }; class Image : public CanvasElement { public: int posx, posy; Anchor anchor; std::string src; float scale; void Draw(Morault::Gameplay::Player player); }; class Text : public CanvasElement { public: int posx, posy; Anchor anchor; std::string text; int size; Color color; void Draw(Morault::Gameplay::Player player); }; class Canvas { std::vector> elements; public: Canvas(); Canvas(std::string canvasfile); void DrawCanvas(Morault::Gameplay::Player player); ~Canvas(); }; } }