[gtkmm] gdkmm: Wrapped new Device and Display methods.



commit 6a21793f571d91fb4a21214d585151db4c5a4fac
Author: Murray Cumming <murrayc murrayc com>
Date:   Mon Aug 2 16:30:50 2010 +0200

    gdkmm: Wrapped new Device and Display methods.
    
    	* gdk/src/cursor.hg: Added get_cursor_type().
    	* gdk/src/device.[hg|ccg]: Added get_key(), get_axis_use(), get_n_axes(),
    	get_axis_value(), get_display(), get_associated_device(), get_device_type(),
    	grab(), ungrab().
    	* gdk/src/display[hg|ccg]: Added device_is_grabbed(), get_device_state(),
    	get_window_at_device_position(), warp_device(), set_device_hooks(),
    	get_device_manager()
    	* gdk/src/filelist.am:
    	* gdk/src/devicemanager.[hg|ccg]: New files, adding DeviceManager.
    	* gdk/src/gdk_methods.defs:
    	* gdk/src/gdk_pixbuf_methods.defs: Regenerated with h2defs.py
    	* tools/m4/convert_gdk.m4: Added DeviceManager conversions.
    	* gtk/src/widget.hg: Added const version of get_accessible().

 ChangeLog                       |   18 ++++++++++++
 gdk/src/cursor.hg               |    2 +
 gdk/src/device.ccg              |    2 +
 gdk/src/device.hg               |   26 +++++++++++++++++
 gdk/src/devicemanager.ccg       |   18 ++++++++++++
 gdk/src/devicemanager.hg        |   57 +++++++++++++++++++++++++++++++++++++++
 gdk/src/display.ccg             |   16 +++++++++++
 gdk/src/display.hg              |   23 +++++++++++++++
 gdk/src/filelist.am             |    1 +
 gdk/src/gdk_methods.defs        |   18 ++++++++++++
 gdk/src/gdk_pixbuf_methods.defs |   41 ----------------------------
 gdk/src/window.hg               |    8 +++++
 gtk/src/widget.hg               |    2 +-
 tools/m4/convert_gdk.m4         |    8 +++++
 14 files changed, 198 insertions(+), 42 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 136a491..d2d14c1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2010-08-02  Murray Cumming  <murrayc murrayc com>
+
+	gdkmm: Wrapped new Device and Display methods.
+
+	* gdk/src/cursor.hg: Added get_cursor_type().
+	* gdk/src/device.[hg|ccg]: Added get_key(), get_axis_use(), get_n_axes(),
+	get_axis_value(), get_display(), get_associated_device(), get_device_type(), 
+	grab(), ungrab().
+	* gdk/src/display[hg|ccg]: Added device_is_grabbed(), get_device_state(), 
+	get_window_at_device_position(), warp_device(), set_device_hooks(), 
+	get_device_manager()
+	* gdk/src/filelist.am:
+	* gdk/src/devicemanager.[hg|ccg]: New files, adding DeviceManager.
+	* gdk/src/gdk_methods.defs:
+	* gdk/src/gdk_pixbuf_methods.defs: Regenerated with h2defs.py
+	* tools/m4/convert_gdk.m4: Added DeviceManager conversions.
+	* gtk/src/widget.hg: Added const version of get_accessible().
+
 2010-07-30  Murray Cumming  <murrayc murrayc com>
 
 	Application: Added get_windows() and create() without argc and argv.
diff --git a/gdk/src/cursor.hg b/gdk/src/cursor.hg
index 2d155a1..e9433f7 100644
--- a/gdk/src/cursor.hg
+++ b/gdk/src/cursor.hg
@@ -54,6 +54,8 @@ public:
 
   _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_image(), gdk_cursor_get_image)
   _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_image() const, gdk_cursor_get_image, constversion)
+  
+  _WRAP_METHOD(CursorType get_cursor_type() const, gdk_cursor_get_cursor_type)
 };
 
 } //namespace Gdk
diff --git a/gdk/src/device.ccg b/gdk/src/device.ccg
index 985ca29..0107bb1 100644
--- a/gdk/src/device.ccg
+++ b/gdk/src/device.ccg
@@ -19,6 +19,8 @@
  */
 
 #include <gdk/gdk.h>
+#include <gdkmm/cursor.h>
+#include <gdkmm/display.h>
 
 namespace Gdk
 {
diff --git a/gdk/src/device.hg b/gdk/src/device.hg
index 13cce6b..4f7456c 100644
--- a/gdk/src/device.hg
+++ b/gdk/src/device.hg
@@ -19,6 +19,7 @@
 
 #include <gdkmm/window.h>
 #include <gdkmm/event.h>
+//#include <gdkmm/display.h>
 #include <gdk/gdk.h>
 
 
@@ -31,6 +32,10 @@ namespace Gdk
 
 _WRAP_ENUM(InputMode, GdkInputMode)
 _WRAP_ENUM(InputSource, GdkInputSource)
+_WRAP_ENUM(DeviceType, GdkDeviceType)
+_WRAP_ENUM(GrabOwnership, GdkGrabOwnership)
+
+class Display;
 
 /** A Gdk::Device instance contains a detailed description of an extended input device.
  */
@@ -50,14 +55,35 @@ public:
   _WRAP_METHOD(void set_source(InputSource source), gdk_device_set_source)
   _WRAP_METHOD(InputMode get_mode() const, gdk_device_get_mode)
   _WRAP_METHOD(bool set_mode(InputMode mode), gdk_device_set_mode)
+  _WRAP_METHOD(bool get_key(guint index_, guint& keyval, ModifierType& modifiers), gdk_device_get_key)
   _WRAP_METHOD(void set_key(guint index_, guint keyval, ModifierType modifiers), gdk_device_set_key)
+  _WRAP_METHOD(AxisUse get_axis_use(guint index_) const, gdk_device_get_axis_use)
   _WRAP_METHOD(void set_axis_use(guint index_, AxisUse use), gdk_device_set_axis_use)
   _WRAP_METHOD(void get_state(const Glib::RefPtr<Window>& window, double& axes, ModifierType& mask), gdk_device_get_state)
 
   //TODO: Return a list instead because this is ugly and C-like:
   _WRAP_METHOD(bool get_history(const Glib::RefPtr<Window>& window, guint32 start, guint32 stop, GdkTimeCoord**& events, guint& n_events), gdk_device_get_history)
 
+
+  _WRAP_METHOD(guint get_n_axes() const, gdk_device_get_n_axes)
+ //TODO: A list of GdkAtom, which we should show as strings: _WRAP_METHOD(GList *  gdk_device_list_axes      () const, gdk_device_list_axes)
+  
+  //TODO: Use a string instead of a GdkAtom:
+  _WRAP_METHOD(bool get_axis_value(double& axes, GdkAtom axis_label, double& value) const, gdk_device_get_axis_value )
+                                    
   _WRAP_METHOD(bool get_axis(double& axes, AxisUse use, double& value) const, gdk_device_get_axis)
+  
+  _WRAP_METHOD(Glib::RefPtr<Display> get_display(), gdk_device_get_display, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<const Display> get_display() const, gdk_device_get_display, refreturn, constversion)
+
+  _WRAP_METHOD(Glib::RefPtr<Device> get_associated_device(), gdk_device_get_associated_device, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<const Device> get_associated_device() const, gdk_device_get_associated_device, refreturn, constversion)
+  
+  _WRAP_METHOD(DeviceType get_device_type() const, gdk_device_get_device_type)
+
+  _WRAP_METHOD(GdkGrabStatus grab(const Glib::RefPtr<Window>& window, GrabOwnership grab_ownership,  bool owner_events,  EventMask event_mask, const Cursor& cursor,  guint32 time_), gdk_device_grab)
+
+  _WRAP_METHOD(void ungrab(guint32 time_), gdk_device_ungrab)
 };
 
 } // namespace Gdk
diff --git a/gdk/src/devicemanager.ccg b/gdk/src/devicemanager.ccg
new file mode 100644
index 0000000..3d58fb7
--- /dev/null
+++ b/gdk/src/devicemanager.ccg
@@ -0,0 +1,18 @@
+/* $Id: devicemanager.ccg,v 1.3 2004/02/10 17:29:54 mxpxpod Exp $ */
+
+/* Copyright (C) 2010 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
diff --git a/gdk/src/devicemanager.hg b/gdk/src/devicemanager.hg
new file mode 100644
index 0000000..b41a6da
--- /dev/null
+++ b/gdk/src/devicemanager.hg
@@ -0,0 +1,57 @@
+/* $Id: devicemanager.hg,v 1.3 2004/02/10 17:29:54 mxpxpod Exp $ */
+
+/* Copyright (C) 20010 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/device.h>
+#include <gdkmm/display.h>
+#include <gdk/gdk.h>
+
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/object_p.h)
+
+
+namespace Gdk
+{
+
+/** TODO
+ * @newin{2,26}
+ */
+class DeviceManager : public Glib::Object
+{
+  _CLASS_GOBJECT(DeviceManager,GdkDeviceManager,GDK_DEVICE,Glib::Object,GObject)
+
+protected:
+  _CTOR_DEFAULT()
+
+public:
+
+  _WRAP_METHOD(Glib::RefPtr<Display> get_display(), gdk_device_manager_get_display, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<const Display> get_display() const, gdk_device_manager_get_display, refreturn, constversion)
+  _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Device> > list_devices(DeviceType type), gdk_device_manager_list_devices)
+  _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<const Device> > list_devices(DeviceType type) const, gdk_device_manager_list_devices)
+  
+
+  _WRAP_METHOD(Glib::RefPtr<Device> get_client_pointer(), gdk_device_manager_get_client_pointer, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<const Device> get_client_pointer() const, gdk_device_manager_get_client_pointer, refreturn, constversion)
+   
+  //TODO: Signals, properties.
+
+};
+
+} // namespace Gdk
diff --git a/gdk/src/display.ccg b/gdk/src/display.ccg
index 3e2e6da..93b136c 100644
--- a/gdk/src/display.ccg
+++ b/gdk/src/display.ccg
@@ -53,6 +53,22 @@ void Display::selection_send_notify(GdkNativeWindow requestor, Glib::ustring& se
   gdk_selection_send_notify_for_display(gobj(), requestor, Gdk::AtomString::to_c_type(selection), Gdk::AtomString::to_c_type(target), Gdk::AtomString::to_c_type(property), time_);
 }
 
+void Display::get_device_state(const Glib::RefPtr<Device>& device, Glib::RefPtr<Screen>& screen, int& x, int& y, ModifierType& mask)
+{
+  GdkScreen* cScreen = 0;
+  GdkModifierType cMask = (GdkModifierType)mask;
+  gdk_display_get_device_state(gobj(), Glib::unwrap(device), &cScreen, &x, &y, &cMask);
+  screen = Glib::wrap(cScreen);
+  mask = (ModifierType)cMask;
+}
+
+void Display::get_device_state(const Glib::RefPtr<Device>& device, int& x, int& y, ModifierType& mask)
+{
+  GdkModifierType cMask = (GdkModifierType)mask;
+  gdk_display_get_device_state(gobj(), Glib::unwrap(device), 0, &x, &y, &cMask);
+  mask = (ModifierType)cMask;
+}
+   
 void Display::get_pointer(Glib::RefPtr<Screen>& screen, int& x, int& y, ModifierType& mask)
 {
   GdkScreen* cScreen = 0;
diff --git a/gdk/src/display.hg b/gdk/src/display.hg
index cffdc54..4db751f 100644
--- a/gdk/src/display.hg
+++ b/gdk/src/display.hg
@@ -21,6 +21,7 @@
 
 #include <gdkmm/screen.h>
 #include <gdkmm/device.h>
+#include <gdkmm/devicemanager.h>
 #include <gdkmm/types.h> //For ModifierType
 _DEFS(gdkmm,gdk)
 _PINCLUDE(glibmm/private/object_p.h)
@@ -32,6 +33,7 @@ namespace Gdk
 _CC_INCLUDE(gdk/gdk.h)
 
 class Drawable;
+class DeviceManager;
 
  /** Gdk::Display object's purpose is two fold:
  *   To grab/ungrab keyboard focus and mouse pointer
@@ -63,10 +65,13 @@ public:
   _WRAP_METHOD(void pointer_ungrab(guint32 timestamp), gdk_display_pointer_ungrab)
   _WRAP_METHOD(void keyboard_ungrab(guint32 timestamp), gdk_display_keyboard_ungrab)
   _WRAP_METHOD(bool pointer_is_grabbed() const, gdk_display_pointer_is_grabbed)
+  _WRAP_METHOD(bool device_is_grabbed(const Glib::RefPtr<Device>& device) const, gdk_display_device_is_grabbed)
   _WRAP_METHOD(void beep(), gdk_display_beep)
   _WRAP_METHOD(void sync(), gdk_display_sync)
   _WRAP_METHOD(void	close(), gdk_display_close)
 
+  _IGNORE(gdk_display_list_devices) //deprecated
+
   //TODO: Use C++ Gdk::Event:
   //TODO: get_event() might remove the event - if so, then there should not be a const version:
   _WRAP_METHOD(GdkEvent* get_event(), gdk_display_get_event)
@@ -96,6 +101,8 @@ public:
    *
    **/
   void get_pointer(Glib::RefPtr<Screen>& screen, int& x, int& y, ModifierType& mask);
+  
+  _IGNORE(gdk_display_get_core_pointer) //deprecated
 
   // In fact, any one of these gdk_display_get_pointer() args can be NULL, but we don't need so many overloads.
   /**
@@ -127,6 +134,18 @@ public:
    */
   Glib::RefPtr<const Window> get_window_at_pointer() const;
 
+  //TODO: Documentation
+  void get_device_state(const Glib::RefPtr<Device>& device, Glib::RefPtr<Screen>& screen, int& x, int& y, ModifierType& mask);
+  //TODO: Documentation
+  void get_device_state(const Glib::RefPtr<Device>& device, int& x, int& y, ModifierType& mask);
+  _IGNORE(gdk_display_get_device_state)
+   
+  _WRAP_METHOD(Glib::RefPtr<const Window> get_window_at_device_position(const Glib::RefPtr<Device>& device, int& win_x, int& win_y), gdk_display_get_window_at_device_position)
+  _WRAP_METHOD(void warp_device(const Glib::RefPtr<Device>& device, const Glib::RefPtr<Screen>& screen, int x, int y), gdk_display_warp_device)
+                           
+  _WRAP_METHOD(GdkDisplayDeviceHooks* set_device_hooks(const GdkDisplayDeviceHooks* new_hooks), dk_display_set_device_hooks)
+
+                                 
   _WRAP_METHOD(void warp_pointer(const Glib::RefPtr<Screen>& screen, int x, int y), gdk_display_warp_pointer)
 
   _WRAP_METHOD(GdkDisplayPointerHooks* set_pointer_hooks(const GdkDisplayPointerHooks* new_hooks), gdk_display_set_pointer_hooks)
@@ -220,6 +239,10 @@ public:
   _WRAP_METHOD(bool supports_shapes() const, gdk_display_supports_shapes)
   _WRAP_METHOD(bool supports_input_shapes() const, gdk_display_supports_input_shapes)
   _WRAP_METHOD(bool supports_composite() const, gdk_display_supports_composite)
+  
+  _WRAP_METHOD(Glib::RefPtr<DeviceManager> get_device_manager(), gdk_display_get_device_manager, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<const DeviceManager> get_device_manager() const, gdk_display_get_device_manager, refreturn, constversion)
+
 
 
   /** The closed signal is emitted when the connection to the windowing
diff --git a/gdk/src/filelist.am b/gdk/src/filelist.am
index 9fdb770..b95dda6 100644
--- a/gdk/src/filelist.am
+++ b/gdk/src/filelist.am
@@ -17,6 +17,7 @@ gdkmm_files_hg =		\
 	colormap.hg		\
 	cursor.hg		\
 	device.hg		\
+	devicemanager.hg		\
 	display.hg		\
 	displaymanager.hg	\
 	dragcontext.hg		\
diff --git a/gdk/src/gdk_methods.defs b/gdk/src/gdk_methods.defs
index 7a52bc9..5b9997b 100644
--- a/gdk/src/gdk_methods.defs
+++ b/gdk/src/gdk_methods.defs
@@ -1105,6 +1105,12 @@
   (return-type "GdkPixbuf*")
 )
 
+(define-method get_cursor_type
+  (of-object "GdkCursor")
+  (c-name "gdk_cursor_get_cursor_type")
+  (return-type "GdkCursorType")
+)
+
 
 
 ;; From gdkdevice.h
@@ -6230,6 +6236,16 @@
   )
 )
 
+(define-method invalidate_maybe_recurse
+  (of-object "GdkWindow")
+  (c-name "gdk_window_invalidate_maybe_recurse")
+  (return-type "none")
+  (parameters
+    '("const-cairo_region_t*" "region")
+    '("somefunc*" "child_func")
+  )
+)
+
 (define-method get_update_area
   (of-object "GdkWindow")
   (c-name "gdk_window_get_update_area")
@@ -6795,3 +6811,5 @@
     '("gint" "n_events")
   )
 )
+
+
diff --git a/gdk/src/gdk_pixbuf_methods.defs b/gdk/src/gdk_pixbuf_methods.defs
index d90e252..3e296ac 100644
--- a/gdk/src/gdk_pixbuf_methods.defs
+++ b/gdk/src/gdk_pixbuf_methods.defs
@@ -140,18 +140,6 @@
   )
 )
 
-(define-method ref
-  (of-object "GdkPixbufAnimation")
-  (c-name "gdk_pixbuf_animation_ref")
-  (return-type "GdkPixbufAnimation*")
-)
-
-(define-method unref
-  (of-object "GdkPixbufAnimation")
-  (c-name "gdk_pixbuf_animation_unref")
-  (return-type "none")
-)
-
 (define-method get_width
   (of-object "GdkPixbufAnimation")
   (c-name "gdk_pixbuf_animation_get_width")
@@ -242,18 +230,6 @@
   (return-type "GType")
 )
 
-(define-method ref
-  (of-object "GdkPixbuf")
-  (c-name "gdk_pixbuf_ref")
-  (return-type "GdkPixbuf*")
-)
-
-(define-method unref
-  (of-object "GdkPixbuf")
-  (c-name "gdk_pixbuf_unref")
-  (return-type "none")
-)
-
 (define-method get_colorspace
   (of-object "GdkPixbuf")
   (c-name "gdk_pixbuf_get_colorspace")
@@ -618,11 +594,6 @@
 
 ;; From gdk-pixbuf-io.h
 
-(define-function gdk_pixbuf_format_get_type
-  (c-name "gdk_pixbuf_format_get_type")
-  (return-type "GType")
-)
-
 (define-function gdk_pixbuf_get_formats
   (c-name "gdk_pixbuf_get_formats")
   (return-type "GSList*")
@@ -695,18 +666,6 @@
   )
 )
 
-(define-method copy
-  (of-object "GdkPixbufFormat")
-  (c-name "gdk_pixbuf_format_copy")
-  (return-type "GdkPixbufFormat*")
-)
-
-(define-method free
-  (of-object "GdkPixbufFormat")
-  (c-name "gdk_pixbuf_format_free")
-  (return-type "none")
-)
-
 (define-method set_option
   (of-object "GdkPixbuf")
   (c-name "gdk_pixbuf_set_option")
diff --git a/gdk/src/window.hg b/gdk/src/window.hg
index ebff040..8e002be 100644
--- a/gdk/src/window.hg
+++ b/gdk/src/window.hg
@@ -228,6 +228,14 @@ public:
   void invalidate(bool invalidate_children);
 
   _WRAP_METHOD(void invalidate_region(const Cairo::RefPtr<Cairo::Region>& region, bool invalidate_children = true), gdk_window_invalidate_region)
+  
+  //TODO:
+  /*
+  void       gdk_window_invalidate_maybe_recurse  (GdkWindow          *window,
+						 const cairo_region_t    *region,
+						 gboolean (*child_func) (GdkWindow *, gpointer),
+						 gpointer   user_data);
+	*/
 
 #m4 _CONVERSION(`cairo_region_t*',`Cairo::RefPtr<Cairo::Region>',`Cairo::RefPtr<Cairo::Region>(new Cairo::Region(($3), true /* do not take ref */))')
 
diff --git a/gtk/src/widget.hg b/gtk/src/widget.hg
index 7e3ee90..69f99fc 100644
--- a/gtk/src/widget.hg
+++ b/gtk/src/widget.hg
@@ -333,8 +333,8 @@ public:
   */
   Glib::RefPtr<Gdk::Pixmap> get_snapshot() const;
 
-  //TODO: This probably needs a special conversion to do an extra ref (take_copy=true) for the returned instance:
   _WRAP_METHOD(Glib::RefPtr<Atk::Object> get_accessible(), gtk_widget_get_accessible, refreturn, ifdef GTKMM_ATKMM_ENABLED)
+  _WRAP_METHOD(Glib::RefPtr<const Atk::Object> get_accessible() const, gtk_widget_get_accessible, refreturn, constversion, ifdef GTKMM_ATKMM_ENABLED)
 
   _WRAP_METHOD(void set_colormap(const Glib::RefPtr<const Gdk::Colormap> &colormap), gtk_widget_set_colormap)
   _WRAP_METHOD(Gdk::EventMask get_events() const, gtk_widget_get_events)
diff --git a/tools/m4/convert_gdk.m4 b/tools/m4/convert_gdk.m4
index 64d339b..fa57050 100644
--- a/tools/m4/convert_gdk.m4
+++ b/tools/m4/convert_gdk.m4
@@ -30,6 +30,7 @@ _CONV_ENUM(Gdk,ByteOrder)
 _CONV_ENUM(Gdk,CapStyle)
 _CONV_ENUM(Gdk,Colorspace)
 _CONV_ENUM(Gdk,CursorType)
+_CONV_ENUM(Gdk,DeviceType)
 _CONV_ENUM(Gdk,DragAction)
 _CONV_ENUM(Gdk,DragProtocol)
 _CONV_ENUM(Gdk,EventMask)
@@ -40,6 +41,7 @@ _CONV_ENUM(Gdk,FillRule)
 _CONV_ENUM(Gdk,Function)
 _CONV_ENUM(Gdk,GCValuesMask)
 _CONV_ENUM(Gdk,Gravity)
+_CONV_ENUM(Gdk,GrabOwnership)
 _CONV_ENUM(Gdk,ImageType)
 _CONV_ENUM(Gdk,InputCondition)
 _CONV_ENUM(Gdk,InputMode)
@@ -89,6 +91,7 @@ _CONVERSION(`GdkColor',`Gdk::Color', `Gdk::Color(const_cast<GdkColor*>(&($3)), t
 _CONVERSION(`Color&',`GdkColor*',($3).gobj())
 _CONVERSION(`const Gdk::Color&',`const GdkColor*',`($3).gobj()')
 _CONVERSION(`const Color&',`const GdkColor*',`($3).gobj()')
+_CONVERSION(`const Cursor&',`GdkCursor*',const_cast<GdkCursor*>(($3).gobj()))
 _CONVERSION(`Rectangle&',`GdkRectangle*',($3).gobj())
 _CONVERSION(`Gdk::Rectangle&',`GdkRectangle*',($3).gobj())
 _CONVERSION(`const Rectangle&',`const GdkRectangle*',($3).gobj())
@@ -128,7 +131,9 @@ _CONVERSION(`const Glib::RefPtr<Display>&',`GdkDisplay*',__CONVERT_REFPTR_TO_P)
 _CONVERSION(`const Glib::RefPtr<Screen>&',`GdkScreen*',__CONVERT_REFPTR_TO_P)
 _CONVERSION(`const Glib::RefPtr<Gdk::Display>&',`GdkDisplay*',__CONVERT_REFPTR_TO_P)
 _CONVERSION(`const Glib::RefPtr<Gdk::Screen>&',`GdkScreen*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<Screen>&',`GdkScreen*',__CONVERT_REFPTR_TO_P)
 _CONVERSION(`const Glib::RefPtr<Gdk::Device>&',`GdkDevice*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<Device>&',`GdkDevice*',__CONVERT_REFPTR_TO_P)
 _CONVERSION(`const Glib::RefPtr<const Gdk::Screen>&',`GdkScreen*',__CONVERT_CONST_REFPTR_TO_P_SUN(Gdk::Screen))
 
 define(`__CFR2P',`const_cast<$`'2>($`'3.gobj())')
@@ -215,6 +220,9 @@ _CONVERSION(`GdkDevice*',`Glib::RefPtr<Gdk::Device>', `Glib::wrap($3)')
 _CONVERSION(`GdkDevice*',`Glib::RefPtr<const Device>', `Glib::wrap($3)')
 _CONVERSION(`GdkDevice*',`Glib::RefPtr<const Gdk::Device>', `Glib::wrap($3)')
 
+_CONVERSION(`GdkDeviceManager*',`Glib::RefPtr<DeviceManager>', `Glib::wrap($3)')
+_CONVERSION(`GdkDeviceManager*',`Glib::RefPtr<const DeviceManager>', `Glib::wrap($3)')
+
 _CONVERSION(`gpointer',`const void*', `($2)($3)')
 
 



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