theme: Use cairo for drawing uncolorized IMAGEs

https://bugzilla.gnome.org/show_bug.cgi?id=662962
This commit is contained in:
Jasper St. Pierre 2011-10-28 22:02:18 -04:00
parent 23f086da8a
commit 7e12000d97

View File

@ -3813,17 +3813,25 @@ meta_draw_op_draw_with_env (const MetaDrawOp *op,
env->object_height = gdk_pixbuf_get_height (op->data.image.pixbuf); 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); rwidth = parse_size_unchecked (op->data.image.width, env);
rheight = parse_size_unchecked (op->data.image.height, env); rheight = parse_size_unchecked (op->data.image.height, env);
if (op->data.image.colorize_spec == NULL)
{
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, pixbuf = draw_op_as_pixbuf (op, style_gtk, info,
rwidth, rheight); rwidth, rheight);
if (pixbuf)
{
rx = parse_x_position_unchecked (op->data.image.x, env);
ry = parse_y_position_unchecked (op->data.image.y, env);
gdk_cairo_set_source_pixbuf (cr, pixbuf, rx, ry); gdk_cairo_set_source_pixbuf (cr, pixbuf, rx, ry);
if (op->data.image.alpha_spec) if (op->data.image.alpha_spec)