[perl-Gtk2] Wrap most GdkWindow methods added in gtk+ 2.18



commit f3784571dcc4375123ac7a414585a5014d1a3610
Author: Torsten Schönfeld <kaffeetisch gmx de>
Date:   Thu Apr 22 23:38:06 2010 +0200

    Wrap most GdkWindow methods added in gtk+ 2.18
    
    Specifically: gdk_window_ensure_native, gdk_window_flush,
    gdk_window_geometry_changed, gdk_window_get_cursor and
    gdk_window_restack.

 t/GdkWindow.t   |   20 +++++++++++++++++++-
 xs/GdkWindow.xs |   14 ++++++++++++++
 2 files changed, 33 insertions(+), 1 deletions(-)
---
diff --git a/t/GdkWindow.t b/t/GdkWindow.t
index f161fb3..06d3b31 100644
--- a/t/GdkWindow.t
+++ b/t/GdkWindow.t
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 use strict;
-use Gtk2::TestHelper tests => 40;
+use Gtk2::TestHelper tests => 43;
 
 # $Id$
 
@@ -314,6 +314,24 @@ SKIP: {
   $window -> remove_redirection();
 }
 
+SKIP: {
+  skip 'new 2.18 stuff', 3
+    unless Gtk2->CHECK_VERSION(2, 18, 0);
+
+  my $window = Gtk2::Gdk::Window -> new(undef, { window_type => 'toplevel' });
+  $window -> flush();
+  ok($window -> ensure_native());
+  $window -> geometry_changed();
+
+  is($window -> get_cursor(), undef);
+  $window -> set_cursor(Gtk2::Gdk::Cursor -> new("arrow"));
+  isa_ok($window -> get_cursor(), 'Gtk2::Gdk::Cursor');
+
+  my $sibling = Gtk2::Gdk::Window -> new(undef, { window_type => 'toplevel' });
+  $window -> restack(undef, TRUE);
+  $window -> restack($sibling, TRUE);
+}
+
 $window -> hide();
 
 __END__
diff --git a/xs/GdkWindow.xs b/xs/GdkWindow.xs
index 83fc524..c82aef3 100644
--- a/xs/GdkWindow.xs
+++ b/xs/GdkWindow.xs
@@ -948,6 +948,20 @@ void gdk_window_remove_redirection (GdkWindow *window)
 
 #endif /* 2.14 */
 
+#if GTK_CHECK_VERSION (2, 18, 0)
+
+void gdk_window_flush (GdkWindow *window);
+
+gboolean gdk_window_ensure_native (GdkWindow *window);
+
+void gdk_window_geometry_changed (GdkWindow *window);
+
+GdkCursor_ornull * gdk_window_get_cursor (GdkWindow *window);
+
+void gdk_window_restack (GdkWindow *window, GdkWindow_ornull *sibling, gboolean above);
+
+#endif /* 2.18 */
+
 MODULE = Gtk2::Gdk::Window	PACKAGE = Gtk2::Gdk	PREFIX = gdk_
 
 GdkWindow *gdk_get_default_root_window (class)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]