033d8adae3e6c5153d0460d9d665ff921e68c282
[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(float fadetime);
21     void four_to_three(float fadetime);
22
23 private:
24     enum FadeType {
25         NO_FADE, FADE_IN, FADE_OUT
26     };
27     FadeType screen_fade;
28     float screen_fadetime;
29     float screen_fading;
30     FadeType border_fade;
31     float border_fadetime;
32     float border_fading;
33     float border_size;
34     
35     bool black;
36     bool borders;
37 };
38
39 #endif
40