From 7e12000d97586b272ce316cbaef0ef6795ded765 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Fri, 28 Oct 2011 22:02:18 -0400 Subject: [PATCH] theme: Use cairo for drawing uncolorized IMAGEs https://bugzilla.gnome.org/show_bug.cgi?id=662962 --- src/ui/theme.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/ui/theme.c b/src/ui/theme.c index 5f53c48f6..72ffa9e51 100644 --- a/src/ui/theme.c +++ b/src/ui/theme.c @@ -3813,16 +3813,24 @@ meta_draw_op_draw_with_env (const MetaDrawOp *op, env->object_height = gdk_pixbuf_get_height (op->data.image.pixbuf); } + rx = parse_x_position_unchecked (op->data.image.x, env); + ry = parse_y_position_unchecked (op->data.image.y, env); + rwidth = parse_size_unchecked (op->data.image.width, env); rheight = parse_size_unchecked (op->data.image.height, env); - pixbuf = draw_op_as_pixbuf (op, style_gtk, info, - rwidth, rheight); - - if (pixbuf) + if (op->data.image.colorize_spec == NULL) { - rx = parse_x_position_unchecked (op->data.image.x, env); - ry = parse_y_position_unchecked (op->data.image.y, env); + draw_image (cr, + op->data.image.pixbuf, + op->data.image.fill_type, + op->data.image.alpha_spec, + rx, ry, rwidth, rheight); + } + else + { + pixbuf = draw_op_as_pixbuf (op, style_gtk, info, + rwidth, rheight); gdk_cairo_set_source_pixbuf (cr, pixbuf, rx, ry);