Wrapping pangocairo.h



This patch tries to wrap the new Pango+Cairo functions from here:
http://cvs.gnome.org/viewcvs/pango/pango/pangocairo.h?view=markup

However, these additions are not very object orientated, and my attempt
to add them to the appropriate classes also seems a bit awkward. I'd
welcome better suggestions.

For instance, this:

/**
 * pango_cairo_update_context:
 * @cr: a Cairo context
 * @context: a #PangoContext, from pango_cairo_font_map_create_context()
 * 
 * Updates a #PangoContext previously created for use with Cairo to
 * match the current transformation and target surface of a Cairo
 * context. If any layouts have been created for the context,
 * it's necessary to call pango_layout_context_changed() on those
 * layouts.
 *
 * Since: 1.10
 **/
void
pango_cairo_update_context (cairo_t      *cr,
			    PangoContext *context)

is wrapped as:

void Pango::Context::update_from_cairo_context(const
Cairo::RefPtr<Cairo::Context>& context);

-- 
Murray Cumming
murrayc murrayc com
www.murrayc.com
www.openismus.com
? Increased version.
? cairopangomm.patch
? gtkmm-2.9.2
? prop.patch
? rc.patch
? temp.patc
? temp.patch
? MSVC_Net2003/gdkmm/gdkmmconfig.h
? MSVC_Net2003/gtkmm/gtkmmconfig.h
? docs/tutorial/icons/Makefile
? docs/tutorial/icons/Makefile.in
? examples/book/custom/Makefile
? examples/book/custom/Makefile.in
? examples/book/custom/custom_widget/temp.txt
? examples/book/custom/custom_widget/test.txt
? examples/book/drawingarea/arcs/drawingareaarcs
? examples/book/drawingarea/clock/cairoclock
? examples/book/drawingarea/curve/drawingareacurve
? examples/book/drawingarea/joins/cairojoins
? examples/book/iconview/Makefile
? examples/book/iconview/Makefile.in
? examples/book/iconview/example
? examples/book/input/example
? examples/book/treeview/listviewtext/Makefile
? examples/book/treeview/listviewtext/Makefile.in
? examples/book/treeview/listviewtext/example
? examples/book/treeview/popup/Makefile
? examples/book/treeview/popup/Makefile.in
? examples/book/treeview/popup/example
? examples/book/update_ui/Makefile
? examples/book/update_ui/Makefile.in
? examples/book/update_ui/example
? gtk/temp.patch
? gtk/gtkmm/assistant.cc
? gtk/gtkmm/assistant.h
? gtk/gtkmm/cellrendereraccel.cc
? gtk/gtkmm/cellrendereraccel.h
? gtk/gtkmm/cellrendererspin.cc
? gtk/gtkmm/cellrendererspin.h
? gtk/gtkmm/linkbutton.cc
? gtk/gtkmm/linkbutton.h
? gtk/gtkmm/pagesetup.cc
? gtk/gtkmm/pagesetup.h
? gtk/gtkmm/pagesetupunixdialog.cc
? gtk/gtkmm/pagesetupunixdialog.h
? gtk/gtkmm/papersize.cc
? gtk/gtkmm/papersize.h
? gtk/gtkmm/printcontext.cc
? gtk/gtkmm/printcontext.h
? gtk/gtkmm/printer.cc
? gtk/gtkmm/printer.h
? gtk/gtkmm/printjob.cc
? gtk/gtkmm/printjob.h
? gtk/gtkmm/printoperation.cc
? gtk/gtkmm/printoperation.h
? gtk/gtkmm/printsettings.cc
? gtk/gtkmm/printsettings.h
? gtk/gtkmm/printunixdialog.cc
? gtk/gtkmm/printunixdialog.h
? gtk/gtkmm/recentchooser.cc
? gtk/gtkmm/recentchooser.h
? gtk/gtkmm/recentchooserdialog.cc
? gtk/gtkmm/recentchooserdialog.h
? gtk/gtkmm/recentchoosermenu.cc
? gtk/gtkmm/recentchoosermenu.h
? gtk/gtkmm/recentchooserwidget.cc
? gtk/gtkmm/recentchooserwidget.h
? gtk/gtkmm/recentfilter.cc
? gtk/gtkmm/recentfilter.h
? gtk/gtkmm/recentinfo.cc
? gtk/gtkmm/recentinfo.h
? gtk/gtkmm/recentmanager.cc
? gtk/gtkmm/recentmanager.h
? gtk/gtkmm/statusicon.cc
? gtk/gtkmm/statusicon.h
? gtk/gtkmm/private/assistant_p.h
? gtk/gtkmm/private/cellrendereraccel_p.h
? gtk/gtkmm/private/cellrendererspin_p.h
? gtk/gtkmm/private/linkbutton_p.h
? gtk/gtkmm/private/pagesetup_p.h
? gtk/gtkmm/private/pagesetupunixdialog_p.h
? gtk/gtkmm/private/papersize_p.h
? gtk/gtkmm/private/printcontext_p.h
? gtk/gtkmm/private/printer_p.h
? gtk/gtkmm/private/printjob_p.h
? gtk/gtkmm/private/printoperation_p.h
? gtk/gtkmm/private/printsettings_p.h
? gtk/gtkmm/private/printunixdialog_p.h
? gtk/gtkmm/private/recentchooser_p.h
? gtk/gtkmm/private/recentchooserdialog_p.h
? gtk/gtkmm/private/recentchoosermenu_p.h
? gtk/gtkmm/private/recentchooserwidget_p.h
? gtk/gtkmm/private/recentfilter_p.h
? gtk/gtkmm/private/recentinfo_p.h
? gtk/gtkmm/private/recentmanager_p.h
? gtk/gtkmm/private/statusicon_p.h
? pango/temp.patch
? pango/pangomm/cairofontmap.cc
? pango/pangomm/cairofontmap.h
? pango/pangomm/renderer.cc
? pango/pangomm/renderer.h
? pango/pangomm/private/cairofontmap_p.h
? pango/pangomm/private/renderer_p.h
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gtkmm/ChangeLog,v
retrieving revision 1.481
diff -u -p -r1.481 ChangeLog
--- ChangeLog	26 May 2006 19:24:56 -0000	1.481
+++ ChangeLog	29 May 2006 20:05:35 -0000
@@ -1,3 +1,22 @@
+2006-05-29  Murray Cumming  <murrayc murrayc com>
+
+	* pango/src/Makefile_list_of_hg.am_fragment:
+	* pango/src/cairofontmap.ccg:
+	* pango/src/cairofontmap.hg: Added wrapper of the CairoFontMap interface.
+	* pango/src/context.ccg:
+	* pango/src/context.hg: Added update_from_cairo_context(), 
+	set_cairo_font_options(), set_cairo_font_options(), get_font_options(), 
+	set_resolution(), get_resolution().
+	* pango/src/glyphstring.ccg:
+	* pango/src/glyphstring.hg: Added TODO for pango_cairo_glyph_string_path().
+	* pango/src/layout.ccg:
+	* pango/src/layout.hg: Added create_from_cairo_context(), update_from_cairo_context(), 
+	add_to_cairo_context()
+	* pango/src/layoutline.ccg:
+	* pango/src/layoutline.hg: Added show_in_cairo_context(), add_to_cairo_context().
+	* pango/src/pango_methods.defs: Updated with h2defs.py.
+	* tools/m4/convert_pango.m4: Added necessary conversions.
+
 2006-05-26  Jonathon Jongsma  <jonathon jongsma gmail com>
 
 	* examples/treemodelcustom/exampletreemodel.cc: remove interface
Index: pango/src/Makefile_list_of_hg.am_fragment
===================================================================
RCS file: /cvs/gnome/gtkmm/pango/src/Makefile_list_of_hg.am_fragment,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile_list_of_hg.am_fragment
--- pango/src/Makefile_list_of_hg.am_fragment	1 Dec 2004 11:46:29 -0000	1.5
+++ pango/src/Makefile_list_of_hg.am_fragment	29 May 2006 20:05:36 -0000
@@ -4,7 +4,7 @@
 
 files_posix_hg =
 files_win32_hg =
-files_general_hg = attributes.hg attriter.hg attrlist.hg color.hg context.hg coverage.hg \
+files_general_hg = attributes.hg attriter.hg attrlist.hg cairofontmap.hg color.hg context.hg coverage.hg \
 	font.hg fontdescription.hg fontface.hg fontfamily.hg fontmap.hg fontmetrics.hg fontset.hg \
 	glyph.hg glyphstring.hg item.hg language.hg layout.hg layoutiter.hg layoutline.hg layoutrun.hg \
 	rectangle.hg renderer.hg tabarray.hg
Index: pango/src/context.ccg
===================================================================
RCS file: /cvs/gnome/gtkmm/pango/src/context.ccg,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 context.ccg
--- pango/src/context.ccg	21 Jan 2003 13:41:02 -0000	1.1.1.1
+++ pango/src/context.ccg	29 May 2006 20:05:36 -0000
@@ -21,6 +21,8 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
+#include <pango/pangocairo.h>
+
 namespace Pango
 {
 
@@ -57,6 +59,11 @@ ListHandle_Item Context::itemize(const G
                     text.c_str(), start_index, length,
                     const_cast<PangoAttrList*>(attrs.gobj()), cached_iter.gobj()),
       Glib::OWNERSHIP_DEEP);
+}
+
+void Context::update_from_cairo_context(const Cairo::RefPtr<Cairo::Context>& context)
+{
+  pango_cairo_update_context(context->cobj(), gobj());
 }
 
 } /* namespace Pango */
Index: pango/src/context.hg
===================================================================
RCS file: /cvs/gnome/gtkmm/pango/src/context.hg,v
retrieving revision 1.5
diff -u -p -r1.5 context.hg
--- pango/src/context.hg	1 Dec 2004 11:46:29 -0000	1.5
+++ pango/src/context.hg	29 May 2006 20:05:36 -0000
@@ -31,6 +31,8 @@
 #include <pangomm/attrlist.h>
 #include <pangomm/types.h> //For Matrix
 #include <pango/pango-context.h>
+#include <cairomm/context.h>
+#include <cairomm/fontoptions.h>
 
 _DEFS(pangomm,pango)
 _PINCLUDE(glibmm/private/object_p.h)
@@ -136,6 +138,26 @@ public:
    */
   ListHandle_Item itemize(const Glib::ustring& text, int start_index, int length,
                           const AttrList& attrs, AttrIter& cached_iter) const;
+
+  /** Updates a Pango Context previously created for use with Cairo to
+   * match the current transformation and target surface of a Cairo
+   * Context. If any layouts have been created for the context,
+   * it's necessary to call Pango::Layout::context_changed() on those
+   * layouts.
+   *
+   * @param context A Cairo context, from CairoFontMap::create_context().
+   */
+  void update_from_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
+
+
+  _WRAP_METHOD(void set_cairo_font_options(const Cairo::FontOptions& options), pango_cairo_context_set_font_options)
+
+#m4 _CONVERSION(`const cairo_font_options_t*',`Cairo::FontOptions',`Cairo::FontOptions(const_cast< cairo_font_options_t*>($3), false /* take_copy */)')
+  _WRAP_METHOD(Cairo::FontOptions get_font_options() const, pango_cairo_context_get_font_options)
+
+  _WRAP_METHOD(void set_resolution(double dpi), pango_cairo_context_set_resolution)
+  _WRAP_METHOD(double get_resolution() const, pango_cairo_context_get_resolution)
+
 };
 
 } /* namespace Pango */
Index: pango/src/glyphstring.ccg
===================================================================
RCS file: /cvs/gnome/gtkmm/pango/src/glyphstring.ccg,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 glyphstring.ccg
--- pango/src/glyphstring.ccg	21 Jan 2003 13:41:04 -0000	1.1.1.1
+++ pango/src/glyphstring.ccg	29 May 2006 20:05:36 -0000
@@ -21,7 +21,7 @@
  */
 
 #include <glibmm/utility.h>
-
+#include <pango/pangocairo.h>
 
 namespace Pango
 {
Index: pango/src/glyphstring.hg
===================================================================
RCS file: /cvs/gnome/gtkmm/pango/src/glyphstring.hg,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 glyphstring.hg
--- pango/src/glyphstring.hg	21 Jan 2003 13:41:05 -0000	1.1.1.1
+++ pango/src/glyphstring.hg	29 May 2006 20:05:36 -0000
@@ -22,6 +22,7 @@
 #include <pangomm/font.h>
 #include <pangomm/glyph.h>
 #include <pangomm/item.h>
+#include <cairomm/context.h>
 #include <pango/pango-glyph.h>
 #include <pango/pango-item.h> //For PangoAnalysis.
 
@@ -118,6 +119,8 @@ public:
    * @return An array of Pango::GlyphInfo objects.
    */
   Glib::ArrayHandle<GlyphInfo> get_glyphs() const;
+
+  //TODO: Wrap pango_cairo_glyph_string_path().
 };
 
 } //namespace Pango
Index: pango/src/layout.ccg
===================================================================
RCS file: /cvs/gnome/gtkmm/pango/src/layout.ccg,v
retrieving revision 1.2
diff -u -p -r1.2 layout.ccg
--- pango/src/layout.ccg	4 Nov 2003 18:11:37 -0000	1.2
+++ pango/src/layout.ccg	29 May 2006 20:05:36 -0000
@@ -20,6 +20,8 @@
  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
+#include <pango/pangocairo.h>
+
 namespace Pango
 {
 
@@ -28,6 +30,16 @@ Layout::Layout(const Glib::RefPtr<Contex
   Glib::Object(G_OBJECT(pango_layout_new(context->gobj())))
 {}
 
+Glib::RefPtr<Layout> Layout::create_from_cairo_context(const Cairo::RefPtr<Cairo::Context>& context)
+{
+  return Glib::wrap( pango_cairo_create_layout(context->cobj()) );
+}
+
+void Layout::update_from_cairo_context(const Cairo::RefPtr<Cairo::Context>& context)
+{
+  pango_cairo_update_layout(context->cobj(), gobj());
+}
+
 void Layout::set_text(const Glib::ustring& text)
 {
   pango_layout_set_text(gobj(), text.c_str(), text.bytes());
@@ -110,6 +122,11 @@ void Layout::get_iter(LayoutIter& iter)
 void Layout::unset_font_description()
 {
   pango_layout_set_font_description(gobj(), 0);
+}
+
+void Layout::add_to_cairo_context(const Cairo::RefPtr<Cairo::Context>& context)
+{
+  pango_cairo_layout_path(context->cobj(), gobj());
 }
 
 } /* namespace Pango */
Index: pango/src/layout.hg
===================================================================
RCS file: /cvs/gnome/gtkmm/pango/src/layout.hg,v
retrieving revision 1.7
diff -u -p -r1.7 layout.hg
--- pango/src/layout.hg	11 Sep 2004 09:16:10 -0000	1.7
+++ pango/src/layout.hg	29 May 2006 20:05:36 -0000
@@ -60,6 +60,32 @@ protected:
 public:
   _WRAP_CREATE(const Glib::RefPtr<Context>& context)
 
+ /** Creates a layout object set up to match the current transformation
+  * and target surface of the Cairo context.  This layout can then be
+  * used for text measurement with functions like
+  * get_size() or drawing with methods like show_in_cairo_contet(). 
+  * If you change the transformation or target surface for @a context, 
+  * you need to call update_from_cairo_context()
+  *
+  * This is the most convenient way to use Cairo with Pango. 
+  * However it is slightly inefficient since it creates a separate
+  * Pango Context object for each layout. This might matter in an
+  * application that is laying out large amounts of text.
+  * 
+  * @param context A Cairo context.
+  * @result The newly created Pango Layout.
+  */
+  static Glib::RefPtr<Layout> create_from_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
+
+  /** Updates the private Pango Context of a Pango Layout created with
+   * create_from_cairo_contex() to match the current transformation
+   * and target surface of a Cairo Context.
+   *
+   * @param context A Cairo context.
+   */
+  void update_from_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
+
+
   _WRAP_METHOD(Glib::RefPtr<Layout> copy(), pango_layout_copy)
   _WRAP_METHOD(Glib::RefPtr<Context> get_context() const, pango_layout_get_context, refreturn)
   _WRAP_METHOD(void set_attributes(AttrList& attrs), pango_layout_set_attributes)
@@ -197,6 +223,15 @@ public:
    * @param iter Location to store the iterator.
    */
   void get_iter(LayoutIter& iter);
+
+
+  /** Adds the text in this LayoutLine to the current path in the
+   * specified Cairo @a context. The origin of the glyphs (the left edge
+   * of the line) will be at the current point of the cairo context.
+   *
+   * @param context A Cairo context.
+   */
+  void add_to_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
 };
 
 } /* namespace Pango */
Index: pango/src/layoutline.ccg
===================================================================
RCS file: /cvs/gnome/gtkmm/pango/src/layoutline.ccg,v
retrieving revision 1.2
diff -u -p -r1.2 layoutline.ccg
--- pango/src/layoutline.ccg	19 Dec 2003 15:28:08 -0000	1.2
+++ pango/src/layoutline.ccg	29 May 2006 20:05:36 -0000
@@ -21,6 +21,7 @@
  */
 
 #include <pangomm/layout.h>
+#include <pango/pangocairo.h>
 
 namespace Pango {
 
@@ -65,6 +66,16 @@ Glib::ArrayHandle<std::pair<int,int> > L
   int n_ranges = 0;
   pango_layout_line_get_x_ranges(const_cast<PangoLayoutLine*>(gobj()), start_index, end_index, &ranges, &n_ranges);
   return Glib::ArrayHandle<std::pair<int,int> >(reinterpret_cast<std::pair<int,int>*>(ranges), n_ranges, Glib::OWNERSHIP_SHALLOW);
+}
+
+void LayoutLine::show_in_cairo_context(const Cairo::RefPtr<Cairo::Context>& context)
+{
+  pango_cairo_show_layout_line(context->cobj(), gobj());
+}
+
+void LayoutLine::add_to_cairo_context(const Cairo::RefPtr<Cairo::Context>& context)
+{
+  pango_cairo_layout_line_path(context->cobj(), gobj());
 }
 
 } /* namespace Pango */
Index: pango/src/layoutline.hg
===================================================================
RCS file: /cvs/gnome/gtkmm/pango/src/layoutline.hg,v
retrieving revision 1.4
diff -u -p -r1.4 layoutline.hg
--- pango/src/layoutline.hg	3 Feb 2004 11:06:52 -0000	1.4
+++ pango/src/layoutline.hg	29 May 2006 20:05:36 -0000
@@ -21,6 +21,7 @@
 
 #include <glibmm/slisthandle.h> // For the Glib::SListHandle typedef
 #include <pangomm/rectangle.h>
+#include <cairomm/context.h>
 #include <pango/pango-layout.h>
 
 _DEFS(pangomm,pango)
@@ -91,6 +92,22 @@ public:
    * @return The logical extents of the layout line.
    */
   Rectangle get_pixel_logical_extents() const;
+
+  /** Draws this LayoutLine in the specified Cairo context.
+   * The origin of the glyphs (the left edge of the line) will
+   * be drawn at the current point of the cairo context.
+   *
+   * @param context A Cairo context.
+   */
+  void show_in_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
+
+  /** Adds the text in this LayoutLine to the current path in the
+   * specified Cairo @a context. The origin of the glyphs (the left edge
+   * of the line) will be at the current point of the cairo context.
+   *
+   * @param context A Cairo context.
+   */
+  void add_to_cairo_context(const Cairo::RefPtr<Cairo::Context>& context);
 
   _MEMBER_GET_GOBJECT(layout, layout, Pango::Layout, PangoLayout*)
   //_MEMBER_SET_GOBJECT(layout, layout, Pango::Layout, PangoLayout*)
Index: pango/src/pango_methods.defs
===================================================================
RCS file: /cvs/gnome/gtkmm/pango/src/pango_methods.defs,v
retrieving revision 1.5
diff -u -p -r1.5 pango_methods.defs
--- pango/src/pango_methods.defs	1 Dec 2004 11:46:29 -0000	1.5
+++ pango/src/pango_methods.defs	29 May 2006 20:05:37 -0000
@@ -1,5 +1,17 @@
 ;; -*- scheme -*-
 ; object definitions ...
+(define-object CairoFont
+  (in-module "Pango")
+  (c-name "PangoCairoFont")
+  (gtype-id "PANGO_TYPE_CAIRO_FONT")
+)
+
+(define-object CairoFontMap
+  (in-module "Pango")
+  (c-name "PangoCairoFontMap")
+  (gtype-id "PANGO_TYPE_CAIRO_FONT_MAP")
+)
+
 (define-object Engine
   (in-module "Pango")
   (parent "GObject")
@@ -42,6 +54,13 @@
   (gtype-id "PANGO_TYPE_FC_FONT")
 )
 
+(define-object ATSUIFont
+  (in-module "Pango")
+  (parent "PangoFont")
+  (c-name "PangoATSUIFont")
+  (gtype-id "PANGO_TYPE_ATSUI_FONT")
+)
+
 (define-object FontFace
   (in-module "Pango")
   (parent "GObject")
@@ -70,6 +89,13 @@
   (gtype-id "PANGO_TYPE_FC_FONT_MAP")
 )
 
+(define-object ATSUIFontMap
+  (in-module "Pango")
+  (parent "PangoFontMap")
+  (c-name "PangoATSUIFontMap")
+  (gtype-id "PANGO_TYPE_ATSUI_FONT_MAP")
+)
+
 (define-object Fontset
   (in-module "Pango")
   (parent "GObject")
@@ -77,6 +103,20 @@
   (gtype-id "PANGO_TYPE_FONTSET")
 )
 
+(define-object OTInfo
+  (in-module "Pango")
+  (parent "GObject")
+  (c-name "PangoOTInfo")
+  (gtype-id "PANGO_TYPE_OT_INFO")
+)
+
+(define-object OTRuleset
+  (in-module "Pango")
+  (parent "GObject")
+  (c-name "PangoOTRuleset")
+  (gtype-id "PANGO_TYPE_OT_RULESET")
+)
+
 (define-object Renderer
   (in-module "Pango")
   (parent "GObject")
@@ -84,6 +124,20 @@
   (gtype-id "PANGO_TYPE_RENDERER")
 )
 
+(define-object Win32Font
+  (in-module "Pango")
+  (parent "PangoFont")
+  (c-name "PangoWin32Font")
+  (gtype-id "PANGO_TYPE_WIN32_FONT")
+)
+
+(define-object Win32FontMap
+  (in-module "Pango")
+  (parent "PangoFontMap")
+  (c-name "PangoWin32FontMap")
+  (gtype-id "PANGO_TYPE_WIN32_FONT_MAP")
+)
+
 (define-object XftRenderer
   (in-module "Pango")
   (parent "PangoRenderer")
@@ -118,6 +172,7 @@
     '("letter-spacing" "PANGO_ATTR_LETTER_SPACING")
     '("underline-color" "PANGO_ATTR_UNDERLINE_COLOR")
     '("strikethrough-color" "PANGO_ATTR_STRIKETHROUGH_COLOR")
+    '("absolute-size" "PANGO_ATTR_ABSOLUTE_SIZE")
   )
 )
 
@@ -175,6 +230,7 @@
     '("ultralight" "PANGO_WEIGHT_ULTRALIGHT")
     '("light" "PANGO_WEIGHT_LIGHT")
     '("normal" "PANGO_WEIGHT_NORMAL")
+    '("semibold" "PANGO_WEIGHT_SEMIBOLD")
     '("bold" "PANGO_WEIGHT_BOLD")
     '("ultrabold" "PANGO_WEIGHT_ULTRABOLD")
     '("heavy" "PANGO_WEIGHT_HEAVY")
@@ -328,6 +384,13 @@
     '("linear-b" "PANGO_SCRIPT_LINEAR_B")
     '("tai-le" "PANGO_SCRIPT_TAI_LE")
     '("ugaritic" "PANGO_SCRIPT_UGARITIC")
+    '("new-tai-lue" "PANGO_SCRIPT_NEW_TAI_LUE")
+    '("buginese" "PANGO_SCRIPT_BUGINESE")
+    '("glagolitic" "PANGO_SCRIPT_GLAGOLITIC")
+    '("tifinagh" "PANGO_SCRIPT_TIFINAGH")
+    '("syloti-nagri" "PANGO_SCRIPT_SYLOTI_NAGRI")
+    '("old-persian" "PANGO_SCRIPT_OLD_PERSIAN")
+    '("kharoshthi" "PANGO_SCRIPT_KHAROSHTHI")
   )
 )
 
@@ -356,15 +419,33 @@
 )
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/module-defs.h
+;; From module-defs.h
+
+
+
+;; From modules.h
+
+
+
+;; From pangoatsui.h
+
+
 
+;; From pangoatsui-private.h
 
+(define-function pango_atsui_font_map_get_type
+  (c-name "pango_atsui_font_map_get_type")
+  (return-type "GType")
+)
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/modules.h
+(define-function pango_atsui_font_get_type
+  (c-name "pango_atsui_font_get_type")
+  (return-type "GType")
+)
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-attributes.h
+;; From pango-attributes.h
 
 (define-function pango_color_get_type
   (c-name "pango_color_get_type")
@@ -470,6 +551,14 @@
   )
 )
 
+(define-function pango_attr_size_new_absolute
+  (c-name "pango_attr_size_new_absolute")
+  (return-type "PangoAttribute*")
+  (parameters
+    '("int" "size")
+  )
+)
+
 (define-function pango_attr_style_new
   (c-name "pango_attr_style_new")
   (is-constructor-of "PangoAttrStyle")
@@ -627,7 +716,7 @@
 (define-method ref
   (of-object "PangoAttrList")
   (c-name "pango_attr_list_ref")
-  (return-type "none")
+  (return-type "PangoAttrList*")
 )
 
 (define-method unref
@@ -766,7 +855,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-break.h
+;; From pango-break.h
 
 (define-function pango_break
   (c-name "pango_break")
@@ -818,7 +907,224 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-context.h
+;; From pangocairo-atsuifont.h
+
+(define-function pango_cairo_atsui_font_get_type
+  (c-name "pango_cairo_atsui_font_get_type")
+  (return-type "GType")
+)
+
+(define-method get_atsu_font_id
+  (of-object "PangoCairoATSUIFont")
+  (c-name "pango_cairo_atsui_font_get_atsu_font_id")
+  (return-type "ATSUFontID")
+)
+
+
+
+;; From pangocairo-atsui.h
+
+(define-function pango_cairo_atsui_font_map_get_type
+  (c-name "pango_cairo_atsui_font_map_get_type")
+  (return-type "GType")
+)
+
+
+
+;; From pangocairo-fc.h
+
+(define-function pango_cairo_fc_font_map_get_type
+  (c-name "pango_cairo_fc_font_map_get_type")
+  (return-type "GType")
+)
+
+
+
+;; From pangocairo.h
+
+(define-function pango_cairo_font_map_get_type
+  (c-name "pango_cairo_font_map_get_type")
+  (return-type "GType")
+)
+
+(define-function pango_cairo_font_map_new
+  (c-name "pango_cairo_font_map_new")
+  (is-constructor-of "PangoCairoFontMap")
+  (return-type "PangoFontMap*")
+)
+
+(define-function pango_cairo_font_map_get_default
+  (c-name "pango_cairo_font_map_get_default")
+  (return-type "PangoFontMap*")
+)
+
+(define-method set_resolution
+  (of-object "PangoCairoFontMap")
+  (c-name "pango_cairo_font_map_set_resolution")
+  (return-type "none")
+  (parameters
+    '("double" "dpi")
+  )
+)
+
+(define-method get_resolution
+  (of-object "PangoCairoFontMap")
+  (c-name "pango_cairo_font_map_get_resolution")
+  (return-type "double")
+)
+
+(define-method create_context
+  (of-object "PangoCairoFontMap")
+  (c-name "pango_cairo_font_map_create_context")
+  (return-type "PangoContext*")
+)
+
+(define-function pango_cairo_update_context
+  (c-name "pango_cairo_update_context")
+  (return-type "none")
+  (parameters
+    '("cairo_t*" "cr")
+    '("PangoContext*" "context")
+  )
+)
+
+(define-function pango_cairo_context_set_font_options
+  (c-name "pango_cairo_context_set_font_options")
+  (return-type "none")
+  (parameters
+    '("PangoContext*" "context")
+    '("const-cairo_font_options_t*" "options")
+  )
+)
+
+(define-function pango_cairo_context_get_font_options
+  (c-name "pango_cairo_context_get_font_options")
+  (return-type "const-cairo_font_options_t*")
+  (parameters
+    '("PangoContext*" "context")
+  )
+)
+
+(define-function pango_cairo_context_set_resolution
+  (c-name "pango_cairo_context_set_resolution")
+  (return-type "none")
+  (parameters
+    '("PangoContext*" "context")
+    '("double" "dpi")
+  )
+)
+
+(define-function pango_cairo_context_get_resolution
+  (c-name "pango_cairo_context_get_resolution")
+  (return-type "double")
+  (parameters
+    '("PangoContext*" "context")
+  )
+)
+
+(define-function pango_cairo_create_layout
+  (c-name "pango_cairo_create_layout")
+  (return-type "PangoLayout*")
+  (parameters
+    '("cairo_t*" "cr")
+  )
+)
+
+(define-function pango_cairo_update_layout
+  (c-name "pango_cairo_update_layout")
+  (return-type "none")
+  (parameters
+    '("cairo_t*" "cr")
+    '("PangoLayout*" "layout")
+  )
+)
+
+(define-function pango_cairo_show_glyph_string
+  (c-name "pango_cairo_show_glyph_string")
+  (return-type "none")
+  (parameters
+    '("cairo_t*" "cr")
+    '("PangoFont*" "font")
+    '("PangoGlyphString*" "glyphs")
+  )
+)
+
+(define-function pango_cairo_show_layout_line
+  (c-name "pango_cairo_show_layout_line")
+  (return-type "none")
+  (parameters
+    '("cairo_t*" "cr")
+    '("PangoLayoutLine*" "line")
+  )
+)
+
+(define-function pango_cairo_show_layout
+  (c-name "pango_cairo_show_layout")
+  (return-type "none")
+  (parameters
+    '("cairo_t*" "cr")
+    '("PangoLayout*" "layout")
+  )
+)
+
+(define-function pango_cairo_glyph_string_path
+  (c-name "pango_cairo_glyph_string_path")
+  (return-type "none")
+  (parameters
+    '("cairo_t*" "cr")
+    '("PangoFont*" "font")
+    '("PangoGlyphString*" "glyphs")
+  )
+)
+
+(define-function pango_cairo_layout_line_path
+  (c-name "pango_cairo_layout_line_path")
+  (return-type "none")
+  (parameters
+    '("cairo_t*" "cr")
+    '("PangoLayoutLine*" "line")
+  )
+)
+
+(define-function pango_cairo_layout_path
+  (c-name "pango_cairo_layout_path")
+  (return-type "none")
+  (parameters
+    '("cairo_t*" "cr")
+    '("PangoLayout*" "layout")
+  )
+)
+
+
+
+;; From pangocairo-private.h
+
+(define-function pango_cairo_font_get_type
+  (c-name "pango_cairo_font_get_type")
+  (return-type "GType")
+)
+
+(define-function pango_cairo_renderer_get_type
+  (c-name "pango_cairo_renderer_get_type")
+  (return-type "GType")
+)
+
+
+
+;; From pangocairo-win32.h
+
+(define-function pango_cairo_win32_font_map_get_type
+  (c-name "pango_cairo_win32_font_map_get_type")
+  (return-type "GType")
+)
+
+
+
+;; From pango-color-table.h
+
+
+
+;; From pango-context.h
 
 (define-function pango_context_get_type
   (c-name "pango_context_get_type")
@@ -974,7 +1280,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-coverage.h
+;; From pango-coverage.h
 
 (define-function pango_coverage_new
   (c-name "pango_coverage_new")
@@ -1049,7 +1355,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-engine.h
+;; From pango-engine.h
 
 (define-function pango_engine_get_type
   (c-name "pango_engine_get_type")
@@ -1098,11 +1404,11 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-engine-private.h
+;; From pango-engine-private.h
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-enum-types.h
+;; From pango-enum-types.h
 
 (define-function pango_attr_type_get_type
   (c-name "pango_attr_type_get_type")
@@ -1181,7 +1487,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangofc-decoder.h
+;; From pangofc-decoder.h
 
 (define-function pango_fc_decoder_get_type
   (c-name "pango_fc_decoder_get_type")
@@ -1209,7 +1515,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangofc-font.h
+;; From pangofc-font.h
 
 (define-method has_char
   (of-object "PangoFcFont")
@@ -1266,7 +1572,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangofc-fontmap.h
+;; From pangofc-fontmap.h
 
 (define-method create_context
   (of-object "PangoFcFontMap")
@@ -1313,7 +1619,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangofc-private.h
+;; From pangofc-private.h
 
 (define-method get_raw_extents
   (of-object "PangoFcFont")
@@ -1327,9 +1633,18 @@
   )
 )
 
+(define-method create_metrics_for_context
+  (of-object "PangoFcFont")
+  (c-name "pango_fc_font_create_metrics_for_context")
+  (return-type "PangoFontMetrics*")
+  (parameters
+    '("PangoContext*" "context")
+  )
+)
+
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-font.h
+;; From pango-font.h
 
 (define-function pango_font_description_get_type
   (c-name "pango_font_description_get_type")
@@ -1483,6 +1798,21 @@
   (return-type "gint")
 )
 
+(define-method set_absolute_size
+  (of-object "PangoFontDescription")
+  (c-name "pango_font_description_set_absolute_size")
+  (return-type "none")
+  (parameters
+    '("double" "size")
+  )
+)
+
+(define-method get_size_is_absolute
+  (of-object "PangoFontDescription")
+  (c-name "pango_font_description_get_size_is_absolute")
+  (return-type "gboolean")
+)
+
 (define-method get_set_fields
   (of-object "PangoFontDescription")
   (c-name "pango_font_description_get_set_fields")
@@ -1684,6 +2014,12 @@
   (return-type "PangoFontDescription*")
 )
 
+(define-method describe_with_absolute_size
+  (of-object "PangoFont")
+  (c-name "pango_font_describe_with_absolute_size")
+  (return-type "PangoFontDescription*")
+)
+
 (define-method get_coverage
   (of-object "PangoFont")
   (c-name "pango_font_get_coverage")
@@ -1723,9 +2059,15 @@
   )
 )
 
+(define-method get_font_map
+  (of-object "PangoFont")
+  (c-name "pango_font_get_font_map")
+  (return-type "PangoFontMap*")
+)
+
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-fontmap.h
+;; From pango-fontmap.h
 
 (define-function pango_font_map_get_type
   (c-name "pango_font_map_get_type")
@@ -1771,7 +2113,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-fontset.h
+;; From pango-fontset.h
 
 (define-function pango_fontset_get_type
   (c-name "pango_fontset_get_type")
@@ -1834,7 +2176,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangoft2.h
+;; From pangoft2.h
 
 (define-function pango_ft2_render
   (c-name "pango_ft2_render")
@@ -2005,7 +2347,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangoft2-private.h
+;; From pangoft2-private.h
 
 (define-function pango_ft2_font_get_type
   (c-name "pango_ft2_font_get_type")
@@ -2019,7 +2361,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-glyph.h
+;; From pango-glyph.h
 
 (define-function pango_glyph_string_new
   (c-name "pango_glyph_string_new")
@@ -2123,7 +2465,7 @@
   (parameters
     '("const-gchar*" "text")
     '("gint" "length")
-    '("PangoAnalysis*" "analysis")
+    '("const-PangoAnalysis*" "analysis")
     '("PangoGlyphString*" "glyphs")
   )
 )
@@ -2138,7 +2480,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-glyph-item.h
+;; From pango-glyph-item.h
 
 (define-method split
   (of-object "PangoGlyphItem")
@@ -2179,19 +2521,24 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-glyph-item-private.h
+;; From pango-glyph-item-private.h
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango.h
+;; From pango.h
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-impl-utils.h
+;; From pango-impl-utils.h
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-item.h
+;; From pango-item.h
+
+(define-function pango_item_get_type
+  (c-name "pango_item_get_type")
+  (return-type "GType")
+)
 
 (define-function pango_item_new
   (c-name "pango_item_new")
@@ -2223,7 +2570,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-layout.h
+;; From pango-layout.h
 
 (define-function pango_layout_get_type
   (c-name "pango_layout_get_type")
@@ -2313,6 +2660,12 @@
   )
 )
 
+(define-method get_font_description
+  (of-object "PangoLayout")
+  (c-name "pango_layout_get_font_description")
+  (return-type "const-PangoFontDescription*")
+)
+
 (define-method set_width
   (of-object "PangoLayout")
   (c-name "pango_layout_set_width")
@@ -2489,6 +2842,18 @@
   )
 )
 
+(define-method index_to_line_x
+  (of-object "PangoLayout")
+  (c-name "pango_layout_index_to_line_x")
+  (return-type "none")
+  (parameters
+    '("int" "index_")
+    '("gboolean" "trailing")
+    '("int*" "line")
+    '("int*" "x_pos")
+  )
+)
+
 (define-method get_cursor_pos
   (of-object "PangoLayout")
   (c-name "pango_layout_get_cursor_pos")
@@ -2587,10 +2952,15 @@
   (return-type "GSList*")
 )
 
+(define-function pango_layout_line_get_type
+  (c-name "pango_layout_line_get_type")
+  (return-type "GType")
+)
+
 (define-method ref
   (of-object "PangoLayoutLine")
   (c-name "pango_layout_line_ref")
-  (return-type "none")
+  (return-type "PangoLayoutLine*")
 )
 
 (define-method unref
@@ -2785,11 +3155,11 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-layout-private.h
+;; From pango-layout-private.h
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-modules.h
+;; From pango-modules.h
 
 (define-function pango_find_map
   (c-name "pango_find_map")
@@ -2831,7 +3201,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-ot.h
+;; From pango-ot.h
 
 (define-function pango_ot_info_get
   (c-name "pango_ot_info_get")
@@ -2945,7 +3315,7 @@
   (c-name "pango_ot_buffer_add_glyph")
   (return-type "none")
   (parameters
-    '("guint" "glyph_index")
+    '("guint" "glyph")
     '("guint" "properties")
     '("guint" "cluster")
   )
@@ -3019,7 +3389,39 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-renderer.h
+;; From pango-ot-private.h
+
+(define-function pango_ot_info_get_type
+  (c-name "pango_ot_info_get_type")
+  (return-type "GType")
+)
+
+(define-method get_gdef
+  (of-object "PangoOTInfo")
+  (c-name "pango_ot_info_get_gdef")
+  (return-type "HB_GDEF")
+)
+
+(define-method get_gsub
+  (of-object "PangoOTInfo")
+  (c-name "pango_ot_info_get_gsub")
+  (return-type "HB_GSUB")
+)
+
+(define-method get_gpos
+  (of-object "PangoOTInfo")
+  (c-name "pango_ot_info_get_gpos")
+  (return-type "HB_GPOS")
+)
+
+(define-function pango_ot_ruleset_get_type
+  (c-name "pango_ot_ruleset_get_type")
+  (return-type "GType")
+)
+
+
+
+;; From pango-renderer.h
 
 (define-function pango_renderer_get_type
   (c-name "pango_renderer_get_type")
@@ -3091,7 +3493,7 @@
   (return-type "none")
   (parameters
     '("PangoRenderPart" "part")
-    '("double" "y1")
+    '("double" "y1_")
     '("double" "x11")
     '("double" "x21")
     '("double" "y2")
@@ -3169,7 +3571,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-script.h
+;; From pango-script.h
 
 (define-function pango_script_for_unichar
   (c-name "pango_script_for_unichar")
@@ -3229,15 +3631,15 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-script-lang-table.h
+;; From pango-script-lang-table.h
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-script-table.h
+;; From pango-script-table.h
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-tabs.h
+;; From pango-tabs.h
 
 (define-function pango_tab_array_new
   (c-name "pango_tab_array_new")
@@ -3333,7 +3735,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-types.h
+;; From pango-types.h
 
 (define-function pango_matrix_get_type
   (c-name "pango_matrix_get_type")
@@ -3390,6 +3792,12 @@
   )
 )
 
+(define-method get_font_scale_factor
+  (of-object "PangoMatrix")
+  (c-name "pango_matrix_get_font_scale_factor")
+  (return-type "double")
+)
+
 (define-function pango_language_get_type
   (c-name "pango_language_get_type")
   (return-type "GType")
@@ -3440,7 +3848,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pango-utils.h
+;; From pango-utils.h
 
 (define-function pango_split_file_list
   (c-name "pango_split_file_list")
@@ -3572,12 +3980,11 @@
 
 (define-function pango_log2vis_get_embedding_levels
   (c-name "pango_log2vis_get_embedding_levels")
-  (return-type "gboolean")
+  (return-type "guint8*")
   (parameters
-    '("gunichar*" "str")
-    '("int" "len")
+    '("const-gchar*" "text")
+    '("int" "length")
     '("PangoDirection*" "pbase_dir")
-    '("guint8*" "embedding_level_list")
   )
 )
 
@@ -3587,9 +3994,26 @@
   (return-type "const-char*")
 )
 
+(define-function pango_is_zero_width
+  (c-name "pango_is_zero_width")
+  (return-type "gboolean")
+  (parameters
+    '("gunichar" "ch")
+  )
+)
+
+(define-function pango_quantize_line_geometry
+  (c-name "pango_quantize_line_geometry")
+  (return-type "none")
+  (parameters
+    '("int*" "thickness")
+    '("int*" "position")
+  )
+)
+
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangowin32.h
+;; From pangowin32.h
 
 (define-function pango_win32_get_context
   (c-name "pango_win32_get_context")
@@ -3671,6 +4095,31 @@
   (return-type "gboolean")
 )
 
+(define-function pango_win32_font_select_font
+  (c-name "pango_win32_font_select_font")
+  (return-type "gboolean")
+  (parameters
+    '("PangoFont*" "font")
+    '("HDC" "hdc")
+  )
+)
+
+(define-function pango_win32_font_done_font
+  (c-name "pango_win32_font_done_font")
+  (return-type "none")
+  (parameters
+    '("PangoFont*" "font")
+  )
+)
+
+(define-function pango_win32_font_get_metrics_factor
+  (c-name "pango_win32_font_get_metrics_factor")
+  (return-type "double")
+  (parameters
+    '("PangoFont*" "font")
+  )
+)
+
 (define-function pango_win32_font_cache_new
   (c-name "pango_win32_font_cache_new")
   (is-constructor-of "PangoWin32FontCache")
@@ -3727,9 +4176,22 @@
   )
 )
 
+(define-function pango_win32_font_description_from_logfont
+  (c-name "pango_win32_font_description_from_logfont")
+  (return-type "PangoFontDescription*")
+  (parameters
+    '("const-LOGFONT*" "lfp")
+  )
+)
+
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangowin32-private.h
+;; From pangowin32-private.h
+
+(define-function pango_win32_font_get_type
+  (c-name "pango_win32_font_get_type")
+  (return-type "GType")
+)
 
 (define-function pango_win32_font_new
   (c-name "pango_win32_font_new")
@@ -3789,6 +4251,11 @@
   )
 )
 
+(define-function pango_win32_font_map_get_type
+  (c-name "pango_win32_font_map_get_type")
+  (return-type "GType")
+)
+
 (define-function pango_win32_fontmap_cache_add
   (c-name "pango_win32_fontmap_cache_add")
   (return-type "none")
@@ -3836,7 +4303,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangoxft.h
+;; From pangoxft.h
 
 (define-function pango_xft_get_font_map
   (c-name "pango_xft_get_font_map")
@@ -3957,11 +4424,11 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangoxft-private.h
+;; From pangoxft-private.h
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangoxft-render.h
+;; From pangoxft-render.h
 
 (define-function pango_xft_renderer_get_type
   (c-name "pango_xft_renderer_get_type")
@@ -4063,7 +4530,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangox.h
+;; From pangox.h
 
 (define-function pango_x_get_context
   (c-name "pango_x_get_context")
@@ -4272,7 +4739,7 @@
 
 
 
-;; From /home/murrayc/cvs/gnome210/pango/pango/pangox-private.h
+;; From pangox-private.h
 
 (define-function pango_x_font_map_get_type
   (c-name "pango_x_font_map_get_type")
Index: tools/m4/convert_pango.m4
===================================================================
RCS file: /cvs/gnome/gtkmm/tools/m4/convert_pango.m4,v
retrieving revision 1.8
diff -u -p -r1.8 convert_pango.m4
--- tools/m4/convert_pango.m4	9 May 2006 16:51:35 -0000	1.8
+++ tools/m4/convert_pango.m4	29 May 2006 20:05:37 -0000
@@ -97,6 +97,8 @@ _CONVERSION(`PangoFontMap*',`Glib::RefPt
 _CONVERSION(`PangoFontMap*',`Glib::RefPtr<const FontMap>',Glib::wrap($3))
 _CONVERSION(`const Glib::RefPtr<FontMap>&',`PangoFontMap*',__CONVERT_REFPTR_TO_P)
 
+_CONVERSION(`PangoCairoFontMap*',`Glib::RefPtr<CairoFontMap>',Glib::wrap($3))
+
 _CONVERSION(`PangoFontSet*',`Glib::RefPtr<FontSet>',Glib::wrap($3))
 _CONVERSION(`const Glib::RefPtr<FontSet>&',`PangoFontSet*',__CONVERT_REFPTR_TO_P)
 
@@ -147,3 +149,6 @@ _CONVERSION(`GSList*',`SListHandle_Layou
 _CONVERSION(`GSList*',`SListHandle_ConstLayoutLine',__FL2H_SHALLOW)
 
 _CONVERSION(`PangoFontMap*',`Glib::RefPtr<Pango::FontMap>',`Glib::wrap($3)')
+
+_CONVERSION(`const Cairo::FontOptions&',`const cairo_font_options_t*',`($3).cobj()')
+


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