X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fbackground.h;h=7ed3e837c9a31d87b9f13c7d306d0f9f99138892;hb=ee6972038331a3c26a2a6a0bdb2baca25475b1d2;hp=c441c50d44539b5b7a87e02b6712fdc00108960b;hpb=03fe5c560a616e7d38a8b1d5d11bfe4675fa8896;p=supertux.git diff --git a/src/background.h b/src/background.h index c441c50d4..7ed3e837c 100644 --- a/src/background.h +++ b/src/background.h @@ -16,25 +16,40 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -#ifndef __BACKGROUND_H__ -#define __BACKGROUND_H__ -#include "screen/texture.h" -#include "screen/drawing_context.h" -#include "game_object.h" +#ifndef SUPERTUX_BACKGROUND_H +#define SUPERTUX_BACKGROUND_H + +#include "video/surface.h" +#include "video/drawing_context.h" +#include "special/game_object.h" +#include "utils/lispreader.h" +#include "serializable.h" class DisplayManager; -class Background : public GameObject +class Background : public GameObject, public Serializable { public: Background(); + Background(LispReader& reader); virtual ~Background(); + virtual void write(LispWriter& writer); + void set_image(const std::string& name, float bkgd_speed); void set_gradient(Color top, Color bottom); + std::string get_image() const + { return imagefile; } + float get_speed() const + { return speed; } + Color get_gradient_top() const + { return gradient_top; } + Color get_gradient_bottom() const + { return gradient_bottom; } + virtual void action(float elapsed_time); virtual void draw(DrawingContext& context); @@ -45,10 +60,12 @@ private: }; Type type; + int layer; + std::string imagefile; float speed; Surface* image; Color gradient_top, gradient_bottom; }; -#endif +#endif /*SUPERTUX_BACKGROUND_H*/