Optimized gradient when top color is the same as the bottom one.
[supertux.git] / src / screen / screen.h
index 64c42c2..2383573 100644 (file)
 #ifndef NOOPENGL
 #include <SDL_opengl.h>
 #endif
+#include <iostream>
+class Color
+{
+public:
+  Color() 
+    : red(0), green(0), blue(0), alpha(0)
+  {}
+  
+  Color(Uint8 red_, Uint8 green_, Uint8 blue_, Uint8 alpha_ = 0)
+    : red(red_), green(green_), blue(blue_), alpha(alpha_)
+  {}
+
+  Color(const Color& o)
+    : red(o.red), green(o.green), blue(o.blue), alpha(o.alpha)
+  { }
+
+  bool operator==(const Color& o)
+    {  if(red == o.red && green == o.green &&
+          blue == o.blue && alpha == o.alpha)
+         return true;
+       return false;  }
+
+  Uint8 red, green, blue, alpha;
+};
+
 #include "texture.h"
 
 class Vector;
@@ -36,10 +61,8 @@ class Vector;
 void drawline(int x1, int y1, int x2, int y2, int r, int g, int b, int a);
 void fillrect(float x, float y, float w, float h, int r, int g, int b,
     int a = 255);
-void shrink_fade(const Vector& point, float fade_time);
-//void black_fade(Surface* surface, int seconds, bool fade_out);
-void fade(const std::string& surface, int seconds, bool fade_out);
-void update_rect(SDL_Surface *scr, Sint32 x, Sint32 y, Sint32 w, Sint32 h);
-void fadeout();
+
+void fadeout(int fade_time);
+void shrink_fade(const Vector& point, int fade_time);
 
 #endif /*SUPERTUX_SCREEN_H*/