]> git.sesse.net Git - ccbs/blobdiff - bigscreen/rotatescreen.cpp
On the last fade-from-red, just complete the fade instead of doing a re-render. Fixes...
[ccbs] / bigscreen / rotatescreen.cpp
index a8c9d6f83723f653180b289101ea25e89b26c4ac..64e7269f6a09ddd27b71a80074998b0c5c228f29 100644 (file)
@@ -71,8 +71,12 @@ void RotateScreen::draw(unsigned char *buf, unsigned width, unsigned height)
                if (elapsed_fade > 5.5 || (!fade_to_new_info && elapsed_fade > 0.5)) {
                        in_fade = false;
 
-                       // ugly hack here? :-)
-                       subscreens[current_screen].screen->draw(subscreens[current_screen].buf, width, height);
+                       // set G&B to be = R
+                       unsigned char *ptr = subscreens[current_screen].buf;
+                       for (unsigned i = 0; i < width * height; ++i) {
+                               ptr[1] = ptr[2] = ptr[3] = ptr[0];
+                               ptr += 4;
+                       }
                        
                        memcpy(buf, subscreens[current_screen].buf, width * height * 4);
                } else {