mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-22 04:22:29 +00:00
app: draw the statusbar's icon with cairo
This commit is contained in:
parent
4466b3a35b
commit
ac80163771
|
@ -1330,9 +1330,15 @@ gimp_statusbar_label_expose (GtkWidget *widget,
|
|||
{
|
||||
if (statusbar->icon)
|
||||
{
|
||||
cairo_t *cr;
|
||||
PangoRectangle rect;
|
||||
gint x, y;
|
||||
|
||||
cr = gdk_cairo_create (event->window);
|
||||
|
||||
gdk_cairo_region (cr, event->region);
|
||||
cairo_clip (cr);
|
||||
|
||||
gtk_label_get_layout_offsets (GTK_LABEL (widget), &x, &y);
|
||||
|
||||
pango_layout_index_to_pos (gtk_label_get_layout (GTK_LABEL (widget)), 0,
|
||||
|
@ -1343,14 +1349,10 @@ gimp_statusbar_label_expose (GtkWidget *widget,
|
|||
PANGO_PIXELS (rect.width) : 0);
|
||||
y += PANGO_PIXELS (rect.y);
|
||||
|
||||
gdk_draw_pixbuf (gtk_widget_get_window (widget),
|
||||
gtk_widget_get_style (widget)->black_gc,
|
||||
statusbar->icon,
|
||||
0, 0,
|
||||
x, y,
|
||||
gdk_pixbuf_get_width (statusbar->icon),
|
||||
gdk_pixbuf_get_height (statusbar->icon),
|
||||
GDK_RGB_DITHER_NORMAL, 0, 0);
|
||||
gdk_cairo_set_source_pixbuf (cr, statusbar->icon, x, y);
|
||||
cairo_paint (cr);
|
||||
|
||||
cairo_destroy (cr);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
|
Loading…
Reference in a new issue