#pragma once #include "core/sprite.h" #include "core/color.h" #include "core/rectangle.h" #include class ClassicSprite; class ClassicSelection : public kku::Sprite { public: struct Init { std::shared_ptr shape; kku::Color color; }; explicit ClassicSelection(ClassicSelection::Init&& init); virtual void reset() override; virtual void display() const override; void adjustTo(const std::shared_ptr& sprite); void toggle(bool selected); protected: kku::Color _fill_color; std::shared_ptr _shape; };