Fixed SDL code of drawgradient().
authorRicardo Cruz <rick2@aeiou.pt>
Tue, 13 Apr 2004 15:20:20 +0000 (15:20 +0000)
committerRicardo Cruz <rick2@aeiou.pt>
Tue, 13 Apr 2004 15:20:20 +0000 (15:20 +0000)
I forgot that the axis in SDL are positve in the Up-Down direction.
Now you shouldn't notice any difference between SDL and OpenGL gradients ;)

SVN-Revision: 521

src/screen.cpp

index d3e762d..88525ed 100644 (file)
@@ -75,9 +75,10 @@ void drawgradient(Color top_clr, Color bot_clr)
 #endif
 
     for(float y = 0; y < 480; y += 2)
-      fillrect(0, (int)y, 640, 2, (int)(((float)(top_clr.red-bot_clr.red)/640) * y + top_clr.red),
-                                  (int)(((float)(top_clr.green-bot_clr.green)/640) * y + top_clr.green),
-                                  (int)(((float)(top_clr.blue-bot_clr.blue)/640) * y + top_clr.blue), 255);
+      fillrect(0, (int)y, 640, 2,
+                     (int)(((float)(top_clr.red-bot_clr.red)/(0-480)) * y + top_clr.red),
+                     (int)(((float)(top_clr.green-bot_clr.green)/(0-480)) * y + top_clr.green),
+                     (int)(((float)(top_clr.blue-bot_clr.blue)/(0-480)) * y + top_clr.blue), 255);
 /* calculates the color for each line, based in the generic equation for functions: y = mx + b */
 
 #ifndef NOOPENGL