#pragma once #include #include "classicmode/classicactions.h" #include "graphics/classicnotegraphics.h" #include "graphics/classicselectiongraphics.h" #include "core/rectangle.h" #include "core/corefactory.h" class ClassicGraphicsFactory { public: explicit ClassicGraphicsFactory(const std::shared_ptr& core_factory); std::shared_ptr createSprite(Type type) const; std::shared_ptr createSelection() const; private: const std::shared_ptr _core_factory; struct SpriteData { std::shared_ptr shape; std::shared_ptr trail; kku::Color color; }; SpriteData generate(Type type) const; };