diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-09-01 03:10:47 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-09-01 03:10:47 +0000 |
| commit | e91814e99f8e71fdf2d930acf43988110969547d (patch) | |
| tree | bc280f5ae1973f3ed64ddbc877033d57bd825497 /render/gradient.c | |
| parent | 93547b57949f3fbb125d1bf9520c006930932b3b (diff) | |
add interlaceColor, and support interlaced gradients
Diffstat (limited to 'render/gradient.c')
| -rw-r--r-- | render/gradient.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/render/gradient.c b/render/gradient.c index a08c258b..c2f7fac7 100644 --- a/render/gradient.c +++ b/render/gradient.c @@ -82,6 +82,23 @@ void RrRender(RrAppearance *a, int w, int h) a->surface.relief==RR_RELIEF_RAISED); } } + + if (a->surface.interlaced) { + int i; + RrPixel32 *p; + + r = a->surface.interlace_color->r; + g = a->surface.interlace_color->g; + b = a->surface.interlace_color->b; + current = (r << RrDefaultRedOffset) + + (g << RrDefaultGreenOffset) + + (b << RrDefaultBlueOffset); + p = data; + for (i = 0; i < h; i += 2, p += w) + for (x = 0; x < w; ++x, ++p) + *p = current; + } + } static void highlight(RrPixel32 *x, RrPixel32 *y, gboolean raised) @@ -166,7 +183,8 @@ static void gradient_solid(RrAppearance *l, int w, int h) if (sp->interlaced) { for (i = 0; i < h; i += 2) - XDrawLine(RrDisplay(l->inst), l->pixmap, RrColorGC(sp->secondary), + XDrawLine(RrDisplay(l->inst), l->pixmap, + RrColorGC(sp->interlace_color), 0, i, w, i); } |
