- added color ligts
[supertux.git] / src / video / surface.hpp
index a5ba955..0945253 100644 (file)
@@ -1,7 +1,7 @@
 //  $Id$
 // 
 //  SuperTux
-//  Copyright (C) 2005 Matthias Braun <matze@braunis.de>
+//  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
@@ -22,6 +22,8 @@
 
 #include <string>
 
+class Color;
+class Blend;
 class ImageTexture;
 
 /// bitset for drawing effects
@@ -35,8 +37,9 @@ enum DrawingEffect {
 };
 
 /**
- * Container class that holds a surface, necessary so that we can
- * reload Surface implementations on the fly
+ * A rectangular image.
+ * The class basically holds a reference to a texture with additional UV
+ * coordinates that specify a rectangular area on this texture
  */
 class Surface
 {
@@ -50,6 +53,7 @@ private:
   float uv_right;
   float uv_bottom;
 
+  void draw(float x, float y, float alpha, float angle, const Color& color, const Blend& blend, DrawingEffect effect) const;
   void draw(float x, float y, float alpha, DrawingEffect effect) const;
   void draw_part(float src_x, float src_y, float dst_x, float dst_y,
                  float width, float height,
@@ -66,9 +70,6 @@ public:
   /** flip the surface horizontally */
   void hflip();
   
-  /** Reload the surface, which is necesarry in case of a mode swich */
-  void reload();
-
   const Surface& operator= (const Surface& other);
 
   float get_width() const