fix cr/lfs and remove trailing whitespaces...
[supertux.git] / src / object / background.hpp
index dc7a6d6..6b4625e 100644 (file)
@@ -1,7 +1,7 @@
 //  $Id$
 //
-//  SuperTux -  A Jump'n Run
-//  Copyright (C) 2004 Matthias Braun <matze@braunis.de
+//  SuperTux
+//  Copyright (C) 2006 Matthias Braun <matze@braunis.de>
 //
 //  This program is free software; you can redistribute it and/or
 //  modify it under the terms of the GNU General Public License
 //  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 SUPERTUX_BACKGROUND_H
 #define SUPERTUX_BACKGROUND_H
 
+#include <memory>
 #include "video/surface.hpp"
 #include "video/drawing_context.hpp"
 #include "game_object.hpp"
@@ -41,33 +43,26 @@ public:
 
   void set_image(const std::string& name, float bkgd_speed);
 
-  void set_gradient(Color top, Color bottom);
-
   std::string get_image() const
-        { return imagefile; }
+  { return imagefile; }
   float get_speed() const
-        { return speed; }
-  Color get_gradient_top() const
-        { return gradient_top; }
-  Color get_gradient_bottom() const
-        { return gradient_bottom; }
+  { return speed; }
 
   virtual void update(float elapsed_time);
 
   virtual void draw(DrawingContext& context);
 
 private:
-  enum Type {
-    INVALID, GRADIENT, IMAGE      
-  };
-  
-  Type type;
   int layer;
+  std::string imagefile_top;
   std::string imagefile;
-  float speed;
-  Surface* image;
-  Color gradient_top, gradient_bottom;
+  std::string imagefile_bottom;
+  Vector pos; /**< coordinates of upper-left corner of image */
+  float speed; /**< scroll-speed in horizontal direction */
+  float speed_y; /**< scroll-speed in vertical direction */
+  std::auto_ptr<Surface> image_top; /**< image to draw above pos */
+  std::auto_ptr<Surface> image; /**< image to draw, anchored at pos */
+  std::auto_ptr<Surface> image_bottom; /**< image to draw below pos+<screenheight> */
 };
 
 #endif /*SUPERTUX_BACKGROUND_H*/
-