Shkyera Engine
Easy to use, game engine for Python
ShapeUIComponent.hpp
Go to the documentation of this file.
1 
7 #pragma once
8 
10 #include "ui/UIComponent.hpp"
11 
12 namespace shkyera {
13 
23 class ShapeUIComponent : public UIComponent {
24  public:
29 
33  virtual ~ShapeUIComponent() = default;
34 
42  virtual void draw() override;
43 
50  virtual void drawOptions() = 0;
51 
61  virtual void initialize(std::shared_ptr<Renderer> renderer) = 0;
62 };
63 
64 } // namespace shkyera
Defines the ShapeComponent class, a base component for handling shapes.
Contains the declaration of the UIComponent class, a base class for user interface of objects' compon...
A specialized UIComponent for rendering shapes within a graphical user interface.
Definition: ShapeUIComponent.hpp:23
virtual void drawOptions()=0
Draw options specific to the shape.
virtual ~ShapeUIComponent()=default
Virtual destructor for ShapeUIComponent.
virtual void initialize(std::shared_ptr< Renderer > renderer)=0
Initialize the ShapeUIComponent.
virtual void draw() override
Draw the shape within the UI component.
Definition: ShapeUIComponent.cpp:9
A base class representing a user interface (UI) for a game object's component.
Definition: UIComponent.hpp:21
UIComponent(std::string name, std::shared_ptr< GameObject > object)
Constructor to create a UI component with a specified name and associated game object.
Definition: UIComponent.cpp:6
Definition: Entity.cpp:3