diff options
-rw-r--r-- | gdk/gdkinternals.h | 2 | ||||
-rw-r--r-- | gdk/gdkwindow.c | 4 | ||||
-rw-r--r-- | gdk/gdkwindowimpl.h | 2 | ||||
-rw-r--r-- | gdk/quartz/gdkwindow-quartz.c | 10 | ||||
-rw-r--r-- | gdk/win32/gdkwindow-win32.c | 10 | ||||
-rw-r--r-- | gdk/x11/gdkwindow-x11.c | 10 |
6 files changed, 22 insertions, 16 deletions
diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 7da2d83821..830e5d7a03 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -356,8 +356,6 @@ gulong _gdk_windowing_window_get_next_serial (GdkDisplay *display); void _gdk_windowing_window_get_offsets (GdkWindow *window, gint *x_offset, gint *y_offset); -cairo_region_t *_gdk_windowing_window_get_shape (GdkWindow *window); -cairo_region_t *_gdk_windowing_window_get_input_shape(GdkWindow *window); void _gdk_windowing_window_beep (GdkWindow *window); diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index ac46daa677..9e84e2a280 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -718,7 +718,7 @@ remove_child_area (GdkWindow *private, } else if (private->window_type == GDK_WINDOW_FOREIGN) { - shape = _gdk_windowing_window_get_shape ((GdkWindow *)child); + shape = GDK_WINDOW_IMPL_GET_CLASS (child)->get_shape (child); if (shape) { cairo_region_intersect (child_region, shape); @@ -732,7 +732,7 @@ remove_child_area (GdkWindow *private, cairo_region_intersect (child_region, child->input_shape); else if (private->window_type == GDK_WINDOW_FOREIGN) { - shape = _gdk_windowing_window_get_input_shape ((GdkWindow *)child); + shape = GDK_WINDOW_IMPL_GET_CLASS (child)->get_input_shape (child); if (shape) { cairo_region_intersect (child_region, shape); diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h index 6f246ffc88..dfcf3b4dc7 100644 --- a/gdk/gdkwindowimpl.h +++ b/gdk/gdkwindowimpl.h @@ -104,6 +104,8 @@ struct _GdkWindowImplClass gint *y, GdkModifierType *mask); + cairo_region_t * (* get_shape) (GdkWindow *window); + cairo_region_t * (* get_input_shape) (GdkWindow *window); void (* shape_combine_region) (GdkWindow *window, const cairo_region_t *shape_region, gint offset_x, diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 4efe872fad..42117ac557 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -2954,15 +2954,15 @@ _gdk_windowing_window_set_composited (GdkWindow *window, gboolean composited) { } -cairo_region_t * -_gdk_windowing_window_get_shape (GdkWindow *window) +static cairo_region_t * +gdk_quartz_window_get_shape (GdkWindow *window) { /* FIXME: implement */ return NULL; } -cairo_region_t * -_gdk_windowing_window_get_input_shape (GdkWindow *window) +static cairo_region_t * +gdk_quartz_window_get_input_shape (GdkWindow *window) { /* FIXME: implement */ return NULL; @@ -2993,6 +2993,8 @@ gdk_window_impl_iface_init (GdkWindowImplIface *iface) iface->translate = _gdk_quartz_window_translate; iface->destroy = _gdk_quartz_window_destroy; iface->resize_cairo_surface = gdk_window_quartz_resize_cairo_surface; + iface->get_shape = gdk_quartz_window_get_shape; + iface->get_input_shape = gdk_quartz_window_get_input_shape; } diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 8b73ac2edb..ad291b24f4 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -3170,8 +3170,8 @@ _gdk_windowing_window_set_composited (GdkWindow *window, gboolean composited) { } -cairo_region_t * -_gdk_windowing_window_get_shape (GdkWindow *window) +static cairo_region_t * +gdk_win32_window_get_shape (GdkWindow *window) { HRGN hrgn = CreateRectRgn (0, 0, 0, 0); int type = GetWindowRgn (GDK_WINDOW_HWND (window), hrgn); @@ -3187,8 +3187,8 @@ _gdk_windowing_window_get_shape (GdkWindow *window) return NULL; } -cairo_region_t * -_gdk_windowing_window_get_input_shape (GdkWindow *window) +static cairo_region_t * +_gdk_win32_window_get_input_shape (GdkWindow *window) { /* CHECK: are these really supposed to be the same? */ return _gdk_windowing_window_get_shape (window); @@ -3306,6 +3306,8 @@ gdk_window_impl_iface_init (GdkWindowImplIface *iface) iface->translate = _gdk_win32_window_translate; iface->destroy = _gdk_win32_window_destroy; iface->resize_cairo_surface = gdk_win32_window_resize_cairo_surface; + iface->get_shape = gdk_win32_window_get_shape; + iface->get_input_shape = gdk_win32_window_get_input_shape; } gboolean diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 052b012d47..d3c4a8ec2a 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -4570,8 +4570,8 @@ _xwindow_get_shape (Display *xdisplay, } -cairo_region_t * -_gdk_windowing_window_get_shape (GdkWindow *window) +static cairo_region_t * +gdk_x11_window_get_shape (GdkWindow *window) { if (!GDK_WINDOW_DESTROYED (window) && gdk_display_supports_shapes (GDK_WINDOW_DISPLAY (window))) @@ -4581,8 +4581,8 @@ _gdk_windowing_window_get_shape (GdkWindow *window) return NULL; } -cairo_region_t * -_gdk_windowing_window_get_input_shape (GdkWindow *window) +static cairo_region_t * +gdk_x11_window_get_input_shape (GdkWindow *window) { #if defined(ShapeInput) if (!GDK_WINDOW_DESTROYED (window) && @@ -5589,5 +5589,7 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) impl_class->translate = _gdk_x11_window_translate; impl_class->destroy = _gdk_x11_window_destroy; impl_class->resize_cairo_surface = gdk_window_x11_resize_cairo_surface; + impl_class->get_shape = gdk_x11_window_get_shape; + impl_class->get_input_shape = gdk_x11_window_get_input_shape; } |