From 8d133056ce9063811383d55d98d52d4c28158523 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 31 Jan 2006 16:57:35 +0000 Subject: [PATCH] *** empty log message *** --- src/init.C | 4 ++-- src/main.C | 2 +- src/rxvttoolkit.C | 19 +++++++++---------- src/rxvttoolkit.h | 2 +- src/rxvtutil.h | 2 +- 5 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/init.C b/src/init.C index fe578e25..2bec95fd 100644 --- a/src/init.C +++ b/src/init.C @@ -708,7 +708,7 @@ rxvt_term::Get_Colours () { rxvt_rgba c; pix_colors[Color_fade].get (this, c); - pix_colors_unfocused[i] = pix_colors_focused[i].fade (this, atoi (rs[Rs_fade]), c); + pix_colors_focused[i].fade (this, atoi (rs[Rs_fade]), pix_colors_unfocused[i],c); } #endif @@ -749,7 +749,7 @@ rxvt_term::Get_Colours () xcol[0].get (this, c0); xcol[1].get (this, c1); - pix_colors[Color_bottomShadow] = xcol[1].fade (this, 50); + xcol[1].fade (this, 50, pix_colors[Color_bottomShadow]); /* topShadowColor */ if (!xcol[1].set (this, diff --git a/src/main.C b/src/main.C index d12e2b03..b1968056 100644 --- a/src/main.C +++ b/src/main.C @@ -947,7 +947,7 @@ done: { rxvt_rgba c; pix_colors [Color_fade].get (this, c); - pix_colors_unfocused [idx] = pix_colors_focused [idx].fade (this, atoi (rs[Rs_fade]), c); + pix_colors_focused [idx].fade (this, atoi (rs[Rs_fade]), pix_colors_unfocused [idx], c); } #endif diff --git a/src/rxvttoolkit.C b/src/rxvttoolkit.C index a5c828b4..755e8bb2 100644 --- a/src/rxvttoolkit.C +++ b/src/rxvttoolkit.C @@ -641,8 +641,10 @@ rxvt_color::set (rxvt_screen *screen, const char *name) if (1 <= sscanf (name, "[%hd]%n", &c.a, &skip)) { + printf ("X %d\n", c.a); c.a = lerp (0, rxvt_rgba::MAX_CC, c.a); name += skip; + printf ("y %04x\n", c.a); } else c.a = rxvt_rgba::MAX_CC; @@ -749,23 +751,20 @@ rxvt_color::free (rxvt_screen *screen) #endif } -rxvt_color -rxvt_color::fade (rxvt_screen *screen, int percent, const rxvt_rgba &to) +void +rxvt_color::fade (rxvt_screen *screen, int percent, rxvt_color &result, const rxvt_rgba &to) { rxvt_rgba c; get (screen, c); - rxvt_color faded; - faded.set ( + result.set ( screen, rxvt_rgba ( - lerp (to.r, c.r, percent), - lerp (to.g, c.g, percent), - lerp (to.b, c.b, percent), - lerp (to.a, c.a, percent) + lerp (c.r, to.r, percent), + lerp (c.g, to.g, percent), + lerp (c.b, to.b, percent), + lerp (c.a, to.a, percent) ) ); - - return faded; } diff --git a/src/rxvttoolkit.h b/src/rxvttoolkit.h index 4ac66832..6932b6ff 100644 --- a/src/rxvttoolkit.h +++ b/src/rxvttoolkit.h @@ -257,7 +257,7 @@ struct rxvt_color { bool set (rxvt_screen *screen, const char *name); bool set (rxvt_screen *screen, const rxvt_rgba &color); - rxvt_color fade (rxvt_screen *screen, int percent, const rxvt_rgba &to = rxvt_rgba (0, 0, 0)); + void fade (rxvt_screen *screen, int percent, rxvt_color &result, const rxvt_rgba &to = rxvt_rgba (0, 0, 0)); }; #endif diff --git a/src/rxvtutil.h b/src/rxvtutil.h index 618b8636..82934e80 100644 --- a/src/rxvtutil.h +++ b/src/rxvtutil.h @@ -63,7 +63,7 @@ template static inline T lerp (T a, U b, P p) { - return (int(a) * int(p) + int(b) * int(100 - p)) / 100; + return (long(a) * long(100 - p) + long(b) * long(p) + 50) / 100; } // some bit functions, xft fuck me plenty -- 2.34.1