2 #include "display_effect.hpp"
5 #include "video/drawing_context.hpp"
8 DisplayEffect::DisplayEffect()
9 : type(NO_FADE), fadetime(0), fading(0), black(false)
13 DisplayEffect::~DisplayEffect()
18 DisplayEffect::update(float elapsed_time)
24 fading -= elapsed_time;
30 fading -= elapsed_time;
42 DisplayEffect::draw(DrawingContext& context)
44 if(!black && type == NO_FADE)
47 context.push_transform();
48 context.set_translation(Vector(0, 0));
56 alpha = static_cast<uint8_t>
57 (fading * 255.0 / fadetime);
60 alpha = static_cast<uint8_t>
61 ((fadetime-fading) * 255.0 / fadetime);
68 context.draw_filled_rect(Vector(0, 0), Vector(SCREEN_WIDTH, SCREEN_HEIGHT),
69 Color(0, 0, 0, alpha), LAYER_GUI-10);
70 context.pop_transform();
74 DisplayEffect::fade_out(float fadetime)
77 this->fadetime = fadetime;
83 DisplayEffect::fade_in(float fadetime)
86 this->fadetime = fadetime;
92 DisplayEffect::set_black(bool enabled)
98 DisplayEffect::is_black()