summaryrefslogtreecommitdiff
path: root/gdk/win32
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2010-10-05 15:21:40 +0200
committerKristian Rietveld <kris@gtk.org>2010-10-05 15:38:23 +0200
commiteca2af52306176ebd5370e35b71da7dc7b4f549e (patch)
tree6a13853524aec40e011efd46fec027a87b5d22e5 /gdk/win32
parenta472d1a4005fea0adab067dea0d263d50c804574 (diff)
downloadgtk+-eca2af52306176ebd5370e35b71da7dc7b4f549e.tar.gz
Make set_cairo_surface_size a vfunc on GdkWindowImpl
Note the special implementation of this method on GdkOffscreenWindow that makes sure its current surface is not destroyed.
Diffstat (limited to 'gdk/win32')
-rw-r--r--gdk/win32/gdkdrawable-win32.c9
-rw-r--r--gdk/win32/gdkwindow-win32.c13
2 files changed, 13 insertions, 9 deletions
diff --git a/gdk/win32/gdkdrawable-win32.c b/gdk/win32/gdkdrawable-win32.c
index beafd7b227..d2e0348adb 100644
--- a/gdk/win32/gdkdrawable-win32.c
+++ b/gdk/win32/gdkdrawable-win32.c
@@ -228,15 +228,6 @@ gdk_win32_ref_cairo_surface (GdkDrawable *drawable)
return impl->cairo_surface;
}
-gboolean
-_gdk_windowing_set_cairo_surface_size (cairo_surface_t *surface,
- gint width,
- gint height)
-{
- // Do nothing. The surface size is determined by the DC
- return FALSE;
-}
-
HGDIOBJ
gdk_win32_drawable_get_handle (GdkDrawable *drawable)
{
diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c
index 9869a8e19a..398be8dcb1 100644
--- a/gdk/win32/gdkwindow-win32.c
+++ b/gdk/win32/gdkwindow-win32.c
@@ -744,6 +744,18 @@ _gdk_win32_window_destroy (GdkWindow *window,
gdk_win32_handle_table_remove (GDK_WINDOW_HWND (window));
}
+static cairo_surface_t *
+gdk_win32_window_resize_cairo_surface (GdkWindow *window,
+ cairo_surface_t *surface,
+ gint width,
+ gint height)
+{
+ /* XXX: Make Cairo surface use DC clip */
+ cairo_surface_destroy (surface);
+
+ return NULL;
+}
+
void
_gdk_windowing_window_destroy_foreign (GdkWindow *window)
{
@@ -3299,6 +3311,7 @@ gdk_window_impl_iface_init (GdkWindowImplIface *iface)
iface->queue_antiexpose = _gdk_win32_window_queue_antiexpose;
iface->translate = _gdk_win32_window_translate;
iface->destroy = _gdk_win32_window_destroy;
+ iface->resize_cairo_surface = gdk_win32_window_resize_cairo_surface;
}
gboolean