mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-14 06:10:21 +00:00
Merge branch 'macos-gtk-4-12' into 'gtk-4-12'
macOS: Clamp damage region to surface size [GTK 4.12] See merge request GNOME/gtk!6389
This commit is contained in:
commit
41bf17dd45
@ -188,6 +188,14 @@ copy_surface_data (GdkMacosBuffer *from,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
clamp_region_to_surface (cairo_region_t *region,
|
||||||
|
GdkSurface *surface)
|
||||||
|
{
|
||||||
|
cairo_rectangle_int_t rectangle = {0, 0, surface->width, surface->height};
|
||||||
|
cairo_region_intersect_rectangle (region, &rectangle);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_gdk_macos_cairo_context_begin_frame (GdkDrawContext *draw_context,
|
_gdk_macos_cairo_context_begin_frame (GdkDrawContext *draw_context,
|
||||||
GdkMemoryDepth depth,
|
GdkMemoryDepth depth,
|
||||||
@ -205,6 +213,8 @@ _gdk_macos_cairo_context_begin_frame (GdkDrawContext *draw_context,
|
|||||||
surface = GDK_MACOS_SURFACE (gdk_draw_context_get_surface (draw_context));
|
surface = GDK_MACOS_SURFACE (gdk_draw_context_get_surface (draw_context));
|
||||||
buffer = _gdk_macos_surface_get_buffer (surface);
|
buffer = _gdk_macos_surface_get_buffer (surface);
|
||||||
|
|
||||||
|
clamp_region_to_surface (region, GDK_SURFACE (surface));
|
||||||
|
|
||||||
_gdk_macos_buffer_set_damage (buffer, region);
|
_gdk_macos_buffer_set_damage (buffer, region);
|
||||||
_gdk_macos_buffer_set_flipped (buffer, FALSE);
|
_gdk_macos_buffer_set_flipped (buffer, FALSE);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user