[gtk/wip/otte/no-clip-on-draw: 10/10] gdk: Remove gdk_cairo_get_clip_rectangle()
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/otte/no-clip-on-draw: 10/10] gdk: Remove gdk_cairo_get_clip_rectangle()
- Date: Thu, 13 Feb 2020 05:32:43 +0000 (UTC)
commit ef599ef2f30c2e2828444548204947505a55867a
Author: Benjamin Otte <otte redhat com>
Date: Wed Feb 12 23:45:51 2020 +0100
gdk: Remove gdk_cairo_get_clip_rectangle()
The function is fundamentally broken for unbounded surfaces.
If a surface is unbounded, we cannot represent this as a
cairo_rectangle_int_t, and using the return value doesn't work because
it's already used for something else.
In GTK3, unbounded surfaces aren't a problem, but GTK4 uses recording
surfaces.
So better remove that function before we keep using it and using it
wrong.
docs/reference/gdk/gdk4-sections.txt | 1 -
gdk/gdkcairo.c | 39 ------------------------------------
gdk/gdkcairo.h | 4 ----
3 files changed, 44 deletions(-)
---
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
index bb56a12c26..12cf24b475 100644
--- a/docs/reference/gdk/gdk4-sections.txt
+++ b/docs/reference/gdk/gdk4-sections.txt
@@ -366,7 +366,6 @@ gdk_pango_layout_line_get_clip_region
<TITLE>Cairo Interaction</TITLE>
<FILE>cairo_interaction</FILE>
gdk_surface_create_similar_surface
-gdk_cairo_get_clip_rectangle
gdk_cairo_set_source_rgba
gdk_cairo_set_source_pixbuf
gdk_cairo_rectangle
diff --git a/gdk/gdkcairo.c b/gdk/gdkcairo.c
index c5917cfeb9..e9fcdff086 100644
--- a/gdk/gdkcairo.c
+++ b/gdk/gdkcairo.c
@@ -39,45 +39,6 @@
*/
-/**
- * gdk_cairo_get_clip_rectangle:
- * @cr: a cairo context
- * @rect: (out) (allow-none): return location for the clip, or %NULL
- *
- * This is a convenience function around cairo_clip_extents().
- * It rounds the clip extents to integer coordinates and returns
- * a boolean indicating if a clip area exists.
- *
- * Returns: %TRUE if a clip rectangle exists, %FALSE if all of @cr is
- * clipped and all drawing can be skipped
- */
-gboolean
-gdk_cairo_get_clip_rectangle (cairo_t *cr,
- GdkRectangle *rect)
-{
- double x1, y1, x2, y2;
- gboolean clip_exists;
-
- cairo_clip_extents (cr, &x1, &y1, &x2, &y2);
-
- clip_exists = x1 < x2 && y1 < y2;
-
- if (rect)
- {
- x1 = floor (x1);
- y1 = floor (y1);
- x2 = ceil (x2);
- y2 = ceil (y2);
-
- rect->x = CLAMP (x1, G_MININT, G_MAXINT);
- rect->y = CLAMP (y1, G_MININT, G_MAXINT);
- rect->width = CLAMP (x2 - x1, G_MININT, G_MAXINT);
- rect->height = CLAMP (y2 - y1, G_MININT, G_MAXINT);
- }
-
- return clip_exists;
-}
-
/**
* gdk_cairo_set_source_rgba:
* @cr: a cairo context
diff --git a/gdk/gdkcairo.h b/gdk/gdkcairo.h
index c4e2d3836c..49b4117eb0 100644
--- a/gdk/gdkcairo.h
+++ b/gdk/gdkcairo.h
@@ -29,10 +29,6 @@
G_BEGIN_DECLS
-GDK_AVAILABLE_IN_ALL
-gboolean gdk_cairo_get_clip_rectangle (cairo_t *cr,
- GdkRectangle *rect);
-
GDK_AVAILABLE_IN_ALL
void gdk_cairo_set_source_rgba (cairo_t *cr,
const GdkRGBA *rgba);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]