/** * @file graphics_effect.h * abstract type of graphical effects */ #ifndef _GRAPHICS_EFFECT #define _GRAPHICS_EFFECT #include "base_object.h" class TiXmlElement; //! A class that handles GraphicsEffects. The GraphicsEffectManager operates on this. class GraphicsEffect : public BaseObject { ObjectListDeclaration(GraphicsEffect); public: GraphicsEffect(const TiXmlElement* root = NULL); virtual ~GraphicsEffect(); virtual void loadParams(const TiXmlElement* root); virtual void init(); virtual void activate() = 0; virtual void deactivate() = 0; virtual void draw() const; virtual void tick(float dt); inline bool isActivated() const { return this->bActivated; } protected: bool bActivated; }; #endif /* _GRAPHICS_EFFECT */