#include <gradient.hpp>
Inherits GameObject.
Public Member Functions | |
| Gradient () | |
| Gradient (const Reader &reader) | |
| virtual | ~Gradient () |
| void | set_gradient (Color top, Color bottom) |
| Color | get_gradient_top () const |
| Color | get_gradient_bottom () const |
| virtual void | update (float elapsed_time) |
| This function is called once per frame and allows the object to update it's state. | |
| virtual void | draw (DrawingContext &context) |
| The GameObject should draw itself onto the provided DrawingContext if this function is called. | |
Private Attributes | |
| int | layer |
| Color | gradient_top |
| Color | gradient_bottom |
Definition at line 26 of file gradient.hpp.
| Gradient::Gradient | ( | ) |
Definition at line 23 of file gradient.cpp.
00023 : 00024 layer(LAYER_BACKGROUND0), 00025 gradient_top(), 00026 gradient_bottom() 00027 { 00028 }
| Gradient::Gradient | ( | const Reader & | reader | ) |
Definition at line 30 of file gradient.cpp.
References lisp::Lisp::get(), gradient_bottom, gradient_top, layer, LAYER_BACKGROUND0, and reader_get_layer().
00030 : 00031 layer(LAYER_BACKGROUND0), 00032 gradient_top(), 00033 gradient_bottom() 00034 { 00035 layer = reader_get_layer (reader, /* default = */ LAYER_BACKGROUND0); 00036 std::vector<float> bkgd_top_color, bkgd_bottom_color; 00037 if(!reader.get("top_color", bkgd_top_color) || 00038 !reader.get("bottom_color", bkgd_bottom_color)) 00039 throw std::runtime_error("Must specify top_color and bottom_color in gradient"); 00040 00041 gradient_top = Color(bkgd_top_color); 00042 gradient_bottom = Color(bkgd_bottom_color); 00043 }
| Gradient::~Gradient | ( | ) | [virtual] |
Definition at line 55 of file gradient.cpp.
References Color::alpha, Color::blue, gradient_bottom, gradient_top, Color::green, log_warning, and Color::red.
Referenced by Sector::parse(), and Sector::parse_old_format().
00056 { 00057 gradient_top = top; 00058 gradient_bottom = bottom; 00059 00060 if (gradient_top.red > 1.0 || gradient_top.green > 1.0 00061 || gradient_top.blue > 1.0 || gradient_top.alpha > 1.0) 00062 log_warning << "top gradient color has values above 1.0" << std::endl; 00063 if (gradient_bottom.red > 1.0 || gradient_bottom.green > 1.0 00064 || gradient_bottom.blue > 1.0 || gradient_bottom.alpha > 1.0) 00065 log_warning << "bottom gradient color has values above 1.0" << std::endl; 00066 }
| Color Gradient::get_gradient_top | ( | ) | const [inline] |
| Color Gradient::get_gradient_bottom | ( | ) | const [inline] |
Definition at line 38 of file gradient.hpp.
References gradient_bottom.
00039 { return gradient_bottom; }
| void Gradient::update | ( | float | elapsed_time | ) | [virtual] |
This function is called once per frame and allows the object to update it's state.
The elapsed_time is the time since the last frame in seconds and should be the base for all timed calculations (don't use SDL_GetTicks directly as this will fail in pause mode)
Implements GameObject.
Definition at line 50 of file gradient.cpp.
| void Gradient::draw | ( | DrawingContext & | context | ) | [virtual] |
The GameObject should draw itself onto the provided DrawingContext if this function is called.
Implements GameObject.
Definition at line 69 of file gradient.cpp.
References DrawingContext::draw_gradient(), gradient_bottom, gradient_top, layer, DrawingContext::pop_transform(), DrawingContext::push_transform(), and DrawingContext::set_translation().
00070 { 00071 context.push_transform(); 00072 context.set_translation(Vector(0, 0)); 00073 context.draw_gradient(gradient_top, gradient_bottom, layer); 00074 context.pop_transform(); 00075 }
int Gradient::layer [private] |
Color Gradient::gradient_top [private] |
Definition at line 47 of file gradient.hpp.
Referenced by draw(), get_gradient_top(), Gradient(), and set_gradient().
Color Gradient::gradient_bottom [private] |
Definition at line 48 of file gradient.hpp.
Referenced by draw(), get_gradient_bottom(), Gradient(), and set_gradient().
1.5.1