[gtkmm] Partly fixed the build with latest GTK+.



commit 9ab995ff8727d0ba017fc54c08a846fcc6da4abc
Author: Murray Cumming <murrayc murrayc com>
Date:   Mon Sep 27 15:00:32 2010 +0200

    Partly fixed the build with latest GTK+.
    
    * gdk/src/gdk_methods.defs:
      * gtk/src/gtk_methods.defs: Regenerated with h2defs.py.
    
    * gdk/src/bitmap.[hg|ccg]:
    * gdk/src/colormap.[hg|ccg]:
    * gdk/src/pixmap.[hg|ccg]: Removed, because these were removed from GTK+.
    
    * gtk/src/cellsizerequest.[hg|ccg]:
    * gtk/src/sizerequest.[hg|ccg]: Remove because these were removed from GTK+.
      * gtk/src/widget.hg: Move the functions here instead, adding _preferred_
      in the middle.
    
    * gtk/src/cellsizerequest.hg:
    * gtk/src/object.[hg|ccg]: Remove this, because GtkObject was removed from
      GTK+. However, add a modified version of the generated code to:
      * gtk/gtkmm/object.[h|cc]: so we can preserve the different lifetime behaviour.
    
      * Other files: Adapted. For instance, FileFilter and Adjustment must now
      be used via RefPtr.

 .gitignore                                |    2 -
 ChangeLog                                 |   76 +-
 gdk/gdkmm.h                               |    2 -
 gdk/gdkmm/general.cc                      |    4 -
 gdk/gdkmm/general.h                       |   11 +-
 gdk/src/bitmap.ccg                        |   33 -
 gdk/src/bitmap.hg                         |   52 -
 gdk/src/color.ccg                         |    1 -
 gdk/src/colormap.ccg                      |   37 -
 gdk/src/colormap.hg                       |   76 --
 gdk/src/cursor.ccg                        |   13 +-
 gdk/src/cursor.hg                         |   11 +-
 gdk/src/display.hg                        |   11 +-
 gdk/src/dragcontext.hg                    |    4 +-
 gdk/src/filelist.am                       |    3 -
 gdk/src/gdk_methods.defs                  | 1436 ++---------------------------
 gdk/src/pixbuf.ccg                        |   45 +-
 gdk/src/pixbuf.hg                         |  128 +---
 gdk/src/pixmap.ccg                        |   65 --
 gdk/src/pixmap.hg                         |   69 --
 gdk/src/screen.hg                         |   24 +-
 gdk/src/visual.hg                         |    2 +-
 gdk/src/window.ccg                        |   25 +-
 gdk/src/window.hg                         |   27 +-
 gtk/gtkmm/filelist.am                     |    2 +
 gtk/{src/object.ccg => gtkmm/object.cc}   |   96 ++-
 gtk/{src/object.hg => gtkmm/object.h}     |   86 ++-
 gtk/src/accelgroup.hg                     |   11 +-
 gtk/src/adjustment.hg                     |   23 +-
 gtk/src/bin.ccg                           |   31 +-
 gtk/src/bin.hg                            |   18 +-
 gtk/src/cellrenderer.hg                   |   26 +-
 gtk/src/cellrendererspin.hg               |    2 +-
 gtk/src/cellsizerequest.ccg               |   21 -
 gtk/src/cellsizerequest.hg                |   57 --
 gtk/src/checkbutton.hg                    |   15 +-
 gtk/src/checkmenuitem.hg                  |   15 +-
 gtk/src/container.ccg                     |   23 +-
 gtk/src/container.hg                      |   23 +-
 gtk/src/entry.hg                          |    6 +-
 gtk/src/entrybuffer.hg                    |    2 +-
 gtk/src/filechooser.ccg                   |    2 -
 gtk/src/filechooser.hg                    |   26 +-
 gtk/src/filefilter.hg                     |   40 +-
 gtk/src/filelist.am                       |    3 -
 gtk/src/gtk_methods.defs                  |  709 ++++++--------
 gtk/src/gtk_vfuncs.defs                   |   89 +--
 gtk/src/iconfactory.hg                    |    2 +-
 gtk/src/iconview.hg                       |    7 +-
 gtk/src/image.ccg                         |    2 -
 gtk/src/image.hg                          |   13 +-
 gtk/src/layout.ccg                        |    7 +-
 gtk/src/layout.hg                         |   24 +-
 gtk/src/offscreenwindow.hg                |    8 +-
 gtk/src/range.hg                          |    6 +-
 gtk/src/recentfilter.hg                   |    9 +-
 gtk/src/ruler.hg                          |    6 -
 gtk/src/scale.ccg                         |   23 +-
 gtk/src/scale.hg                          |    4 +-
 gtk/src/scalebutton.hg                    |    6 +-
 gtk/src/scrollbar.ccg                     |   12 +-
 gtk/src/scrollbar.hg                      |    4 +-
 gtk/src/scrolledwindow.hg                 |   24 +-
 gtk/src/sizerequest.ccg                   |   21 -
 gtk/src/sizerequest.hg                    |   51 -
 gtk/src/spinbutton.hg                     |   12 +-
 gtk/src/statusicon.hg                     |    1 -
 gtk/src/style.hg                          |  125 +--
 gtk/src/textbuffer.hg                     |    1 -
 gtk/src/textchildanchor.hg                |    1 -
 gtk/src/textmark.hg                       |    2 +-
 gtk/src/texttag.hg                        |    3 +-
 gtk/src/texttagtable.hg                   |    2 +-
 gtk/src/textview.hg                       |   11 +-
 gtk/src/toolpalette.hg                    |   10 +-
 gtk/src/treeview.hg                       |   19 +-
 gtk/src/treeviewcolumn.hg                 |    6 +-
 gtk/src/viewport.hg                       |   27 +-
 gtk/src/widget.ccg                        |    6 -
 gtk/src/widget.hg                         |   53 +-
 tools/extra_defs_gen/generate_defs_gtk.cc |    7 +-
 tools/m4/convert_gdk.m4                   |    1 -
 tools/m4/convert_gtk.m4                   |   19 +-
 83 files changed, 966 insertions(+), 3052 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index b911446..ab1d12d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -311,8 +311,6 @@ gtk/gtkmm/misc.cc
 gtk/gtkmm/misc.h
 gtk/gtkmm/notebook.cc
 gtk/gtkmm/notebook.h
-gtk/gtkmm/object.cc
-gtk/gtkmm/object.h
 gtk/gtkmm/optionmenu.cc
 gtk/gtkmm/optionmenu.h
 gtk/gtkmm/orientable.cc
diff --git a/ChangeLog b/ChangeLog
index 5ec9d66..48b36f9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2010-09-27  Murray Cumming  <murrayc murrayc com>
+
+  Partly fixed the build with latest GTK+.
+
+	* gdk/src/gdk_methods.defs:
+  * gtk/src/gtk_methods.defs: Regenerated with h2defs.py.
+
+	* gdk/src/bitmap.[hg|ccg]:
+	* gdk/src/colormap.[hg|ccg]:
+	* gdk/src/pixmap.[hg|ccg]: Removed, because these were removed from GTK+.
+
+	* gtk/src/cellsizerequest.[hg|ccg]:
+	* gtk/src/sizerequest.[hg|ccg]: Remove because these were removed from GTK+.
+  * gtk/src/widget.hg: Move the functions here instead, adding _preferred_
+  in the middle.
+
+	* gtk/src/cellsizerequest.hg:
+	* gtk/src/object.[hg|ccg]: Remove this, because GtkObject was removed from
+  GTK+. However, add a modified version of the generated code to:
+  * gtk/gtkmm/object.[h|cc]: so we can preserve the different lifetime behaviour.
+
+  * Other files: Adapted. For instance, FileFilter and Adjustment must now
+  be used via RefPtr.
+
 2010-09-26  Armin Burgmeier  <armin arbur net>
 
 	* MSVC_Net2005/demos/gtk-demo/gtk-demo.vcproj:
@@ -12,7 +36,7 @@
 	Fix the build against GTK+ git master
 
 	* gtk/src/gtk_signals.defs: Regenerated the GtkWrapBox part.
-	* gtk/src/wrapbox.hg: Change the constructor, because gtk_wrap_box_new() 
+	* gtk/src/wrapbox.hg: Change the constructor, because gtk_wrap_box_new()
 	now has different parameters.
 
 2010-09-26  Murray Cumming  <murrayc murrayc com>
@@ -20,13 +44,13 @@
 	Partly fix the build against GTK+ git master.
 
 	* gtk/src/gtk_methods.defs: Regenerated.
-	* gtk/src/notebook.[hg|ccg]: Removed get/set_group(), replacing them with 
+	* gtk/src/notebook.[hg|ccg]: Removed get/set_group(), replacing them with
 	get/set_group_name().
-	* gtk/src/progressbar.hg: Removed the orientation property, which is now 
+	* gtk/src/progressbar.hg: Removed the orientation property, which is now
 	in the Orientable base class.
-	* gtk/src/gtk_extra_objects.defs: Added GtkEditable to help the documentation 
+	* gtk/src/gtk_extra_objects.defs: Added GtkEditable to help the documentation
 	parser.
-	
+
 2010-09-26  Murray Cumming  <murrayc murrayc com>
 
 	gtkmm: SeparatorToolItem: Added get/set_draw().
@@ -37,15 +61,15 @@
 
 	gtkmm: MenuBar: Added remaining methods.
 
-	* gtk/src/menubar.hg: Added set/get_pack_direction(), 
+	* gtk/src/menubar.hg: Added set/get_pack_direction(),
 	set/ get_child_pack_direction
 	* tools/m4/convert_gtk.m4: Added guint32&->guint32* conversion.
-	
+
 2010-09-26  Murray Cumming  <murrayc murrayc com>
 
 	Adapt to gtk_menu_popup_for_device() API change.
 
-	* gtk/src/menu.ccg: popup(): Copy the slot and delete it in the new destroy 
+	* gtk/src/menu.ccg: popup(): Copy the slot and delete it in the new destroy
 	callback.
 
 2010-09-25  Murray Cumming  <murrayc murrayc com>
@@ -57,51 +81,51 @@
 	* gtk/src/scalebutton.hg: Added icons property.
 	* gtk/src/scrolledwindow.hg: Added window_placement_set property.
 	* gtk/src/separatortoolitem.hg: Added draw property.
-	* gtk/src/statusicon.hg: Added tooltips, icon-size and icon-size-set 
+	* gtk/src/statusicon.hg: Added tooltips, icon-size and icon-size-set
 	properties.
 	* gtk/src/toolbutton.hg: Added icon_name property.
 	* gtk/src/treemodelfilter.hg: Added child_model and virtual_root properties.
 	* gtk/src/treemodelsort.hg: Added model property.
 	* gtk/src/treeview.hg: Added tooltip-column property.
-	* gtk/src/treeviewcolumn.hg: Added resizable, spacing and sort-column-id 
+	* gtk/src/treeviewcolumn.hg: Added resizable, spacing and sort-column-id
 	properties.
 	* gtk/src/widget.hg: Added is_focus and double_buffered properties.
 	* gtk/src/window.hg: Added type, startup_id and opacity properties.
-		
+
 2010-09-25  Murray Cumming  <murrayc murrayc com>
 
 	gtkmm: Added yet more missing properties.
 
-	* gtk/src/menubar.hg: Added pack_direction and child_pack_direction 
+	* gtk/src/menubar.hg: Added pack_direction and child_pack_direction
 	properties, with a new PackDirection enum.
 	* gtk/src/notebook.hg: Added group property.
 	* gtk/src/printer.hg: Added paused and accepting_jobs properties.
 	* gtk/src/printjob.hg: Added track_print_status property.
 	* gtk/src/printoperation.hg: Added track_print_status property.
 	* gtk/src/ruler.hg: Added metric property.
-	* gtk/src/cellrendererprogress.hg: Remove orientation property, removed 
+	* gtk/src/cellrendererprogress.hg: Remove orientation property, removed
 	from GTK+. Instead derive from Orientable, as ProgressBar already does.
-	
+
 2010-09-25  Murray Cumming  <murrayc murrayc com>
 
 	Notebook: Fix gmmproc warnings and non-existant properties.
 
-	* gtk/src/notebook.hg: Do not try to wrap properties that were remove from 
+	* gtk/src/notebook.hg: Do not try to wrap properties that were remove from
 	GTK+.
 
 2010-09-25  Murray Cumming  <murrayc murrayc com>
 
 	gtkmm: Added missing properties.
 
-	* tools/extra_defs_gen/generate_defs_gtk.cc: Added GtkComboBoxEntry and 
+	* tools/extra_defs_gen/generate_defs_gtk.cc: Added GtkComboBoxEntry and
 	GtkColorSelectionDialog.
 	* gtk/src/gtk_signals.defs: Added the new sections for these widgets.
-	* gtk/src/colorselection.hg: Added color_selection, ok_button, cancel_button, 
+	* gtk/src/colorselection.hg: Added color_selection, ok_button, cancel_button,
 	and help_button properties.
 	* gtk/src/combobox.hg: Added popup_shown and button_sensitivity properties.
 	* gtk/src/comboboxentry.hg: Added text_column property.
-	* gtk/src/entry.hg: Added inner_borde, primary_icon_tooltip_text, 
-	secondary_icon_tooltip_text", primary_icon_tooltip_markup" and 
+	* gtk/src/entry.hg: Added inner_borde, primary_icon_tooltip_text,
+	secondary_icon_tooltip_text", primary_icon_tooltip_markup" and
 	secondary_icon_tooltip_markup properties.
 	* gtk/src/filechooserbutton.hg: Added dialog property.
 	* gtk/src/handlebox.hg: Added snap_edge_set and child_detached properties.
@@ -116,16 +140,16 @@
 	* gtk/src/cellrenderertoggle.hg: Added inconsistent property.
 	* gtk/src/progressbar.hg: Moved the ProgressBarOrientation enum to enums.hg.
 	* gtk/src/cellrendererprogress.hg: Added orientation property.
-	
+
 2010-09-24  Murray Cumming  <murrayc murrayc com>
 
 	CellEditable: Added editing_canceled property.
 
 	* tools/extra_defs_gen/generate_defs_gtk.cc: Added GtkCellEditable.
 	* gtk/src/gtk_signals.defs: Added the GtkCellEditable entries.
-	* gtk/src/gtk_other.defs: Remove entries that are no longer needed, 
+	* gtk/src/gtk_other.defs: Remove entries that are no longer needed,
 	because they are now in gtk_signals.defs or gtk_methods.defs
-	* gtk/src/gtk_methods.defs: Hand-edit some GtkAboutDialog entries to correct 
+	* gtk/src/gtk_methods.defs: Hand-edit some GtkAboutDialog entries to correct
 	the constness of some return types.
 	* gtk/src/celleditable.hg: Added editing_canceled property.
 
@@ -135,7 +159,7 @@
 
 	* gtk/src/accelgroup.hg: Added is_locked and modifier_mask properties.
 	* gtk/src/actiongroup.hg: Added name, sensitive and visible properties.
-	* gtk/src/adjustment.hg: Added value, lower, upper, step-increment, 
+	* gtk/src/adjustment.hg: Added value, lower, upper, step-increment,
 	page-increment and page-size properties.
 	* gtk/src/builder.hg: Added translation-domain property.
 
@@ -143,12 +167,12 @@
 
 	gdkmm: Screen: Added signals and properties.
 
-	* gdk/src/gdk_signals.defs: Regenerated by taking the part of the 
+	* gdk/src/gdk_signals.defs: Regenerated by taking the part of the
 	extra_defs_gen output for GDK.
-	* gdk/src/screen.hg: Added composited_changed() and monitors_changed() 
+	* gdk/src/screen.hg: Added composited_changed() and monitors_changed()
 	signals, but with no default signal handlers, to avoid breaking ABI.
 	Added font-options and resolution properties.
-	
+
 2010-09-22  Murray Cumming  <murrayc murrayc com>
 
 	Fix the build with GTK+ from git master.
diff --git a/gdk/gdkmm.h b/gdk/gdkmm.h
index 92bf0cf..1899865 100644
--- a/gdk/gdkmm.h
+++ b/gdk/gdkmm.h
@@ -32,8 +32,6 @@
 #include <gdkmm/pixbufanimation.h>
 #include <gdkmm/pixbufformat.h>
 #include <gdkmm/pixbufloader.h>
-#include <gdkmm/pixmap.h>
-#include <gdkmm/bitmap.h>
 #include <gdkmm/cursor.h>
 #include <gdkmm/rectangle.h>
 #include <gdkmm/display.h>
diff --git a/gdk/gdkmm/general.cc b/gdk/gdkmm/general.cc
index d198e92..d2df4ed 100644
--- a/gdk/gdkmm/general.cc
+++ b/gdk/gdkmm/general.cc
@@ -64,10 +64,6 @@ void set_source_pixbuf(const ::Cairo::RefPtr< ::Cairo::Context >& context, const
   gdk_cairo_set_source_pixbuf(context->cobj(), pixbuf->gobj(), pixbuf_x, pixbuf_y);
 }
 
-void set_source_pixmap(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr<Gdk::Pixmap>& pixmap, double pixmap_x, double pixmap_y)
-{
-  gdk_cairo_set_source_pixmap(context->cobj(), pixmap->gobj(), pixmap_x, pixmap_y);
-}
 
 void add_rectangle_to_path(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Rectangle& rectangle)
 {
diff --git a/gdk/gdkmm/general.h b/gdk/gdkmm/general.h
index e8ea691..5c9ccac 100644
--- a/gdk/gdkmm/general.h
+++ b/gdk/gdkmm/general.h
@@ -56,16 +56,7 @@ void set_source_color(const ::Cairo::RefPtr< ::Cairo::Context >& context, const
  */
 void set_source_pixbuf(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, double pixbuf_x = 0, double pixbuf_y = 0);
 
-/** Sets the given pixbuf as the source pattern for the Cairo context. The pattern has an extend mode of CAIRO_EXTEND_NONE and is aligned so that the origin of pixbuf is pixmap_x, pixmap_y.
- * @param @context The cairo context.
- * @param pixmap A Gdk::Pixmap
- * @param pixmap_x X coordinate of location to place upper left corner of pixmap.
- * @param pixmap_y Y coordinate of location to place upper left corner of pixmap.
- *
- *
- * @newin{2,10}
- */
-void set_source_pixmap(const ::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr<Gdk::Pixmap>& pixmap, double pixmap_x = 0, double pixmap_y = 0);
+//TODO: Wrap gdk_cairo_set_source_window()?
 
 /** Adds the given rectangle to the current path of the context.
  *
diff --git a/gdk/src/color.ccg b/gdk/src/color.ccg
index 856177f..0094da6 100644
--- a/gdk/src/color.ccg
+++ b/gdk/src/color.ccg
@@ -20,7 +20,6 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <gdkmm/colormap.h>
 #include <gdk/gdk.h>
 
 namespace Gdk
diff --git a/gdk/src/cursor.ccg b/gdk/src/cursor.ccg
index e3150da..7f75edf 100644
--- a/gdk/src/cursor.ccg
+++ b/gdk/src/cursor.ccg
@@ -30,16 +30,6 @@ Cursor::Cursor(CursorType cursor_type)
   gobject_ = gdk_cursor_new((GdkCursorType)cursor_type);
 }
 
-Cursor::Cursor(const Glib::RefPtr<Pixmap>& source, const Glib::RefPtr<Pixmap>& mask,
-				       const Color& fg, const Color& bg,
-				       int x, int y)
-{
-  gobject_ = gdk_cursor_new_from_pixmap(Glib::unwrap(source), mask->gobj(), 
-                                        const_cast<GdkColor*>(fg.gobj()),
-				        const_cast<GdkColor*>(bg.gobj()),
-                                        x, y);
-}
-
 Cursor::Cursor(const Glib::RefPtr<Display>& display, CursorType cursor_type)
 {
   gobject_ = gdk_cursor_new_for_display(Glib::unwrap(display), (GdkCursorType)cursor_type);
@@ -53,7 +43,6 @@ Cursor::Cursor(const Glib::RefPtr<Display>& display, const Glib::RefPtr<Pixbuf>&
 Cursor::Cursor(const Glib::RefPtr<Display>& display, const Glib::ustring& name)
 {
   gobject_ = gdk_cursor_new_from_name(Glib::unwrap(display), name.c_str());
-}      
+}
 
 } //namespace Gdk
-
diff --git a/gdk/src/cursor.hg b/gdk/src/cursor.hg
index e9433f7..6924eaf 100644
--- a/gdk/src/cursor.hg
+++ b/gdk/src/cursor.hg
@@ -20,7 +20,6 @@
  */
 
 #include <gdkmm/color.h>
-#include <gdkmm/bitmap.h>
 #include <gdkmm/display.h>
 #include <gdkmm/pixbuf.h>
 
@@ -42,11 +41,11 @@ class Cursor
 
 public:
   explicit Cursor(CursorType cursor_type);
-  Cursor(const Glib::RefPtr<Pixmap>& source, const Glib::RefPtr<Pixmap>& mask,
-         const Color& fg, const Color& bg,
-         int x, int y);
+
   explicit Cursor(const Glib::RefPtr<Display>& display, CursorType cursor_type);
+
   Cursor(const Glib::RefPtr<Display>& display, const Glib::RefPtr<Pixbuf>& pixbuf, int x, int y);
+
   explicit Cursor(const Glib::RefPtr<Display>& display, const Glib::ustring& name);
 
   _WRAP_METHOD(Glib::RefPtr<Display> get_display(), gdk_cursor_get_display, refreturn)
@@ -54,10 +53,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/display.hg b/gdk/src/display.hg
index 3afa372..08a80b6 100644
--- a/gdk/src/display.hg
+++ b/gdk/src/display.hg
@@ -103,7 +103,7 @@ 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.
@@ -141,11 +141,11 @@ public:
   //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(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)
@@ -182,9 +182,6 @@ public:
    */
   void selection_send_notify(GdkNativeWindow requestor, Glib::ustring& selection, Glib::ustring& target, Glib::ustring& property, guint32 time_);
 
-  _WRAP_METHOD(Glib::RefPtr<Pixmap> lookup_pixmap(NativeWindow anid), gdk_pixmap_lookup_for_display)
-  _WRAP_METHOD(Glib::RefPtr<const Pixmap> lookup_pixmap(NativeWindow anid) const, gdk_pixmap_lookup_for_display, constversion)
-
   _WRAP_METHOD(void flush(), gdk_display_flush)
   //TODO: Read the docs to know what the types are really: _WRAP_METHOD(GdkDisplayDeviceHooks* set_device_hooks(const GdkDisplayDeviceHooks *new_hooks), gdk_display_set_device_hooks)
   _WRAP_METHOD(bool supports_cursor_alpha() const, gdk_display_supports_cursor_alpha)
@@ -220,7 +217,7 @@ 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)
 
diff --git a/gdk/src/dragcontext.hg b/gdk/src/dragcontext.hg
index a2ed0e0..0c50a07 100644
--- a/gdk/src/dragcontext.hg
+++ b/gdk/src/dragcontext.hg
@@ -21,7 +21,6 @@
 
 #include <gdkmm/color.h>
 #include <gdkmm/pixbuf.h>
-#include <gdkmm/bitmap.h>
 #include <gdkmm/device.h>
 #include <glibmm/object.h>
 #include <gdk/gdk.h>
@@ -73,13 +72,14 @@ public:
   //Gtk::Widget* get_source_widget() - see Gtk::Widget::drag_get_source_widget()
 
   // void set_icon(Gtk::Widget* widget, int hot_x, int hot_y) - see Gtk::Widget::set_as_icon().
-  _WRAP_METHOD(void set_icon(const Glib::RefPtr<Gdk::Colormap>& colormap, const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask, int hot_x, int hot_y), gtk_drag_set_icon_pixmap)
+  _WRAP_METHOD(void set_icon(const Cairo::RefPtr<Cairo::Surface>& surface), gtk_drag_set_icon_surface)
   _WRAP_METHOD(void set_icon(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, int hot_x, int hot_y), gtk_drag_set_icon_pixbuf)
 
   // The first argument was changed from StockID to ustring to avoid
   // cross-dependence between gdkmm and gtkmm.
   // See http://bugzilla.gnome.org/show_bug.cgi?id=79124 for details
   _WRAP_METHOD(void set_icon(const Glib::ustring& stock_id, int hot_x, int hot_y), gtk_drag_set_icon_stock)
+
   _WRAP_METHOD(void set_icon_name(const Glib::ustring& name, int hot_x, int hot_y), gtk_drag_set_icon_name)
   _WRAP_METHOD(void set_icon(), gtk_drag_set_icon_default)
 
diff --git a/gdk/src/filelist.am b/gdk/src/filelist.am
index 6aad21c..8d870dc 100644
--- a/gdk/src/filelist.am
+++ b/gdk/src/filelist.am
@@ -13,9 +13,7 @@ gdkmm_files_defs =		\
 	gdk_docs_override.xml
 
 gdkmm_files_hg =		\
-	bitmap.hg		\
 	color.hg		\
-	colormap.hg		\
 	cursor.hg		\
 	device.hg		\
 	devicemanager.hg		\
@@ -29,7 +27,6 @@ gdkmm_files_hg =		\
 	pixbufanimationiter.hg	\
 	pixbufformat.hg		\
 	pixbufloader.hg		\
-	pixmap.hg		\
 	rectangle.hg		\
 	screen.hg		\
 	types.hg		\
diff --git a/gdk/src/gdk_methods.defs b/gdk/src/gdk_methods.defs
index cae8cec..8136507 100644
--- a/gdk/src/gdk_methods.defs
+++ b/gdk/src/gdk_methods.defs
@@ -1,12 +1,5 @@
 ;; -*- scheme -*-
 ; object definitions ...
-(define-object Colormap
-  (in-module "Gdk")
-  (parent "GObject")
-  (c-name "GdkColormap")
-  (gtype-id "GDK_TYPE_COLORMAP")
-)
-
 (define-object DeviceManager
   (in-module "Gdk")
   (parent "GObject")
@@ -35,20 +28,6 @@
   (gtype-id "GDK_TYPE_DRAWABLE")
 )
 
-(define-object GC
-  (in-module "Gdk")
-  (parent "GObject")
-  (c-name "GdkGC")
-  (gtype-id "GDK_TYPE_GC")
-)
-
-(define-object Image
-  (in-module "Gdk")
-  (parent "GObject")
-  (c-name "GdkImage")
-  (gtype-id "GDK_TYPE_IMAGE")
-)
-
 (define-object Keymap
   (in-module "Gdk")
   (parent "GObject")
@@ -319,132 +298,6 @@
   )
 )
 
-(define-enum FontType
-  (in-module "Gdk")
-  (c-name "GdkFontType")
-  (gtype-id "GDK_TYPE_FONT_TYPE")
-  (values
-    '("font" "GDK_FONT_FONT")
-    '("fontset" "GDK_FONT_FONTSET")
-  )
-)
-
-(define-enum CapStyle
-  (in-module "Gdk")
-  (c-name "GdkCapStyle")
-  (gtype-id "GDK_TYPE_CAP_STYLE")
-  (values
-    '("not-last" "GDK_CAP_NOT_LAST")
-    '("butt" "GDK_CAP_BUTT")
-    '("round" "GDK_CAP_ROUND")
-    '("projecting" "GDK_CAP_PROJECTING")
-  )
-)
-
-(define-enum Fill
-  (in-module "Gdk")
-  (c-name "GdkFill")
-  (gtype-id "GDK_TYPE_FILL")
-  (values
-    '("solid" "GDK_SOLID")
-    '("tiled" "GDK_TILED")
-    '("stippled" "GDK_STIPPLED")
-    '("opaque-stippled" "GDK_OPAQUE_STIPPLED")
-  )
-)
-
-(define-enum Function
-  (in-module "Gdk")
-  (c-name "GdkFunction")
-  (gtype-id "GDK_TYPE_FUNCTION")
-  (values
-    '("copy" "GDK_COPY")
-    '("invert" "GDK_INVERT")
-    '("xor" "GDK_XOR")
-    '("clear" "GDK_CLEAR")
-    '("and" "GDK_AND")
-    '("and-reverse" "GDK_AND_REVERSE")
-    '("and-invert" "GDK_AND_INVERT")
-    '("noop" "GDK_NOOP")
-    '("or" "GDK_OR")
-    '("equiv" "GDK_EQUIV")
-    '("or-reverse" "GDK_OR_REVERSE")
-    '("copy-invert" "GDK_COPY_INVERT")
-    '("or-invert" "GDK_OR_INVERT")
-    '("nand" "GDK_NAND")
-    '("nor" "GDK_NOR")
-    '("set" "GDK_SET")
-  )
-)
-
-(define-enum JoinStyle
-  (in-module "Gdk")
-  (c-name "GdkJoinStyle")
-  (gtype-id "GDK_TYPE_JOIN_STYLE")
-  (values
-    '("miter" "GDK_JOIN_MITER")
-    '("round" "GDK_JOIN_ROUND")
-    '("bevel" "GDK_JOIN_BEVEL")
-  )
-)
-
-(define-enum LineStyle
-  (in-module "Gdk")
-  (c-name "GdkLineStyle")
-  (gtype-id "GDK_TYPE_LINE_STYLE")
-  (values
-    '("solid" "GDK_LINE_SOLID")
-    '("on-off-dash" "GDK_LINE_ON_OFF_DASH")
-    '("double-dash" "GDK_LINE_DOUBLE_DASH")
-  )
-)
-
-(define-enum SubwindowMode
-  (in-module "Gdk")
-  (c-name "GdkSubwindowMode")
-  (gtype-id "GDK_TYPE_SUBWINDOW_MODE")
-  (values
-    '("clip-by-children" "GDK_CLIP_BY_CHILDREN")
-    '("include-inferiors" "GDK_INCLUDE_INFERIORS")
-  )
-)
-
-(define-flags GCValuesMask
-  (in-module "Gdk")
-  (c-name "GdkGCValuesMask")
-  (gtype-id "GDK_TYPE_GC_VALUES_MASK")
-  (values
-    '("foreground" "GDK_GC_FOREGROUND")
-    '("background" "GDK_GC_BACKGROUND")
-    '("function" "GDK_GC_FUNCTION")
-    '("fill" "GDK_GC_FILL")
-    '("tile" "GDK_GC_TILE")
-    '("stipple" "GDK_GC_STIPPLE")
-    '("clip-mask" "GDK_GC_CLIP_MASK")
-    '("subwindow" "GDK_GC_SUBWINDOW")
-    '("ts-x-origin" "GDK_GC_TS_X_ORIGIN")
-    '("ts-y-origin" "GDK_GC_TS_Y_ORIGIN")
-    '("clip-x-origin" "GDK_GC_CLIP_X_ORIGIN")
-    '("clip-y-origin" "GDK_GC_CLIP_Y_ORIGIN")
-    '("exposures" "GDK_GC_EXPOSURES")
-    '("line-width" "GDK_GC_LINE_WIDTH")
-    '("line-style" "GDK_GC_LINE_STYLE")
-    '("cap-style" "GDK_GC_CAP_STYLE")
-    '("join-style" "GDK_GC_JOIN_STYLE")
-  )
-)
-
-(define-enum ImageType
-  (in-module "Gdk")
-  (c-name "GdkImageType")
-  (gtype-id "GDK_TYPE_IMAGE_TYPE")
-  (values
-    '("normal" "GDK_IMAGE_NORMAL")
-    '("shared" "GDK_IMAGE_SHARED")
-    '("fastest" "GDK_IMAGE_FASTEST")
-  )
-)
-
 (define-enum PropMode
   (in-module "Gdk")
   (c-name "GdkPropMode")
@@ -456,38 +309,6 @@
   )
 )
 
-(define-enum FillRule
-  (in-module "Gdk")
-  (c-name "GdkFillRule")
-  (gtype-id "GDK_TYPE_FILL_RULE")
-  (values
-    '("even-odd-rule" "GDK_EVEN_ODD_RULE")
-    '("winding-rule" "GDK_WINDING_RULE")
-  )
-)
-
-(define-enum OverlapType
-  (in-module "Gdk")
-  (c-name "GdkOverlapType")
-  (gtype-id "GDK_TYPE_OVERLAP_TYPE")
-  (values
-    '("in" "GDK_OVERLAP_RECTANGLE_IN")
-    '("out" "GDK_OVERLAP_RECTANGLE_OUT")
-    '("part" "GDK_OVERLAP_RECTANGLE_PART")
-  )
-)
-
-(define-enum RgbDither
-  (in-module "Gdk")
-  (c-name "GdkRgbDither")
-  (gtype-id "GDK_TYPE_RGB_DITHER")
-  (values
-    '("none" "GDK_RGB_DITHER_NONE")
-    '("normal" "GDK_RGB_DITHER_NORMAL")
-    '("max" "GDK_RGB_DITHER_MAX")
-  )
-)
-
 (define-enum ByteOrder
   (in-module "Gdk")
   (c-name "GdkByteOrder")
@@ -638,7 +459,6 @@
     '("x" "GDK_WA_X")
     '("y" "GDK_WA_Y")
     '("cursor" "GDK_WA_CURSOR")
-    '("colormap" "GDK_WA_COLORMAP")
     '("visual" "GDK_WA_VISUAL")
     '("wmclass" "GDK_WA_WMCLASS")
     '("noredir" "GDK_WA_NOREDIR")
@@ -837,6 +657,15 @@
   )
 )
 
+(define-function gdk_cairo_get_clip_rectangle
+  (c-name "gdk_cairo_get_clip_rectangle")
+  (return-type "gboolean")
+  (parameters
+    '("cairo_t*" "cr")
+    '("GdkRectangle*" "rect")
+  )
+)
+
 (define-function gdk_cairo_set_source_color
   (c-name "gdk_cairo_set_source_color")
   (return-type "none")
@@ -857,14 +686,14 @@
   )
 )
 
-(define-function gdk_cairo_set_source_pixmap
-  (c-name "gdk_cairo_set_source_pixmap")
+(define-function gdk_cairo_set_source_window
+  (c-name "gdk_cairo_set_source_window")
   (return-type "none")
   (parameters
     '("cairo_t*" "cr")
-    '("GdkPixmap*" "pixmap")
-    '("double" "pixmap_x")
-    '("double" "pixmap_y")
+    '("GdkWindow*" "window")
+    '("double" "x")
+    '("double" "y")
   )
 )
 
@@ -886,75 +715,17 @@
   )
 )
 
-
-
-;; From gdkcolor.h
-
-(define-function gdk_colormap_get_type
-  (c-name "gdk_colormap_get_type")
-  (return-type "GType")
-)
-
-(define-function gdk_colormap_new
-  (c-name "gdk_colormap_new")
-  (is-constructor-of "GdkColormap")
-  (return-type "GdkColormap*")
-  (parameters
-    '("GdkVisual*" "visual")
-    '("gboolean" "allocate")
-  )
-)
-
-(define-function gdk_colormap_get_system
-  (c-name "gdk_colormap_get_system")
-  (return-type "GdkColormap*")
-)
-
-(define-method get_screen
-  (of-object "GdkColormap")
-  (c-name "gdk_colormap_get_screen")
-  (return-type "GdkScreen*")
-)
-
-(define-method alloc_colors
-  (of-object "GdkColormap")
-  (c-name "gdk_colormap_alloc_colors")
-  (return-type "gint")
+(define-function gdk_cairo_region_create_from_surface
+  (c-name "gdk_cairo_region_create_from_surface")
+  (return-type "cairo_region_t*")
   (parameters
-    '("GdkColor*" "colors")
-    '("gint" "n_colors")
-    '("gboolean" "writeable")
-    '("gboolean" "best_match")
-    '("gboolean*" "success")
+    '("cairo_surface_t*" "surface")
   )
 )
 
-(define-method alloc_color
-  (of-object "GdkColormap")
-  (c-name "gdk_colormap_alloc_color")
-  (return-type "gboolean")
-  (parameters
-    '("GdkColor*" "color")
-    '("gboolean" "writeable")
-    '("gboolean" "best_match")
-  )
-)
 
-(define-method free_colors
-  (of-object "GdkColormap")
-  (c-name "gdk_colormap_free_colors")
-  (return-type "none")
-  (parameters
-    '("const-GdkColor*" "colors")
-    '("gint" "n_colors")
-  )
-)
 
-(define-method get_visual
-  (of-object "GdkColormap")
-  (c-name "gdk_colormap_get_visual")
-  (return-type "GdkVisual*")
-)
+;; From gdkcolor.h
 
 (define-method copy
   (of-object "GdkColor")
@@ -1030,19 +801,6 @@
   )
 )
 
-(define-function gdk_cursor_new_from_pixmap
-  (c-name "gdk_cursor_new_from_pixmap")
-  (return-type "GdkCursor*")
-  (parameters
-    '("GdkPixmap*" "source")
-    '("GdkPixmap*" "mask")
-    '("const-GdkColor*" "fg")
-    '("const-GdkColor*" "bg")
-    '("gint" "x")
-    '("gint" "y")
-  )
-)
-
 (define-function gdk_cursor_new_from_pixbuf
   (c-name "gdk_cursor_new_from_pixbuf")
   (return-type "GdkCursor*")
@@ -1929,55 +1687,6 @@
   (return-type "GType")
 )
 
-(define-method get_size
-  (of-object "GdkDrawable")
-  (c-name "gdk_drawable_get_size")
-  (return-type "none")
-  (parameters
-    '("gint*" "width")
-    '("gint*" "height")
-  )
-)
-
-(define-method set_colormap
-  (of-object "GdkDrawable")
-  (c-name "gdk_drawable_set_colormap")
-  (return-type "none")
-  (parameters
-    '("GdkColormap*" "colormap")
-  )
-)
-
-(define-method get_colormap
-  (of-object "GdkDrawable")
-  (c-name "gdk_drawable_get_colormap")
-  (return-type "GdkColormap*")
-)
-
-(define-method get_visual
-  (of-object "GdkDrawable")
-  (c-name "gdk_drawable_get_visual")
-  (return-type "GdkVisual*")
-)
-
-(define-method get_depth
-  (of-object "GdkDrawable")
-  (c-name "gdk_drawable_get_depth")
-  (return-type "gint")
-)
-
-(define-method get_screen
-  (of-object "GdkDrawable")
-  (c-name "gdk_drawable_get_screen")
-  (return-type "GdkScreen*")
-)
-
-(define-method get_display
-  (of-object "GdkDrawable")
-  (c-name "gdk_drawable_get_display")
-  (return-type "GdkDisplay*")
-)
-
 (define-method get_clip_region
   (of-object "GdkDrawable")
   (c-name "gdk_drawable_get_clip_region")
@@ -2378,346 +2087,6 @@
 
 
 
-;; From gdkfont.h
-
-(define-function gdk_font_get_type
-  (c-name "gdk_font_get_type")
-  (return-type "GType")
-)
-
-(define-method ref
-  (of-object "GdkFont")
-  (c-name "gdk_font_ref")
-  (return-type "GdkFont*")
-)
-
-(define-method unref
-  (of-object "GdkFont")
-  (c-name "gdk_font_unref")
-  (return-type "none")
-)
-
-(define-method id
-  (of-object "GdkFont")
-  (c-name "gdk_font_id")
-  (return-type "gint")
-)
-
-(define-method equal
-  (of-object "GdkFont")
-  (c-name "gdk_font_equal")
-  (return-type "gboolean")
-  (parameters
-    '("const-GdkFont*" "fontb")
-  )
-)
-
-(define-function gdk_font_load_for_display
-  (c-name "gdk_font_load_for_display")
-  (return-type "GdkFont*")
-  (parameters
-    '("GdkDisplay*" "display")
-    '("const-gchar*" "font_name")
-  )
-)
-
-(define-function gdk_fontset_load_for_display
-  (c-name "gdk_fontset_load_for_display")
-  (return-type "GdkFont*")
-  (parameters
-    '("GdkDisplay*" "display")
-    '("const-gchar*" "fontset_name")
-  )
-)
-
-(define-function gdk_font_from_description_for_display
-  (c-name "gdk_font_from_description_for_display")
-  (return-type "GdkFont*")
-  (parameters
-    '("GdkDisplay*" "display")
-    '("PangoFontDescription*" "font_desc")
-  )
-)
-
-(define-function gdk_font_load
-  (c-name "gdk_font_load")
-  (return-type "GdkFont*")
-  (parameters
-    '("const-gchar*" "font_name")
-  )
-)
-
-(define-function gdk_fontset_load
-  (c-name "gdk_fontset_load")
-  (return-type "GdkFont*")
-  (parameters
-    '("const-gchar*" "fontset_name")
-  )
-)
-
-(define-function gdk_font_from_description
-  (c-name "gdk_font_from_description")
-  (return-type "GdkFont*")
-  (parameters
-    '("PangoFontDescription*" "font_desc")
-  )
-)
-
-(define-method get_display
-  (of-object "GdkFont")
-  (c-name "gdk_font_get_display")
-  (return-type "GdkDisplay*")
-)
-
-
-
-;; From gdkgc.h
-
-(define-function gdk_gc_get_type
-  (c-name "gdk_gc_get_type")
-  (return-type "GType")
-)
-
-(define-function gdk_gc_new
-  (c-name "gdk_gc_new")
-  (is-constructor-of "GdkGc")
-  (return-type "GdkGC*")
-  (parameters
-    '("GdkDrawable*" "drawable")
-  )
-)
-
-(define-function gdk_gc_new_with_values
-  (c-name "gdk_gc_new_with_values")
-  (return-type "GdkGC*")
-  (parameters
-    '("GdkDrawable*" "drawable")
-    '("GdkGCValues*" "values")
-    '("GdkGCValuesMask" "values_mask")
-  )
-)
-
-(define-method get_values
-  (of-object "GdkGC")
-  (c-name "gdk_gc_get_values")
-  (return-type "none")
-  (parameters
-    '("GdkGCValues*" "values")
-  )
-)
-
-(define-method set_values
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_values")
-  (return-type "none")
-  (parameters
-    '("GdkGCValues*" "values")
-    '("GdkGCValuesMask" "values_mask")
-  )
-)
-
-(define-method set_foreground
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_foreground")
-  (return-type "none")
-  (parameters
-    '("const-GdkColor*" "color")
-  )
-)
-
-(define-method set_background
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_background")
-  (return-type "none")
-  (parameters
-    '("const-GdkColor*" "color")
-  )
-)
-
-(define-method set_function
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_function")
-  (return-type "none")
-  (parameters
-    '("GdkFunction" "function")
-  )
-)
-
-(define-method set_fill
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_fill")
-  (return-type "none")
-  (parameters
-    '("GdkFill" "fill")
-  )
-)
-
-(define-method set_tile
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_tile")
-  (return-type "none")
-  (parameters
-    '("GdkPixmap*" "tile")
-  )
-)
-
-(define-method set_stipple
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_stipple")
-  (return-type "none")
-  (parameters
-    '("GdkPixmap*" "stipple")
-  )
-)
-
-(define-method set_ts_origin
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_ts_origin")
-  (return-type "none")
-  (parameters
-    '("gint" "x")
-    '("gint" "y")
-  )
-)
-
-(define-method set_clip_origin
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_clip_origin")
-  (return-type "none")
-  (parameters
-    '("gint" "x")
-    '("gint" "y")
-  )
-)
-
-(define-method set_clip_mask
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_clip_mask")
-  (return-type "none")
-  (parameters
-    '("GdkBitmap*" "mask")
-  )
-)
-
-(define-method set_clip_rectangle
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_clip_rectangle")
-  (return-type "none")
-  (parameters
-    '("const-GdkRectangle*" "rectangle")
-  )
-)
-
-(define-method set_clip_region
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_clip_region")
-  (return-type "none")
-  (parameters
-    '("const-cairo_region_t*" "region")
-  )
-)
-
-(define-method set_subwindow
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_subwindow")
-  (return-type "none")
-  (parameters
-    '("GdkSubwindowMode" "mode")
-  )
-)
-
-(define-method set_exposures
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_exposures")
-  (return-type "none")
-  (parameters
-    '("gboolean" "exposures")
-  )
-)
-
-(define-method set_line_attributes
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_line_attributes")
-  (return-type "none")
-  (parameters
-    '("gint" "line_width")
-    '("GdkLineStyle" "line_style")
-    '("GdkCapStyle" "cap_style")
-    '("GdkJoinStyle" "join_style")
-  )
-)
-
-(define-method set_dashes
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_dashes")
-  (return-type "none")
-  (parameters
-    '("gint" "dash_offset")
-    '("gint8[]" "dash_list")
-    '("gint" "n")
-  )
-)
-
-(define-method offset
-  (of-object "GdkGC")
-  (c-name "gdk_gc_offset")
-  (return-type "none")
-  (parameters
-    '("gint" "x_offset")
-    '("gint" "y_offset")
-  )
-)
-
-(define-method copy
-  (of-object "GdkGC")
-  (c-name "gdk_gc_copy")
-  (return-type "none")
-  (parameters
-    '("GdkGC*" "src_gc")
-  )
-)
-
-(define-method set_colormap
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_colormap")
-  (return-type "none")
-  (parameters
-    '("GdkColormap*" "colormap")
-  )
-)
-
-(define-method get_colormap
-  (of-object "GdkGC")
-  (c-name "gdk_gc_get_colormap")
-  (return-type "GdkColormap*")
-)
-
-(define-method set_rgb_fg_color
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_rgb_fg_color")
-  (return-type "none")
-  (parameters
-    '("const-GdkColor*" "color")
-  )
-)
-
-(define-method set_rgb_bg_color
-  (of-object "GdkGC")
-  (c-name "gdk_gc_set_rgb_bg_color")
-  (return-type "none")
-  (parameters
-    '("const-GdkColor*" "color")
-  )
-)
-
-(define-method get_screen
-  (of-object "GdkGC")
-  (c-name "gdk_gc_get_screen")
-  (return-type "GdkScreen*")
-)
-
-
-
 ;; From gdk.h
 
 (define-function gdk_enable_multidevice
@@ -2788,9 +2157,9 @@
   (return-type "none")
 )
 
-(define-function gdk_error_trap_pop
-  (c-name "gdk_error_trap_pop")
-  (return-type "gint")
+(define-function gdk_error_trap_pop_ignored
+  (c-name "gdk_error_trap_pop_ignored")
+  (return-type "none")
 )
 
 (define-function gdk_get_display
@@ -3038,123 +2407,6 @@
 
 
 
-;; From gdkimage.h
-
-(define-function gdk_image_get_type
-  (c-name "gdk_image_get_type")
-  (return-type "GType")
-)
-
-(define-function gdk_image_new
-  (c-name "gdk_image_new")
-  (is-constructor-of "GdkImage")
-  (return-type "GdkImage*")
-  (parameters
-    '("GdkImageType" "type")
-    '("GdkVisual*" "visual")
-    '("gint" "width")
-    '("gint" "height")
-  )
-)
-
-(define-method put_pixel
-  (of-object "GdkImage")
-  (c-name "gdk_image_put_pixel")
-  (return-type "none")
-  (parameters
-    '("gint" "x")
-    '("gint" "y")
-    '("guint32" "pixel")
-  )
-)
-
-(define-method get_pixel
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_pixel")
-  (return-type "guint32")
-  (parameters
-    '("gint" "x")
-    '("gint" "y")
-  )
-)
-
-(define-method set_colormap
-  (of-object "GdkImage")
-  (c-name "gdk_image_set_colormap")
-  (return-type "none")
-  (parameters
-    '("GdkColormap*" "colormap")
-  )
-)
-
-(define-method get_colormap
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_colormap")
-  (return-type "GdkColormap*")
-)
-
-(define-method get_image_type
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_image_type")
-  (return-type "GdkImageType")
-)
-
-(define-method get_visual
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_visual")
-  (return-type "GdkVisual*")
-)
-
-(define-method get_byte_order
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_byte_order")
-  (return-type "GdkByteOrder")
-)
-
-(define-method get_width
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_width")
-  (return-type "gint")
-)
-
-(define-method get_height
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_height")
-  (return-type "gint")
-)
-
-(define-method get_depth
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_depth")
-  (return-type "guint16")
-)
-
-(define-method get_bytes_per_pixel
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_bytes_per_pixel")
-  (return-type "guint16")
-)
-
-(define-method get_bytes_per_line
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_bytes_per_line")
-  (return-type "guint16")
-)
-
-(define-method get_bits_per_pixel
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_bits_per_pixel")
-  (return-type "guint16")
-)
-
-(define-method get_pixels
-  (of-object "GdkImage")
-  (c-name "gdk_image_get_pixels")
-  (return-type "gpointer")
-)
-
-
-
 ;; From gdkinput.h
 
 (define-function gdk_devices_list
@@ -3364,6 +2616,10 @@
 
 
 
+;; From gdkkeysyms-compat.h
+
+
+
 ;; From gdkkeysyms.h
 
 
@@ -3411,52 +2667,12 @@
 
 ;; From gdkpixbuf.h
 
-(define-method render_threshold_alpha
-  (of-object "GdkPixbuf")
-  (c-name "gdk_pixbuf_render_threshold_alpha")
-  (return-type "none")
-  (parameters
-    '("GdkBitmap*" "bitmap")
-    '("int" "src_x")
-    '("int" "src_y")
-    '("int" "dest_x")
-    '("int" "dest_y")
-    '("int" "width")
-    '("int" "height")
-    '("int" "alpha_threshold")
-  )
-)
-
-(define-method render_pixmap_and_mask_for_colormap
+(define-method get_from_window
   (of-object "GdkPixbuf")
-  (c-name "gdk_pixbuf_render_pixmap_and_mask_for_colormap")
-  (return-type "none")
-  (parameters
-    '("GdkColormap*" "colormap")
-    '("GdkPixmap**" "pixmap_return")
-    '("GdkBitmap**" "mask_return")
-    '("int" "alpha_threshold")
-  )
-)
-
-(define-method render_pixmap_and_mask
-  (of-object "GdkPixbuf")
-  (c-name "gdk_pixbuf_render_pixmap_and_mask")
-  (return-type "none")
-  (parameters
-    '("GdkPixmap**" "pixmap_return")
-    '("GdkBitmap**" "mask_return")
-    '("int" "alpha_threshold")
-  )
-)
-
-(define-method get_from_drawable
-  (of-object "GdkPixbuf")
-  (c-name "gdk_pixbuf_get_from_drawable")
+  (c-name "gdk_pixbuf_get_from_window")
   (return-type "GdkPixbuf*")
   (parameters
-    '("GdkDrawable*" "src")
-    '("GdkColormap*" "cmap")
+    '("GdkWindow*" "window")
     '("int" "src_x")
     '("int" "src_y")
     '("int" "dest_x")
@@ -3762,363 +2978,6 @@
 
 
 
-;; From gdkregion.h
-
-(define-function gdk_region_new
-  (c-name "gdk_region_new")
-  (is-constructor-of "GdkRegion")
-  (return-type "GdkRegion*")
-)
-
-(define-function gdk_region_polygon
-  (c-name "gdk_region_polygon")
-  (return-type "GdkRegion*")
-  (parameters
-    '("const-GdkPoint*" "points")
-    '("gint" "n_points")
-    '("GdkFillRule" "fill_rule")
-  )
-)
-
-(define-method copy
-  (of-object "GdkRegion")
-  (c-name "gdk_region_copy")
-  (return-type "GdkRegion*")
-)
-
-(define-function gdk_region_rectangle
-  (c-name "gdk_region_rectangle")
-  (return-type "GdkRegion*")
-  (parameters
-    '("const-GdkRectangle*" "rectangle")
-  )
-)
-
-(define-method destroy
-  (of-object "GdkRegion")
-  (c-name "gdk_region_destroy")
-  (return-type "none")
-)
-
-(define-method get_clipbox
-  (of-object "GdkRegion")
-  (c-name "gdk_region_get_clipbox")
-  (return-type "none")
-  (parameters
-    '("GdkRectangle*" "rectangle")
-  )
-)
-
-(define-method get_rectangles
-  (of-object "GdkRegion")
-  (c-name "gdk_region_get_rectangles")
-  (return-type "none")
-  (parameters
-    '("GdkRectangle**" "rectangles")
-    '("gint*" "n_rectangles")
-  )
-)
-
-(define-method empty
-  (of-object "GdkRegion")
-  (c-name "gdk_region_empty")
-  (return-type "gboolean")
-)
-
-(define-method equal
-  (of-object "GdkRegion")
-  (c-name "gdk_region_equal")
-  (return-type "gboolean")
-  (parameters
-    '("const-GdkRegion*" "region2")
-  )
-)
-
-(define-method rect_equal
-  (of-object "GdkRegion")
-  (c-name "gdk_region_rect_equal")
-  (return-type "gboolean")
-  (parameters
-    '("const-GdkRectangle*" "rectangle")
-  )
-)
-
-(define-method point_in
-  (of-object "GdkRegion")
-  (c-name "gdk_region_point_in")
-  (return-type "gboolean")
-  (parameters
-    '("int" "x")
-    '("int" "y")
-  )
-)
-
-(define-method rect_in
-  (of-object "GdkRegion")
-  (c-name "gdk_region_rect_in")
-  (return-type "GdkOverlapType")
-  (parameters
-    '("const-GdkRectangle*" "rectangle")
-  )
-)
-
-(define-method offset
-  (of-object "GdkRegion")
-  (c-name "gdk_region_offset")
-  (return-type "none")
-  (parameters
-    '("gint" "dx")
-    '("gint" "dy")
-  )
-)
-
-(define-method shrink
-  (of-object "GdkRegion")
-  (c-name "gdk_region_shrink")
-  (return-type "none")
-  (parameters
-    '("gint" "dx")
-    '("gint" "dy")
-  )
-)
-
-(define-method union_with_rect
-  (of-object "GdkRegion")
-  (c-name "gdk_region_union_with_rect")
-  (return-type "none")
-  (parameters
-    '("const-GdkRectangle*" "rect")
-  )
-)
-
-(define-method intersect
-  (of-object "GdkRegion")
-  (c-name "gdk_region_intersect")
-  (return-type "none")
-  (parameters
-    '("const-GdkRegion*" "source2")
-  )
-)
-
-(define-method union
-  (of-object "GdkRegion")
-  (c-name "gdk_region_union")
-  (return-type "none")
-  (parameters
-    '("const-GdkRegion*" "source2")
-  )
-)
-
-(define-method subtract
-  (of-object "GdkRegion")
-  (c-name "gdk_region_subtract")
-  (return-type "none")
-  (parameters
-    '("const-GdkRegion*" "source2")
-  )
-)
-
-(define-method xor
-  (of-object "GdkRegion")
-  (c-name "gdk_region_xor")
-  (return-type "none")
-  (parameters
-    '("const-GdkRegion*" "source2")
-  )
-)
-
-(define-method spans_intersect_foreach
-  (of-object "GdkRegion")
-  (c-name "gdk_region_spans_intersect_foreach")
-  (return-type "none")
-  (parameters
-    '("const-GdkSpan*" "spans")
-    '("int" "n_spans")
-    '("gboolean" "sorted")
-    '("GdkSpanFunc" "function")
-    '("gpointer" "data")
-  )
-)
-
-
-
-;; From gdkrgb.h
-
-(define-function gdk_rgb_find_color
-  (c-name "gdk_rgb_find_color")
-  (return-type "none")
-  (parameters
-    '("GdkColormap*" "colormap")
-    '("GdkColor*" "color")
-  )
-)
-
-(define-function gdk_draw_rgb_image
-  (c-name "gdk_draw_rgb_image")
-  (return-type "none")
-  (parameters
-    '("GdkDrawable*" "drawable")
-    '("GdkGC*" "gc")
-    '("gint" "x")
-    '("gint" "y")
-    '("gint" "width")
-    '("gint" "height")
-    '("GdkRgbDither" "dith")
-    '("const-guchar*" "rgb_buf")
-    '("gint" "rowstride")
-  )
-)
-
-(define-function gdk_draw_rgb_image_dithalign
-  (c-name "gdk_draw_rgb_image_dithalign")
-  (return-type "none")
-  (parameters
-    '("GdkDrawable*" "drawable")
-    '("GdkGC*" "gc")
-    '("gint" "x")
-    '("gint" "y")
-    '("gint" "width")
-    '("gint" "height")
-    '("GdkRgbDither" "dith")
-    '("const-guchar*" "rgb_buf")
-    '("gint" "rowstride")
-    '("gint" "xdith")
-    '("gint" "ydith")
-  )
-)
-
-(define-function gdk_draw_rgb_32_image
-  (c-name "gdk_draw_rgb_32_image")
-  (return-type "none")
-  (parameters
-    '("GdkDrawable*" "drawable")
-    '("GdkGC*" "gc")
-    '("gint" "x")
-    '("gint" "y")
-    '("gint" "width")
-    '("gint" "height")
-    '("GdkRgbDither" "dith")
-    '("const-guchar*" "buf")
-    '("gint" "rowstride")
-  )
-)
-
-(define-function gdk_draw_rgb_32_image_dithalign
-  (c-name "gdk_draw_rgb_32_image_dithalign")
-  (return-type "none")
-  (parameters
-    '("GdkDrawable*" "drawable")
-    '("GdkGC*" "gc")
-    '("gint" "x")
-    '("gint" "y")
-    '("gint" "width")
-    '("gint" "height")
-    '("GdkRgbDither" "dith")
-    '("const-guchar*" "buf")
-    '("gint" "rowstride")
-    '("gint" "xdith")
-    '("gint" "ydith")
-  )
-)
-
-(define-function gdk_draw_gray_image
-  (c-name "gdk_draw_gray_image")
-  (return-type "none")
-  (parameters
-    '("GdkDrawable*" "drawable")
-    '("GdkGC*" "gc")
-    '("gint" "x")
-    '("gint" "y")
-    '("gint" "width")
-    '("gint" "height")
-    '("GdkRgbDither" "dith")
-    '("const-guchar*" "buf")
-    '("gint" "rowstride")
-  )
-)
-
-(define-function gdk_draw_indexed_image
-  (c-name "gdk_draw_indexed_image")
-  (return-type "none")
-  (parameters
-    '("GdkDrawable*" "drawable")
-    '("GdkGC*" "gc")
-    '("gint" "x")
-    '("gint" "y")
-    '("gint" "width")
-    '("gint" "height")
-    '("GdkRgbDither" "dith")
-    '("const-guchar*" "buf")
-    '("gint" "rowstride")
-    '("GdkRgbCmap*" "cmap")
-  )
-)
-
-(define-function gdk_rgb_cmap_new
-  (c-name "gdk_rgb_cmap_new")
-  (is-constructor-of "GdkRgbCmap")
-  (return-type "GdkRgbCmap*")
-  (parameters
-    '("guint32*" "colors")
-    '("gint" "n_colors")
-  )
-)
-
-(define-method free
-  (of-object "GdkRgbCmap")
-  (c-name "gdk_rgb_cmap_free")
-  (return-type "none")
-)
-
-(define-function gdk_rgb_set_verbose
-  (c-name "gdk_rgb_set_verbose")
-  (return-type "none")
-  (parameters
-    '("gboolean" "verbose")
-  )
-)
-
-(define-function gdk_rgb_set_install
-  (c-name "gdk_rgb_set_install")
-  (return-type "none")
-  (parameters
-    '("gboolean" "install")
-  )
-)
-
-(define-function gdk_rgb_set_min_colors
-  (c-name "gdk_rgb_set_min_colors")
-  (return-type "none")
-  (parameters
-    '("gint" "min_colors")
-  )
-)
-
-(define-function gdk_rgb_get_colormap
-  (c-name "gdk_rgb_get_colormap")
-  (return-type "GdkColormap*")
-)
-
-(define-function gdk_rgb_get_visual
-  (c-name "gdk_rgb_get_visual")
-  (return-type "GdkVisual*")
-)
-
-(define-function gdk_rgb_ditherable
-  (c-name "gdk_rgb_ditherable")
-  (return-type "gboolean")
-)
-
-(define-function gdk_rgb_colormap_ditherable
-  (c-name "gdk_rgb_colormap_ditherable")
-  (return-type "gboolean")
-  (parameters
-    '("GdkColormap*" "cmap")
-  )
-)
-
-
-
 ;; From gdkscreen.h
 
 (define-function gdk_screen_get_type
@@ -4126,39 +2985,12 @@
   (return-type "GType")
 )
 
-(define-method get_default_colormap
-  (of-object "GdkScreen")
-  (c-name "gdk_screen_get_default_colormap")
-  (return-type "GdkColormap*")
-)
-
-(define-method set_default_colormap
-  (of-object "GdkScreen")
-  (c-name "gdk_screen_set_default_colormap")
-  (return-type "none")
-  (parameters
-    '("GdkColormap*" "colormap")
-  )
-)
-
-(define-method get_system_colormap
-  (of-object "GdkScreen")
-  (c-name "gdk_screen_get_system_colormap")
-  (return-type "GdkColormap*")
-)
-
 (define-method get_system_visual
   (of-object "GdkScreen")
   (c-name "gdk_screen_get_system_visual")
   (return-type "GdkVisual*")
 )
 
-(define-method get_rgba_colormap
-  (of-object "GdkScreen")
-  (c-name "gdk_screen_get_rgba_colormap")
-  (return-type "GdkColormap*")
-)
-
 (define-method get_rgba_visual
   (of-object "GdkScreen")
   (c-name "gdk_screen_get_rgba_visual")
@@ -4730,6 +3562,24 @@
   (return-type "gboolean")
 )
 
+(define-method get_visual
+  (of-object "GdkWindow")
+  (c-name "gdk_window_get_visual")
+  (return-type "GdkVisual*")
+)
+
+(define-method get_screen
+  (of-object "GdkWindow")
+  (c-name "gdk_window_get_screen")
+  (return-type "GdkScreen*")
+)
+
+(define-method get_display
+  (of-object "GdkWindow")
+  (c-name "gdk_window_get_display")
+  (return-type "GdkDisplay*")
+)
+
 (define-function gdk_window_at_pointer
   (c-name "gdk_window_at_pointer")
   (return-type "GdkWindow*")
@@ -4806,36 +3656,6 @@
   )
 )
 
-(define-method clear
-  (of-object "GdkWindow")
-  (c-name "gdk_window_clear")
-  (return-type "none")
-)
-
-(define-method clear_area
-  (of-object "GdkWindow")
-  (c-name "gdk_window_clear_area")
-  (return-type "none")
-  (parameters
-    '("gint" "x")
-    '("gint" "y")
-    '("gint" "width")
-    '("gint" "height")
-  )
-)
-
-(define-method clear_area_e
-  (of-object "GdkWindow")
-  (c-name "gdk_window_clear_area_e")
-  (return-type "none")
-  (parameters
-    '("gint" "x")
-    '("gint" "y")
-    '("gint" "width")
-    '("gint" "height")
-  )
-)
-
 (define-method raise
   (of-object "GdkWindow")
   (c-name "gdk_window_raise")
@@ -4962,17 +3782,6 @@
   (return-type "gboolean")
 )
 
-(define-method shape_combine_mask
-  (of-object "GdkWindow")
-  (c-name "gdk_window_shape_combine_mask")
-  (return-type "none")
-  (parameters
-    '("GdkBitmap*" "mask")
-    '("gint" "x")
-    '("gint" "y")
-  )
-)
-
 (define-method shape_combine_region
   (of-object "GdkWindow")
   (c-name "gdk_window_shape_combine_region")
@@ -5011,17 +3820,6 @@
   (return-type "none")
 )
 
-(define-method input_shape_combine_mask
-  (of-object "GdkWindow")
-  (c-name "gdk_window_input_shape_combine_mask")
-  (return-type "none")
-  (parameters
-    '("GdkBitmap*" "mask")
-    '("gint" "x")
-    '("gint" "y")
-  )
-)
-
 (define-method input_shape_combine_region
   (of-object "GdkWindow")
   (c-name "gdk_window_input_shape_combine_region")
@@ -5275,13 +4073,12 @@
   )
 )
 
-(define-method set_back_pixmap
+(define-method set_background_pattern
   (of-object "GdkWindow")
-  (c-name "gdk_window_set_back_pixmap")
+  (c-name "gdk_window_set_background_pattern")
   (return-type "none")
   (parameters
-    '("GdkPixmap*" "pixmap")
-    '("gboolean" "parent_relative")
+    '("cairo_pattern_t*" "pattern")
   )
 )
 
@@ -5347,6 +4144,18 @@
   )
 )
 
+(define-method get_width
+  (of-object "GdkWindow")
+  (c-name "gdk_window_get_width")
+  (return-type "int")
+)
+
+(define-method get_height
+  (of-object "GdkWindow")
+  (c-name "gdk_window_get_height")
+  (return-type "int")
+)
+
 (define-method get_position
   (of-object "GdkWindow")
   (c-name "gdk_window_get_position")
@@ -5403,16 +4212,6 @@
   )
 )
 
-(define-method get_deskrelative_origin
-  (of-object "GdkWindow")
-  (c-name "gdk_window_get_deskrelative_origin")
-  (return-type "gboolean")
-  (parameters
-    '("gint*" "x")
-    '("gint*" "y")
-  )
-)
-
 (define-method get_root_origin
   (of-object "GdkWindow")
   (c-name "gdk_window_get_root_origin")
@@ -5534,17 +4333,6 @@
   )
 )
 
-(define-method set_icon
-  (of-object "GdkWindow")
-  (c-name "gdk_window_set_icon")
-  (return-type "none")
-  (parameters
-    '("GdkWindow*" "icon_window")
-    '("GdkPixmap*" "pixmap")
-    '("GdkBitmap*" "mask")
-  )
-)
-
 (define-method set_icon_name
   (of-object "GdkWindow")
   (c-name "gdk_window_set_icon_name")
@@ -5739,6 +4527,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")
@@ -5804,17 +4602,6 @@
   )
 )
 
-(define-method get_internal_paint_info
-  (of-object "GdkWindow")
-  (c-name "gdk_window_get_internal_paint_info")
-  (return-type "none")
-  (parameters
-    '("GdkDrawable**" "real_drawable")
-    '("gint*" "x_offset")
-    '("gint*" "y_offset")
-  )
-)
-
 (define-method enable_synchronized_configure
   (of-object "GdkWindow")
   (c-name "gdk_window_enable_synchronized_configure")
@@ -5840,9 +4627,9 @@
   (return-type "GdkWindow*")
 )
 
-(define-function gdk_offscreen_window_get_pixmap
-  (c-name "gdk_offscreen_window_get_pixmap")
-  (return-type "GdkPixmap*")
+(define-function gdk_offscreen_window_get_surface
+  (c-name "gdk_offscreen_window_get_surface")
+  (return-type "cairo_surface_t*")
   (parameters
     '("GdkWindow*" "window")
   )
@@ -5871,27 +4658,6 @@
   (return-type "none")
 )
 
-(define-method redirect_to_drawable
-  (of-object "GdkWindow")
-  (c-name "gdk_window_redirect_to_drawable")
-  (return-type "none")
-  (parameters
-    '("GdkDrawable*" "drawable")
-    '("gint" "src_x")
-    '("gint" "src_y")
-    '("gint" "dest_x")
-    '("gint" "dest_y")
-    '("gint" "width")
-    '("gint" "height")
-  )
-)
-
-(define-method remove_redirection
-  (of-object "GdkWindow")
-  (c-name "gdk_window_remove_redirection")
-  (return-type "none")
-)
-
 (define-method set_support_multidevice
   (of-object "GdkWindow")
   (c-name "gdk_window_set_support_multidevice")
@@ -5935,30 +4701,6 @@
   )
 )
 
-(define-function gdk_x11_pixmap_get_drawable_impl
-  (c-name "gdk_x11_pixmap_get_drawable_impl")
-  (return-type "GdkDrawable*")
-  (parameters
-    '("GdkPixmap*" "pixmap")
-  )
-)
-
-(define-function gdk_x11_colormap_get_xdisplay
-  (c-name "gdk_x11_colormap_get_xdisplay")
-  (return-type "Display*")
-  (parameters
-    '("GdkColormap*" "colormap")
-  )
-)
-
-(define-function gdk_x11_colormap_get_xcolormap
-  (c-name "gdk_x11_colormap_get_xcolormap")
-  (return-type "Colormap")
-  (parameters
-    '("GdkColormap*" "colormap")
-  )
-)
-
 (define-function gdk_x11_cursor_get_xdisplay
   (c-name "gdk_x11_cursor_get_xdisplay")
   (return-type "Display*")
@@ -6064,16 +4806,6 @@
   )
 )
 
-(define-function gdk_x11_colormap_foreign_new
-  (c-name "gdk_x11_colormap_foreign_new")
-  (is-constructor-of "GdkX11ColormapForeign")
-  (return-type "GdkColormap*")
-  (parameters
-    '("GdkVisual*" "visual")
-    '("Colormap" "xcolormap")
-  )
-)
-
 (define-function gdk_xid_table_lookup_for_display
   (c-name "gdk_xid_table_lookup_for_display")
   (return-type "gpointer")
@@ -6263,6 +4995,22 @@
   )
 )
 
+(define-function gdk_x11_display_error_trap_push
+  (c-name "gdk_x11_display_error_trap_push")
+  (return-type "none")
+  (parameters
+    '("GdkDisplay*" "display")
+  )
+)
+
+(define-function gdk_x11_display_error_trap_pop_ignored
+  (c-name "gdk_x11_display_error_trap_pop_ignored")
+  (return-type "none")
+  (parameters
+    '("GdkDisplay*" "display")
+  )
+)
+
 (define-function gdk_x11_register_standard_event_type
   (c-name "gdk_x11_register_standard_event_type")
   (return-type "none")
@@ -6272,5 +5020,3 @@
     '("gint" "n_events")
   )
 )
-
-
diff --git a/gdk/src/pixbuf.ccg b/gdk/src/pixbuf.ccg
index d222432..8779254 100644
--- a/gdk/src/pixbuf.ccg
+++ b/gdk/src/pixbuf.ccg
@@ -18,6 +18,7 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
+#include <gdkmm/window.h>
 #include <gdk/gdk.h>
 #include <gdk-pixbuf/gdk-pixbuf.h>
 
@@ -48,21 +49,12 @@ static void pixbuf_destroy_data_callback(guint8* pixels, void* user_data)
 namespace Gdk
 {
 
-Pixbuf::Pixbuf(const Glib::RefPtr<Drawable>& src,
-               const Glib::RefPtr<Colormap>& cmap,
+Pixbuf::Pixbuf(const Glib::RefPtr<Window>& src,
                int src_x, int src_y,
                int width, int height)
 :
-  Object((GObject*) gdk_pixbuf_get_from_drawable(
-      0, src->gobj(), cmap->gobj(), src_x, src_y, 0, 0, width, height))
-{}
-
-Pixbuf::Pixbuf(const Glib::RefPtr<Drawable>& src,
-               int src_x, int src_y,
-               int width, int height)
-:
-  Object((GObject*) gdk_pixbuf_get_from_drawable(
-      0, src->gobj(), 0, src_x, src_y, 0, 0, width, height))
+  Object((GObject*) gdk_pixbuf_get_from_window(
+      0, src->gobj(), src_x, src_y, 0, 0, width, height))
 {}
 
 Pixbuf::Pixbuf(const Cairo::RefPtr<Cairo::Surface>& src,
@@ -117,35 +109,6 @@ Glib::RefPtr<Pixbuf> Pixbuf::create_from_stream_at_scale(const Glib::RefPtr<Gio:
   return retvalue;
 }
 
-void Pixbuf::render_pixmap_and_mask_for_colormap(const Glib::RefPtr<Colormap>& colormap,
-                                                 Glib::RefPtr<Pixmap>& pixmap_return,
-                                                 Glib::RefPtr<Bitmap>& mask_return,
-                                                 int alpha_threshold)
-{
-  GdkPixmap* pPixmap = 0;
-  GdkBitmap* pBitmap = 0;
-
-  gdk_pixbuf_render_pixmap_and_mask_for_colormap(
-      gobj(), colormap->gobj(), &pPixmap, &pBitmap, alpha_threshold);
-
-  pixmap_return = Glib::wrap((GdkPixmapObject*) pPixmap);
-  mask_return   = Glib::RefPtr<Gdk::Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) pBitmap));
-}
-
-void Pixbuf::render_pixmap_and_mask(Glib::RefPtr<Pixmap>& pixmap_return,
-                                    Glib::RefPtr<Bitmap>& mask_return,
-                                    int alpha_threshold)
-{
-  GdkPixmap* pPixmap = 0;
-  GdkBitmap* pBitmap = 0;
-
-  gdk_pixbuf_render_pixmap_and_mask(gobj(), &pPixmap, &pBitmap, alpha_threshold);
-
-  pixmap_return = Glib::wrap((GdkPixmapObject*) pPixmap);
-  mask_return   = Glib::RefPtr<Gdk::Bitmap>::cast_dynamic(Glib::wrap((GdkPixmapObject*) pBitmap));
-}
-
-
 void Pixbuf::save(const std::string& filename, const Glib::ustring& type)
 {
   GError* gerror = 0;
diff --git a/gdk/src/pixbuf.hg b/gdk/src/pixbuf.hg
index 668101a..c3de934 100644
--- a/gdk/src/pixbuf.hg
+++ b/gdk/src/pixbuf.hg
@@ -20,8 +20,6 @@
 _CONFIGINCLUDE(gdkmmconfig.h)
 
 #include <gdkmm/drawable.h>
-#include <gdkmm/pixmap.h>
-#include <gdkmm/bitmap.h>
 #include <gdkmm/pixbufformat.h>
 #include <gdkmm/types.h>
 #include <giomm/inputstream.h>
@@ -33,6 +31,8 @@ _PINCLUDE(glibmm/private/object_p.h)
 namespace Gdk
 {
 
+class Window;
+
 _CC_INCLUDE(gdk-pixbuf/gdk-pixbuf.h)
 _WRAP_ENUM(Colorspace, GdkColorspace)
 _WRAP_ENUM(InterpType, GdkInterpType)
@@ -61,64 +61,13 @@ class Pixbuf : public Glib::Object
 {
   _CLASS_GOBJECT(Pixbuf, GdkPixbuf, GDK_PIXBUF, Glib::Object, GObject)
   _IGNORE(gdk_pixbuf_ref, gdk_pixbuf_unref, gdk_pixbuf_render_pixmap_and_mask,
-      gdk_pixbuf_render_pixmap_and_mask_for_colormap,
       gdk_pixbuf_get_from_image,
       gdk_pixbuf_set_option, gdk_pixbuf_get_option, gdk_pixbuf_non_anim_new)
 
 protected:
 
-  /** Creates a pixbuf object from a drawable.
-   *
-   * Transfers image data from a Drawable and converts it to an RGB(A)
-   * representation inside a Pixbuf. In other words, copies
-   * image data from a server-side drawable to a client-side RGB(A) buffer.
-   * This allows you to efficiently read individual pixels on the client side.
-   *
-   * If the drawable @src has no colormap (See Gdk::Drawable::get_colormap()),
-   * then a suitable colormap must be specified. Otherwise, you may use the
-   * constructor that takes no colormap argument.
-   * Typically a Gdk::Window or a pixmap created by passing a Gdk:Window
-   * to the Gdk::Pixbuf constructor will already have a colormap associated with
-   * it.  If the drawable is a bitmap (1 bit per pixel pixmap),
-   * then a colormap is not required; pixels with a value of 1 are
-   * assumed to be white, and pixels with a value of 0 are assumed to be
-   * black. For taking screenshots, Gdk::Colormap::get_system() returns
-   * the correct colormap to use.
-   *
-   * This will create an RGB pixbuf with 8 bits per channel and no
-   * alpha, with the same size specified by the @a width and @a height
-   * arguments.
-   *
-   * If the specified drawable is a pixmap, then the requested source
-   * rectangle must be completely contained within the pixmap, otherwise
-   * the constructor will fail. For pixmaps only (not for windows)
-   * passing -1 for width or height is allowed to mean the full width
-   * or height of the pixmap.
-   *
-   * If the specified drawable is a window, and the window is off the
-   * screen, then there is no image data in the obscured/offscreen
-   * regions to be placed in the pixbuf. The contents of portions of the
-   * pixbuf corresponding to the offscreen region are undefined.
-   *
-   * If the window you're obtaining data from is partially obscured by
-   * other windows, then the contents of the pixbuf areas corresponding
-   * to the obscured regions are undefined.
-   *
-   * See alo Gdk::Drawable::get_image().
-   *
-   * @param src Source drawable.
-   * @param cmap: A colormap.
-   * @param src_x Source X coordinate within drawable.
-   * @param src_y Source Y coordinate within drawable.
-   * @param width Width in pixels of region to get.
-   * @param height Height in pixels of region to get.
-   *
-   * @newin{2,12}
-   */
-   Pixbuf(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap,
-         int src_x, int src_y, int width, int height);
 
-  /** Creates a pixbuf object from a drawable, using the colormap from the drawable.
+  /** Creates a pixbuf object from a drawable.
    *
    * @param src Source drawable.
    * @param src_x Source X coordinate within drawable.
@@ -128,9 +77,9 @@ protected:
    *
    * @newin{2,12}
    */
-   Pixbuf(const Glib::RefPtr<Drawable>& src,
+   Pixbuf(const Glib::RefPtr<Window>& src,
          int src_x, int src_y, int width, int height);
-   _IGNORE(gdk_pixbuf_get_from_drawable)
+   _IGNORE(gdk_pixbuf_get_from_window)
 
    //TODO: Documentation:
    /** @newin{2,30}
@@ -145,57 +94,6 @@ public:
 
   /** Creates a pixbuf object from a drawable.
    *
-   * Transfers image data from a Drawable and converts it to an RGB(A)
-   * representation inside a Pixbuf. In other words, copies
-   * image data from a server-side drawable to a client-side RGB(A) buffer.
-   * This allows you to efficiently read individual pixels on the client side.
-   *
-   * If the drawable @src has no colormap (See Gdk::Drawable::get_colormap()),
-   * then a suitable colormap must be specified. Otherwise, you may use the
-   * constructor that takes no colormap argument.
-   * Typically a Gdk::Window or a pixmap created by passing a Gdk:Window
-   * to the Gdk::Pixbuf constructor will already have a colormap associated with
-   * it.  If the drawable is a bitmap (1 bit per pixel pixmap),
-   * then a colormap is not required; pixels with a value of 1 are
-   * assumed to be white, and pixels with a value of 0 are assumed to be
-   * black. For taking screenshots, Gdk::Colormap::get_system() returns
-   * the correct colormap to use.
-   *
-   * This will create an RGB pixbuf with 8 bits per channel and no
-   * alpha, with the same size specified by the @a width and @a height
-   * arguments.
-   *
-   * If the specified drawable is a pixmap, then the requested source
-   * rectangle must be completely contained within the pixmap, otherwise
-   * the constructor will fail. For pixmaps only (not for windows)
-   * passing -1 for width or height is allowed to mean the full width
-   * or height of the pixmap.
-   *
-   * If the specified drawable is a window, and the window is off the
-   * screen, then there is no image data in the obscured/offscreen
-   * regions to be placed in the pixbuf. The contents of portions of the
-   * pixbuf corresponding to the offscreen region are undefined.
-   *
-   * If the window you're obtaining data from is partially obscured by
-   * other windows, then the contents of the pixbuf areas corresponding
-   * to the obscured regions are undefined.
-   *
-   * See alo Gdk::Drawable::get_image().
-   *
-   * @param src Source drawable.
-   * @param cmap: A colormap.
-   * @param src_x Source X coordinate within drawable.
-   * @param src_y Source Y coordinate within drawable.
-   * @param width Width in pixels of region to get.
-   * @param height Height in pixels of region to get.
-   *
-   * @newin{2,12}
-   */
-  _WRAP_CREATE(const Glib::RefPtr<Drawable>& src, const Glib::RefPtr<Colormap>& cmap,
-               int src_x, int src_y, int width, int height)
-
-  /** Creates a pixbuf object from a drawable, using the colormap from the drawable.
-   *
    * @param src Source drawable.
    * @param src_x Source X coordinate within drawable.
    * @param src_y Source Y coordinate within drawable.
@@ -204,7 +102,7 @@ public:
    *
    * @newin{2,12}
    */
-  _WRAP_CREATE(const Glib::RefPtr<Drawable>& src,
+  _WRAP_CREATE(const Glib::RefPtr<Window>& src,
                int src_x, int src_y, int width, int height)
 
    //TODO: Documentation
@@ -494,23 +392,9 @@ gboolean gdk_pixbuf_save_to_callbackv   (GdkPixbuf  *pixbuf,
   _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> rotate_simple(PixbufRotation angle) const, gdk_pixbuf_rotate_simple)
   _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> flip(bool horizontal = true) const, gdk_pixbuf_flip)
 
-  _WRAP_METHOD(void render_threshold_alpha(const Glib::RefPtr<Gdk::Bitmap>& bitmap,
-                                          int src_x, int src_y,
-                                          int dest_x, int dest_y,
-                                          int width, int height,
-                                          int alpha_threshold), gdk_pixbuf_render_threshold_alpha)
-
   //Use Gdk::Drawable::draw_pixbuf() instead of gdk_pixbuf_render_to_drawable(), gdk_pixbuf_render_to_drawable_alpha().
   _IGNORE(gdk_pixbuf_render_to_drawable, gdk_pixbuf_render_to_drawable_alpha,)
 
-  void render_pixmap_and_mask_for_colormap(const Glib::RefPtr<Colormap>& colormap,
-                                           Glib::RefPtr<Pixmap>& pixmap_return,
-                                           Glib::RefPtr<Bitmap>& mask_return,
-                                           int alpha_threshold);
-
-  void render_pixmap_and_mask(Glib::RefPtr<Pixmap>& pixmap_return,
-                              Glib::RefPtr<Bitmap>& mask_return, int alpha_threshold);
-
   _WRAP_METHOD(Glib::ustring get_option(const Glib::ustring& key) const, gdk_pixbuf_get_option)
 
 
diff --git a/gdk/src/screen.hg b/gdk/src/screen.hg
index 56dcd5d..76d796f 100644
--- a/gdk/src/screen.hg
+++ b/gdk/src/screen.hg
@@ -32,15 +32,15 @@ namespace Gdk
 {
 
 class Display;
-class Colormap;
 class Visual;
 class Window;
 
+//TODO: Remove mentino of Colormap:
 /** Object representing a physical screen
  * Gdk::Screen objects are the GDK representation of a physical screen. It is used throughout GDK and GTK+ to specify
  * which screen the top level windows are to be displayed on. It is also used to query the screen specification and
  * default settings such as the default colormap (get_default_colormap()), the screen width (get_width()), etc.
- * Note that a screen may consist of multiple monitors which are merged to form a large screen area. 
+ * Note that a screen may consist of multiple monitors which are merged to form a large screen area.
  */
 class Screen : public Glib::Object
 {
@@ -48,25 +48,12 @@ class Screen : public Glib::Object
 protected:
 
 public:
-  _WRAP_METHOD(Glib::RefPtr<Colormap> get_default_colormap(), gdk_screen_get_default_colormap, refreturn)
-  _WRAP_METHOD(Glib::RefPtr<const Colormap> get_default_colormap() const, gdk_screen_get_default_colormap, refreturn, constversion)
-
-  _WRAP_METHOD(void set_default_colormap(const Glib::RefPtr<const Colormap>& colormap), gdk_screen_set_default_colormap)
-  _WRAP_METHOD(Glib::RefPtr<Colormap> get_system_colormap(), gdk_screen_get_system_colormap, refreturn)
-  _WRAP_METHOD(Glib::RefPtr<const Colormap> get_system_colormap() const, gdk_screen_get_system_colormap, refreturn, constversion)
-
   _WRAP_METHOD(Glib::RefPtr<Visual> get_system_visual(), gdk_screen_get_system_visual, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const Visual> get_system_visual() const, gdk_screen_get_system_visual, refreturn, constversion)
 
-  _WRAP_METHOD(Glib::RefPtr<Colormap> get_rgb_colormap(), gdk_screen_get_rgb_colormap, refreturn)
-  _WRAP_METHOD(Glib::RefPtr<const Colormap> get_rgb_colormap() const, gdk_screen_get_rgb_colormap, refreturn, constversion)
-
   _WRAP_METHOD(Glib::RefPtr<Visual> get_rgb_visual(), gdk_screen_get_rgb_visual, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const Visual> get_rgb_visual() const, gdk_screen_get_rgb_visual, refreturn, constversion)
 
-  _WRAP_METHOD(Glib::RefPtr<Colormap> get_rgba_colormap(), gdk_screen_get_rgba_colormap, refreturn)
-  _WRAP_METHOD(Glib::RefPtr<const Colormap> get_rgba_colormap() const, gdk_screen_get_rgba_colormap, refreturn, constversion)
-
   _WRAP_METHOD(Glib::RefPtr<Visual> get_rgba_visual(), gdk_screen_get_rgba_visual, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const Visual> get_rgba_visual() const, gdk_screen_get_rgba_visual, refreturn, constversion)
 
@@ -125,15 +112,15 @@ public:
 #m4 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Window> >',`$2($3, Glib::OWNERSHIP_DEEP)')
   _WRAP_METHOD(Glib::ListHandle< Glib::RefPtr<Window> > get_window_stack(), gdk_screen_get_window_stack)
 
-  /** The size_changed signal is emitted when the pixel width or 
+  /** The size_changed signal is emitted when the pixel width or
    * height of a screen changes.
    */
   _WRAP_SIGNAL(void size_changed(), size-changed)
-  
+
   //TODO: Remove no_default_handler when we can break ABI:
   _WRAP_SIGNAL(void composited_changed(), composited-changed, no_default_handler)
   _WRAP_SIGNAL(void monitors_changed(), size-changed, no_default_handler)
-  
+
   _WRAP_PROPERTY("font-options", Cairo::FontOptions)
   _WRAP_PROPERTY("resolution", double)
 };
@@ -151,4 +138,3 @@ bool Screen::get_setting(const Glib::ustring& name, ValueType& value) const
 }
 
 } /* namespace Gdk */
-
diff --git a/gdk/src/visual.hg b/gdk/src/visual.hg
index 393299e..429bf85 100644
--- a/gdk/src/visual.hg
+++ b/gdk/src/visual.hg
@@ -1,6 +1,6 @@
 /* $Id: visual.hg,v 1.4 2006/04/12 11:11:24 murrayc Exp $ */
 
-/* bitmap.h
+/* visual.h
  *
  * Copyright (C) 1998-2002 The gtkmm Development Team
  *
diff --git a/gdk/src/window.ccg b/gdk/src/window.ccg
index 55ca8d9..cb3f957 100644
--- a/gdk/src/window.ccg
+++ b/gdk/src/window.ccg
@@ -19,7 +19,6 @@
  */
 
 #include <gdk/gdk.h>
-#include <gdkmm/pixmap.h>
 #include <gdkmm/cursor.h>
 #include <gdkmm/device.h>
 #include <gdkmm/types.h>
@@ -61,31 +60,9 @@ void Window::unset_sm_client_id()
   gdk_set_sm_client_id(0 /* see GDK docs */);
 }
 
-void Window::set_icon(const Glib::RefPtr<Window>& icon_window, const Glib::RefPtr<Pixmap>& pixmap)
-{
-  gdk_window_set_icon(gobj(), icon_window->gobj(), pixmap->gobj(), 0); /* See GDK docs */
-}
-
 void Window::unset_icon()
 {
-  gdk_window_set_icon(gobj(), 0, 0, 0); /* See GDK docs */
-}
-
-void Window::unset_shape_combine_mask()
-{
-  gdk_window_shape_combine_mask(gobj(), 0, 0, 0); //See GDK docs.
-}
-
-void Window::get_internal_paint_info(Glib::RefPtr<Drawable>& real_drawable, int& x_offset, int& y_offset) const
-{
-  GdkDrawable* temp_drawable = 0;
-  gdk_window_get_internal_paint_info(const_cast<GdkWindow*>(gobj()), &temp_drawable, &x_offset, &y_offset);
-  real_drawable = Glib::wrap(temp_drawable);
-}
-
-void Window::unset_back_pixmap()
-{
-  gdk_window_set_back_pixmap(gobj(), NULL, FALSE);
+  gdk_window_set_icon_name(gobj(), 0); /* See GDK docs */
 }
 
 void Window::invalidate(bool invalidate_children)
diff --git a/gdk/src/window.hg b/gdk/src/window.hg
index 42b92c0..93e53a2 100644
--- a/gdk/src/window.hg
+++ b/gdk/src/window.hg
@@ -18,7 +18,6 @@
 _CONFIGINCLUDE(gdkmmconfig.h)
 
 #include <gdkmm/drawable.h>
-#include <gdkmm/bitmap.h>
 //#include <gdkmm/cursor.h>
 #include <gdkmm/types.h>
 #include <cairomm/region.h>
@@ -62,7 +61,7 @@ class Window : public Gdk::Drawable
   // GdkWindow is a typedef to GdkDrawable, but it's actually a GdkWindowObject.
   _CLASS_GOBJECT(Window, GdkWindow, GDK_WINDOW_OBJECT, Gdk::Drawable, GdkDrawable, GdkWindowObject)
   _STRUCT_NOT_HIDDEN
-  _IGNORE(gdk_window_set_hints, gdk_window_destroy, gdk_window_new, gdk_window_get_deskrelative_origin, gdk_window_get_internal_paint_info)
+  _IGNORE(gdk_window_set_hints, gdk_window_destroy, gdk_window_new, gdk_window_get_deskrelative_origin)
   _IGNORE(gdk_window_destroy_notify, gdk_window_is_destroyed)
 
 protected:
@@ -113,17 +112,13 @@ public:
   _WRAP_METHOD(void move_region(const Cairo::RefPtr<Cairo::Region>& region, int dx, int dy), gdk_window_move_region)
   _WRAP_METHOD(bool ensure_native(), gdk_window_ensure_native)
 
-  _WRAP_METHOD(void shape_combine_mask(const Glib::RefPtr<Bitmap>& mask, int x = 0, int y = 0), gdk_window_shape_combine_mask)
-  void unset_shape_combine_mask();
-
   _WRAP_METHOD(void shape_combine_region(const Cairo::RefPtr<Cairo::Region>& shape_region, int offset_x = 0, int offset_y = 0), gdk_window_shape_combine_region)
   _WRAP_METHOD(void set_child_shapes(), gdk_window_set_child_shapes)
   _WRAP_METHOD(bool get_composited() const, gdk_window_get_composited)
   _WRAP_METHOD(void set_composited(bool composited = TRUE), gdk_window_set_composited)
   _WRAP_METHOD(void merge_child_shapes(), gdk_window_merge_child_shapes)
 
-  _WRAP_METHOD(void input_shape_combine_mask(const Glib::RefPtr<Bitmap>& mask, int x, int y), gdk_window_input_shape_combine_mask)
-  _WRAP_METHOD(void input_shape_combine_region (const Cairo::RefPtr<Cairo::Region>& shape_region, int offset_x, int offset_y), gdk_window_input_shape_combine_region)
+  _WRAP_METHOD(void input_shape_combine_region(const Cairo::RefPtr<Cairo::Region>& shape_region, int offset_x, int offset_y), gdk_window_input_shape_combine_region)
   _WRAP_METHOD(void set_child_input_shapes(), gdk_window_set_child_input_shapes)
   _WRAP_METHOD(void merge_child_input_shapes(), gdk_window_merge_child_input_shapes)
 
@@ -150,18 +145,6 @@ public:
   _WRAP_METHOD(void set_startup_id(const Glib::ustring& startup_id), gdk_window_set_startup_id)
   _WRAP_METHOD(void set_transient_for(const Glib::RefPtr<Window>& parent), gdk_window_set_transient_for)
   _WRAP_METHOD(void set_background(const Color& color), gdk_window_set_background)
-  _WRAP_METHOD(void set_back_pixmap(const Glib::RefPtr<Pixmap>&pixmap, bool parent_relative = true), gdk_window_set_back_pixmap)
-
-  /** Unsets the background pixmap of @a window so that the window will have no
-   * background.  A window with no background will never have its
-   * background filled by the windowing system, instead the window will
-   * contain whatever pixels were already in the corresponding area of
-   * the display.
-   *
-   * @see set_back_pixmap().
-   * @newin{2,14}
-   */
-  void unset_back_pixmap();
 
   #m4 _CONVERSION(`cairo_pattern_t*',`Cairo::RefPtr<Cairo::Pattern>',`Cairo::RefPtr<Cairo::Pattern>(new Cairo::Pattern($3, false /* take reference */))')
   _WRAP_METHOD(Cairo::RefPtr<Cairo::Pattern> get_background_pattern(), gdk_window_get_background_pattern)
@@ -224,7 +207,6 @@ public:
   _WRAP_METHOD(void set_device_events(const Glib::RefPtr<Device>& device, EventMask event_mask), gdk_window_set_device_events)
 
   _WRAP_METHOD(void set_icon_list(const Glib::ListHandle< Glib::RefPtr<Gdk::Pixbuf> >& pixbufs), gdk_window_set_icon_list)
-  _WRAP_METHOD(void set_icon(const Glib::RefPtr<Window>& icon_window, const Glib::RefPtr<Pixmap>& pixmap, const Glib::RefPtr<Bitmap>& mask), gdk_window_set_icon)
   void set_icon(const Glib::RefPtr<Window>& icon_window, const Glib::RefPtr<Pixmap>& pixmap);
   void unset_icon();
   _WRAP_METHOD(void set_icon_name(const Glib::ustring& name), gdk_window_set_icon_name)
@@ -284,7 +266,6 @@ public:
   _WRAP_METHOD(void process_updates(bool update_children), gdk_window_process_updates)
   _WRAP_METHOD(static void set_debug_updates(bool setting = true), gdk_window_set_debug_updates)
   _WRAP_METHOD(static void constrain_size(const Geometry& geometry, guint flags, int width, int height, int& new_width, int& new_height), gdk_window_constrain_size)
-  void get_internal_paint_info(Glib::RefPtr<Drawable>& real_drawable, int& x_offset, int& y_offset) const;
 
   _WRAP_METHOD(void enable_synchronized_configure(), gdk_window_enable_synchronized_configure)
   _WRAP_METHOD(void configure_finished(), gdk_window_configure_finished)
@@ -349,10 +330,10 @@ public:
   _WRAP_METHOD(void remove_redirection(), gdk_window_remove_redirection)
 
   _WRAP_METHOD(void geometry_changed(), gdk_window_geometry_changed)
-  
+
   _WRAP_METHOD(void set_support_multidevice(bool support_multidevice = true), gdk_window_set_support_multidevice)
   _WRAP_METHOD(bool get_support_multidevice(), gdk_window_get_support_multidevice)
-  
+
   //TODO: Wrap these? Find out when they are emitted and if they are useful outside of GTK+, and improve the C docs.
   //_WRAP_SIGNAL(Glib::RefPtr<Gdk::Window> pick_embedded_child(double x, double y), pick-embedded-child, no_default_handler)
   //_WRAP_SIGNAL(Glib::RefPtr<Gdk::Window> to_embedder(double offscreen_x, double offscreen_y, double& embedder_x, double& embedder_y), to-embedder, no_default_handler)
diff --git a/gtk/gtkmm/filelist.am b/gtk/gtkmm/filelist.am
index 1858cd4..af01f28 100644
--- a/gtk/gtkmm/filelist.am
+++ b/gtk/gtkmm/filelist.am
@@ -11,6 +11,7 @@ gtkmm_files_extra_cc =			\
 	comboboxentrytext.cc		\
 	comboboxtext.cc			\
 	listviewtext.cc			\
+	object.cc \
 	radiobuttongroup.cc		\
 	selectiondata_private.cc	\
 	stock.cc			\
@@ -28,6 +29,7 @@ gtkmm_files_extra_h =			\
 	comboboxentrytext.h		\
 	comboboxtext.h			\
 	listviewtext.h			\
+	object.h \
 	radiobuttongroup.h		\
 	selectiondata_private.h		\
 	stock.h				\
diff --git a/gtk/src/object.ccg b/gtk/gtkmm/object.cc
similarity index 87%
rename from gtk/src/object.ccg
rename to gtk/gtkmm/object.cc
index 4c86d73..b733591 100644
--- a/gtk/src/object.ccg
+++ b/gtk/gtkmm/object.cc
@@ -1,3 +1,9 @@
+// Generated by gtkmmproc -- DO NOT MODIFY!
+
+
+#include <gtkmm/object.h>
+#include <gtkmm/private/object_p.h>
+
 /* $Id: object.ccg,v 1.8 2005/12/10 11:54:53 murrayc Exp $ */
 
 /* Copyright 1998-2002 The gtkmm Development Team
@@ -73,7 +79,7 @@ void Object::_init_unmanage(bool /* is_toplevel = false */)
        //We just ref() it so that we can unref it later.
        //GLIBMM_DEBUG_REFERENCE(this, gobject_);
        //g_object_ref(gobject_);
-    
+
        //Alternatively, it might be a top-level window (e.g. a Dialog). We would then be doing one too-many refs(),
        //We do an extra unref() in Window::_destroy_c_instance() to take care of that.
 
@@ -96,14 +102,14 @@ void Object::_destroy_c_instance()
   GtkObject* object = gobj();
 
   if (object)
-  { 
+  {
     g_assert(GTK_IS_OBJECT(object));
 
     disconnect_cpp_wrapper();
     //Unfortunately this means that our dispose callback will not be called, because the qdata has been removed.
     //So we'll connect the callback again, just so that gobject_disposed_ gets set for use later in this same method.
     //See below:
-   
+
 
     //This probably isn't a problem now:
     //If we are killing the C++ instance before the C instance, then this might lead to strange behaviour.
@@ -163,7 +169,7 @@ void Object::_destroy_c_instance()
     }
 
     //Glib::Object::~Object() will not g_object_unref() it too. because gobject_ is now 0.
-  }  
+  }
 }
 
 Object::~Object()
@@ -261,7 +267,7 @@ void Object::destroy_()
   //The C++ destructor will be reached later. This function was called by a destructor.
 }
 
-void Object::set_manage() 
+void Object::set_manage()
 {
   //GTKMM_LIFECYCLE
   //This object will not be unref()ed by gtkmm, though it could be destroyed if the coder deletes the C++ instance early.
@@ -297,7 +303,7 @@ void Object::set_manage()
 }
 
 void Object::callback_destroy_(GObject*, void* data) //static
-{ 
+{
   //This is only used for a short time, then disconnected.
 
   Object* cppObject = static_cast<Object*>(data);
@@ -314,3 +320,81 @@ bool Object::is_managed_() const
 
 } // namespace Gtk
 
+namespace
+{
+} // anonymous namespace
+
+
+namespace Glib
+{
+
+Gtk::Object* wrap(GObject* object, bool take_copy)
+{
+  return dynamic_cast<Gtk::Object *> (Glib::wrap_auto ((GObject*)(object), take_copy));
+}
+
+} /* namespace Glib */
+
+namespace Gtk
+{
+
+
+/* The *_Class implementation: */
+
+const Glib::Class& Object_Class::init()
+{
+  if(!gtype_) // create the GType if necessary
+  {
+    // Glib::Class has to know the class init function to clone custom types.
+    class_init_func_ = &Object_Class::class_init_function;
+
+    // This is actually just optimized away, apparently with no harm.
+    // Make sure that the parent type has been created.
+    //CppClassParent::CppObjectType::get_type();
+
+    // Create the wrapper type, with the same class/instance size as the base type.
+    register_derived_type(g_object_get_type());
+
+    // Add derived versions of interfaces, if the C type implements any interfaces:
+
+  }
+
+  return *this;
+}
+
+
+void Object_Class::class_init_function(void* g_class, void* class_data)
+{
+  BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
+  CppClassParent::class_init_function(klass, class_data);
+
+
+}
+
+
+Glib::ObjectBase* Object_Class::wrap_new(GObject* o)
+{
+  return manage(new Object((GObject*)(o)));
+
+}
+
+
+/* The implementation: */
+
+Object::CppClassType Object::object_class_; // initialize static member
+
+GType Object::get_type()
+{
+  return object_class_.init().get_type();
+}
+
+
+GType Object::get_base_type()
+{
+  return g_object_get_type();
+}
+
+
+} // namespace Gtk
+
+
diff --git a/gtk/src/object.hg b/gtk/gtkmm/object.h
similarity index 66%
rename from gtk/src/object.hg
rename to gtk/gtkmm/object.h
index 2d14d06..3e0ab06 100644
--- a/gtk/src/object.hg
+++ b/gtk/gtkmm/object.h
@@ -1,3 +1,11 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_OBJECT_H
+#define _GTKMM_OBJECT_H
+
+
+#include <glibmm.h>
+
 /* $Id: object.hg,v 1.5 2006/04/07 14:11:37 gustin Exp $ */
 
 /* Copyright (C) 1998-2002 The gtkmm Development Team
@@ -20,8 +28,6 @@
 #include <glibmm/object.h>
 #include <gtkmm/base.h>
 #include <gtkmmconfig.h>
-_DEFS(gtkmm,gtk)
-_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gtk
 {
@@ -45,24 +51,69 @@ T* manage(T* obj)
   return obj;
 }
 
-/** Gtk::Object is the base class for all widgets, and for a few non-widget objects such as 
- * Gtk::Adjustment. Gtk::Object predates Glib::Object; non-widgets that derive from Gtk::Object 
+/** Gtk::Object is the base class for all widgets, and for a few non-widget objects such as
+ * Gtk::Adjustment. Gtk::Object predates Glib::Object; non-widgets that derive from Gtk::Object
  * rather than Glib::Object do so for backward compatibility reasons.
  *
- * The most interesting difference between Gtk::Object and Glib::Object is the ability to use Gtk::manage() to delegate memory management to the container widget. Gtk::Objects can also be 
- * explicitly deleted at any time, instead of using only reference-counting, and container widgets 
+ * The most interesting difference between Gtk::Object and Glib::Object is the ability to use Gtk::manage() to delegate memory management to the container widget. Gtk::Objects can also be
+ * explicitly deleted at any time, instead of using only reference-counting, and container widgets
  * can respond when their child objects are being deleted (for instance by removing the widget).
  */
+
 class GTKMM_API Object : public Glib::Object
 {
-  _CLASS_GTKOBJECT(Object,GtkObject,GTK_OBJECT,Glib::Object,GObject)
-  _IGNORE(gtk_object_ref, gtk_object_unref, gtk_object_weakref, gtk_object_weakunref, gtk_object_set_data,
-          gtk_object_set_data_full, gtk_object_remove_data, gtk_object_get_data, gtk_object_remove_no_notify,
-          gtk_object_set_user_data, gtk_object_get_user_data, gtk_object_set_data_by_id, gtk_object_set_data_by_id_full,
-          gtk_object_get_data_by_id, gtk_object_remove_data_by_id, gtk_object_remove_no_notify_by_id, gtk_object_get,
-          gtk_object_set, gtk_object_add_arg_type, gtk_object_destroy, gtk_object_sink)
-  _CUSTOM_DTOR
-  _CUSTOM_CTOR_CAST
+  public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+  typedef Object CppObjectType;
+  typedef Glib::Object_Class CppClassType;
+  typedef GObject BaseObjectType;
+  typedef GObjectClass BaseClassType;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+  virtual ~Object();
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+private:
+  friend class Object_Class;
+  static CppClassType object_class_;
+
+  // noncopyable
+  Object(const Object&);
+  Object& operator=(const Object&);
+
+protected:
+  explicit Object(const Glib::ConstructParams& construct_params);
+  explicit Object(GObject* castitem);
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+  static GType get_type()      G_GNUC_CONST;
+
+
+  static GType get_base_type() G_GNUC_CONST;
+#endif
+
+  ///Provides access to the underlying C GtkObject.
+  GObject*       gobj()       { return reinterpret_cast<GObject*>(gobject_); }
+
+  ///Provides access to the underlying C GtkObject.
+  const GObject* gobj() const { return reinterpret_cast<GObject*>(gobject_); }
+
+
+public:
+  //C++ methods used to invoke GTK+ virtual functions:
+
+protected:
+  //GTK+ Virtual Functions (override these to change behaviour):
+
+  //Default Signal Handlers::
+
+
+private:
+
 
 public:
   //void shutdown(); //We probably don't need this.
@@ -77,7 +128,7 @@ public:
   virtual void set_manage();
   #endif //DOXYGEN_SHOULD_SKIP_THIS
 
-  _WRAP_PROPERTY("user-data", void*)
+  //gtkmmproc error: user-data : property defs lookup failed.
 
   #ifndef DOXYGEN_SHOULD_SKIP_THIS
   /** Private API.
@@ -95,7 +146,7 @@ protected:
 
   // If you need it, give me an example. murrayc. -- Me too. daniel.
   //_WRAP_SIGNAL(void destroy(), "destroy")
-  _IGNORE_SIGNAL(destroy)
+
 
   #ifndef DOXYGEN_SHOULD_SKIP_THIS
   void _init_unmanage(bool is_toplevel = false);
@@ -108,7 +159,10 @@ protected:
   bool referenced_; // = not managed.
   bool gobject_disposed_;
   #endif //DOXYGEN_SHOULD_SKIP_THIS
+
+
 };
 
 } // namespace Gtk
 
+#endif /* _GTKMM_OBJECT_H */
diff --git a/gtk/src/accelgroup.hg b/gtk/src/accelgroup.hg
index 45786d8..ae509e3 100644
--- a/gtk/src/accelgroup.hg
+++ b/gtk/src/accelgroup.hg
@@ -22,7 +22,7 @@ _DEFS(gtkmm,gtk)
 _PINCLUDE(glibmm/private/object_p.h)
 
 #include <gdkmm/types.h>
-#include <gtkmm/object.h>
+#include <glibmm/object.h>
 
 
 namespace Gtk
@@ -109,19 +109,18 @@ public:
   //Let's not wrap this, because the GtkAccelGroupFindFunc callback uses GClosures, and it's not clear that this is useful.
   //AccelKey find(const SlotFind& slot);
   //GtkAccelKey*	gtk_accel_group_find(GtkAccelGroup* accel_group, GtkAccelGroupFindFunc find_func, gpointer data);
-                            
-  _WRAP_METHOD(static bool activate(Gtk::Object& object, guint accel_key, Gdk::ModifierType accel_mods), gtk_accel_groups_activate)
 
+  //TODO: _WRAP_METHOD(static bool activate(Object& object, guint accel_key, Gdk::ModifierType accel_mods), gtk_accel_groups_activate)
 
-  _WRAP_SIGNAL(bool accel_activate(const Glib::RefPtr<Glib::Object>& acceleratable, guint keyval, Gdk::ModifierType modifier), "accel_activate", no_default_handler)   
+
+  _WRAP_SIGNAL(bool accel_activate(const Glib::RefPtr<Glib::Object>& acceleratable, guint keyval, Gdk::ModifierType modifier), "accel_activate", no_default_handler)
 
   //TODO: The C type is unpleasant:
   //This has C docs, but it isn't worth mentioning them for such a useless signal. murrayc.
   _WRAP_SIGNAL(void accel_changed(guint keyval, Gdk::ModifierType modifier, GClosure* accel_closure), "accel_changed", no_default_handler)
-  
+
   _WRAP_PROPERTY("is-locked", bool)
   _WRAP_PROPERTY("modifier-mask", Gdk::ModifierType)
 };
 
 } // namespace Gtk
-
diff --git a/gtk/src/adjustment.hg b/gtk/src/adjustment.hg
index e021725..6cad4b3 100644
--- a/gtk/src/adjustment.hg
+++ b/gtk/src/adjustment.hg
@@ -1,7 +1,7 @@
 /* $Id: adjustment.hg,v 1.5 2006/11/08 21:51:35 murrayc Exp $ */
 
 /* adjustment.h
- * 
+ *
  * Copyright (C) 1998-2002 The gtkmm Development Team
  *
  * This library is free software; you can redistribute it and/or
@@ -19,9 +19,9 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <gtkmm/object.h>
+#include <glibmm/object.h>
 _DEFS(gtkmm,gtk)
-_PINCLUDE(gtkmm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 
 namespace Gtk
@@ -40,18 +40,19 @@ namespace Gtk
  *
  * The owner of the Gtk::Adjustment typically calls the value_changed() and
  * changed() functions after changing the value and its bounds. This results
- * in the emission of the "value_changed" or "changed" signal respectively. 
+ * in the emission of the "value_changed" or "changed" signal respectively.
  *
  */
-class Adjustment : public Object
+class Adjustment : public Glib::Object
 {
-  _CLASS_GTKOBJECT(Adjustment,GtkAdjustment,GTK_ADJUSTMENT,Gtk::Object,GtkObject)
+  _CLASS_GOBJECT(Adjustment,GtkAdjustment,GTK_ADJUSTMENT,Glib::Object,GObject)
 public:
 
   friend class Range;
   friend class HScrollbar;
   friend class VScrollbar;
 
+protected:
   /** Constructor to create an Adjustment object.
    * @param value The initial value
    * @param lower The minimum value
@@ -61,7 +62,10 @@ public:
    * @param page_size The page size
    */
   Adjustment(double value, double lower, double upper, double step_increment = 1, double page_increment = 10, double page_size = 0);
-  
+
+public:
+  _WRAP_CREATE(double value, double lower, double upper, double step_increment = 1, double page_increment = 10, double page_size = 0)
+
   _WRAP_METHOD(void changed(), gtk_adjustment_changed)
   _WRAP_METHOD(void value_changed(), gtk_adjustment_value_changed)
 
@@ -73,7 +77,7 @@ public:
 
   _WRAP_METHOD(void set_lower(double lower), gtk_adjustment_set_lower)
   _WRAP_METHOD(double get_lower() const, gtk_adjustment_get_lower)
-  
+
   _WRAP_METHOD(void set_upper(double upper), gtk_adjustment_set_upper)
   _WRAP_METHOD(double get_upper() const, gtk_adjustment_get_upper)
 
@@ -90,7 +94,7 @@ public:
 
   _WRAP_SIGNAL(void changed(), "changed")
   _WRAP_SIGNAL(void value_changed(), "value_changed")
-  
+
   _WRAP_PROPERTY("value", double)
   _WRAP_PROPERTY("lower", double)
   _WRAP_PROPERTY("upper", double)
@@ -101,4 +105,3 @@ public:
 };
 
 } /* namespace Gtk */
-
diff --git a/gtk/src/bin.ccg b/gtk/src/bin.ccg
index 1dbfe4e..da22eba 100644
--- a/gtk/src/bin.ccg
+++ b/gtk/src/bin.ccg
@@ -75,36 +75,7 @@ Bin::add_label(const Glib::ustring& str, bool mnemonic,
 }
 
 void
-Bin::add_pixmap(const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask)
-{
-  Image* p = manage(new Image(pixmap, mask));
-  add(*p);
-  p->show();
-}
-
-void
-Bin::add_pixlabel (const Glib::RefPtr<Gdk::Pixmap>& pixmap,
-		   const Glib::RefPtr<Gdk::Bitmap>& mask,
-		   const Glib::ustring& str,
-		   double x_align /* = 0.5 */, double y_align /* = 0.5 */)
-{
-  //Create Pixmap and Label widgets:
-  Image* pmap = manage(new Image(pixmap, mask));
-  Label* label = manage(new Label(str));
-  label->set_alignment (x_align, y_align);
-
-  //Put them in a VBox:
-  Box* box = manage(new HBox(false,5));
-  box->pack_start(*pmap, PACK_SHRINK);
-  box->pack_start(*label);
-  box->show_all();
-
-  //And put that VBox in this:
-  add(*box);
-}
-
-void
-Bin::add_pixlabel(const Glib::ustring& pixfile,
+Bin::add_pixlabel(const std::string& pixfile,
 		  const Glib::ustring& str,
 		  double x_align /* = 0.5 */, double y_align /* = 0.5 */)
 {
diff --git a/gtk/src/bin.hg b/gtk/src/bin.hg
index 1802f01..598962a 100644
--- a/gtk/src/bin.hg
+++ b/gtk/src/bin.hg
@@ -27,11 +27,12 @@ _PINCLUDE(gtkmm/private/container_p.h)
 namespace Gtk
 {
 
+//TODO: Add an add_pixbuf() method?
 /** A container with just one child.
  *
  * This is an abstract base class from which all classes holding
  * up to 1 widget inside of them derive.  It provides access to methods
- * relevent to a single object, such as add_label, add_pixmap, etc.
+ * relevent to a single object, such as add_label, etc.
  *
  * @ingroup Widgets
  */
@@ -89,16 +90,7 @@ public:
   void add_label(const Glib::ustring& label, bool mnemonic,
 		 Align x_align, Align y_align = ALIGN_CENTER);
 
-  /** Add an Image object.
-   * This does not correspond to any GTK+ function and is provided purely for
-   * convenience.
-   * This will create, manage, add, and show a new Image to this Bin.
-   * @param pixmap A Glib::RefPtr to a Gdk::Pixmap.
-   * @param mask A Glib::RefPtr to a Gdk::Bitmap.
-   */
-  void add_pixmap(const Glib::RefPtr<Gdk::Pixmap>& pixmap,
-		  const Glib::RefPtr<Gdk::Bitmap>& mask);
-
+  //TODO: Change this to Pixbuf?
   /** Add Image and Label objects.
    * This does not correspond to any GTK+ function and is provided purely for
    * convenience.
@@ -110,10 +102,12 @@ public:
    * @param x_align The horizontal alignment of the text in the label.
    * @param y_align The vertical alignment of the text in the label.
    */
+  /*
   void add_pixlabel(const Glib::RefPtr<Gdk::Pixmap>& pixmap,
                     const Glib::RefPtr<Gdk::Bitmap>& mask,
                     const Glib::ustring& label,
 		                double x_align = 0.5, double y_align = 0.5);
+  */
 
   /** Add Image and Label objects.
    * This does not correspond to any GTK+ function and is provided purely for
@@ -125,7 +119,7 @@ public:
    * @param x_align The horizontal alignment of the text in the label.
    * @param y_align The vertical alignment of the text in the label.
    */
-  void add_pixlabel(const Glib::ustring& pixfile,
+  void add_pixlabel(const std::string& pixfile,
                     const Glib::ustring& label,
 		                double x_align = 0.5, double y_align = 0.5);
 };
diff --git a/gtk/src/cellrenderer.hg b/gtk/src/cellrenderer.hg
index 659bf0a..9fcf3f3 100644
--- a/gtk/src/cellrenderer.hg
+++ b/gtk/src/cellrenderer.hg
@@ -17,10 +17,8 @@
 
 _CONFIGINCLUDE(gtkmmconfig.h)
 
-#include <gtkmm/object.h>
 #include <gtkmm/widget.h>
 #include <gtkmm/celleditable.h>
-#include <gtkmm/cellsizerequest.h>
 
 _DEFS(gtkmm,gtk)
 _PH_INCLUDE(gtkmm/private/object_p.h)
@@ -40,21 +38,25 @@ _WRAP_ENUM(CellRendererMode, GtkCellRendererMode)
  * @ingroup TreeView
  */
 class CellRenderer :
-  public Gtk::Object,
-  public CellSizeRequest
+  public Gtk::Object
 {
-  _CLASS_GTKOBJECT(CellRenderer,GtkCellRenderer,GTK_CELL_RENDERER,Gtk::Object,GtkObject)
-  _IMPLEMENTS_INTERFACE(CellSizeRequest)
+  _CLASS_GTKOBJECT(CellRenderer,GtkCellRenderer,GTK_CELL_RENDERER,Gtk::Object,GObject)
 public:
 
   _IGNORE(gtk_cell_renderer_get_size) //Deprecated
 
+  _WRAP_METHOD(SizeRequestMode get_request_mode() const, gtk_cell_renderer_get_request_mode)
+  _WRAP_METHOD(void get_preferred_width(Widget& widget, int& minimum_width, int& natural_width) const, gtk_cell_renderer_get_preferred_width)
+  _WRAP_METHOD(void get_preferred_height_for_width(Widget& widget, int width, int& minimum_height, int& natural_height) const, gtk_cell_renderer_get_preferred_height_for_width)
+  _WRAP_METHOD(void get_preferred_height(Widget& widget, int& minimum_height, int& natural_height) const, gtk_cell_renderer_get_preferred_height)
+  _WRAP_METHOD(void get_preferred_width_for_height(Widget& widget, int height, int& minimum_width, int& natural_width) const, gtk_cell_renderer_get_preferred_width_for_height)
+  _WRAP_METHOD(void get_preferred_size(Widget& widget, Requisition& minimum_size, Requisition& natural_size) const, gtk_cell_renderer_get_preferred_size)
+
   _WRAP_METHOD(void render(
-                  const Glib::RefPtr<Gdk::Window>& window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Widget& widget,
                   const Gdk::Rectangle& background_area,
                   const Gdk::Rectangle& cell_area,
-                  const Gdk::Rectangle& expose_area,
                   CellRendererState flags), gtk_cell_renderer_render)
 
   _WRAP_METHOD(bool activate(
@@ -148,15 +150,17 @@ protected:
 
 #m4begin
 dnl This extra conversion does the extra reference, often needed by code for vfuncs and signal.
-_CONVERSION(`GdkDrawable*',`const Glib::RefPtr<Gdk::Drawable>&', `Glib::wrap($3, true)')
+_CONVERSION(`cairo_t*',`const Cairo::RefPtr<Cairo::Context>&',`Cairo::RefPtr<Cairo::Context>(new Cairo::Context($3, false /* has_reference */))')
 #m4end
 
+#m4 _CONVERSION(`const GdkRectangle*',`const Gdk::Rectangle&',`Glib::wrap($3)')
+#m4 _CONVERSION(`GdkRectangle*',`const Gdk::Rectangle&',`Glib::wrap($3)')
+
   _WRAP_VFUNC(void render(
-                  const Glib::RefPtr<Gdk::Drawable>& window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Widget& widget,
                   const Gdk::Rectangle& background_area,
                   const Gdk::Rectangle& cell_area,
-                  const Gdk::Rectangle& expose_area,
                   CellRendererState flags), render)
 
   _WRAP_VFUNC(bool activate(
diff --git a/gtk/src/cellrendererspin.hg b/gtk/src/cellrendererspin.hg
index 95c71a3..eace2c0 100644
--- a/gtk/src/cellrendererspin.hg
+++ b/gtk/src/cellrendererspin.hg
@@ -49,7 +49,7 @@ public:
 
   _CTOR_DEFAULT
   
-  _WRAP_PROPERTY("adjustment", Gtk::Adjustment*)
+  _WRAP_PROPERTY("adjustment", Glib::RefPtr<Adjustment>)
   _WRAP_PROPERTY("climb_rate", double)
   _WRAP_PROPERTY("digits", guint)
 
diff --git a/gtk/src/checkbutton.hg b/gtk/src/checkbutton.hg
index c25cb32..2318e4f 100644
--- a/gtk/src/checkbutton.hg
+++ b/gtk/src/checkbutton.hg
@@ -1,7 +1,7 @@
 /* $Id: checkbutton.hg,v 1.2 2004/01/19 19:48:44 murrayc Exp $ */
 
 /* checkbutton.h
- * 
+ *
  * Copyright (C) 1998-2002 The gtkmm Development Team
  *
  * This library is free software; you can redistribute it and/or
@@ -58,9 +58,15 @@ public:
    * contains a Gtk::Label
    */
   explicit CheckButton(const Glib::ustring& label, bool mnemonic = false);
-  
+
 
 protected:
+
+#m4begin
+dnl This extra conversion does the extra reference, often needed by code for vfuncs and signal.
+_CONVERSION(`cairo_t*',`const Cairo::RefPtr<Cairo::Context>&',`Cairo::RefPtr<Cairo::Context>(new Cairo::Context($3, false /* has_reference */))')
+#m4end
+
   /** Emited on button redraw to update indicator.
    * Triggered when the button is redrawn (e.g.after being toggled)
    * Overload this signal if you want to implement your own check button
@@ -68,10 +74,9 @@ protected:
    * The GdkRectangle specifies the area of the widget which will get
    * redrawn.
    */
-  _WRAP_VFUNC(void draw_indicator(GdkRectangle* area), "draw_indicator")
-  
+  _WRAP_VFUNC(void draw_indicator(const Cairo::RefPtr<Cairo::Context>& cr), "draw_indicator")
+
 };
 
 
 } /* namespace Gtk */
-
diff --git a/gtk/src/checkmenuitem.hg b/gtk/src/checkmenuitem.hg
index c7f960f..8631db8 100644
--- a/gtk/src/checkmenuitem.hg
+++ b/gtk/src/checkmenuitem.hg
@@ -1,7 +1,7 @@
 /* $Id: checkmenuitem.hg,v 1.3 2004/01/19 19:48:44 murrayc Exp $ */
 
 /* checkmenuitem.h
- * 
+ *
  * Copyright (C) 1998-2002 The gtkmm Development Team
  *
  * This library is free software; you can redistribute it and/or
@@ -41,7 +41,7 @@ public:
 
   _CTOR_DEFAULT
   explicit CheckMenuItem(const Glib::ustring& label, bool mnemonic = false);
-  
+
 
   _WRAP_METHOD(void set_active(bool state = true), gtk_check_menu_item_set_active)
   _WRAP_METHOD(bool get_active() const, gtk_check_menu_item_get_active)
@@ -53,7 +53,7 @@ public:
 
   _WRAP_METHOD(void set_draw_as_radio(bool draw_as_radio = true), gtk_check_menu_item_set_draw_as_radio)
   _WRAP_METHOD(bool get_draw_as_radio() const, gtk_check_menu_item_get_draw_as_radio)
-  
+
   /** Triggered when the item changes state
    * (Note : changing the item's state with set_active() will also trigger
    * this signal)
@@ -65,14 +65,19 @@ public:
   _WRAP_PROPERTY("draw-as-radio", bool)
 
 protected:
+
+#m4begin
+dnl This extra conversion does the extra reference, often needed by code for vfuncs and signal.
+_CONVERSION(`cairo_t*',`const Cairo::RefPtr<Cairo::Context>&',`Cairo::RefPtr<Cairo::Context>(new Cairo::Context($3, false /* has_reference */))')
+#m4end
+
   /** Triggered when the item is redrawn (e.g.after being toggled)
    * Overload this signal if you want to implement your own check item
    * look. Otherwise, you most likely don't care about it.
    * The GdkRectangle specifies the area of the widget which will get
    * redrawn.
    */
-  _WRAP_VFUNC(void draw_indicator(GdkRectangle* area), draw_indicator)
+  _WRAP_VFUNC(void draw_indicator(const Cairo::RefPtr<Cairo::Context>& cr), draw_indicator)
 };
 
 } /* namespace Gtk */
-
diff --git a/gtk/src/container.ccg b/gtk/src/container.ccg
index 4d9bca8..b864ab9 100644
--- a/gtk/src/container.ccg
+++ b/gtk/src/container.ccg
@@ -138,7 +138,7 @@ void Container_Class::remove_callback(GtkContainer* self, GtkWidget* p0)
   g_warning("Container_Class::remove_callback_custom() C self=%p: C child=%p\n", (void*)self, (void*)p0);
   g_warning("gtypename self: %s\n, gtypename child: %s", G_OBJECT_TYPE_NAME(G_OBJECT(self)), G_OBJECT_TYPE_NAME(G_OBJECT(p0)));
 #endif
-  
+
   //Don't call wrap() on a GTK+ instance whose gtkmm instance has been deleted - just call the original C callback.
   const bool gtkmm_child_already_deleted = Glib::_gobject_cppinstance_already_deleted((GObject*)p0);
 
@@ -216,27 +216,8 @@ void Container::remove(Widget& widget)
   //before being added to the first container.
   if(widget.is_managed_())
     widget.reference();
-    
-  gtk_container_remove(gobj(), widget.gobj());
-}
-
-// static
-void Container_Class::destroy_callback(GtkObject* self)
-{
-#ifdef GLIBMM_DEBUG_REFCOUNTING
-  g_warning("Container_Class::destroy_callback() gobject_=%10X\n", self);
-  if(self)
-    g_warning("gtypename: %s\n", G_OBJECT_TYPE_NAME(G_OBJECT(self)));
-#endif
-
-  //Call the normal C destroy implementation, such as gtk_button_destroy:
-  //This will chain to gtk_container_destroy(), which will gtk_widget_destroy() any remaining child widgets.
-  GtkObjectClass *const base = static_cast<GtkObjectClass*>(
-      g_type_class_peek_parent(G_OBJECT_GET_CLASS(self)));
 
-  if(base->destroy)
-    (*base->destroy)(self);
+  gtk_container_remove(gobj(), widget.gobj());
 }
 
 } // namespace Gtk
-
diff --git a/gtk/src/container.hg b/gtk/src/container.hg
index 95c3821..5cf89ed 100644
--- a/gtk/src/container.hg
+++ b/gtk/src/container.hg
@@ -16,7 +16,7 @@
  * License along with this library; if not, write to the Free
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
- 
+
 #include <glibmm/listhandle.h>
 #include <gtkmm/widget.h>
 
@@ -84,7 +84,7 @@ public:
   /// Request that contained widgets check their size
   _WRAP_METHOD(void check_resize(), gtk_container_check_resize)
 
-  /** For instance, 
+  /** For instance,
    * void on_foreach(Gtk::Widget* widget);
    */
   typedef sigc::slot<void, Widget&> ForeachSlot;
@@ -134,25 +134,25 @@ public:
   /// Sets the focus on a child
   _WRAP_METHOD(void set_focus_child(Widget& widget),gtk_container_set_focus_child)
 
-  _WRAP_METHOD(void set_focus_vadjustment(Adjustment& adjustment),
+  _WRAP_METHOD(void set_focus_vadjustment(const Glib::RefPtr<Adjustment>& adjustment),
                gtk_container_set_focus_vadjustment)
 
-  _WRAP_METHOD(Adjustment* get_focus_vadjustment(),
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_focus_vadjustment(),
                gtk_container_get_focus_vadjustment)
-  _WRAP_METHOD(const Adjustment* get_focus_vadjustment() const,
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_focus_vadjustment() const,
                gtk_container_get_focus_vadjustment, constversion)
 
-  _WRAP_METHOD(void set_focus_hadjustment(Adjustment& adjustment),
+  _WRAP_METHOD(void set_focus_hadjustment(const Glib::RefPtr<Adjustment>& adjustment),
                gtk_container_set_focus_hadjustment)
 
-  _WRAP_METHOD(Adjustment* get_focus_hadjustment(),
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_focus_hadjustment(),
                gtk_container_get_focus_hadjustment)
-  _WRAP_METHOD(const Adjustment* get_focus_hadjustment() const,
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_focus_hadjustment() const,
                gtk_container_get_focus_hadjustment, constversion)
 
 
   _WRAP_METHOD(void resize_children(), gtk_container_resize_children)
-  
+
   _WRAP_METHOD(GType child_type() const, gtk_container_child_type)
 
   // Ignore functions such as gtk_container_class_install_child_property(),  which I think are for themes, like the GtkWidget style properties.
@@ -169,7 +169,7 @@ public:
   _WRAP_SIGNAL(void check_resize(), "check_resize")
   _WRAP_SIGNAL(void set_focus_child(Widget* widget), "set_focus_child")
 
-  void show_all_children(bool recursive = true); 
+  void show_all_children(bool recursive = true);
 
 protected:
   _CTOR_DEFAULT()
@@ -191,9 +191,7 @@ dnl// GTK+ code, e.g. when receiving the GDK_DELETE event.  For details, look
 dnl// at Gtk::Widget_Class::dispose_vfunc_callback() in widget.ccg.
 dnl
   _PUSH(SECTION_PCC_CLASS_INIT_DEFAULT_SIGNAL_HANDLERS)
-    reinterpret_cast<GtkObjectClass*>(klass)->destroy = &destroy_callback;
   _SECTION(SECTION_PH_DEFAULT_SIGNAL_HANDLERS)
-    static void destroy_callback(GtkObject* self);
     static void remove_callback_normal(GtkContainer* self, GtkWidget* p0);
   _POP()
 #m4end
@@ -201,4 +199,3 @@ dnl
 };
 
 } // namespace Gtk
-
diff --git a/gtk/src/entry.hg b/gtk/src/entry.hg
index a3331d8..a807f7f 100644
--- a/gtk/src/entry.hg
+++ b/gtk/src/entry.hg
@@ -100,9 +100,9 @@ public:
   _WRAP_METHOD(int layout_index_to_text_index(int layout_index) const, gtk_entry_layout_index_to_text_index)
   _WRAP_METHOD(int text_index_to_layout_index(int text_index) const, gtk_entry_text_index_to_layout_index)
 
-  _WRAP_METHOD(void set_cursor_hadjustment (Adjustment& adjustment), gtk_entry_set_cursor_hadjustment)
-  _WRAP_METHOD(Adjustment* get_cursor_hadjustment(), gtk_entry_get_cursor_hadjustment, refreturn)
-  _WRAP_METHOD(const Adjustment* get_cursor_hadjustment() const, gtk_entry_get_cursor_hadjustment, refreturn, constversion)
+  _WRAP_METHOD(void set_cursor_hadjustment(const Glib::RefPtr<Adjustment>& adjustment), gtk_entry_set_cursor_hadjustment)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_cursor_hadjustment(), gtk_entry_get_cursor_hadjustment, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_cursor_hadjustment() const, gtk_entry_get_cursor_hadjustment, refreturn, constversion)
 
   _WRAP_METHOD(void set_alignment(float xalign), gtk_entry_set_alignment)
   _WRAP_METHOD(void set_alignment(Align xalign), gtk_entry_set_alignment)
diff --git a/gtk/src/entrybuffer.hg b/gtk/src/entrybuffer.hg
index e0d2492..bf84dab 100644
--- a/gtk/src/entrybuffer.hg
+++ b/gtk/src/entrybuffer.hg
@@ -21,7 +21,7 @@
 // the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
 _CONFIGINCLUDE(gtkmmconfig.h)
 
-#include <gtkmm/object.h>
+#include <glibmm/object.h>
 #include <gtkmmconfig.h>
 #include <utility>
 
diff --git a/gtk/src/filechooser.ccg b/gtk/src/filechooser.ccg
index 628b299..bba54ce 100644
--- a/gtk/src/filechooser.ccg
+++ b/gtk/src/filechooser.ccg
@@ -20,5 +20,3 @@
 
 #include <gtk/gtk.h>
 //#include <gtk/gtkfilesystem.h> //We include this semi-private header just to get GTK_FILE_SYSTEM_ERROR.
-
-
diff --git a/gtk/src/filechooser.hg b/gtk/src/filechooser.hg
index eff4384..e9e1ddb 100644
--- a/gtk/src/filechooser.hg
+++ b/gtk/src/filechooser.hg
@@ -19,16 +19,16 @@
 
 #include <gtkmm/widget.h>
 #include <gtkmm/filefilter.h>
-#include <glibmm/interface.h>
 #include <giomm/file.h>
 
-
 _DEFS(gtkmm,gtk)
 _PINCLUDE(glibmm/private/interface_p.h)
 
 namespace Gtk
 {
 
+class FileFilter;
+
 _WRAP_ENUM(FileChooserAction, GtkFileChooserAction)
 _WRAP_ENUM(FileChooserConfirmation, GtkFileChooserConfirmation)
 
@@ -90,7 +90,7 @@ public:
   _WRAP_METHOD(void unselect_filename(const std::string& filename), gtk_file_chooser_unselect_filename)
   _WRAP_METHOD(void select_all(), gtk_file_chooser_select_all)
   _WRAP_METHOD(void unselect_all(), gtk_file_chooser_unselect_all)
-  
+
 #m4 _CONVERSION(`GSList*',`Glib::SListHandle<std::string>',__FL2H_DEEP)
   _WRAP_METHOD(Glib::SListHandle<std::string> get_filenames() const, gtk_file_chooser_get_filenames)
 
@@ -155,23 +155,25 @@ public:
 
 /* List of user selectable filters
  */
-  _WRAP_METHOD(void add_filter(const FileFilter& filter), gtk_file_chooser_add_filter)
-  _WRAP_METHOD(void remove_filter (const FileFilter& filter), gtk_file_chooser_remove_filter)
+  _WRAP_METHOD(void add_filter(const Glib::RefPtr<FileFilter>& filter), gtk_file_chooser_add_filter)
+  _WRAP_METHOD(void remove_filter (const Glib::RefPtr<FileFilter>& filter), gtk_file_chooser_remove_filter)
 
-  _WRAP_METHOD(Glib::SListHandle< FileFilter* > list_filters(), gtk_file_chooser_list_filters)
-  _WRAP_METHOD(Glib::SListHandle< const FileFilter* > list_filters() const, gtk_file_chooser_list_filters)
+_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<FileFilter> >',__FL2H_SHALLOW)
+_CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const FileFilter> >',__FL2H_SHALLOW)
+  _WRAP_METHOD(Glib::SListHandle< Glib::RefPtr<FileFilter> > list_filters(), gtk_file_chooser_list_filters)
+  _WRAP_METHOD(Glib::SListHandle< Glib::RefPtr<const FileFilter> > list_filters() const, gtk_file_chooser_list_filters)
 
 /* Current filter
  */
-  _WRAP_METHOD(void set_filter(const FileFilter& filter), gtk_file_chooser_set_filter)
-  _WRAP_METHOD(FileFilter* get_filter(), gtk_file_chooser_get_filter)
-  _WRAP_METHOD(const FileFilter* get_filter() const, gtk_file_chooser_get_filter, constversion)
+  _WRAP_METHOD(void set_filter(const Glib::RefPtr<FileFilter>& filter), gtk_file_chooser_set_filter)
+  _WRAP_METHOD(Glib::RefPtr<FileFilter> get_filter(), gtk_file_chooser_get_filter)
+  _WRAP_METHOD(Glib::RefPtr<const FileFilter> get_filter() const, gtk_file_chooser_get_filter, constversion)
 
 /* Per-application shortcut folders */
 
   _WRAP_METHOD(bool add_shortcut_folder(const std::string& folder), gtk_file_chooser_add_shortcut_folder, errthrow)
   _WRAP_METHOD(bool remove_shortcut_folder(const std::string& folder), gtk_file_chooser_remove_shortcut_folder, errthrow)
- 
+
   _WRAP_METHOD(Glib::SListHandle<std::string> list_shortcut_folders() const, gtk_file_chooser_list_shortcut_folders)
 
   _WRAP_METHOD(bool add_shortcut_folder_uri(const Glib::ustring& uri), gtk_file_chooser_add_shortcut_folder_uri, errthrow)
@@ -243,7 +245,7 @@ public:
 
   _WRAP_PROPERTY("action", FileChooserAction)
   //TODO: _WRAP_PROPERTY("file-system-backend", FileSystem) //FileSystem is not really public API.
-  _WRAP_PROPERTY("filter", FileFilter*)
+  _WRAP_PROPERTY("filter", Glib::RefPtr<FileFilter>)
   _WRAP_PROPERTY("local-only", bool)
   _WRAP_PROPERTY("preview-widget", Widget*)
   _WRAP_PROPERTY("preview-widget-active", bool)
diff --git a/gtk/src/filefilter.hg b/gtk/src/filefilter.hg
index 3488c93..c983919 100644
--- a/gtk/src/filefilter.hg
+++ b/gtk/src/filefilter.hg
@@ -17,16 +17,10 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <gtkmm/object.h>
+#include <glibmm/object.h>
 
 _DEFS(gtkmm,gtk)
-_PINCLUDE(gtkmm/private/object_p.h)
-
-//TODO: remove this if we wrap this in a C++ type:
-#ifndef DOXYGEN_SHOULD_SKIP_THIS
-//typedef struct _GtkFileFilterInfo GtkFileFilterInfo;
-#endif /* DOXYGEN_SHOULD_SKIP_THIS */
-
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gtk
 {
@@ -36,23 +30,26 @@ _WRAP_ENUM(FileFilterFlags, GtkFileFilterFlags)
 /** A filter for selecting a file subset.
  *
  * A Gtk::FileFilter can be used to restrict the files being shown in a Gtk::FileChooser.
- * Files can be filtered based on their name (with add_pattern()), 
- * on their mime type (with add_mime_type()), or by a custom filter 
+ * Files can be filtered based on their name (with add_pattern()),
+ * on their mime type (with add_mime_type()), or by a custom filter
  * function (with add_custom()).
  *
- * Filtering by mime types handles aliasing and subclassing of mime types; 
- * e.g. a filter for text/plain also matches a file with mime type application/rtf, 
- * since application/rtf is a subclass of text/plain. Note that Gtk::FileFilter 
+ * Filtering by mime types handles aliasing and subclassing of mime types;
+ * e.g. a filter for text/plain also matches a file with mime type application/rtf,
+ * since application/rtf is a subclass of text/plain. Note that Gtk::FileFilter
  * allows wildcards for the subtype of a mime type, so you can e.g. filter for image/ *.
- * 
- * Normally, filters are used by adding them to a Gtk::FileChooser. See Gtk::FileChooser::add_filter(). 
- * But it is also possible to manually use a filter on a file with filter(). 
+ *
+ * Normally, filters are used by adding them to a Gtk::FileChooser. See Gtk::FileChooser::add_filter().
+ * But it is also possible to manually use a filter on a file with filter().
  */
-class FileFilter : public Gtk::Object
+class FileFilter : public Glib::Object
 {
-  _CLASS_GTKOBJECT(FileFilter, GtkFileFilter, GTK_FILE_FILTER, Gtk::Object, GtkObject)
+  _CLASS_OBJECT(FileFilter, GtkFileFilter, GTK_FILE_FILTER, Glib::Object, GObject)
+protected:
+  _CTOR_DEFAULT
+
 public:
- _CTOR_DEFAULT
+  _WRAP_CREATE()
 
   _WRAP_METHOD(void set_name(const Glib::ustring& name), gtk_file_filter_set_name)
   _WRAP_METHOD(Glib::ustring get_name() const, gtk_file_filter_get_name)
@@ -73,16 +70,15 @@ public:
 
   /// For instance, bool on_custom(const Gtk::FileFilter::Info& filter_info);
   typedef sigc::slot<bool, const Info&> SlotCustom;
-  
+
   void add_custom(FileFilterFlags needed, const SlotCustom& slot);
   _IGNORE(gtk_file_filter_add_custom)
 
   _WRAP_METHOD(FileFilterFlags get_needed() const, gtk_file_filter_get_needed)
 
-  //TODO: This method is onlyused by FileChooser implementors, so we don't need to wrap it.
+  //TODO: This method is only used by FileChooser implementors, so we don't need to wrap it.
   _IGNORE(gtk_file_filter_filter)
   //_WRAP_METHOD(bool filter(const GtkFileFilterInfo* filter_info), gtk_file_filter_filter)
 };
 
 } // namespace Gtk
-
diff --git a/gtk/src/filelist.am b/gtk/src/filelist.am
index b6b9f3c..7af311c 100644
--- a/gtk/src/filelist.am
+++ b/gtk/src/filelist.am
@@ -45,7 +45,6 @@ gtkmm_files_any_hg =		\
 	cellrendererspinner.hg	\
 	cellrenderertext.hg	\
 	cellrenderertoggle.hg	\
-  cellsizerequest.hg \
 	cellview.hg		\
 	checkbutton.hg		\
 	checkmenuitem.hg	\
@@ -97,7 +96,6 @@ gtkmm_files_any_hg =		\
 	messagedialog.hg	\
 	misc.hg			\
 	notebook.hg		\
-	object.hg		\
 	offscreenwindow.hg	\
 	orientable.hg		\
 	pagesetup.hg		\
@@ -135,7 +133,6 @@ gtkmm_files_any_hg =		\
 	separatortoolitem.hg	\
 	settings.hg		\
 	sizegroup.hg		\
-	sizerequest.hg		\
 	socket.hg		\
 	spinbutton.hg		\
 	spinner.hg		\
diff --git a/gtk/src/gtk_methods.defs b/gtk/src/gtk_methods.defs
index 7c43e5b..5900365 100644
--- a/gtk/src/gtk_methods.defs
+++ b/gtk/src/gtk_methods.defs
@@ -34,6 +34,13 @@
   (gtype-id "GTK_TYPE_ACTIVATABLE")
 )
 
+(define-object Adjustment
+  (in-module "Gtk")
+  (parent "GInitiallyUnowned")
+  (c-name "GtkAdjustment")
+  (gtype-id "GTK_TYPE_ADJUSTMENT")
+)
+
 (define-object Application
   (in-module "Gtk")
   (parent "GApplication")
@@ -66,6 +73,69 @@
   (gtype-id "GTK_TYPE_CELL_LAYOUT")
 )
 
+(define-object CellRenderer
+  (in-module "Gtk")
+  (parent "GInitiallyUnowned")
+  (c-name "GtkCellRenderer")
+  (gtype-id "GTK_TYPE_CELL_RENDERER")
+)
+
+(define-object CellRendererPixbuf
+  (in-module "Gtk")
+  (parent "GtkCellRenderer")
+  (c-name "GtkCellRendererPixbuf")
+  (gtype-id "GTK_TYPE_CELL_RENDERER_PIXBUF")
+)
+
+(define-object CellRendererProgress
+  (in-module "Gtk")
+  (parent "GtkCellRenderer")
+  (c-name "GtkCellRendererProgress")
+  (gtype-id "GTK_TYPE_CELL_RENDERER_PROGRESS")
+)
+
+(define-object CellRendererSpinner
+  (in-module "Gtk")
+  (parent "GtkCellRenderer")
+  (c-name "GtkCellRendererSpinner")
+  (gtype-id "GTK_TYPE_CELL_RENDERER_SPINNER")
+)
+
+(define-object CellRendererText
+  (in-module "Gtk")
+  (parent "GtkCellRenderer")
+  (c-name "GtkCellRendererText")
+  (gtype-id "GTK_TYPE_CELL_RENDERER_TEXT")
+)
+
+(define-object CellRendererSpin
+  (in-module "Gtk")
+  (parent "GtkCellRendererText")
+  (c-name "GtkCellRendererSpin")
+  (gtype-id "GTK_TYPE_CELL_RENDERER_SPIN")
+)
+
+(define-object CellRendererCombo
+  (in-module "Gtk")
+  (parent "GtkCellRendererText")
+  (c-name "GtkCellRendererCombo")
+  (gtype-id "GTK_TYPE_CELL_RENDERER_COMBO")
+)
+
+(define-object CellRendererAccel
+  (in-module "Gtk")
+  (parent "GtkCellRendererText")
+  (c-name "GtkCellRendererAccel")
+  (gtype-id "GTK_TYPE_CELL_RENDERER_ACCEL")
+)
+
+(define-object CellRendererToggle
+  (in-module "Gtk")
+  (parent "GtkCellRenderer")
+  (c-name "GtkCellRendererToggle")
+  (gtype-id "GTK_TYPE_CELL_RENDERER_TOGGLE")
+)
+
 (define-object CellSizeRequest
   (in-module "Gtk")
   (c-name "GtkCellSizeRequest")
@@ -142,76 +212,6 @@
   (gtype-id "GTK_TYPE_OBJECT")
 )
 
-(define-object CellRenderer
-  (in-module "Gtk")
-  (parent "GtkObject")
-  (c-name "GtkCellRenderer")
-  (gtype-id "GTK_TYPE_CELL_RENDERER")
-)
-
-(define-object CellRendererToggle
-  (in-module "Gtk")
-  (parent "GtkCellRenderer")
-  (c-name "GtkCellRendererToggle")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_TOGGLE")
-)
-
-(define-object CellRendererText
-  (in-module "Gtk")
-  (parent "GtkCellRenderer")
-  (c-name "GtkCellRendererText")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_TEXT")
-)
-
-(define-object CellRendererAccel
-  (in-module "Gtk")
-  (parent "GtkCellRendererText")
-  (c-name "GtkCellRendererAccel")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_ACCEL")
-)
-
-(define-object CellRendererCombo
-  (in-module "Gtk")
-  (parent "GtkCellRendererText")
-  (c-name "GtkCellRendererCombo")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_COMBO")
-)
-
-(define-object CellRendererSpin
-  (in-module "Gtk")
-  (parent "GtkCellRendererText")
-  (c-name "GtkCellRendererSpin")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_SPIN")
-)
-
-(define-object CellRendererSpinner
-  (in-module "Gtk")
-  (parent "GtkCellRenderer")
-  (c-name "GtkCellRendererSpinner")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_SPINNER")
-)
-
-(define-object CellRendererProgress
-  (in-module "Gtk")
-  (parent "GtkCellRenderer")
-  (c-name "GtkCellRendererProgress")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_PROGRESS")
-)
-
-(define-object CellRendererPixbuf
-  (in-module "Gtk")
-  (parent "GtkCellRenderer")
-  (c-name "GtkCellRendererPixbuf")
-  (gtype-id "GTK_TYPE_CELL_RENDERER_PIXBUF")
-)
-
-(define-object Adjustment
-  (in-module "Gtk")
-  (parent "GtkObject")
-  (c-name "GtkAdjustment")
-  (gtype-id "GTK_TYPE_ADJUSTMENT")
-)
-
 (define-object Orientable
   (in-module "Gtk")
   (c-name "GtkOrientable")
@@ -286,12 +286,6 @@
   (gtype-id "GTK_TYPE_SIZE_GROUP")
 )
 
-(define-object SizeRequest
-  (in-module "Gtk")
-  (c-name "GtkSizeRequest")
-  (gtype-id "GTK_TYPE_SIZE_REQUEST")
-)
-
 (define-object StatusIcon
   (in-module "Gtk")
   (parent "GObject")
@@ -422,7 +416,7 @@
 
 (define-object TreeViewColumn
   (in-module "Gtk")
-  (parent "GtkObject")
+  (parent "GInitiallyUnowned")
   (c-name "GtkTreeViewColumn")
   (gtype-id "GTK_TYPE_TREE_VIEW_COLUMN")
 )
@@ -436,7 +430,7 @@
 
 (define-object Widget
   (in-module "Gtk")
-  (parent "GtkObject")
+  (parent "GInitiallyUnowned")
   (c-name "GtkWidget")
   (gtype-id "GTK_TYPE_WIDGET")
 )
@@ -2111,7 +2105,6 @@
   (gtype-id "GTK_TYPE_IMAGE_TYPE")
   (values
     '("empty" "GTK_IMAGE_EMPTY")
-    '("pixmap" "GTK_IMAGE_PIXMAP")
     '("pixbuf" "GTK_IMAGE_PIXBUF")
     '("stock" "GTK_IMAGE_STOCK")
     '("icon-set" "GTK_IMAGE_ICON_SET")
@@ -2209,28 +2202,6 @@
   )
 )
 
-(define-flags PrivateFlags
-  (in-module "Gtk")
-  (c-name "GtkPrivateFlags")
-  (gtype-id "GTK_TYPE_PRIVATE_FLAGS")
-  (values
-    '("user-style" "PRIVATE_GTK_USER_STYLE")
-    '("resize-pending" "PRIVATE_GTK_RESIZE_PENDING")
-    '("has-pointer" "PRIVATE_GTK_HAS_POINTER")
-    '("shadowed" "PRIVATE_GTK_SHADOWED")
-    '("has-shape-mask" "PRIVATE_GTK_HAS_SHAPE_MASK")
-    '("in-reparent" "PRIVATE_GTK_IN_REPARENT")
-    '("direction-set" "PRIVATE_GTK_DIRECTION_SET")
-    '("direction-ltr" "PRIVATE_GTK_DIRECTION_LTR")
-    '("anchored" "PRIVATE_GTK_ANCHORED")
-    '("child-visible" "PRIVATE_GTK_CHILD_VISIBLE")
-    '("redraw-on-alloc" "PRIVATE_GTK_REDRAW_ON_ALLOC")
-    '("alloc-needed" "PRIVATE_GTK_ALLOC_NEEDED")
-    '("width-request-needed" "PRIVATE_GTK_WIDTH_REQUEST_NEEDED")
-    '("height-request-needed" "PRIVATE_GTK_HEIGHT_REQUEST_NEEDED")
-  )
-)
-
 (define-flags RcFlags
   (in-module "Gtk")
   (c-name "GtkRcFlags")
@@ -2487,33 +2458,6 @@
   )
 )
 
-(define-flags WidgetFlags
-  (in-module "Gtk")
-  (c-name "GtkWidgetFlags")
-  (gtype-id "GTK_TYPE_WIDGET_FLAGS")
-  (values
-    '("toplevel" "GTK_TOPLEVEL")
-    '("no-window" "GTK_NO_WINDOW")
-    '("realized" "GTK_REALIZED")
-    '("mapped" "GTK_MAPPED")
-    '("visible" "GTK_VISIBLE")
-    '("sensitive" "GTK_SENSITIVE")
-    '("parent-sensitive" "GTK_PARENT_SENSITIVE")
-    '("can-focus" "GTK_CAN_FOCUS")
-    '("has-focus" "GTK_HAS_FOCUS")
-    '("can-default" "GTK_CAN_DEFAULT")
-    '("has-default" "GTK_HAS_DEFAULT")
-    '("has-grab" "GTK_HAS_GRAB")
-    '("rc-style" "GTK_RC_STYLE")
-    '("composite-child" "GTK_COMPOSITE_CHILD")
-    '("app-paintable" "GTK_APP_PAINTABLE")
-    '("receives-default" "GTK_RECEIVES_DEFAULT")
-    '("double-buffered" "GTK_DOUBLE_BUFFERED")
-    '("no-show-all" "GTK_NO_SHOW_ALL")
-    '("multidevice" "GTK_MULTIDEVICE")
-  )
-)
-
 (define-enum WidgetHelpType
   (in-module "Gtk")
   (c-name "GtkWidgetHelpType")
@@ -3774,7 +3718,7 @@
 (define-function gtk_adjustment_new
   (c-name "gtk_adjustment_new")
   (is-constructor-of "GtkAdjustment")
-  (return-type "GtkObject*")
+  (return-type "GObject*")
   (parameters
     '("gdouble" "value")
     '("gdouble" "lower")
@@ -4393,7 +4337,7 @@
   (c-name "gtk_bindings_activate")
   (return-type "gboolean")
   (parameters
-    '("GtkObject*" "object")
+    '("GObject*" "object")
     '("guint" "keyval")
     '("GdkModifierType" "modifiers")
   )
@@ -4403,7 +4347,7 @@
   (c-name "gtk_bindings_activate_event")
   (return-type "gboolean")
   (parameters
-    '("GtkObject*" "object")
+    '("GObject*" "object")
     '("GdkEventKey*" "event")
   )
 )
@@ -4415,7 +4359,7 @@
   (parameters
     '("guint" "keyval")
     '("GdkModifierType" "modifiers")
-    '("GtkObject*" "object")
+    '("GObject*" "object")
   )
 )
 
@@ -5354,6 +5298,69 @@
   (return-type "GType")
 )
 
+(define-method get_request_mode
+  (of-object "GtkCellRenderer")
+  (c-name "gtk_cell_renderer_get_request_mode")
+  (return-type "GtkSizeRequestMode")
+)
+
+(define-method get_preferred_width
+  (of-object "GtkCellRenderer")
+  (c-name "gtk_cell_renderer_get_preferred_width")
+  (return-type "none")
+  (parameters
+    '("GtkWidget*" "widget")
+    '("gint*" "minimum_size")
+    '("gint*" "natural_size")
+  )
+)
+
+(define-method get_preferred_height_for_width
+  (of-object "GtkCellRenderer")
+  (c-name "gtk_cell_renderer_get_preferred_height_for_width")
+  (return-type "none")
+  (parameters
+    '("GtkWidget*" "widget")
+    '("gint" "width")
+    '("gint*" "minimum_height")
+    '("gint*" "natural_height")
+  )
+)
+
+(define-method get_preferred_height
+  (of-object "GtkCellRenderer")
+  (c-name "gtk_cell_renderer_get_preferred_height")
+  (return-type "none")
+  (parameters
+    '("GtkWidget*" "widget")
+    '("gint*" "minimum_size")
+    '("gint*" "natural_size")
+  )
+)
+
+(define-method get_preferred_width_for_height
+  (of-object "GtkCellRenderer")
+  (c-name "gtk_cell_renderer_get_preferred_width_for_height")
+  (return-type "none")
+  (parameters
+    '("GtkWidget*" "widget")
+    '("gint" "height")
+    '("gint*" "minimum_width")
+    '("gint*" "natural_width")
+  )
+)
+
+(define-method get_preferred_size
+  (of-object "GtkCellRenderer")
+  (c-name "gtk_cell_renderer_get_preferred_size")
+  (return-type "none")
+  (parameters
+    '("GtkWidget*" "widget")
+    '("GtkRequisition*" "minimum_size")
+    '("GtkRequisition*" "natural_size")
+  )
+)
+
 (define-method get_size
   (of-object "GtkCellRenderer")
   (c-name "gtk_cell_renderer_get_size")
@@ -5373,11 +5380,10 @@
   (c-name "gtk_cell_renderer_render")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkWidget*" "widget")
     '("const-GdkRectangle*" "background_area")
     '("const-GdkRectangle*" "cell_area")
-    '("const-GdkRectangle*" "expose_area")
     '("GtkCellRendererState" "flags")
   )
 )
@@ -6845,6 +6851,16 @@
   (return-type "GList*")
 )
 
+(define-method propagate_draw
+  (of-object "GtkContainer")
+  (c-name "gtk_container_propagate_draw")
+  (return-type "none")
+  (parameters
+    '("GtkWidget*" "child")
+    '("cairo_t*" "cr")
+  )
+)
+
 (define-method propagate_expose
   (of-object "GtkContainer")
   (c-name "gtk_container_propagate_expose")
@@ -7442,17 +7458,6 @@
   )
 )
 
-(define-function gtk_drag_source_set_icon
-  (c-name "gtk_drag_source_set_icon")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "widget")
-    '("GdkColormap*" "colormap")
-    '("GdkPixmap*" "pixmap")
-    '("GdkBitmap*" "mask")
-  )
-)
-
 (define-function gtk_drag_source_set_icon_pixbuf
   (c-name "gtk_drag_source_set_icon_pixbuf")
   (return-type "none")
@@ -7503,19 +7508,6 @@
   )
 )
 
-(define-function gtk_drag_set_icon_pixmap
-  (c-name "gtk_drag_set_icon_pixmap")
-  (return-type "none")
-  (parameters
-    '("GdkDragContext*" "context")
-    '("GdkColormap*" "colormap")
-    '("GdkPixmap*" "pixmap")
-    '("GdkBitmap*" "mask")
-    '("gint" "hot_x")
-    '("gint" "hot_y")
-  )
-)
-
 (define-function gtk_drag_set_icon_pixbuf
   (c-name "gtk_drag_set_icon_pixbuf")
   (return-type "none")
@@ -7538,6 +7530,15 @@
   )
 )
 
+(define-function gtk_drag_set_icon_surface
+  (c-name "gtk_drag_set_icon_surface")
+  (return-type "none")
+  (parameters
+    '("GdkDragContext*" "context")
+    '("cairo_surface_t*" "surface")
+  )
+)
+
 (define-function gtk_drag_set_icon_name
   (c-name "gtk_drag_set_icon_name")
   (return-type "none")
@@ -11111,7 +11112,7 @@
 (define-method create_drag_icon
   (of-object "GtkIconView")
   (c-name "gtk_icon_view_create_drag_icon")
-  (return-type "GdkPixmap*")
+  (return-type "cairo_surface_t*")
   (parameters
     '("GtkTreePath*" "path")
   )
@@ -11194,15 +11195,6 @@
   (return-type "GtkWidget*")
 )
 
-(define-function gtk_image_new_from_pixmap
-  (c-name "gtk_image_new_from_pixmap")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GdkPixmap*" "pixmap")
-    '("GdkBitmap*" "mask")
-  )
-)
-
 (define-function gtk_image_new_from_file
   (c-name "gtk_image_new_from_file")
   (return-type "GtkWidget*")
@@ -11269,16 +11261,6 @@
   (return-type "none")
 )
 
-(define-method set_from_pixmap
-  (of-object "GtkImage")
-  (c-name "gtk_image_set_from_pixmap")
-  (return-type "none")
-  (parameters
-    '("GdkPixmap*" "pixmap")
-    '("GdkBitmap*" "mask")
-  )
-)
-
 (define-method set_from_file
   (of-object "GtkImage")
   (c-name "gtk_image_set_from_file")
@@ -11361,16 +11343,6 @@
   (return-type "GtkImageType")
 )
 
-(define-method get_pixmap
-  (of-object "GtkImage")
-  (c-name "gtk_image_get_pixmap")
-  (return-type "none")
-  (parameters
-    '("GdkPixmap**" "pixmap")
-    '("GdkBitmap**" "mask")
-  )
-)
-
 (define-method get_pixbuf
   (of-object "GtkImage")
   (c-name "gtk_image_get_pixbuf")
@@ -12822,7 +12794,7 @@
   (return-type "none")
   (parameters
     '("guint" "main_level")
-    '("GtkObject*" "object")
+    '("GtkWidget*" "object")
   )
 )
 
@@ -14095,10 +14067,10 @@
   (return-type "GtkWidget*")
 )
 
-(define-method get_pixmap
+(define-method get_surface
   (of-object "GtkOffscreenWindow")
-  (c-name "gtk_offscreen_window_get_pixmap")
-  (return-type "GdkPixmap*")
+  (c-name "gtk_offscreen_window_get_surface")
+  (return-type "cairo_surface_t*")
 )
 
 (define-method get_pixbuf
@@ -17335,18 +17307,6 @@
   )
 )
 
-(define-method draw_ticks
-  (of-object "GtkRuler")
-  (c-name "gtk_ruler_draw_ticks")
-  (return-type "none")
-)
-
-(define-method draw_pos
-  (of-object "GtkRuler")
-  (c-name "gtk_ruler_draw_pos")
-  (return-type "none")
-)
-
 
 
 ;; From gtkscalebutton.h
@@ -18359,69 +18319,6 @@
 
 ;; From gtksizerequest.h
 
-(define-function gtk_size_request_get_type
-  (c-name "gtk_size_request_get_type")
-  (return-type "GType")
-)
-
-(define-method get_request_mode
-  (of-object "GtkSizeRequest")
-  (c-name "gtk_size_request_get_request_mode")
-  (return-type "GtkSizeRequestMode")
-)
-
-(define-method get_width
-  (of-object "GtkSizeRequest")
-  (c-name "gtk_size_request_get_width")
-  (return-type "none")
-  (parameters
-    '("gint*" "minimum_width")
-    '("gint*" "natural_width")
-  )
-)
-
-(define-method get_height_for_width
-  (of-object "GtkSizeRequest")
-  (c-name "gtk_size_request_get_height_for_width")
-  (return-type "none")
-  (parameters
-    '("gint" "width")
-    '("gint*" "minimum_height")
-    '("gint*" "natural_height")
-  )
-)
-
-(define-method get_height
-  (of-object "GtkSizeRequest")
-  (c-name "gtk_size_request_get_height")
-  (return-type "none")
-  (parameters
-    '("gint*" "minimum_height")
-    '("gint*" "natural_height")
-  )
-)
-
-(define-method get_width_for_height
-  (of-object "GtkSizeRequest")
-  (c-name "gtk_size_request_get_width_for_height")
-  (return-type "none")
-  (parameters
-    '("gint" "height")
-    '("gint*" "minimum_width")
-    '("gint*" "natural_width")
-  )
-)
-
-(define-method get_size
-  (of-object "GtkSizeRequest")
-  (c-name "gtk_size_request_get_size")
-  (return-type "none")
-  (parameters
-    '("GtkRequisition*" "minimum_size")
-    '("GtkRequisition*" "natural_size")
-  )
-)
-
 (define-function gtk_distribute_natural_allocation
   (c-name "gtk_distribute_natural_allocation")
   (return-type "gint")
@@ -19166,10 +19063,9 @@
   (c-name "gtk_style_apply_default_background")
   (return-type "none")
   (parameters
+    '("cairo_t*" "cr")
     '("GdkWindow*" "window")
-    '("gboolean" "set_bg")
     '("GtkStateType" "state_type")
-    '("const-GdkRectangle*" "area")
     '("gint" "x")
     '("gint" "y")
     '("gint" "width")
@@ -19215,9 +19111,8 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x1")
@@ -19231,9 +19126,8 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "y1_")
@@ -19247,10 +19141,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19265,10 +19158,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("GtkArrowType" "arrow_type")
@@ -19285,10 +19177,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19303,10 +19194,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19321,10 +19211,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19339,10 +19228,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19357,10 +19245,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19375,10 +19262,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19393,10 +19279,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19414,10 +19299,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19435,10 +19319,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19454,9 +19337,8 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19471,10 +19353,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19490,10 +19371,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19509,9 +19389,8 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19525,10 +19404,9 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("gboolean" "use_text")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -19542,9 +19420,8 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("GdkWindowEdge" "edge")
@@ -19560,9 +19437,8 @@
   (return-type "none")
   (parameters
     '("GtkStyle*" "style")
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
-    '("const-GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("guint" "step")
@@ -19634,8 +19510,7 @@
   (return-type "none")
   (parameters
     '("GtkWidget*" "widget")
-    '("GdkDrawable*" "drawable")
-    '("const-GdkRectangle*" "area")
+    '("cairo_t*" "cr")
     '("const-GdkRectangle*" "location")
     '("gboolean" "is_primary")
     '("GtkTextDirection" "direction")
@@ -20713,14 +20588,7 @@
   (return-type "none")
   (parameters
     '("GtkWidget*" "widget")
-    '("GdkDrawable*" "drawable")
-    '("gpointer" "cursor_gc")
-    '("gint" "x_offset")
-    '("gint" "y_offset")
-    '("gint" "x")
-    '("gint" "y")
-    '("gint" "width")
-    '("gint" "height")
+    '("cairo_t*" "cr")
     '("GList**" "widgets")
   )
 )
@@ -25860,7 +25728,7 @@
 (define-method create_row_drag_icon
   (of-object "GtkTreeView")
   (c-name "gtk_tree_view_create_row_drag_icon")
-  (return-type "GdkPixmap*")
+  (return-type "cairo_surface_t*")
   (parameters
     '("GtkTreePath*" "path")
   )
@@ -26606,11 +26474,6 @@
   (return-type "GType")
 )
 
-(define-function gtk_object_flags_get_type
-  (c-name "gtk_object_flags_get_type")
-  (return-type "GType")
-)
-
 (define-function gtk_print_status_get_type
   (c-name "gtk_print_status_get_type")
   (return-type "GType")
@@ -26631,11 +26494,6 @@
   (return-type "GType")
 )
 
-(define-function gtk_private_flags_get_type
-  (c-name "gtk_private_flags_get_type")
-  (return-type "GType")
-)
-
 (define-function gtk_rc_flags_get_type
   (c-name "gtk_rc_flags_get_type")
   (return-type "GType")
@@ -26726,11 +26584,6 @@
   (return-type "GType")
 )
 
-(define-function gtk_widget_flags_get_type
-  (c-name "gtk_widget_flags_get_type")
-  (return-type "GType")
-)
-
 (define-function gtk_widget_help_type_get_type
   (c-name "gtk_widget_help_type_get_type")
   (return-type "GType")
@@ -27225,6 +27078,15 @@
   (return-type "none")
 )
 
+(define-method draw
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_draw")
+  (return-type "none")
+  (parameters
+    '("cairo_t*" "cr")
+  )
+)
+
 (define-method queue_draw
   (of-object "GtkWidget")
   (c-name "gtk_widget_queue_draw")
@@ -27273,6 +27135,64 @@
   )
 )
 
+(define-method get_request_mode
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_request_mode")
+  (return-type "GtkSizeRequestMode")
+)
+
+(define-method get_preferred_width
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_preferred_width")
+  (return-type "none")
+  (parameters
+    '("gint*" "minimum_width")
+    '("gint*" "natural_width")
+  )
+)
+
+(define-method get_preferred_height_for_width
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_preferred_height_for_width")
+  (return-type "none")
+  (parameters
+    '("gint" "width")
+    '("gint*" "minimum_height")
+    '("gint*" "natural_height")
+  )
+)
+
+(define-method get_preferred_height
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_preferred_height")
+  (return-type "none")
+  (parameters
+    '("gint*" "minimum_height")
+    '("gint*" "natural_height")
+  )
+)
+
+(define-method get_preferred_width_for_height
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_preferred_width_for_height")
+  (return-type "none")
+  (parameters
+    '("gint" "height")
+    '("gint*" "minimum_width")
+    '("gint*" "natural_width")
+  )
+)
+
+(define-method get_preferred_size
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_preferred_size")
+  (return-type "none")
+  (parameters
+    '("GtkRequisition*" "minimum_size")
+    '("GtkRequisition*" "natural_size")
+  )
+)
+
 (define-method get_child_requisition
   (of-object "GtkWidget")
   (c-name "gtk_widget_get_child_requisition")
@@ -27744,6 +27664,18 @@
   (return-type "GdkWindow*")
 )
 
+(define-method get_allocated_width
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_allocated_width")
+  (return-type "int")
+)
+
+(define-method get_allocated_height
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_get_allocated_height")
+  (return-type "int")
+)
+
 (define-method get_allocation
   (of-object "GtkWidget")
   (c-name "gtk_widget_get_allocation")
@@ -27883,12 +27815,6 @@
   )
 )
 
-(define-method get_colormap
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_get_colormap")
-  (return-type "GdkColormap*")
-)
-
 (define-method get_visual
   (of-object "GtkWidget")
   (c-name "gtk_widget_get_visual")
@@ -27934,15 +27860,6 @@
   )
 )
 
-(define-method get_snapshot
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_get_snapshot")
-  (return-type "GdkPixmap*")
-  (parameters
-    '("GdkRectangle*" "clip_rect")
-  )
-)
-
 (define-method get_support_multidevice
   (of-object "GtkWidget")
   (c-name "gtk_widget_get_support_multidevice")
@@ -28054,15 +27971,6 @@
   )
 )
 
-(define-method set_colormap
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_set_colormap")
-  (return-type "none")
-  (parameters
-    '("GdkColormap*" "colormap")
-  )
-)
-
 (define-method get_events
   (of-object "GtkWidget")
   (c-name "gtk_widget_get_events")
@@ -28286,14 +28194,6 @@
   (return-type "none")
 )
 
-(define-function gtk_widget_push_colormap
-  (c-name "gtk_widget_push_colormap")
-  (return-type "none")
-  (parameters
-    '("GdkColormap*" "cmap")
-  )
-)
-
 (define-function gtk_widget_push_composite_child
   (c-name "gtk_widget_push_composite_child")
   (return-type "none")
@@ -28304,11 +28204,6 @@
   (return-type "none")
 )
 
-(define-function gtk_widget_pop_colormap
-  (c-name "gtk_widget_pop_colormap")
-  (return-type "none")
-)
-
 (define-method install_style_property
   (of-object "GtkWidgetClass")
   (c-name "gtk_widget_class_install_style_property")
@@ -28376,29 +28271,11 @@
   (varargs #t)
 )
 
-(define-function gtk_widget_set_default_colormap
-  (c-name "gtk_widget_set_default_colormap")
-  (return-type "none")
-  (parameters
-    '("GdkColormap*" "colormap")
-  )
-)
-
 (define-function gtk_widget_get_default_style
   (c-name "gtk_widget_get_default_style")
   (return-type "GtkStyle*")
 )
 
-(define-function gtk_widget_get_default_colormap
-  (c-name "gtk_widget_get_default_colormap")
-  (return-type "GdkColormap*")
-)
-
-(define-function gtk_widget_get_default_visual
-  (c-name "gtk_widget_get_default_visual")
-  (return-type "GdkVisual*")
-)
-
 (define-method set_direction
   (of-object "GtkWidget")
   (c-name "gtk_widget_set_direction")
@@ -28433,25 +28310,21 @@
   (return-type "gboolean")
 )
 
-(define-method shape_combine_mask
+(define-method shape_combine_region
   (of-object "GtkWidget")
-  (c-name "gtk_widget_shape_combine_mask")
+  (c-name "gtk_widget_shape_combine_region")
   (return-type "none")
   (parameters
-    '("GdkBitmap*" "shape_mask")
-    '("gint" "offset_x")
-    '("gint" "offset_y")
+    '("cairo_region_t*" "region")
   )
 )
 
-(define-method input_shape_combine_mask
+(define-method input_shape_combine_region
   (of-object "GtkWidget")
-  (c-name "gtk_widget_input_shape_combine_mask")
+  (c-name "gtk_widget_input_shape_combine_region")
   (return-type "none")
   (parameters
-    '("GdkBitmap*" "shape_mask")
-    '("gint" "offset_x")
-    '("gint" "offset_y")
+    '("cairo_region_t*" "region")
   )
 )
 
@@ -28573,6 +28446,25 @@
   (return-type "gboolean")
 )
 
+(define-function gtk_cairo_should_draw_window
+  (c-name "gtk_cairo_should_draw_window")
+  (return-type "gboolean")
+  (parameters
+    '("cairo_t*" "cr")
+    '("GdkWindow*" "window")
+  )
+)
+
+(define-function gtk_cairo_transform_to_window
+  (c-name "gtk_cairo_transform_to_window")
+  (return-type "none")
+  (parameters
+    '("cairo_t*" "cr")
+    '("GtkWidget*" "widget")
+    '("GdkWindow*" "window")
+  )
+)
+
 (define-function gtk_requisition_get_type
   (c-name "gtk_requisition_get_type")
   (return-type "GType")
@@ -28596,6 +28488,12 @@
   (return-type "none")
 )
 
+(define-method in_destruction
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_in_destruction")
+  (return-type "gboolean")
+)
+
 
 
 ;; From gtkwindow.h
@@ -28938,6 +28836,15 @@
   (return-type "GdkScreen*")
 )
 
+(define-method set_visual
+  (of-object "GtkWindow")
+  (c-name "gtk_window_set_visual")
+  (return-type "none")
+  (parameters
+    '("GdkVisual*" "visual")
+  )
+)
+
 (define-method is_active
   (of-object "GtkWindow")
   (c-name "gtk_window_is_active")
@@ -30082,5 +29989,3 @@
 
 
 ;; From gtkunixprint.h
-
-
diff --git a/gtk/src/gtk_vfuncs.defs b/gtk/src/gtk_vfuncs.defs
index 9228667..7ee0b28 100644
--- a/gtk/src/gtk_vfuncs.defs
+++ b/gtk/src/gtk_vfuncs.defs
@@ -29,7 +29,7 @@
     '("GtkWidget*" "proxy")
   )
 )
-            
+
 ; GtkActivatable
 
 (define-vfunc update
@@ -48,7 +48,7 @@
     '("GtkAction*" "action")
   )
 )
- 
+
 ; GtkCellEditable
 
 (define-vfunc start_editing
@@ -114,7 +114,7 @@
   )
 )
 
-  
+
 ; GtkCellRenderer
 
 (define-vfunc get_size
@@ -134,11 +134,10 @@
   (of-object "GtkCellRenderer")
   (return-type "none")
   (parameters
-    '("GdkDrawable*" "window")
+    '("cairo_t*" "cr")
     '("GtkWidget*" "widget")
-    '("GdkRectangle*" "background_area")
-    '("GdkRectangle*" "cell_area")
-    '("GdkRectangle*" "expose_area")
+    '("const-GdkRectangle*" "background_area")
+    '("const-GdkRectangle*" "cell_area")
     '("GtkCellRendererState" "flags")
   )
 )
@@ -177,7 +176,7 @@
   (of-object "GtkCheckButton")
   (return-type "none")
   (parameters
-    '("GdkRectangle*" "area")
+    '("cairo_t*" "cr")
   )
 )
 
@@ -187,7 +186,7 @@
   (of-object "GtkCheckMenuItem")
   (return-type "none")
   (parameters
-    '("GdkRectangle*" "area")
+    '("cairo_t*" "cr")
   )
 )
 
@@ -395,7 +394,7 @@
     '("GtkStyle*" "src")
   )
 )
-		
+
 (define-vfunc clone
   (of-object "GtkStyle")
   (return-type "GtkStyle*")
@@ -413,12 +412,12 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
   )
 )
 
-(define-vfunc render_icon				
+(define-vfunc render_icon
   (of-object "GtkStyle")
   (return-type "GdkPixbuf*")
   (parameters
@@ -432,7 +431,7 @@
 )
 
 
-(define-vfunc render_icon				
+(define-vfunc render_icon
   (of-object "GtkStyle")
   (return-type "GdkPixbuf*")
   (parameters
@@ -449,9 +448,8 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x1")
@@ -464,9 +462,8 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "y1")
@@ -479,10 +476,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -497,10 +493,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -515,10 +510,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -533,10 +527,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -550,10 +543,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -567,10 +559,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -584,10 +575,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -601,10 +591,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -621,10 +610,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -641,10 +629,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -659,9 +646,8 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -675,10 +661,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -693,10 +678,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -711,9 +695,8 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -726,10 +709,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("gboolean" "use_text")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("gint" "x")
@@ -737,14 +719,13 @@
     '("PangoLayout*" "layout")
   )
 )
-	
+
 (define-vfunc draw_resize_grip
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("GdkWindowEdge" "edge")
@@ -759,10 +740,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("GdkPoint*" "point")
@@ -775,10 +755,9 @@
   (of-object "GtkStyle")
   (return-type "none")
   (parameters
-    '("GdkWindow*" "window")
+    '("cairo_t*" "cr")
     '("GtkStateType" "state_type")
     '("GtkShadowType" "shadow_type")
-    '("GdkRectangle*" "area")
     '("GtkWidget*" "widget")
     '("const-gchar*" "detail")
     '("GtkArrowType" "arrow_type")
@@ -1185,5 +1164,3 @@
   (of-object "GtkToolShell")
   (return-type "none")
 )
-
-
diff --git a/gtk/src/iconfactory.hg b/gtk/src/iconfactory.hg
index 606ebcf..b48bb30 100644
--- a/gtk/src/iconfactory.hg
+++ b/gtk/src/iconfactory.hg
@@ -19,7 +19,7 @@
 
 
 #include <gtkmm/enums.h>
-#include <gtkmm/object.h>
+#include <glibmm/object.h>
 #include <gtkmm/enums.h>
 #include <gtkmm/iconset.h>
 #include <gtkmm/stockid.h>
diff --git a/gtk/src/iconview.hg b/gtk/src/iconview.hg
index 9aa73f1..c13385b 100644
--- a/gtk/src/iconview.hg
+++ b/gtk/src/iconview.hg
@@ -318,7 +318,8 @@ public:
   bool get_dest_item_at_pos(int drag_x, int drag_y, IconViewDropPosition& pos) const;
   _IGNORE(gtk_icon_view_get_dest_item_at_pos)
 
-  _WRAP_METHOD(Glib::RefPtr<Gdk::Pixmap> create_drag_icon( const TreeModel::Path& path), gtk_icon_view_create_drag_icon)
+#m4 _CONVERSION(`cairo_surface_t*',`Cairo::RefPtr<Cairo::Surface>',`Cairo::RefPtr<Cairo::Surface>(new Cairo::Surface($3, false /* take reference */))')
+  _WRAP_METHOD(Cairo::RefPtr<Cairo::Surface> create_drag_icon( const TreeModel::Path& path), gtk_icon_view_create_drag_icon)
 
   _WRAP_METHOD(void convert_widget_to_bin_window_coords(int wx, int wy, int& bx, int& by) const, gtk_icon_view_convert_widget_to_bin_window_coords)
 
@@ -391,8 +392,8 @@ public:
   _WRAP_METHOD(void set_tooltip_column(int column), gtk_icon_view_set_tooltip_column)
   _WRAP_METHOD(int get_tooltip_column() const, gtk_icon_view_get_tooltip_column)
 
-
-  _WRAP_SIGNAL(void set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment), set_scroll_adjustments)
+#m4 _CONVERSION(`GtkAdjustment*',`const Glib::RefPtr<Adjustment>&',`Glib::wrap($3, true)')
+  _WRAP_SIGNAL(void set_scroll_adjustments(const Glib::RefPtr<Adjustment>& hadjustment, const Glib::RefPtr<Adjustment>& vadjustment), set_scroll_adjustments)
   _WRAP_SIGNAL(void item_activated(const TreeModel::Path& path), item_activated)
   _WRAP_SIGNAL(void selection_changed(), selection_changed)
 
diff --git a/gtk/src/image.ccg b/gtk/src/image.ccg
index ff1e396..fa75aa2 100644
--- a/gtk/src/image.ccg
+++ b/gtk/src/image.ccg
@@ -21,8 +21,6 @@
  */
 
 #include <gtk/gtk.h>
-#include <gdkmm/bitmap.h>
-#include <gdkmm/pixmap.h>
 
 namespace Gtk
 {
diff --git a/gtk/src/image.hg b/gtk/src/image.hg
index 7770b38..b7dc6c7 100644
--- a/gtk/src/image.hg
+++ b/gtk/src/image.hg
@@ -62,16 +62,6 @@ public:
 
   _CTOR_DEFAULT
 
-  //TODO: The C documentation says that the constructor parameters can be NULL. Choose sensible method overloads.
-
-  /** Creates an Image widget displaying @a pixmap with a @a mask.
-   * A Gdk::Pixmap is a server-side image buffer in the pixel format of the current display.
-   *
-   * @param pixmap A Gdk::Pixmap
-   * @param mask A Gdk::Bitmap
-   */
-  _WRAP_CTOR(Image(const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask), gtk_image_new_from_pixmap)
-
   /** Creates an Image widget displaying the file @a filename.
    * If the file isn't found or can't be loaded, the resulting Gtk::Image will display a "broken image" icon.
    *
@@ -106,9 +96,8 @@ public:
   Image(const Gtk::StockID& stock_id, IconSize size);
 
   Image(IconSet& icon_set, IconSize size);
-  Image(const Glib::RefPtr<Gdk::PixbufAnimation>& animation);
+  explicit Image(const Glib::RefPtr<Gdk::PixbufAnimation>& animation);
 
-  _WRAP_METHOD(void set(const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask), gtk_image_set_from_pixmap)
   _WRAP_METHOD(void set(const std::string& filename), gtk_image_set_from_file)
   _WRAP_METHOD(void set(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_image_set_from_pixbuf)
   _WRAP_METHOD(void set(const Gtk::StockID& stock_id, IconSize size), gtk_image_set_from_stock)
diff --git a/gtk/src/layout.ccg b/gtk/src/layout.ccg
index 99fe981..7a0c4c1 100644
--- a/gtk/src/layout.ccg
+++ b/gtk/src/layout.ccg
@@ -1,7 +1,7 @@
 // -*- c++ -*-
 /* $Id: layout.ccg,v 1.1 2003/01/21 13:40:28 murrayc Exp $ */
 
-/* 
+/*
  *
  * Copyright 1998-2002 The gtkmm Development Team
  *
@@ -26,7 +26,7 @@ namespace Gtk
 {
 
 /* layout.cc
- * 
+ *
  * Copyright (C) 1998 EMC Capital Management Inc.
  * Developed by Havoc Pennington <hp pobox com>
  *
@@ -53,7 +53,7 @@ Layout::Layout()
   set_vadjustment();
 }
 
-Layout::Layout(Adjustment& hadjustment, Adjustment& vadjustment)
+Layout::Layout(const Glib::RefPtr<Adjustment>& hadjustment, const Glib::RefPtr<Adjustment>& vadjustment)
 :
   _CONSTRUCT()
 {
@@ -72,4 +72,3 @@ void Layout::set_vadjustment()
 }
 
 } // namespace Gtk
-
diff --git a/gtk/src/layout.hg b/gtk/src/layout.hg
index e25d90c..3c1dd6b 100644
--- a/gtk/src/layout.hg
+++ b/gtk/src/layout.hg
@@ -1,7 +1,7 @@
 /* $Id: layout.hg,v 1.4 2006/04/12 11:11:25 murrayc Exp $ */
 
 /* layout.h
- * 
+ *
  * Copyright (C) 2002 The gtkmm Development Team
  *
  * This library is free software; you can redistribute it and/or
@@ -52,7 +52,7 @@ class Layout : public Container
   _IGNORE(gtk_layout_freeze, gtk_layout_thaw)
 public:
   Layout();
-  Layout(Adjustment& hadjustment, Adjustment& vadjustment);
+  Layout(const Glib::RefPtr<Adjustment>& hadjustment, const Glib::RefPtr<Adjustment>& vadjustment);
 
   _WRAP_METHOD(Glib::RefPtr<Gdk::Window> get_bin_window(), gtk_layout_get_bin_window, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const Gdk::Window> get_bin_window() const, gtk_layout_get_bin_window, refreturn, constversion)
@@ -62,27 +62,27 @@ public:
   _WRAP_METHOD(void set_size(guint width, guint height), gtk_layout_set_size)
   _WRAP_METHOD(void get_size(guint& width, guint& height) const, gtk_layout_get_size)
 
-  _WRAP_METHOD(void set_hadjustment(Adjustment& adjustment), gtk_layout_set_hadjustment)
+  _WRAP_METHOD(void set_hadjustment(const Glib::RefPtr<Adjustment>& adjustment), gtk_layout_set_hadjustment)
 
   /// Creates the Adjustment.
   void set_hadjustment();
-  _WRAP_METHOD(Adjustment* get_hadjustment(), gtk_layout_get_hadjustment)
-  _WRAP_METHOD(const Adjustment* get_hadjustment() const, gtk_layout_get_hadjustment, constversion)
-  _WRAP_METHOD(void set_vadjustment(Adjustment& adjustment), gtk_layout_set_vadjustment)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_hadjustment(), gtk_layout_get_hadjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_hadjustment() const, gtk_layout_get_hadjustment, constversion)
+  _WRAP_METHOD(void set_vadjustment(const Glib::RefPtr<Adjustment>& adjustment), gtk_layout_set_vadjustment)
 
   /// Creates the Adjustment.
   void set_vadjustment();
-  _WRAP_METHOD(Adjustment* get_vadjustment(), gtk_layout_get_vadjustment)
-  _WRAP_METHOD(const Adjustment* get_vadjustment() const, gtk_layout_get_vadjustment, constversion)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_vadjustment(), gtk_layout_get_vadjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_vadjustment() const, gtk_layout_get_vadjustment, constversion)
 
+#m4 _CONVERSION(`GtkAdjustment*',`const Glib::RefPtr<Adjustment>&',`Glib::wrap($3, true)')
   // See Gtk::Widget::set_scroll_adjustments()
-  _WRAP_SIGNAL(void set_scroll_adjustments(Adjustment* hadj, Adjustment* vadj), "set_scroll_adjustments")
+  _WRAP_SIGNAL(void set_scroll_adjustments(const Glib::RefPtr<Adjustment>& hadj, const Glib::RefPtr<Adjustment>& vadj), "set_scroll_adjustments")
 
-  _WRAP_PROPERTY("hadjustment", Adjustment*)
-  _WRAP_PROPERTY("vadjustment", Adjustment*)
+  _WRAP_PROPERTY("hadjustment", Glib::RefPtr<Adjustment>)
+  _WRAP_PROPERTY("vadjustment", Glib::RefPtr<Adjustment>)
   _WRAP_PROPERTY("width", guint)
   _WRAP_PROPERTY("height", guint)
 };
 
 } /* namespace Gtk */
-
diff --git a/gtk/src/offscreenwindow.hg b/gtk/src/offscreenwindow.hg
index a733626..1c884eb 100644
--- a/gtk/src/offscreenwindow.hg
+++ b/gtk/src/offscreenwindow.hg
@@ -58,8 +58,12 @@ class OffscreenWindow : public Window
 public:
   _CTOR_DEFAULT()
 
-  _WRAP_METHOD(Glib::RefPtr<Gdk::Pixmap> get_pixmap(), gtk_offscreen_window_get_pixmap)
-  _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixmap> get_pixmap() const, gtk_offscreen_window_get_pixmap)
+  //TODO: Should this always be const?
+#m4 _CONVERSION(`cairo_surface_t*',`Cairo::RefPtr<Cairo::Surface>',`Cairo::RefPtr<Cairo::Surface>(new Cairo::Surface($3, true /* take reference */))')
+#m4 _CONVERSION(`cairo_surface_t*',`Cairo::RefPtr<const Cairo::Surface>',`Cairo::RefPtr<Cairo::Surface>(new Cairo::Surface($3, true /* take reference */))')
+  _WRAP_METHOD(Cairo::RefPtr<Cairo::Surface> get_surface(), gtk_offscreen_window_get_surface)
+  _WRAP_METHOD(Cairo::RefPtr<const Cairo::Surface> get_surface() const, gtk_offscreen_window_get_surface)
+
 
   _WRAP_METHOD(Glib::RefPtr<Gdk::Pixbuf> get_pixbuf(), gtk_offscreen_window_get_pixbuf)
   _WRAP_METHOD(Glib::RefPtr<const Gdk::Pixbuf> get_pixbuf() const, gtk_offscreen_window_get_pixbuf)
diff --git a/gtk/src/range.hg b/gtk/src/range.hg
index 59d01e6..9c77bb6 100644
--- a/gtk/src/range.hg
+++ b/gtk/src/range.hg
@@ -43,11 +43,11 @@ public:
 
   _WRAP_METHOD(void set_update_policy(UpdateType policy), gtk_range_set_update_policy)
   _WRAP_METHOD(UpdateType get_update_policy() const, gtk_range_get_update_policy)
-  _WRAP_METHOD(void set_adjustment(Gtk::Adjustment& adjustment), gtk_range_set_adjustment)
+  _WRAP_METHOD(void set_adjustment(const Glib::RefPtr<Adjustment>& adjustment), gtk_range_set_adjustment)
   void unset_adjustment();
 
-  _WRAP_METHOD(Gtk::Adjustment* get_adjustment(), gtk_range_get_adjustment)
-  _WRAP_METHOD(const Gtk::Adjustment* get_adjustment() const, gtk_range_get_adjustment, constversion)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_adjustment(), gtk_range_get_adjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_adjustment() const, gtk_range_get_adjustment, constversion)
   _WRAP_METHOD(void set_inverted(bool setting = true), gtk_range_set_inverted)
   _WRAP_METHOD(bool get_inverted() const, gtk_range_get_inverted)
   _WRAP_METHOD(void set_flippable(bool flippable = true), gtk_range_set_flippable)
diff --git a/gtk/src/recentfilter.hg b/gtk/src/recentfilter.hg
index 3ea3b77..7c105fa 100644
--- a/gtk/src/recentfilter.hg
+++ b/gtk/src/recentfilter.hg
@@ -18,7 +18,7 @@
 #include <gtkmm/object.h>
 
 _DEFS(gtkmm,gtk)
-_PINCLUDE(gtkmm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gtk
 {
@@ -48,10 +48,13 @@ _WRAP_ENUM(RecentFilterFlags, GtkRecentFilterFlags)
  */
 class RecentFilter : public Gtk::Object
 {
-  _CLASS_GTKOBJECT(RecentFilter, GtkRecentFilter, GTK_RECENT_FILTER, Gtk::Object, GtkObject)
-public:
+  _CLASS_GOBJECT(RecentFilter, GtkRecentFilter, GTK_RECENT_FILTER, Glib::Object, GObject)
+protected:
   _CTOR_DEFAULT
 
+public:
+  _WRAP_CREATE()
+
   _WRAP_METHOD(void set_name(const Glib::ustring& name), gtk_recent_filter_set_name)
   _WRAP_METHOD(Glib::ustring get_name() const, gtk_recent_filter_get_name)
 
diff --git a/gtk/src/ruler.hg b/gtk/src/ruler.hg
index 3361d2a..3244413 100644
--- a/gtk/src/ruler.hg
+++ b/gtk/src/ruler.hg
@@ -69,12 +69,6 @@ public:
   _WRAP_METHOD(void set_range(double lower, double upper, double position, double max_size), gtk_ruler_set_range)
   _WRAP_METHOD(void get_range(double& lower, double& upper, double& position, double& max_size), gtk_ruler_get_range)
 
-  /// draw tick marks on the ruler
-  _WRAP_METHOD(void draw_ticks(), gtk_ruler_draw_ticks)
-
-  /// draw a position indicator on the ruler
-  _WRAP_METHOD(void draw_pos(), gtk_ruler_draw_pos)
-
   _WRAP_VFUNC(void draw_ticks(), "draw_ticks")
   _WRAP_VFUNC(void draw_pos(), "draw_pos")
 
diff --git a/gtk/src/scale.ccg b/gtk/src/scale.ccg
index 5e73843..4a907b1 100644
--- a/gtk/src/scale.ccg
+++ b/gtk/src/scale.ccg
@@ -52,14 +52,13 @@ VScale::VScale(double min, double max, double step)
 :
   _CONSTRUCT_SPECIFIC(Scale, VScale)
 {
-  Adjustment* adjustment = manage(new Adjustment(min, min, max, step, 10 * step, step));
-  // The adjustment will be destroyed along with the object
-  set_adjustment(*adjustment);
+  Glib::RefPtr<Adjustment> adjustment = Adjustment::create(min, min, max, step, 10 * step, step);
+  set_adjustment(adjustment);
 
   set_digits( calc_digits_(step) );
 }
 
-VScale::VScale(Adjustment& adjustment)
+VScale::VScale(const Glib::RefPtr<Adjustment>& adjustment)
 :
   _CONSTRUCT_SPECIFIC(Scale, VScale)
 {
@@ -70,10 +69,10 @@ VScale::VScale()
 :
   _CONSTRUCT_SPECIFIC(Scale, VScale)
 {
-  Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0,
-						  0.0, 0.0, 0.0));
+  Glib::RefPtr<Adjustment> adjustment = Adjustment::create(0.0, 0.0, 0.0,
+    0.0, 0.0, 0.0));
   // The adjustment will be destroyed along with the object
-  set_adjustment(*adjustment);
+  set_adjustment(adjustment);
 }
 
 
@@ -81,9 +80,8 @@ HScale::HScale(double min, double max, double step)
 :
   _CONSTRUCT_SPECIFIC(Scale, HScale)
 {
-  Adjustment* adjustment = manage(new Adjustment(min, min, max, step, 10 * step, step));
-  // The adjustment will be destroyed along with the object
-  set_adjustment(*adjustment);
+  Glib::RefPtr<Adjustment> adjustment = Adjustment::create(min, min, max, step, 10 * step, step));
+  set_adjustment(sadjustment);
 
   set_digits( calc_digits_(step) );
 }
@@ -92,13 +90,12 @@ HScale::HScale()
 :
   _CONSTRUCT_SPECIFIC(Scale, HScale)
 {
-  Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0,
+  Glib::RefPtr<Adjustment> adjustment = Adjustment::create(0.0, 0.0, 0.0,
 						  0.0, 0.0, 0.0));
-  // The adjustment will be destroyed along with the object
   set_adjustment(*adjustment);
 }
 
-HScale::HScale(Adjustment& adjustment)
+HScale::HScale(const Glib::RefPtr<Adjustment>& adjustment)
 :
   _CONSTRUCT_SPECIFIC(Scale, HScale)
 {
diff --git a/gtk/src/scale.hg b/gtk/src/scale.hg
index 04c5b65..9d3bf3d 100644
--- a/gtk/src/scale.hg
+++ b/gtk/src/scale.hg
@@ -146,7 +146,7 @@ public:
   * value.
   */
   VScale(double min, double max, double step);
-  explicit VScale(Adjustment& adjustment);
+  explicit VScale(const Glib::RefPtr<Adjustment>& adjustment);
   
 };
 
@@ -172,7 +172,7 @@ public:
   * value.
   */
   HScale(double min, double max, double step);
-  explicit HScale(Adjustment& adjustment);
+  explicit HScale(const Glib::RefPtr<Adjustment>& adjustment);
   
 };
 
diff --git a/gtk/src/scalebutton.hg b/gtk/src/scalebutton.hg
index c1aa7be..71ac774 100644
--- a/gtk/src/scalebutton.hg
+++ b/gtk/src/scalebutton.hg
@@ -51,10 +51,10 @@ public:
   _WRAP_METHOD(double get_value() const, gtk_scale_button_get_value)
   _WRAP_METHOD(void set_value(double value), gtk_scale_button_set_value)
 
-  _WRAP_METHOD(Gtk::Adjustment*	get_adjustment(), gtk_scale_button_get_adjustment)
-  _WRAP_METHOD(const Gtk::Adjustment* get_adjustment() const, gtk_scale_button_get_adjustment, constversion)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment>	get_adjustment(), gtk_scale_button_get_adjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_adjustment() const, gtk_scale_button_get_adjustment, constversion)
 
-  _WRAP_METHOD(void set_adjustment(Gtk::Adjustment& adjustment), gtk_scale_button_set_adjustment)
+  _WRAP_METHOD(void set_adjustment(const Glib::RefPtr<Adjustment>& adjustment), gtk_scale_button_set_adjustment)
 
   _IGNORE(gtk_scale_button_get_orientation, gtk_scale_button_set_orientation) //deprecated
 
diff --git a/gtk/src/scrollbar.ccg b/gtk/src/scrollbar.ccg
index 03ef3da..1d83f02 100644
--- a/gtk/src/scrollbar.ccg
+++ b/gtk/src/scrollbar.ccg
@@ -27,7 +27,7 @@
 namespace Gtk
 {
 
-VScrollbar::VScrollbar(Adjustment& adjustment)
+VScrollbar::VScrollbar(const Glib::RefPtr<Adjustment>& adjustment)
 :
   _CONSTRUCT_SPECIFIC(Scrollbar, VScrollbar)
 {
@@ -38,9 +38,7 @@ VScrollbar::VScrollbar()
 :
   _CONSTRUCT_SPECIFIC(Scrollbar, VScrollbar)
 {
-  Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
-
-  // The adjustment will be destroyed along with the object
+  Glib::RefPtr<Adjustment> adjustment = Adjustment::create(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
   set_adjustment(*adjustment);
 }
 
@@ -49,13 +47,11 @@ HScrollbar::HScrollbar()
 :
   _CONSTRUCT_SPECIFIC(Scrollbar, HScrollbar)
 {
-  Adjustment* adjustment = manage(new Adjustment(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
-
-  // The adjustment will be destroyed along with the object
+  Glib::RefPtr<Adjustment> adjustment = Adjustment::create(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));
   set_adjustment(*adjustment);
 }
 
-HScrollbar::HScrollbar(Adjustment& adjustment)
+HScrollbar::HScrollbar(const Glib::RefPtr<Adjustment>& adjustment)
 :
   _CONSTRUCT_SPECIFIC(Scrollbar, HScrollbar)
 {
diff --git a/gtk/src/scrollbar.hg b/gtk/src/scrollbar.hg
index ba84e17..9ae1a32 100644
--- a/gtk/src/scrollbar.hg
+++ b/gtk/src/scrollbar.hg
@@ -73,7 +73,7 @@ class VScrollbar : public Scrollbar
   _CLASS_GTKOBJECT(VScrollbar,GtkVScrollbar,GTK_VSCROLLBAR,Gtk::Scrollbar,GtkScrollbar)
 public:
   VScrollbar();
-  explicit VScrollbar(Adjustment& gtkadjustment);
+  explicit VScrollbar(const Glib::RefPtr<Adjustment>& gtkadjustment);
   
 };
 
@@ -96,7 +96,7 @@ class HScrollbar : public Scrollbar
   _CLASS_GTKOBJECT(HScrollbar,GtkHScrollbar,GTK_HSCROLLBAR,Gtk::Scrollbar,GtkScrollbar)
 public:
   HScrollbar();
-  explicit HScrollbar(Adjustment& gtkadjustment);
+  explicit HScrollbar(const Glib::RefPtr<Adjustment>& gtkadjustment);
   
 };
 
diff --git a/gtk/src/scrolledwindow.hg b/gtk/src/scrolledwindow.hg
index 67341c9..b412ed8 100644
--- a/gtk/src/scrolledwindow.hg
+++ b/gtk/src/scrolledwindow.hg
@@ -53,18 +53,18 @@ class ScrolledWindow : public Bin
 
 public:
   _CTOR_DEFAULT
-  _WRAP_CTOR(ScrolledWindow(Adjustment& hadjustment, Adjustment& vadjustment), gtk_scrolled_window_new)
+  _WRAP_CTOR(ScrolledWindow(const Glib::RefPtr<Adjustment>& hadjustment, const Glib::RefPtr<Adjustment>& vadjustment), gtk_scrolled_window_new)
 
+  //TODO: Add unset_*adjustment().
+  _WRAP_METHOD(void set_hadjustment(const Glib::RefPtr<Adjustment>& hadjustment), gtk_scrolled_window_set_hadjustment)
+  _WRAP_METHOD(void set_vadjustment(const Glib::RefPtr<Adjustment>& vadjustment), gtk_scrolled_window_set_vadjustment)
+  _WRAP_METHOD(void set_hadjustment(const Glib::RefPtr<Adjustment>& hadjustment), gtk_scrolled_window_set_hadjustment)
+  _WRAP_METHOD(void set_vadjustment(const Glib::RefPtr<Adjustment>& vadjustment), gtk_scrolled_window_set_vadjustment)
 
-  _WRAP_METHOD(void set_hadjustment(Gtk::Adjustment* hadjustment = 0), gtk_scrolled_window_set_hadjustment)
-  _WRAP_METHOD(void set_vadjustment(Gtk::Adjustment* vadjustment = 0), gtk_scrolled_window_set_vadjustment)
-  _WRAP_METHOD(void set_hadjustment(Gtk::Adjustment& hadjustment), gtk_scrolled_window_set_hadjustment)
-  _WRAP_METHOD(void set_vadjustment(Gtk::Adjustment& vadjustment), gtk_scrolled_window_set_vadjustment)
-
-  _WRAP_METHOD(Gtk::Adjustment* get_hadjustment(), gtk_scrolled_window_get_hadjustment)
-  _WRAP_METHOD(const Gtk::Adjustment* get_hadjustment() const, gtk_scrolled_window_get_hadjustment, constversion)
-  _WRAP_METHOD(Gtk::Adjustment* get_vadjustment(), gtk_scrolled_window_get_vadjustment)
-  _WRAP_METHOD(const Gtk::Adjustment* get_vadjustment() const, gtk_scrolled_window_get_vadjustment, constversion)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_hadjustment(), gtk_scrolled_window_get_hadjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_hadjustment() const, gtk_scrolled_window_get_hadjustment, constversion)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_vadjustment(), gtk_scrolled_window_get_vadjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_vadjustment() const, gtk_scrolled_window_get_vadjustment, constversion)
 
   _WRAP_METHOD(void set_policy(PolicyType hscrollbar_policy, PolicyType vscrollbar_policy), gtk_scrolled_window_set_policy)
   _WRAP_METHOD(void get_policy(PolicyType& hscrollbar_policy, PolicyType& vscrollbar_policy) const, gtk_scrolled_window_get_policy)
@@ -94,8 +94,8 @@ public:
   _IGNORE_SIGNAL("scroll_child")
   _IGNORE_SIGNAL("move_focus_out")
 
-  _WRAP_PROPERTY("hadjustment", Gtk::Adjustment*)
-  _WRAP_PROPERTY("vadjustment", Gtk::Adjustment*)
+  _WRAP_PROPERTY("hadjustment", Glib::RefPtr<Adjustment>)
+  _WRAP_PROPERTY("vadjustment", Glib::RefPtr<Adjustment>)
   _WRAP_PROPERTY("hscrollbar-policy", PolicyType)
   _WRAP_PROPERTY("vscrollbar-policy", PolicyType)
   _WRAP_PROPERTY("window-placement", CornerType)
diff --git a/gtk/src/spinbutton.hg b/gtk/src/spinbutton.hg
index 3a2ba9b..bdacebd 100644
--- a/gtk/src/spinbutton.hg
+++ b/gtk/src/spinbutton.hg
@@ -55,15 +55,15 @@ public:
   // climb_rate:
   // digits: number of decimal digits (has to be < 6)
   SpinButton(double climb_rate = 0.0, guint digits = 0);
-  _WRAP_CTOR(SpinButton(Adjustment& adjustment, double climb_rate = 0.0, guint digits = 0), gtk_spin_button_new)
+  _WRAP_CTOR(SpinButton(const Glib::RefPtr<Adjustment>& adjustment, double climb_rate = 0.0, guint digits = 0), gtk_spin_button_new)
 
 
-  _WRAP_METHOD(void configure(Adjustment& adjustment, double climb_rate, guint digits), gtk_spin_button_configure)
+  _WRAP_METHOD(void configure(const Glib::RefPtr<Adjustment>& adjustment, double climb_rate, guint digits), gtk_spin_button_configure)
 
-  _WRAP_METHOD(void set_adjustment(Adjustment& adjustment), gtk_spin_button_set_adjustment)
+  _WRAP_METHOD(void set_adjustment(const Glib::RefPtr<Adjustment>& adjustment), gtk_spin_button_set_adjustment)
   void unset_adjustment();
-  _WRAP_METHOD(Gtk::Adjustment* get_adjustment(), gtk_spin_button_get_adjustment)
-  _WRAP_METHOD(const Gtk::Adjustment* get_adjustment() const, gtk_spin_button_get_adjustment, constversion)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_adjustment(), gtk_spin_button_get_adjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_adjustment() const, gtk_spin_button_get_adjustment, constversion)
 
   _WRAP_METHOD(void set_digits(guint digits), gtk_spin_button_set_digits)
   _WRAP_METHOD(guint get_digits() const, gtk_spin_button_get_digits)
@@ -118,7 +118,7 @@ public:
   //Keybinding signals:
   _IGNORE_SIGNAL("change_value")
 
-  _WRAP_PROPERTY("adjustment", Gtk::Adjustment*)
+  _WRAP_PROPERTY("adjustment", Glib::RefPtr<Adjustment>)
   _WRAP_PROPERTY("climb-rate", double)
   _WRAP_PROPERTY("digits", guint)
   _WRAP_PROPERTY("snap-to-ticks", bool)
diff --git a/gtk/src/statusicon.hg b/gtk/src/statusicon.hg
index 72d3526..b2b03be 100644
--- a/gtk/src/statusicon.hg
+++ b/gtk/src/statusicon.hg
@@ -25,7 +25,6 @@ _PINCLUDE(glibmm/private/object_p.h)
 #include <gtkmm/menu.h>
 #include <gdkmm/pixbuf.h>
 #include <gdkmm/types.h>
-#include <gtkmm/object.h>
 #include <gtkmm/tooltip.h>
 
 namespace Gtk
diff --git a/gtk/src/style.hg b/gtk/src/style.hg
index 8c62f84..08a8e90 100644
--- a/gtk/src/style.hg
+++ b/gtk/src/style.hg
@@ -48,11 +48,9 @@ _POP()
 #include <pangomm/fontdescription.h>
 #include <pangomm/layout.h>
 
-#include <gdkmm/pixmap.h>
 #include <gdkmm/types.h>
 #include <gdkmm/window.h>
 
-#include <gtkmm/object.h>
 #include <gtkmm/enums.h>
 #include <gtkmm/iconsource.h>
 #include <gtkmm/iconset.h>
@@ -109,10 +107,9 @@ public:
   Glib::RefPtr<const Gdk::Pixmap> get_bg_pixmap(Gtk::StateType state_type) const;
 
   _WRAP_METHOD(void paint_arrow(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   ArrowType                         arrow_type,
@@ -123,10 +120,9 @@ public:
                   int                               height) const, gtk_paint_arrow)
 
   _WRAP_METHOD(void paint_box(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -135,10 +131,9 @@ public:
                   int                               height) const, gtk_paint_box)
 
   _WRAP_METHOD(void paint_box_gap(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -150,10 +145,9 @@ public:
                   int                               gap_width) const, gtk_paint_box_gap)
 
   _WRAP_METHOD(void paint_check(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -162,10 +156,9 @@ public:
                   int                               height) const, gtk_paint_check)
 
   _WRAP_METHOD(void paint_diamond(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -174,10 +167,9 @@ public:
                   int                               height) const, gtk_paint_diamond)
 
   _WRAP_METHOD(void paint_extension(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -187,10 +179,9 @@ public:
                   PositionType                      gap_side) const, gtk_paint_extension)
 
   _WRAP_METHOD(void paint_flat_box(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -199,9 +190,8 @@ public:
                   int                               height) const, gtk_paint_flat_box)
 
   _WRAP_METHOD(void paint_focus(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -210,10 +200,9 @@ public:
                   int                               height) const, gtk_paint_focus)
 
   _WRAP_METHOD(void paint_handle(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -223,9 +212,8 @@ public:
                   Orientation                       orientation) const, gtk_paint_handle)
 
   _WRAP_METHOD(void paint_hline(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x1,
@@ -233,10 +221,9 @@ public:
                   int                               y) const, gtk_paint_hline)
 
   _WRAP_METHOD(void paint_option(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -245,10 +232,9 @@ public:
                   int                               height) const, gtk_paint_option)
 
   _WRAP_METHOD(void paint_shadow(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -257,10 +243,9 @@ public:
                   int                               height) const, gtk_paint_shadow)
 
   _WRAP_METHOD(void paint_shadow_gap(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -272,10 +257,9 @@ public:
                   int                               gap_width) const, gtk_paint_shadow_gap)
 
   _WRAP_METHOD(void paint_slider(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -285,10 +269,9 @@ public:
                   Orientation                       orientation) const, gtk_paint_slider)
 
   _WRAP_METHOD(void paint_tab(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
                   ShadowType                        shadow_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -298,9 +281,8 @@ public:
 
 
   _WRAP_METHOD(void paint_vline(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               y1,
@@ -308,9 +290,8 @@ public:
                   int                               x) const, gtk_paint_vline)
 
   _WRAP_METHOD(void paint_expander(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   int                               x,
@@ -318,10 +299,9 @@ public:
                   ExpanderStyle                     expander_style) const, gtk_paint_expander)
 
   _WRAP_METHOD(void paint_layout(
-                  const Glib::RefPtr<Gdk::Window>&    window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                      state_type,
                   bool                                use_text,
-                  const Gdk::Rectangle&               area,
                   Widget&                             widget,
                   const Glib::ustring&                detail,
                   int                                 x,
@@ -329,9 +309,8 @@ public:
                   const Glib::RefPtr<Pango::Layout>&  layout) const, gtk_paint_layout)
 
   _WRAP_METHOD(void paint_resize_grip(
-                  const Glib::RefPtr<Gdk::Window>&  window,
+                  const Cairo::RefPtr<Cairo::Context>& cr,
                   Gtk::StateType                    state_type,
-                  const Gdk::Rectangle&             area,
                   Widget&                           widget,
                   const Glib::ustring&              detail,
                   Gdk::WindowEdge                   edge,
@@ -349,8 +328,9 @@ public:
 
   _WRAP_METHOD(void set_background(const Glib::RefPtr<Gdk::Window>& window, Gtk::StateType state_type), gtk_style_set_background)
 
-  _WRAP_METHOD(void apply_default_background(const Glib::RefPtr<Gdk::Window>& window, bool set_bg,
-	              Gtk::StateType state_type, const Gdk::Rectangle& area,
+  _WRAP_METHOD(void apply_default_background(const Cairo::RefPtr<Cairo::Context>& cr,
+                const Glib::RefPtr<Gdk::Window>& window,
+	              Gtk::StateType state_type,
 	              int x, int y, int width, int height), gtk_style_apply_default_background)
 
   _WRAP_METHOD_DOCS_ONLY(gtk_style_lookup_icon_set)
@@ -392,8 +372,8 @@ protected:
 #m4 _CONVERSION(`GtkRcStyle*',`const Glib::RefPtr<RcStyle>&',`Glib::wrap($3)')
   _WRAP_VFUNC(void init_from_rc(const Glib::RefPtr<RcStyle>& rc_style), init_from_rc)
 
-#m4 _CONVERSION(`GdkWindow*',`const Glib::RefPtr<Gdk::Window>&', `Glib::wrap((GdkWindowObject*)($3), true)')
-  _WRAP_VFUNC(void set_background(const Glib::RefPtr<Gdk::Window>& window, Gtk::StateType state_type), set_background)
+#m4 _CONVERSION(`cairo_t*',`const Cairo::RefPtr<Cairo::Context>&',`Cairo::RefPtr<Cairo::Context>(new Cairo::Context($3, false /* has_reference */))')
+  _WRAP_VFUNC(void set_background(const Cairo::RefPtr<Cairo::Context>& cr, Gtk::StateType state_type), set_background)
 
 #m4 _CONVERSION(`const char*',`const Glib::ustring&',__GCHARP_TO_USTRING)
   _WRAP_VFUNC(Glib::RefPtr<Gdk::Pixbuf> render_icon(const IconSource& source,
@@ -402,138 +382,119 @@ protected:
                                  IconSize size,
                                  Widget* widget,
                                  const Glib::ustring& detail), render_icon)
-  _WRAP_VFUNC(void draw_hline(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_hline(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x1, int x2, int y), draw_hline)
-  _WRAP_VFUNC(void draw_vline(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_vline(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int y1, int y2, int x), draw_vline)
-  _WRAP_VFUNC(void draw_shadow(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_shadow(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x,  int y, int width, int height), draw_shadow)
-  _WRAP_VFUNC(void draw_arrow(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_arrow(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          Gtk::ArrowType arrow_type, bool fill,
                int x,  int y, int width, int height), draw_arrow)
-  _WRAP_VFUNC(void draw_diamond(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_diamond(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y, int width, int height), draw_diamond)
-  _WRAP_VFUNC(void draw_box(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_box(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y, int width, int height), draw_box)
-  _WRAP_VFUNC(void draw_flat_box(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_flat_box(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y, int width,  int height), draw_flat_box)
-  _WRAP_VFUNC(void draw_check(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_check(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x,  int y, int width, int height), draw_check)
-  _WRAP_VFUNC(void draw_option(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_option(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y,  int width, int height), draw_option)
-  _WRAP_VFUNC(void draw_tab(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_tab(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y, int width,  int height), draw_tab)
-  _WRAP_VFUNC(void draw_shadow_gap(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_shadow_gap(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y, int width, int height,
          Gtk::PositionType gap_side, int gap_x, int gap_width), draw_shadow_gap)
-  _WRAP_VFUNC(void draw_box_gap(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_box_gap(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x,  int y, int width, int height,
          Gtk::PositionType gap_side, int gap_x, int gap_width), draw_box_gap)
-  _WRAP_VFUNC(void draw_extension(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_extension(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y, int width, int height,
          PositionType gap_side), draw_extension)
-  _WRAP_VFUNC(void draw_focus(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_focus(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y, int width, int height), draw_focus)
-  _WRAP_VFUNC(void draw_slider(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_slider(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y, int width,  int height,
          Orientation orientation), draw_slider)
-  _WRAP_VFUNC(void draw_handle(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_handle(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          ShadowType shadow_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y, int width, int height,
          Orientation orientation), draw_handle)
-  _WRAP_VFUNC(void draw_expander(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_expander(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y, ExpanderStyle expander_style), draw_expander)
-  _WRAP_VFUNC(void draw_layout(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_layout(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
          bool use_text,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          int x, int y,
          const Glib::RefPtr<Pango::Layout>& layout), draw_layout)
-  _WRAP_VFUNC(void draw_resize_grip(const Glib::RefPtr<Gdk::Window>& window,
+  _WRAP_VFUNC(void draw_resize_grip(const Cairo::RefPtr<Cairo::Context>& cr,
          Gtk::StateType state_type,
-         const Gdk::Rectangle& area,
          Widget* widget,
          const Glib::ustring& detail,
          Gdk::WindowEdge edge,
diff --git a/gtk/src/textbuffer.hg b/gtk/src/textbuffer.hg
index e4af30d..c91333d 100644
--- a/gtk/src/textbuffer.hg
+++ b/gtk/src/textbuffer.hg
@@ -21,7 +21,6 @@
 // the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
 _CONFIGINCLUDE(gtkmmconfig.h)
 
-#include <gtkmm/object.h>
 #include <gtkmm/texttagtable.h>
 #include <gtkmm/textchildanchor.h>
 #include <gtkmm/textmark.h>
diff --git a/gtk/src/textchildanchor.hg b/gtk/src/textchildanchor.hg
index b235b99..553180e 100644
--- a/gtk/src/textchildanchor.hg
+++ b/gtk/src/textchildanchor.hg
@@ -20,7 +20,6 @@
  */
 
 
-#include <gtkmm/object.h>
 #include <gtkmm/widget.h>
 #include <glibmm/listhandle.h>
 
diff --git a/gtk/src/textmark.hg b/gtk/src/textmark.hg
index b3878a4..47d4256 100644
--- a/gtk/src/textmark.hg
+++ b/gtk/src/textmark.hg
@@ -20,7 +20,7 @@
  */
 
 
-#include <gtkmm/object.h>
+#include <glibmm/object.h>
 
 _DEFS(gtkmm,gtk)
 _PINCLUDE(glibmm/private/object_p.h)
diff --git a/gtk/src/texttag.hg b/gtk/src/texttag.hg
index 2bbad6a..0ffa459 100644
--- a/gtk/src/texttag.hg
+++ b/gtk/src/texttag.hg
@@ -20,9 +20,8 @@
  */
 
 
-#include <gtkmm/object.h>
+#include <glibmm/object.h>
 #include <gtkmm/enums.h>
-#include <gdkmm/bitmap.h>
 #include <gdkmm/color.h>
 #include <pangomm/fontdescription.h>
 #include <pangomm/tabarray.h>
diff --git a/gtk/src/texttagtable.hg b/gtk/src/texttagtable.hg
index ab0ae60..2f54269 100644
--- a/gtk/src/texttagtable.hg
+++ b/gtk/src/texttagtable.hg
@@ -19,7 +19,7 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include <gtkmm/object.h>
+#include <glibmm/object.h>
 #include <gtkmm/texttag.h>
 
 _DEFS(gtkmm,gtk)
diff --git a/gtk/src/textview.hg b/gtk/src/textview.hg
index 165ebb7..e9f5d3f 100644
--- a/gtk/src/textview.hg
+++ b/gtk/src/textview.hg
@@ -135,11 +135,11 @@ public:
                                             int window_x, int window_y,
                                             int& buffer_x, int& buffer_y) const, gtk_text_view_window_to_buffer_coords)
 
-  _WRAP_METHOD(Adjustment* get_hadjustment(), gtk_text_view_get_hadjustment)
-  _WRAP_METHOD(const Adjustment* get_hadjustment() const, gtk_text_view_get_hadjustment, constversion)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_hadjustment(), gtk_text_view_get_hadjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_hadjustment() const, gtk_text_view_get_hadjustment, constversion)
 
-  _WRAP_METHOD(Adjustment* get_vadjustment(), gtk_text_view_get_vadjustment)
-  _WRAP_METHOD(const Adjustment* get_vadjustment() const, gtk_text_view_get_vadjustment, constversion)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_vadjustment(), gtk_text_view_get_vadjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_vadjustment() const, gtk_text_view_get_vadjustment, constversion)
 
   _WRAP_METHOD(Glib::RefPtr<Gdk::Window> get_window(TextWindowType win), gtk_text_view_get_window, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const Gdk::Window> get_window(TextWindowType win) const, gtk_text_view_get_window, refreturn, constversion)
@@ -193,7 +193,8 @@ public:
   _WRAP_METHOD(void set_accepts_tab(bool accepts_tab = true), gtk_text_view_set_accepts_tab)
   _WRAP_METHOD(bool get_accepts_tab() const, gtk_text_view_get_accepts_tab)
 
-  _WRAP_SIGNAL(void set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment), "set_scroll_adjustments")
+#m4 _CONVERSION(`GtkAdjustment*',`const Glib::RefPtr<Adjustment>&',`Glib::wrap($3, true)')
+  _WRAP_SIGNAL(void set_scroll_adjustments(const Glib::RefPtr<Adjustment>& hadjustment, const Glib::RefPtr<Adjustment>& vadjustment), "set_scroll_adjustments")
   _WRAP_SIGNAL(void populate_popup(Menu* menu), "populate_popup")
 
   _WRAP_SIGNAL(void set_anchor(), "set_anchor")
diff --git a/gtk/src/toolpalette.hg b/gtk/src/toolpalette.hg
index 05fedb5..5d01e5c 100644
--- a/gtk/src/toolpalette.hg
+++ b/gtk/src/toolpalette.hg
@@ -87,10 +87,10 @@ public:
   _WRAP_METHOD(void set_drag_source(ToolPaletteDragTargets targets = TOOL_PALETTE_DRAG_ITEMS), gtk_tool_palette_set_drag_source)
   _WRAP_METHOD(void add_drag_dest(Gtk::Widget& widget, DestDefaults flags = DEST_DEFAULT_ALL, ToolPaletteDragTargets targets = TOOL_PALETTE_DRAG_ITEMS, Gdk::DragAction actions = Gdk::ACTION_COPY), gtk_tool_palette_add_drag_dest)
 
-  _WRAP_METHOD(Adjustment* get_hadjustment(), gtk_tool_palette_get_hadjustment)
-  _WRAP_METHOD(const Adjustment* get_hadjustment() const, gtk_tool_palette_get_hadjustment, constversion)
-  _WRAP_METHOD(Adjustment* get_vadjustment (), gtk_tool_palette_get_vadjustment)
-  _WRAP_METHOD(const Adjustment* get_vadjustment () const, gtk_tool_palette_get_vadjustment, constversion)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_hadjustment(), gtk_tool_palette_get_hadjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_hadjustment() const, gtk_tool_palette_get_hadjustment, constversion)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_vadjustment (), gtk_tool_palette_get_vadjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_vadjustment () const, gtk_tool_palette_get_vadjustment, constversion)
 
 
 #m4 _CONVERSION(`const GtkTargetEntry*',`TargetEntry',`TargetEntry(*$3)')
@@ -98,7 +98,7 @@ public:
   _WRAP_METHOD(static TargetEntry get_drag_target_group(), gtk_tool_palette_get_drag_target_group)
 
   //Ignore the set_scroll_adjustment signal. It's in many widgets and seems internal.
-  //_WRAP_SIGNAL(void set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment), "set-scroll-adjustments")
+  //_WRAP_SIGNAL(void set_scroll_adjustments(const Glib::RefPtr<Adjustment>& hadjustment, const Glib::RefPtr<Adjustment>& vadjustment), "set-scroll-adjustments")
   _IGNORE_SIGNAL(set_scroll_adjustments)
 
   _WRAP_PROPERTY("icon-size", IconSize)
diff --git a/gtk/src/treeview.hg b/gtk/src/treeview.hg
index 8d3e70c..8fecc7f 100644
--- a/gtk/src/treeview.hg
+++ b/gtk/src/treeview.hg
@@ -22,7 +22,6 @@ _CONFIGINCLUDE(gtkmmconfig.h)
 #include <glibmm/listhandle.h>
 #include <gtkmm/container.h>
 #include <gtkmm/adjustment.h>
-#include <gdkmm/pixmap.h>
 #include <gtkmm/treeviewcolumn.h>
 #include <gtkmm/treeselection.h>
 #include <gtkmm/treemodelcolumn.h>
@@ -133,18 +132,18 @@ public:
 
   _WRAP_METHOD(Glib::RefPtr<TreeSelection> get_selection(), gtk_tree_view_get_selection, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const TreeSelection> get_selection() const, gtk_tree_view_get_selection, refreturn, constversion)
-  _WRAP_METHOD(Adjustment* get_hadjustment(), gtk_tree_view_get_hadjustment)
-  _WRAP_METHOD(const Adjustment* get_hadjustment() const, gtk_tree_view_get_hadjustment, constversion)
-  _WRAP_METHOD(void set_hadjustment(Adjustment& adjustment), gtk_tree_view_set_hadjustment)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_hadjustment(), gtk_tree_view_get_hadjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_hadjustment() const, gtk_tree_view_get_hadjustment, constversion)
+  _WRAP_METHOD(void set_hadjustment(const Glib::RefPtr<Adjustment>& adjustment), gtk_tree_view_set_hadjustment)
 
   /** This method removes the hadjustment.
    * @see set_hadjustment().
    */
   void unset_hadjustment();
 
-  _WRAP_METHOD(Adjustment* get_vadjustment(), gtk_tree_view_get_vadjustment)
-  _WRAP_METHOD(const Adjustment* get_vadjustment() const, gtk_tree_view_get_vadjustment, constversion)
-  _WRAP_METHOD(void set_vadjustment(Adjustment& adjustment), gtk_tree_view_set_vadjustment)
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_vadjustment(), gtk_tree_view_get_vadjustment)
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_vadjustment() const, gtk_tree_view_get_vadjustment, constversion)
+  _WRAP_METHOD(void set_vadjustment(const Glib::RefPtr<Adjustment>& adjustment), gtk_tree_view_set_vadjustment)
 
   /** This method removes the vadjustment.
    * @see set_vadjustment().
@@ -632,7 +631,8 @@ public:
    */
   bool get_dest_row_at_pos(int drag_x, int drag_y, TreeModel::Path& path, TreeViewDropPosition& pos) const;
 
-  _WRAP_METHOD(Glib::RefPtr<Gdk::Pixmap> create_row_drag_icon(const TreeModel::Path& path), gtk_tree_view_create_row_drag_icon)
+#m4 _CONVERSION(`cairo_surface_t*',`Cairo::RefPtr<Cairo::Surface>',`Cairo::RefPtr<Cairo::Surface>(new Cairo::Surface($3, true /* take reference */))')
+  _WRAP_METHOD(Cairo::RefPtr<Cairo::Surface> create_row_drag_icon(const TreeModel::Path& path) const, gtk_tree_view_create_row_drag_icon)
 
 /* Interactive search */
   _WRAP_METHOD(void set_enable_search(bool enable_search = true), gtk_tree_view_set_enable_search)
@@ -773,8 +773,9 @@ dnl // GtkTreeModel*.
 _CONVERSION(`GtkTreeIter*',`const TreeModel::iterator&',`TreeModel::iterator(gtk_tree_view_get_model(self), $3)')
 #m4end
 
+#m4 _CONVERSION(`GtkAdjustment*',`const Glib::RefPtr<Adjustment>&',`Glib::wrap($3, true)')
 //TODO: Ignore this? It's in many widgets and seems internals.
-  _WRAP_SIGNAL(void set_scroll_adjustments(Adjustment* hadjustment, Adjustment* vadjustment), "set-scroll-adjustments")
+  _WRAP_SIGNAL(void set_scroll_adjustments(const Glib::RefPtr<Adjustment>& hadjustment, const Glib::RefPtr<Adjustment>& vadjustment), "set-scroll-adjustments")
 
   _WRAP_SIGNAL(void row_activated(const TreeModel::Path& path, TreeViewColumn* column) , "row-activated")
   _WRAP_SIGNAL(bool test_expand_row(const TreeModel::iterator& iter, const TreeModel::Path& path), "test-expand-row")
diff --git a/gtk/src/treeviewcolumn.hg b/gtk/src/treeviewcolumn.hg
index 92bc1c3..bcde2a6 100644
--- a/gtk/src/treeviewcolumn.hg
+++ b/gtk/src/treeviewcolumn.hg
@@ -19,7 +19,6 @@
 // the #ifndef GTKMM_DISABLE_DEPRECATED in deprecated classes) is generated:
 _CONFIGINCLUDE(gtkmmconfig.h)
 
-#include <gtkmm/object.h>
 #include <gtkmm/treeiter.h>
 #include <gtkmm/widget.h>
 #include <gdkmm/window.h>
@@ -28,7 +27,7 @@ _CONFIGINCLUDE(gtkmmconfig.h)
 #include <glibmm/listhandle.h>
 #include <gtkmm/cellrenderer_generation.h>
 _DEFS(gtkmm,gtk)
-_PINCLUDE(gtkmm/private/object_p.h)
+_PINCLUDE(glibmm/private/object_p.h)
 
 namespace Gtk
 {
@@ -42,6 +41,7 @@ _WRAP_ENUM(TreeViewColumnSizing, GtkTreeViewColumnSizing)
 
 class TreeView;
 
+//TODO: Deal with the GtkObject->GObject change?
 /** Typedefed as Gtk::TreeView::Column.
  * This is a visible column in a Gtk::TreeView widget. It determines the geometry, type.
  *
@@ -51,7 +51,7 @@ class GTKMM_API TreeViewColumn
   : public Gtk::Object,
     public CellLayout
 {
-  _CLASS_GTKOBJECT(TreeViewColumn, GtkTreeViewColumn, GTK_TREE_VIEW_COLUMN, Gtk::Object, GtkObject)
+  _CLASS_GTKOBJECT(TreeViewColumn, GtkTreeViewColumn, GTK_TREE_VIEW_COLUMN, Gtk::Object, GObject)
   _IMPLEMENTS_INTERFACE(CellLayout)
   _IGNORE(gtk_tree_view_column_set_cell_data_func)
 public:
diff --git a/gtk/src/viewport.hg b/gtk/src/viewport.hg
index 789b70c..e87f075 100644
--- a/gtk/src/viewport.hg
+++ b/gtk/src/viewport.hg
@@ -37,27 +37,27 @@ class Viewport : public Bin
   _CLASS_GTKOBJECT(Viewport,GtkViewport,GTK_VIEWPORT,Gtk::Bin,GtkBin)
 public:
 
-  _WRAP_CTOR(Viewport(Adjustment& hadjustment, Adjustment& vadjustment), gtk_viewport_new)
+  _WRAP_CTOR(Viewport(const Glib::RefPtr<Adjustment>& hadjustment, const Glib::RefPtr<Adjustment>& vadjustment), gtk_viewport_new)
 
 
-  _WRAP_METHOD(Gtk::Adjustment* get_hadjustment(),
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_hadjustment(),
                gtk_viewport_get_hadjustment)
-  _WRAP_METHOD(const Gtk::Adjustment* get_hadjustment() const,
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_hadjustment() const,
                gtk_viewport_get_hadjustment, constversion)
 
-  _WRAP_METHOD(Gtk::Adjustment* get_vadjustment(),
+  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_vadjustment(),
                gtk_viewport_get_vadjustment)
-  _WRAP_METHOD(const Gtk::Adjustment* get_vadjustment() const,
+  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_vadjustment() const,
                gtk_viewport_get_vadjustment, constversion)
 
-  _WRAP_METHOD(void set_hadjustment(Gtk::Adjustment* adjustment=0),
+  _WRAP_METHOD(void set_hadjustment(const Glib::RefPtr<Adjustment>& adjustment),
                gtk_viewport_set_hadjustment)
-  _WRAP_METHOD(void set_hadjustment(Gtk::Adjustment& adjustment),
+  _WRAP_METHOD(void set_hadjustment(const Glib::RefPtr<Adjustment>& adjustment),
                gtk_viewport_set_hadjustment)
 
-  _WRAP_METHOD(void set_vadjustment(Gtk::Adjustment* adjustment=0),
+  _WRAP_METHOD(void set_vadjustment(const Glib::RefPtr<Adjustment>& adjustment),
                gtk_viewport_set_vadjustment)
-  _WRAP_METHOD(void set_vadjustment(Gtk::Adjustment& adjustment),
+  _WRAP_METHOD(void set_vadjustment(const Glib::RefPtr<Adjustment>& adjustment),
                gtk_viewport_set_vadjustment)
 
   _WRAP_METHOD(void set_shadow_type(ShadowType type),
@@ -72,12 +72,13 @@ public:
   _WRAP_METHOD(Glib::RefPtr<Gdk::Window> get_view_window(), gtk_viewport_get_view_window, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const Gdk::Window> get_view_window() const, gtk_viewport_get_view_window, refreturn, constversion)
 
-  _WRAP_SIGNAL(void set_scroll_adjustments(Gtk::Adjustment* hadjustment,
-                                           Gtk::Adjustment* vadjustment),
+#m4 _CONVERSION(`GtkAdjustment*',`const Glib::RefPtr<Adjustment>&',`Glib::wrap($3, true)')
+  _WRAP_SIGNAL(void set_scroll_adjustments(const Glib::RefPtr<Adjustment>& hadjustment,
+                                           const Glib::RefPtr<Adjustment>& vadjustment),
                "set_scroll_adjustments")
 
-  _WRAP_PROPERTY("hadjustment", Gtk::Adjustment*)
-  _WRAP_PROPERTY("vadjustment", Gtk::Adjustment*)
+  _WRAP_PROPERTY("hadjustment", Glib::RefPtr<Adjustment>)
+  _WRAP_PROPERTY("vadjustment", Glib::RefPtr<Adjustment>)
   _WRAP_PROPERTY("shadow_type", ShadowType)
 };
 
diff --git a/gtk/src/widget.ccg b/gtk/src/widget.ccg
index 39a60a4..b795b17 100644
--- a/gtk/src/widget.ccg
+++ b/gtk/src/widget.ccg
@@ -486,12 +486,6 @@ void Widget::draw_insertion_cursor(Glib::RefPtr<Gdk::Drawable> drawable, const G
   gtk_draw_insertion_cursor(gobj(), drawable->gobj(), const_cast<GdkRectangle*>(area.gobj()), const_cast<GdkRectangle*>(location.gobj()), is_primary, (GtkTextDirection)direction, draw_arrow);
 }
 
-Glib::RefPtr<Gdk::Pixmap> Widget::get_snapshot() const
-{
-  return Glib::wrap(reinterpret_cast<GdkPixmapObject*>(
-      gtk_widget_get_snapshot(const_cast<GtkWidget*>(gobj()), 0)), false);
-}
-
 Requisition Widget::get_requisition() const
 {
   Requisition result = {0, 0};
diff --git a/gtk/src/widget.hg b/gtk/src/widget.hg
index 882abd8..5c414dc 100644
--- a/gtk/src/widget.hg
+++ b/gtk/src/widget.hg
@@ -26,6 +26,7 @@ _CONFIGINCLUDE(gtkmmconfig.h)
 #include <atkmm/implementor.h>
 #endif //GTKMM_ATKMM_ENABLED
 
+#include <gtkmm/object.h>
 #include <gtkmm/buildable.h>
 #include <gdkmm/event.h>
 #include <gdkmm/types.h>
@@ -38,10 +39,8 @@ _CONFIGINCLUDE(gtkmmconfig.h)
 //#include <gtkmm/style.h>
 #include <gtkmm/targetlist.h>
 #include <gtkmm/rc.h>
-#include <gtkmm/object.h>
 #include <gtkmm/clipboard.h>
-#include <gtkmm/sizerequest.h>
-//#include <gtkmm/action.h>
+#include <gtkmm/requisition.h>
 
 _DEFS(gtkmm,gtk)
 _PINCLUDE(gtkmm/private/object_p.h)
@@ -79,6 +78,7 @@ typedef Gdk::Rectangle Allocation;
 /** @defgroup Widgets Widgets
  */
 
+//TODO: Deal with the GtkObject->GObject change:
 /** Abstract Widget (Base class for all widgets)
  *
  * As the base class of all widgets this contains all of the properties
@@ -97,16 +97,14 @@ typedef Gdk::Rectangle Allocation;
  * a Gdk::Window.
  */
 class Widget
-: public Object,
-  public Buildable,
-  public SizeRequest
+: public Gtk::Object,
+  public Buildable
 #ifdef GTKMM_ATKMM_ENABLED
   ,public Atk::Implementor
 #endif //GTKMM_ATKMM_ENABLED
 {
-  _CLASS_GTKOBJECT(Widget,GtkWidget,GTK_WIDGET,Gtk::Object,GtkObject)
+  _CLASS_GTKOBJECT(Widget,GtkWidget,GTK_WIDGET,Gtk::Object,GObject)
   _IMPLEMENTS_INTERFACE(Buildable)
-  _IMPLEMENTS_INTERFACE(SizeRequest)
   _IMPLEMENTS_INTERFACE(Atk::Implementor, ifdef GTKMM_ATKMM_ENABLED)
   _IGNORE(gtk_widget_set, gtk_widget_queue_clear, gtk_widget_queue_clear_area, gtk_widget_draw,
           gtk_widget_set_uposition, gtk_widget_set_usize, gtk_widget_set_visual, gtk_widget_push_visual,
@@ -117,7 +115,7 @@ public:
   friend class Main;
   _CUSTOM_DTOR
 
-  _WRAP_METHOD(bool set_scroll_adjustments(Adjustment& hadjustment, Adjustment& vadjustment), gtk_widget_set_scroll_adjustments)
+  _WRAP_METHOD(bool set_scroll_adjustments(const Glib::RefPtr<Adjustment>& hadjustment, const Glib::RefPtr<Adjustment>& vadjustment), gtk_widget_set_scroll_adjustments)
 
   _WRAP_METHOD(void show(), gtk_widget_show)
   _WRAP_METHOD(void show_now(), gtk_widget_show_now)
@@ -137,6 +135,14 @@ public:
 
   _IGNORE(gtk_widget_size_request) //deprecated
 
+  _WRAP_METHOD(SizeRequestMode get_request_mode() const, gtk_widget_get_request_mode)
+  _WRAP_METHOD(void get_preferred_width(int& minimum_width, int& natural_width) const, gtk_widget_get_preferred_width)
+  _WRAP_METHOD(void get_preferred_height_for_width(int width, int& minimum_height, int& natural_height) const, gtk_widget_get_preferred_height_for_width)
+  _WRAP_METHOD(void get_preferred_height(int& minimum_height, int& natural_height) const, gtk_widget_get_preferred_height)
+  _WRAP_METHOD(void get_preferred_width_for_height(int height, int& minimum_width, int& natural_width) const, gtk_widget_get_preferred_width_for_height)
+  _WRAP_METHOD(void get_preferred_size(Requisition& minimum_size, Requisition& natural_size) const, gtk_widget_get_preferred_size)
+
+
   _WRAP_METHOD(void add_accelerator(const Glib::ustring& accel_signal, const Glib::RefPtr<AccelGroup>& accel_group,
                guint accel_key, Gdk::ModifierType accel_mods, AccelFlags accel_flags), gtk_widget_add_accelerator)
 
@@ -280,7 +286,6 @@ public:
   _WRAP_METHOD(Widget* get_ancestor(GType widget_type), gtk_widget_get_ancestor)
   _WRAP_METHOD(const Widget* get_ancestor(GType widget_type) const, gtk_widget_get_ancestor, constversion)
 
-  _WRAP_METHOD(Glib::RefPtr<Gdk::Colormap> get_colormap(), gtk_widget_get_colormap, refreturn)
 
   _WRAP_METHOD(Glib::RefPtr<Gdk::Visual> get_visual(), gtk_widget_get_visual, refreturn)
 
@@ -305,27 +310,6 @@ public:
   _WRAP_METHOD(bool get_support_multidevice() const, gtk_widget_get_support_multidevice)
   _WRAP_METHOD(void set_support_multidevice(bool support_multidevice = true), gtk_widget_set_support_multidevice)
 
- /** Create a Gdk::Pixmap of the contents of the widget and its children.
-  *
-  * Works even if the widget is obscured. The depth and visual of the
-  * resulting pixmap is dependent on the widget being snapshot and likely
-  * differs from those of a target widget displaying the pixmap.
-  * The function Gdk::Pixbuf::get_from_drawable() can be used to convert
-  * the pixmap to a visual independant representation.
-  *
-  * The snapshot area used by this function is the widget's allocation plus
-  * any extra space occupied by additional windows belonging to this widget
-  * (such as the arrows of a spin button).
-  * Thus, the resulting snapshot pixmap is possibly larger than the allocation.
-  *
-  * The returned pixmap can be empty.
-  *
-  * @result A Gdk::Pixmap snapshot of the widget
-  *
-  * @newin{2,14}
-  */
-  Glib::RefPtr<Gdk::Pixmap> get_snapshot() const;
-
   _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)
 
@@ -342,7 +326,6 @@ public:
   _WRAP_METHOD(int get_margin_bottom() const, gtk_widget_get_margin_bottom)
   _WRAP_METHOD(void set_margin_bottom(int margin), gtk_widget_set_margin_bottom)
 
-  _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)
   _WRAP_METHOD(Gdk::EventMask get_device_events(const Glib::RefPtr<const Gdk::Device>& device) const, gtk_widget_get_device_events)
   _WRAP_METHOD(void get_pointer(int &x, int &y) const, gtk_widget_get_pointer)
@@ -475,18 +458,13 @@ public:
 
   _WRAP_METHOD(void reset_rc_styles(),gtk_widget_reset_rc_styles)
 
-  // PUSH/POP - these are used to create widgets.  Hidden arguments to override the defaults.
-  _WRAP_METHOD(static void push_colormap(const Glib::RefPtr<const Gdk::Colormap>& cmap), gtk_widget_push_colormap)
-  _WRAP_METHOD(static void pop_colormap(), gtk_widget_pop_colormap)
 
   _WRAP_METHOD(static void push_composite_child(), gtk_widget_push_composite_child)
   _WRAP_METHOD(static void pop_composite_child(), gtk_widget_pop_composite_child)
 
 /* DEFAULTS */
 
-  _WRAP_METHOD(static void set_default_colormap(const Glib::RefPtr<const Gdk::Colormap>& colormap), gtk_widget_set_default_colormap)
   _WRAP_METHOD(static Glib::RefPtr<Style> get_default_style(), gtk_widget_get_default_style, refreturn)
-  _WRAP_METHOD(static Glib::RefPtr<Gdk::Colormap> get_default_colormap(), gtk_widget_get_default_colormap, refreturn)
   _WRAP_METHOD(static Glib::RefPtr<Gdk::Visual> get_default_visual(), gtk_widget_get_default_visual, refreturn)
 
 /* Directionality of Text */
@@ -546,7 +524,6 @@ public:
 
   _WRAP_METHOD(void drag_source_unset(), gtk_drag_source_unset)
 
-  _WRAP_METHOD(void drag_source_set_icon(const Glib::RefPtr<Gdk::Colormap>& colormap, const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask), gtk_drag_source_set_icon)
   _WRAP_METHOD(void drag_source_set_icon(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf), gtk_drag_source_set_icon_pixbuf)
   _WRAP_METHOD(void drag_source_set_icon(const StockID& stock_id), gtk_drag_source_set_icon_stock)
   _WRAP_METHOD(void drag_source_set_icon(const Glib::ustring& icon_name), gtk_drag_source_set_icon_name)
diff --git a/tools/extra_defs_gen/generate_defs_gtk.cc b/tools/extra_defs_gen/generate_defs_gtk.cc
index d72823e..6117993 100644
--- a/tools/extra_defs_gen/generate_defs_gtk.cc
+++ b/tools/extra_defs_gen/generate_defs_gtk.cc
@@ -36,8 +36,7 @@ int main(int argc, char** argv)
 {
   gtk_init(&argc, &argv);
 
-  std::cout << get_defs( GDK_TYPE_COLORMAP )
-            << get_defs( GDK_TYPE_DRAG_CONTEXT )
+  std::cout << get_defs( GDK_TYPE_DRAG_CONTEXT )
             << get_defs( GDK_TYPE_DISPLAY )
 #if !defined(G_OS_WIN32)
             << get_defs( GDK_TYPE_DISPLAY_MANAGER )
@@ -46,7 +45,6 @@ int main(int argc, char** argv)
             << get_defs( GDK_TYPE_PIXBUF )
             << get_defs( GDK_TYPE_PIXBUF_ANIMATION )
             << get_defs( GDK_TYPE_PIXBUF_LOADER )
-            << get_defs( GDK_TYPE_PIXMAP )
             << get_defs( GDK_TYPE_SCREEN )
             << get_defs( GDK_TYPE_VISUAL )
             << get_defs( GDK_TYPE_WINDOW )
@@ -83,7 +81,6 @@ int main(int argc, char** argv)
             << get_defs( GTK_TYPE_CELL_RENDERER_PROGRESS )
             << get_defs( GTK_TYPE_CELL_RENDERER_SPIN )
             << get_defs( GTK_TYPE_CELL_RENDERER_SPINNER )
-            << get_defs( GTK_TYPE_CELL_SIZE_REQUEST )
             << get_defs( GTK_TYPE_CLIPBOARD )
             << get_defs( GTK_TYPE_COLOR_BUTTON )
             << get_defs( GTK_TYPE_COLOR_SELECTION )
@@ -128,7 +125,6 @@ int main(int argc, char** argv)
             << get_defs( GTK_TYPE_MESSAGE_DIALOG )
             << get_defs( GTK_TYPE_MISC )
             << get_defs( GTK_TYPE_NOTEBOOK )
-            << get_defs( GTK_TYPE_OBJECT )
             << get_defs( GTK_TYPE_OFFSCREEN_WINDOW )
             << get_defs( GTK_TYPE_ORIENTABLE )
             << get_defs( GTK_TYPE_PANED )
@@ -166,7 +162,6 @@ int main(int argc, char** argv)
             << get_defs( GTK_TYPE_SEPARATOR_TOOL_ITEM )
             << get_defs( GTK_TYPE_SETTINGS )
             << get_defs( GTK_TYPE_SIZE_GROUP )
-            << get_defs( GTK_TYPE_SIZE_REQUEST )
 #if !defined(G_OS_WIN32)
             << get_defs( GTK_TYPE_SOCKET )
 #endif /* G_OS_WIN32 */
diff --git a/tools/m4/convert_gdk.m4 b/tools/m4/convert_gdk.m4
index 659e2ed..fa01708 100644
--- a/tools/m4/convert_gdk.m4
+++ b/tools/m4/convert_gdk.m4
@@ -153,7 +153,6 @@ _CONVERSION(`Gdk::Rectangle*',`GdkRectangle*',`Glib::unwrap($3)')
 _CONVERSION(`const Gdk::Rectangle*',`GdkRectangle*',`Glib::unwrap(const_cast<Gdk::Rectangle*>($3))')
 _CONVERSION(`GdkRectangle*',`Gdk::Rectangle*',`&Glib::wrap($3)')
 _CONVERSION(`GdkRectangle*',`const Gdk::Rectangle*',`&Glib::wrap($3)')
-_CONVERSION(`GdkRectangle*',`const Gdk::Rectangle&',`Glib::wrap($3)')
 
 # Special treatment for the Sun Forte compiler
 #_CONVERSION(const Glib::RefPtr<const Gdk::Pixmap>&,GdkPixmap*,__CONVERT_CONST_REFPTR_TO_P)
diff --git a/tools/m4/convert_gtk.m4 b/tools/m4/convert_gtk.m4
index 4db8222..c2ef9f5 100644
--- a/tools/m4/convert_gtk.m4
+++ b/tools/m4/convert_gtk.m4
@@ -184,8 +184,8 @@ define(`__RP2P',`Glib::wrap($`'3)')
 define(`__RP2PD',`Glib::wrap((tran`'slit($`'2,:,))($`'3))')
 define(`__RP2CPD',`Glib::wrap((tran`'slit(pat`'subst($`'2,^const ,),:,))($`'3))')
 
-_CONVERSION(`GtkAdjustment*',`Gtk::Adjustment*',__RP2P)
-_CONVERSION(`GtkAdjustment*',`Adjustment*',__RP2P)
+_CONVERSION(`GtkAdjustment*',`Glib::RefPtr<Adjustment>',`Glib::wrap($3)')
+_CONVERSION(`GtkAdjustment*',`Glib::RefPtr<const Adjustment>',`Glib::wrap($3)')
 _CONVERSION(`GtkWidget*',`Gtk::Widget*',__RP2P)
 _CONVERSION(`GtkWidget*',`Widget*',__RP2P)
 _CONVERSION(`GtkWindow*',`Window*',__RP2P)
@@ -194,8 +194,6 @@ _CONVERSION(`GtkToolItem*',`ToolItem*',__RP2P)
 _CONVERSION(`GtkToolItemGroup*',`ToolItemGroup*',__RP2P)
 
 # Ptr (gtk+) -> const Ptr (gtkmm)
-_CONVERSION(`GtkAdjustment*',`const Gtk::Adjustment*',__RP2P)
-_CONVERSION(`GtkAdjustment*',`const Adjustment*',__RP2P)
 _CONVERSION(`GtkWidget*',`const Gtk::Widget*',__RP2P)
 _CONVERSION(`GtkWidget*',`const Widget*',__RP2P)
 _CONVERSION(`GtkWindow*',`const Window*',__RP2P)
@@ -219,8 +217,7 @@ _CONVERSION(`Gtk::Object&',`GObject*', `($3).Glib::Object::gobj()')
 
 #
 # Ptr (Gtkmm) -> Ptr (gtk+)
-_CONVERSION(`Gtk::Adjustment*',`GtkAdjustment*',__FP2P)
-_CONVERSION(`Adjustment*',`GtkAdjustment*',__FP2P)
+_CONVERSION(`const Glib::RefPtr<Adjustment>&',`GtkAdjustment*',__CONVERT_REFPTR_TO_P)
 _CONVERSION(`Gtk::Widget*',`GtkWidget*',__FP2P)
 _CONVERSION(`Widget*',`GtkWidget*',__FP2P)
 _CONVERSION(`Menu*',`GtkMenu*',__FP2P)
@@ -297,8 +294,6 @@ _CONVERSION(`FileChooserDialog&',`GtkWidget*',__FR2PD)
 # Ref (Gtkmm) -> Ptr (gtk+)
 define(`__FR2P',`($`'3).gobj()')
 define(`__FCR2P',`const_cast<$`'2>(($`'3).gobj())')
-_CONVERSION(`Gtk::Adjustment&',`GtkAdjustment*',__FR2P)
-_CONVERSION(`Adjustment&',`GtkAdjustment*',__FR2P)
 _CONVERSION(`Gtk::Style&',`GtkStyle*',__FR2P)
 _CONVERSION(`Gtk::Widget&',`GtkWidget*',__FR2P)
 _CONVERSION(`Widget&',`GtkWidget*',__FR2P)
@@ -352,8 +347,6 @@ _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const TextBuffer::Mark> >
 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<RadioAction> >',__FL2H_SHALLOW)
 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const RadioAction> >',__FL2H_SHALLOW)
 
-_CONVERSION(`GSList*',`Glib::SListHandle< FileFilter* >',__FL2H_SHALLOW)
-_CONVERSION(`GSList*',`Glib::SListHandle< const FileFilter* >',__FL2H_SHALLOW)
 _CONVERSION(`GSList*',`Glib::SListHandle<Glib::ustring>',__FL2H_DEEP)
 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<PixbufFormat> >',__FL2H_SHALLOW)
 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const PixbufFormat> >',__FL2H_SHALLOW)
@@ -502,9 +495,9 @@ _CONVERSION(`GtkEntryCompletion*',`Glib::RefPtr<EntryCompletion>',`Glib::wrap($3
 _CONVERSION(`GtkEntryCompletion*',`Glib::RefPtr<const EntryCompletion>',`Glib::wrap($3)')
 _CONVERSION(`const Glib::RefPtr<EntryCompletion>&',`GtkEntryCompletion*',__CONVERT_REFPTR_TO_P($3))
 
-_CONVERSION(`GtkFileFilter*',`FileFilter*',`Glib::wrap($3)')
-_CONVERSION(`GtkFileFilter*',`const FileFilter*',`Glib::wrap($3)')
-_CONVERSION(`const FileFilter&',`GtkFileFilter*',__FCR2P)
+_CONVERSION(`GtkFileFilter*',`Glib::RefPtr<FileFilter>',`Glib::wrap($3)')
+_CONVERSION(`GtkFileFilter*',`Glib::RefPtr<const FileFilter>',`Glib::wrap($3)')
+_CONVERSION(`const Glib::RefPtr<FileFilter>&',`GtkFileFilter*',__CONVERT_CONST_REFPTR_TO_P)
 
 _CONVERSION(`GdkPixbufFormat*',`PixbufFormat',`PixbufFormat($3)')
 



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