Delete html_redraw lighter/darker and use the colour tweakers in plot_style.

svn path=/trunk/netsurf/; revision=8452
This commit is contained in:
Michael Drake 2009-07-10 20:38:57 +00:00
parent e0a4b50e87
commit ebe0db1864
1 changed files with 22 additions and 50 deletions

View File

@ -68,8 +68,6 @@ bool html_redraw_inline_borders(struct box *box, int x0, int y0, int x1, int y1,
float scale, bool first, bool last); float scale, bool first, bool last);
static bool html_redraw_border_plot(int i, int *p, colour c, static bool html_redraw_border_plot(int i, int *p, colour c,
css_border_style style, int thickness); css_border_style style, int thickness);
static colour html_redraw_darker(colour c);
static colour html_redraw_lighter(colour c);
static bool html_redraw_checkbox(int x, int y, int width, int height, static bool html_redraw_checkbox(int x, int y, int width, int height,
bool selected); bool selected);
static bool html_redraw_radio(int x, int y, int width, int height, static bool html_redraw_radio(int x, int y, int width, int height,
@ -1093,7 +1091,7 @@ bool html_redraw_border_plot(int i, int *p, colour c,
{ {
int z[8]; int z[8];
unsigned int light = i; unsigned int light = i;
colour c_lit; colour c_plot;
plot_style_t plot_style_bdr = { plot_style_t plot_style_bdr = {
.stroke_type = PLOT_OP_TYPE_DASH, .stroke_type = PLOT_OP_TYPE_DASH,
.stroke_colour = c, .stroke_colour = c,
@ -1158,16 +1156,14 @@ bool html_redraw_border_plot(int i, int *p, colour c,
z[6] = p[i * 4 + 6]; z[6] = p[i * 4 + 6];
z[7] = p[i * 4 + 7]; z[7] = p[i * 4 + 7];
if (!plot.polygon(z, 4, light <= 1 ? if (!plot.polygon(z, 4, light <= 1 ?
html_redraw_darker(c) : darken_colour(c) : lighten_colour(c)))
html_redraw_lighter(c)))
return false; return false;
z[0] = p[i * 4 + 2]; z[0] = p[i * 4 + 2];
z[1] = p[i * 4 + 3]; z[1] = p[i * 4 + 3];
z[6] = p[i * 4 + 4]; z[6] = p[i * 4 + 4];
z[7] = p[i * 4 + 5]; z[7] = p[i * 4 + 5];
if (!plot.polygon(z, 4, light <= 1 ? if (!plot.polygon(z, 4, light <= 1 ?
html_redraw_lighter(c) : lighten_colour(c) : darken_colour(c)))
html_redraw_darker(c)))
return false; return false;
break; break;
@ -1182,19 +1178,22 @@ bool html_redraw_border_plot(int i, int *p, colour c,
z[5] = (p[i * 4 + 7] + p[i * 4 + 5]) / 2; z[5] = (p[i * 4 + 7] + p[i * 4 + 5]) / 2;
z[6] = p[i * 4 + 6]; z[6] = p[i * 4 + 6];
z[7] = p[i * 4 + 7]; z[7] = p[i * 4 + 7];
c_lit = c; c_plot = c;
switch (light) { switch (light) {
case 3: case 3:
c_lit = html_redraw_lighter(c_lit); c_plot = double_lighten_colour(c);
break;
case 0: case 0:
c_lit = html_redraw_lighter(c_lit); c_plot = lighten_colour(c);
break; break;
case 1: case 1:
c_lit = html_redraw_darker(c_lit); c_plot = double_darken_colour(c);
break;
case 2: case 2:
c_lit = html_redraw_darker(c_lit); c_plot = darken_colour(c);
break;
} }
if (!plot.polygon(z, 4, c_lit)) if (!plot.polygon(z, 4, c_plot))
return false; return false;
z[0] = p[i * 4 + 2]; z[0] = p[i * 4 + 2];
z[1] = p[i * 4 + 3]; z[1] = p[i * 4 + 3];
@ -1202,16 +1201,19 @@ bool html_redraw_border_plot(int i, int *p, colour c,
z[7] = p[i * 4 + 5]; z[7] = p[i * 4 + 5];
switch (light) { switch (light) {
case 0: case 0:
c = html_redraw_lighter(c); c_plot = double_lighten_colour(c);
break;
case 3: case 3:
c = html_redraw_lighter(c); c_plot = lighten_colour(c);
break; break;
case 2: case 2:
c = html_redraw_darker(c); c_plot = double_darken_colour(c);
break;
case 1: case 1:
c = html_redraw_darker(c); c_plot = darken_colour(c);
break;
} }
if (!plot.polygon(z, 4, c)) if (!plot.polygon(z, 4, c_plot))
return false; return false;
break; break;
} }
@ -1221,36 +1223,6 @@ bool html_redraw_border_plot(int i, int *p, colour c,
} }
/**
* Make a colour darker.
*
* \param c colour
* \return a darker shade of c
*/
#define mix_colour(c0, c1) ((((c0 >> 16) + 3 * (c1 >> 16)) >> 2) << 16) | \
(((((c0 >> 8) & 0xff) + 3 * ((c1 >> 8) & 0xff)) >> 2) << 8) | \
((((c0 & 0xff) + 3 * (c1 & 0xff)) >> 2) << 0);
colour html_redraw_darker(colour c)
{
return mix_colour(0x000000, c)
}
/**
* Make a colour lighter.
*
* \param c colour
* \return a lighter shade of c
*/
colour html_redraw_lighter(colour c)
{
return mix_colour(0xffffff, c)
}
/** /**
* Plot a checkbox. * Plot a checkbox.
* *
@ -1319,8 +1291,8 @@ bool html_redraw_checkbox(int x, int y, int width, int height,
bool html_redraw_radio(int x, int y, int width, int height, bool html_redraw_radio(int x, int y, int width, int height,
bool selected) bool selected)
{ {
int dark = html_redraw_darker(html_redraw_darker(WIDGET_BASEC)); int dark = double_darken_colour(WIDGET_BASEC);
int lite = html_redraw_lighter(html_redraw_lighter(WIDGET_BASEC)); int lite = double_lighten_colour(WIDGET_BASEC);
/* plot background of radio button */ /* plot background of radio button */
if (!plot.disc(x + width * 0.5, y + height * 0.5, if (!plot.disc(x + width * 0.5, y + height * 0.5,