diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-06-13 13:48:00 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-06-13 13:48:00 +0000 |
| commit | 89ade7a8c1a5f825f61657cb185246cefbd4e96e (patch) | |
| tree | 96849b9a885905bfeab8df6a7512bf84332c95b1 /render/theme.c | |
| parent | aaba799e1d7d48f33de3eb7b8956f5572c013141 (diff) | |
don't alloc/free colors every time splitvertical is drawn
Diffstat (limited to 'render/theme.c')
| -rw-r--r-- | render/theme.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/render/theme.c b/render/theme.c index 70944944..0edc81d7 100644 --- a/render/theme.c +++ b/render/theme.c @@ -1797,6 +1797,33 @@ static gboolean read_appearance(XrmDatabase db, const RrInstance *inst, value->surface.bevel_light_adjust = i; if (read_int(db, sname, &i) && i >= 0 && i <= 256) value->surface.bevel_dark_adjust = i; + + if (value->surface.grad == RR_SURFACE_SPLIT_VERTICAL) { + gint r, g, b; + + r = value->surface.primary->r; + r += r >> 2; + g = value->surface.primary->g; + g += g >> 2; + b = value->surface.primary->b; + b += b >> 2; + if (r > 0xFF) r = 0xFF; + if (g > 0xFF) g = 0xFF; + if (b > 0xFF) b = 0xFF; + value->surface.split_primary = RrColorNew(inst, r, g, b); + + r = value->surface.secondary->r; + r += r >> 4; + g = value->surface.secondary->g; + g += g >> 4; + b = value->surface.secondary->b; + b += b >> 4; + if (r > 0xFF) r = 0xFF; + if (g > 0xFF) g = 0xFF; + if (b > 0xFF) b = 0xFF; + value->surface.split_secondary = RrColorNew(inst, r, g, b); + } + ret = TRUE; } |
