Deprecate the GdkRegion API

Includes fixing all callers to use the cairo region API instead. This is
usually just replacing the function names, the only difference is
gdk_region_get_rectangles() being replaced by
cairo_region_num_rectangles() and cairo_region_get_rectangle() which
required a bit more work.

https://bugzilla.gnome.org/show_bug.cgi?id=613284
This commit is contained in:
Benjamin Otte
2010-06-28 14:44:12 +02:00
parent 52200eee01
commit 3e96cfe8fc
32 changed files with 644 additions and 596 deletions

View File

@ -4044,8 +4044,8 @@ gtk_tree_view_update_rubber_band (GtkTreeView *tree_view)
new_area.width = ABS (x - tree_view->priv->press_start_x) + 1;
new_area.height = ABS (y - tree_view->priv->press_start_y) + 1;
invalid_region = gdk_region_rectangle (&old_area);
gdk_region_union_with_rect (invalid_region, &new_area);
invalid_region = cairo_region_create_rectangle (&old_area);
cairo_region_union_rectangle (invalid_region, &new_area);
gdk_rectangle_intersect (&old_area, &new_area, &common);
if (common.width > 2 && common.height > 2)
@ -4058,15 +4058,15 @@ gtk_tree_view_update_rubber_band (GtkTreeView *tree_view)
common.width -= 2;
common.height -= 2;
common_region = gdk_region_rectangle (&common);
common_region = cairo_region_create_rectangle (&common);
gdk_region_subtract (invalid_region, common_region);
gdk_region_destroy (common_region);
cairo_region_subtract (invalid_region, common_region);
cairo_region_destroy (common_region);
}
gdk_window_invalidate_region (tree_view->priv->bin_window, invalid_region, TRUE);
gdk_region_destroy (invalid_region);
cairo_region_destroy (invalid_region);
tree_view->priv->rubber_band_x = x;
tree_view->priv->rubber_band_y = y;
@ -4532,7 +4532,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
cell_area.height -= grid_line_width;
}
if (gdk_region_rect_in (event->region, &background_area) == GDK_OVERLAP_RECTANGLE_OUT)
if (cairo_region_contains_rectangle (event->region, &background_area) == CAIRO_REGION_OVERLAP_OUT)
{
cell_offset += column->width;
continue;
@ -5003,20 +5003,19 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
done:
gtk_tree_view_draw_grid_lines (tree_view, event, n_visible_columns);
if (tree_view->priv->rubber_band_status == RUBBER_BAND_ACTIVE)
{
GdkRectangle *rectangles;
gint n_rectangles;
gdk_region_get_rectangles (event->region,
&rectangles,
&n_rectangles);
while (n_rectangles--)
gtk_tree_view_paint_rubber_band (tree_view, &rectangles[n_rectangles]);
g_free (rectangles);
}
if (tree_view->priv->rubber_band_status == RUBBER_BAND_ACTIVE)
{
GdkRectangle rectangle;
gint n_rectangles;
n_rectangles = cairo_region_num_rectangles (event->region);
while (n_rectangles--)
{
cairo_region_get_rectangle (event->region, n_rectangles, &rectangle);
gtk_tree_view_paint_rubber_band (tree_view, &rectangle);
}
}
if (cursor_path)
gtk_tree_path_free (cursor_path);