eec97772e28f3cb95371732fa558cee0ae75c776
[supertux.git] / src / object / display_effect.hpp
1 #ifndef __OBJECT_DISPLAY_EFFECT_H__
2 #define __OBJECT_DISPLAY_EFFECT_H__
3
4 #include "scripting/display_effect.hpp"
5 #include "game_object.hpp"
6
7 class DisplayEffect : public GameObject, public Scripting::DisplayEffect
8 {
9 public:
10     DisplayEffect();
11     virtual ~DisplayEffect();
12
13     void update(float elapsed_time);
14     void draw(DrawingContext& context);
15
16     void fade_out(float fadetime);
17     void fade_in(float fadetime);
18     void set_black(bool enabled);
19     bool is_black();
20     void sixteen_to_nine();
21     void four_to_three();
22
23 private:
24     enum FadeType {
25         NO_FADE, FADE_IN, FADE_OUT
26     };
27     FadeType type;
28     float fadetime;
29     float fading;
30     bool black;
31     bool borders_fading;
32     bool borders_active;
33     float border_size;
34 };
35
36 #endif
37