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:
@ -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);
|
||||
|
||||
Reference in New Issue
Block a user