A couple more updates use the GTK3 drawing APIs

This commit is contained in:
William Jon McCann 2010-10-02 17:45:40 -04:00
parent 4828b97c79
commit 533b044dc9
2 changed files with 5 additions and 15 deletions

View file

@ -470,11 +470,10 @@ backgrounds_changed_cb (GtkIconView *icon_view,
}
static gboolean
preview_expose_cb (GtkWidget *widget,
GdkEventExpose *expose,
CcBackgroundPanel *panel)
preview_draw_cb (GtkWidget *widget,
cairo_t *cr,
CcBackgroundPanel *panel)
{
cairo_t *cr;
GtkAllocation allocation;
CcBackgroundPanelPrivate *priv = panel->priv;
GdkPixbuf *pixbuf = NULL;
@ -485,8 +484,6 @@ preview_expose_cb (GtkWidget *widget,
GdkPixbuf *preview, *temp;
gint size;
cr = gdk_cairo_create (gtk_widget_get_window (widget));
gtk_widget_get_allocation (widget, &allocation);
if (priv->current_background)
@ -536,7 +533,6 @@ preview_expose_cb (GtkWidget *widget,
allocation.width / 2 - (size / 2),
allocation.height / 2 - (size / 2));
cairo_paint (cr);
cairo_destroy (cr);
g_object_unref (temp);
g_object_unref (preview);
@ -687,7 +683,7 @@ cc_background_panel_init (CcBackgroundPanel *self)
/* setup preview area */
widget = WID ("preview-area");
g_signal_connect (widget, "expose-event", G_CALLBACK (preview_expose_cb),
g_signal_connect (widget, "draw", G_CALLBACK (preview_draw_cb),
self);
priv->display_base = gdk_pixbuf_new_from_file (DATADIR "/display-base.png",

View file

@ -219,21 +219,17 @@ shell_search_renderer_get_size (GtkCellRenderer *cell,
static void
shell_search_renderer_render (GtkCellRenderer *cell,
GdkDrawable *window,
cairo_t *cr,
GtkWidget *widget,
GdkRectangle *background_area,
GdkRectangle *cell_area,
GdkRectangle *expose_area,
GtkCellRendererState flags)
{
ShellSearchRendererPrivate *priv = SHELL_SEARCH_RENDERER (cell)->priv;
cairo_t *cr;
PangoRectangle rect;
shell_search_renderer_set_layout (SHELL_SEARCH_RENDERER (cell), widget);
cr = gdk_cairo_create (window);
pango_layout_get_pixel_extents (priv->layout, NULL, &rect);
cairo_move_to (cr, cell_area->x, cell_area->y);
@ -243,8 +239,6 @@ shell_search_renderer_render (GtkCellRenderer *cell,
if (priv->layout)
pango_cairo_layout_path (cr, priv->layout);
cairo_fill (cr);
cairo_destroy (cr);
}
static void