From b6fa823a82184618370341eb414b50f1ac459a2f Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sat, 18 Feb 2012 02:44:27 +0100 Subject: [PATCH] =?utf8?q?On=20the=20last=20fade-from-red,=20just=20comple?= =?utf8?q?te=20the=20fade=20instead=20of=20doing=20a=20re-render.=20Fixes?= =?utf8?q?=20an=20ugly=20=E2=80=9Cjerk=E2=80=9D=20at=20the=20end=20of=20th?= =?utf8?q?e=20fade,=20since=20FreeType=20is=20pretty=20slow.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- bigscreen/rotatescreen.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bigscreen/rotatescreen.cpp b/bigscreen/rotatescreen.cpp index a8c9d6f..64e7269 100644 --- a/bigscreen/rotatescreen.cpp +++ b/bigscreen/rotatescreen.cpp @@ -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 { -- 2.39.2