UGDK  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
primitive.h
Go to the documentation of this file.
1 #ifndef UGDK_UI_DRAWABLE_PRIMITIVE_H_
2 #define UGDK_UI_DRAWABLE_PRIMITIVE_H_
3 
4 #include <ugdk/ui/drawable.h>
5 
6 #include <ugdk/graphic.h>
7 #include <memory>
8 
9 namespace ugdk {
10 namespace ui {
11 
12 class DrawablePrimitive : public Drawable {
13  public:
14  DrawablePrimitive(const std::shared_ptr<ugdk::graphic::Primitive>& primitive);
16 
17  void Draw(graphic::Canvas&) const override;
18  const math::Vector2D& size() const override;
19 
20  protected:
21  void UpdateSize();
22 
23  std::shared_ptr<ugdk::graphic::Primitive> primitive_;
25 };
26 
27 } // namespace ui
28 } // namespace ugdk
29 
30 #endif // UGDK_UI_DRAWABLE_PRIMITIVE_H_
Definition: canvas.h:28
math::Vector2D size_
Definition: primitive.h:24
Definition: vector2D.h:18
const math::Vector2D & size() const override
std::shared_ptr< ugdk::graphic::Primitive > primitive_
Definition: primitive.h:23
void Draw(graphic::Canvas &) const override
Definition: animation.h:11
DrawablePrimitive(const std::shared_ptr< ugdk::graphic::Primitive > &primitive)
Definition: drawable.h:13
Definition: primitive.h:12