#pragma once #include "core/sprite.h" #include "core/point.h" #include "core/color.h" #include "core/rectangle.h" #include class ClassicNoteGraphics { public: struct Init { std::shared_ptr shape; std::shared_ptr trail; kku::Color color; }; ClassicNoteGraphics(ClassicNoteGraphics::Init&& init); void reset(); void display() const; void setPosition(const kku::Point &position); void setTrailPosition(const kku::Point &position); kku::Point getPosition() const; kku::Point getTrailPosition() const; void setColor(const kku::Color& color); void setTrailColor(const kku::Color& color); kku::Color getColor() const; kku::Color getTrailColor() const; std::shared_ptr getRectangle() const; protected: kku::Color _reset_color; std::shared_ptr _shape; std::shared_ptr _trail; };