forked from NaiJi/project-kyoku
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
760 B
C++
33 lines
760 B
C++
#ifndef CLASSICDIVAVIEWMANAGER_H
|
|
#define CLASSICDIVAVIEWMANAGER_H
|
|
|
|
#include "timelineviewmanager.h"
|
|
#include "classicactions.h"
|
|
|
|
#include <memory>
|
|
#include <stack>
|
|
#include <map>
|
|
#include <SFML/Graphics/Font.hpp>
|
|
|
|
class ClassicSprite;
|
|
class ClassicNote;
|
|
|
|
class ClassicViewManager : public TimelineViewManager
|
|
{
|
|
public:
|
|
explicit ClassicViewManager();
|
|
|
|
void initNoteSprite(ClassicNote *note);
|
|
void resetNoteSprite(ClassicNote *note);
|
|
|
|
private:
|
|
void reallocatePoll(Action kind_of_action);
|
|
std::shared_ptr<ClassicSprite> createSprite(Action kind_of_action) const;
|
|
|
|
using SpritePoll = std::stack<std::shared_ptr<ClassicSprite>>;
|
|
std::map<Action, SpritePoll> _sprite_dispatcher;
|
|
sf::Font _font;
|
|
};
|
|
|
|
#endif // CLASSICDIVAVIEWMANAGER_H
|