static void gdk_wayland_vulkan_context_class_init (GdkWaylandVulkanContextClass *klass) { GdkVulkanContextClass *vulkan_context_class = GDK_VULKAN_CONTEXT_CLASS (klass); GdkDrawContextClass *draw_context_class = GDK_DRAW_CONTEXT_CLASS (klass); vulkan_context_class->create_surface = gdk_wayland_vulkan_context_create_surface; draw_context_class->end_frame = gdk_vulkan_context_wayland_end_frame; }
static void gdk_x11_vulkan_context_class_init (GdkX11VulkanContextClass *klass) { GdkVulkanContextClass *context_class = GDK_VULKAN_CONTEXT_CLASS (klass); GdkDrawContextClass *draw_context_class = GDK_DRAW_CONTEXT_CLASS (klass); draw_context_class->end_frame = gdk_x11_vulkan_context_end_frame; context_class->create_surface = gdk_x11_vulkan_context_create_surface; }
static void gdk_x11_vulkan_context_end_frame (GdkDrawContext *context, cairo_region_t *painted) { GdkSurface *surface = gdk_draw_context_get_surface (context); gdk_x11_surface_pre_damage (surface); GDK_DRAW_CONTEXT_CLASS (gdk_x11_vulkan_context_parent_class)->end_frame (context, painted); }
static void gdk_vulkan_context_wayland_end_frame (GdkDrawContext *context, cairo_region_t *painted, cairo_region_t *damage) { GdkWindow *window = gdk_draw_context_get_window (GDK_DRAW_CONTEXT (context)); GDK_DRAW_CONTEXT_CLASS (gdk_wayland_vulkan_context_parent_class)->end_frame (context, painted, damage); gdk_wayland_window_sync (window); }