diff options
-rw-r--r-- | docs/reference/gdk/gdk3-sections.txt | 1 | ||||
-rw-r--r-- | gdk/gdkrectangle.c | 21 | ||||
-rw-r--r-- | gdk/gdkrectangle.h | 4 | ||||
-rw-r--r-- | gtk/gtkframe.c | 12 | ||||
-rw-r--r-- | gtk/gtkrange.c | 12 |
5 files changed, 28 insertions, 22 deletions
diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 1aaefb5e6b..8309d1d977 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -631,6 +631,7 @@ GdkPoint GdkRectangle gdk_rectangle_intersect gdk_rectangle_union +gdk_rectangle_equal <SUBSECTION Private> gdk_rectangle_get_type diff --git a/gdk/gdkrectangle.c b/gdk/gdkrectangle.c index 404ffcad79..84abd2ffd7 100644 --- a/gdk/gdkrectangle.c +++ b/gdk/gdkrectangle.c @@ -133,6 +133,27 @@ gdk_rectangle_intersect (const GdkRectangle *src1, return return_val; } +/** + * gdk_rectangle_equal: + * @rect1: a #GdkRectangle + * @rect2: a #GdkRectangle + * + * Checks if the two given rectangles are equal. + * + * Returns: %TRUE if the rectangles are equal. + * + * Since: 3.20 + */ +gboolean +gdk_rectangle_equal (const GdkRectangle *rect1, + const GdkRectangle *rect2) +{ + return rect1->x == rect2->x + && rect1->y == rect2->y + && rect1->width == rect2->width + && rect1->height == rect2->height; +} + static GdkRectangle * gdk_rectangle_copy (const GdkRectangle *rectangle) { diff --git a/gdk/gdkrectangle.h b/gdk/gdkrectangle.h index e098ea970f..7c0252ff0b 100644 --- a/gdk/gdkrectangle.h +++ b/gdk/gdkrectangle.h @@ -45,6 +45,10 @@ void gdk_rectangle_union (const GdkRectangle *src1, const GdkRectangle *src2, GdkRectangle *dest); +GDK_AVAILABLE_IN_3_20 +gboolean gdk_rectangle_equal (const GdkRectangle *rect1, + const GdkRectangle *rect2); + GDK_AVAILABLE_IN_ALL GType gdk_rectangle_get_type (void) G_GNUC_CONST; diff --git a/gtk/gtkframe.c b/gtk/gtkframe.c index 8a0e3e2c40..b5fe4e574f 100644 --- a/gtk/gtkframe.c +++ b/gtk/gtkframe.c @@ -707,16 +707,6 @@ gtk_frame_draw (GtkWidget *widget, return FALSE; } -static gboolean -rectangle_equal (const GdkRectangle *a, - const GdkRectangle *b) -{ - return a->x == b->x - && a->y == b->y - && a->width == b->width - && a->height == b->height; -} - static void gtk_frame_size_allocate (GtkWidget *widget, GtkAllocation *allocation) @@ -734,7 +724,7 @@ gtk_frame_size_allocate (GtkWidget *widget, /* If the child allocation changed, that means that the frame is drawn * in a new place, so we must redraw the entire widget. */ - if (gtk_widget_get_mapped (widget) && !rectangle_equal (&priv->child_allocation, &new_allocation)) + if (gtk_widget_get_mapped (widget) && !gdk_rectangle_equal (&priv->child_allocation, &new_allocation)) { gdk_window_invalidate_rect (gtk_widget_get_window (widget), allocation, FALSE); } diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 6217ae0e7f..f79001771b 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -3655,16 +3655,6 @@ gtk_range_compute_slider_position (GtkRange *range, } } -static gboolean -rectangle_equal (const GdkRectangle *a, - const GdkRectangle *b) -{ - return a->x == b->x - && a->y == b->y - && a->width == b->width - && a->height == b->height; -} - static void gtk_range_calc_slider (GtkRange *range) { @@ -3675,7 +3665,7 @@ gtk_range_calc_slider (GtkRange *range) gtk_adjustment_get_value (priv->adjustment), &new_slider); - if (rectangle_equal (&priv->slider, &new_slider)) + if (gdk_rectangle_equal (&priv->slider, &new_slider)) return; gtk_range_queue_draw_location (range, MOUSE_SLIDER); |