Port DropAnimatorMixin.
[tagua/yd.git] / src / variants / chess / animator.h
blob689da96d3c2a4c9a18508a57acda0e4e4c73572f
1 /*
2 Copyright (c) 2007 Paolo Capriotti <p.capriotti@gmail.com>
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8 */
10 #ifndef CHESS__ANIMATOR_H
11 #define CHESS__ANIMATOR_H
13 #include <core/baseanimator.h>
15 class NamedSprite;
16 class Piece;
18 namespace Chess {
20 class Animator : public BaseAnimator {
21 Q_OBJECT
22 protected Q_SLOTS:
23 AnimationPtr movement(const NamedSprite& sprite, const Move& move) const;
24 public:
25 Animator(TaguaAPI* api, const INamer* namer);
27 virtual AnimationPtr forward(const Move& move, const IState* state);
28 virtual AnimationPtr back(const Move& move, const IState* state);
31 class AnimatorFactory : public Component, public IAnimatorFactory {
32 Q_OBJECT
33 public:
34 virtual IAnimator* create(TaguaAPI* api, const INamer* namer) const;
37 } // namespace Chess
39 #endif // CHESS__ANIMATOR_H