X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=render%2Fgradient.c;h=41514ac43296bac8ce059e1034cadf0aa35e4fb5;hb=ae624a1487fd7db9291c4de1a3b2c34fcab89ef9;hp=ccfd6071d5c3f5c2e08887331ce939013e99c993;hpb=89b7311d8d8cd39d3e8a942d783f75bab2599b60;p=chaz%2Fopenbox diff --git a/render/gradient.c b/render/gradient.c index ccfd6071..41514ac4 100644 --- a/render/gradient.c +++ b/render/gradient.c @@ -421,50 +421,28 @@ static void gradient_solid(RrAppearance *l, gint w, gint h) static void gradient_splitvertical(RrAppearance *a, gint w, gint h) { - gint x, y1, y2, y3, r, g, b; + gint x, y1, y2, y3; RrSurface *sf = &a->surface; RrPixel32 *data = sf->pixel_data; RrPixel32 current; - RrColor *primary_light, *secondary_light; gint y1sz, y2sz, y3sz; VARS(y1); VARS(y2); VARS(y3); - r = sf->primary->r; - r += r >> 2; - g = sf->primary->g; - g += g >> 2; - b = sf->primary->b; - b += b >> 2; - if (r > 0xFF) r = 0xFF; - if (g > 0xFF) g = 0xFF; - if (b > 0xFF) b = 0xFF; - primary_light = RrColorNew(a->inst, r, g, b); - - r = sf->secondary->r; - r += r >> 4; - g = sf->secondary->g; - g += g >> 4; - b = sf->secondary->b; - b += b >> 4; - if (r > 0xFF) r = 0xFF; - if (g > 0xFF) g = 0xFF; - if (b > 0xFF) b = 0xFF; - secondary_light = RrColorNew(a->inst, r, g, b); y1sz = MAX(h/2 - 1, 1); /* setup to get the colors _in between_ these other 2 */ y2sz = (h < 3 ? 0 : (h % 2 ? 3 : 2)); y3sz = MAX(h/2 - 1, 0); - SETUP(y1, primary_light, sf->primary, y1sz); + SETUP(y1, sf->split_primary, sf->primary, y1sz); if (y2sz) { SETUP(y2, sf->primary, sf->secondary, y2sz); NEXT(y2); /* skip the first one, its the same as the last of y1 */ } - SETUP(y3, sf->secondary, secondary_light, y3sz); + SETUP(y3, sf->secondary, sf->split_secondary, y3sz); for (y1 = y1sz; y1 > 0; --y1) { current = COLOR(y1); @@ -489,9 +467,6 @@ static void gradient_splitvertical(RrAppearance *a, gint w, gint h) NEXT(y3); } - - RrColorFree(primary_light); - RrColorFree(secondary_light); } static void gradient_horizontal(RrSurface *sf, gint w, gint h)