libgimpwidgets: port GimpCellRendererToggle drawing to cairo
This commit is contained in:
@ -367,18 +367,18 @@ gimp_cell_renderer_toggle_render (GtkCellRenderer *cell,
|
|||||||
toggle_rect.height -= style->ythickness * 2;
|
toggle_rect.height -= style->ythickness * 2;
|
||||||
|
|
||||||
if (gdk_rectangle_intersect (&draw_rect, &toggle_rect, &draw_rect))
|
if (gdk_rectangle_intersect (&draw_rect, &toggle_rect, &draw_rect))
|
||||||
gdk_draw_pixbuf (window,
|
{
|
||||||
style->black_gc,
|
cairo_t *cr = gdk_cairo_create (window);
|
||||||
toggle->pixbuf,
|
|
||||||
/* pixbuf 0, 0 is at toggle_rect.x, toggle_rect.y */
|
gdk_cairo_rectangle (cr, &draw_rect);
|
||||||
draw_rect.x - toggle_rect.x,
|
cairo_clip (cr);
|
||||||
draw_rect.y - toggle_rect.y,
|
|
||||||
draw_rect.x,
|
gdk_cairo_set_source_pixbuf (cr, toggle->pixbuf,
|
||||||
draw_rect.y,
|
toggle_rect.x, toggle_rect.y);
|
||||||
draw_rect.width,
|
cairo_paint (cr);
|
||||||
draw_rect.height,
|
|
||||||
GDK_RGB_DITHER_NORMAL,
|
cairo_destroy (cr);
|
||||||
0, 0);
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user