pango r2606 - in trunk: . docs pango



Author: behdad
Date: Mon Apr 21 22:52:41 2008
New Revision: 2606
URL: http://svn.gnome.org/viewvc/pango?rev=2606&view=rev

Log:
2008-04-21  Behdad Esfahbod  <behdad gnome org>

        Bug 517119 â Add pango_cairo_create_context()

        * docs/pango-sections.txt:
        * pango/pangocairo-context.c (pango_cairo_create_context),
        (pango_cairo_create_layout):
        * pango/pangocairo.def:
        * pango/pangocairo.h:
        New public API:

                pango_cairo_create_context()



Modified:
   trunk/ChangeLog
   trunk/docs/pango-sections.txt
   trunk/pango/pangocairo-context.c
   trunk/pango/pangocairo.def
   trunk/pango/pangocairo.h

Modified: trunk/docs/pango-sections.txt
==============================================================================
--- trunk/docs/pango-sections.txt	(original)
+++ trunk/docs/pango-sections.txt	Mon Apr 21 22:52:41 2008
@@ -852,6 +852,7 @@
 PangoCairoShapeRendererFunc
 pango_cairo_context_set_shape_renderer
 pango_cairo_context_get_shape_renderer
+pango_cairo_create_context
 pango_cairo_update_context
 pango_cairo_create_layout
 pango_cairo_update_layout

Modified: trunk/pango/pangocairo-context.c
==============================================================================
--- trunk/pango/pangocairo-context.c	(original)
+++ trunk/pango/pangocairo-context.c	Mon Apr 21 22:52:41 2008
@@ -387,6 +387,39 @@
 }
 
 /**
+ * pango_cairo_create_context:
+ * @cr: a Cairo context
+ *
+ * Creates a context object set up to match the current transformation
+ * and target surface of the Cairo context.  This context can then be
+ * used to create a layout using pango_layout_new().
+ *
+ * This function is a convenience function that creates a context using
+ * the default font map, then updates it to @cr.  If you just need to
+ * create a layout for use with @cr and do not need to access #PangoContext
+ * directly, you can use pango_cairo_create_layout() instead.
+ *
+ * Return value: the newly created #PangoContext. Free with
+ *   g_object_unref().
+ *
+ * Since: 1.22
+ **/
+PangoContext *
+pango_cairo_create_context (cairo_t *cr)
+{
+  PangoFontMap *fontmap;
+  PangoContext *context;
+
+  g_return_val_if_fail (cr != NULL, NULL);
+
+  fontmap = pango_cairo_font_map_get_default ();
+  context = pango_cairo_font_map_create_context ((PangoCairoFontMap *) (fontmap));
+  pango_cairo_update_context (cr, context);
+
+  return context;
+}
+
+/**
  * pango_cairo_create_layout:
  * @cr: a Cairo context
  *
@@ -410,17 +443,13 @@
 PangoLayout *
 pango_cairo_create_layout  (cairo_t *cr)
 {
-  PangoFontMap *fontmap;
   PangoContext *context;
   PangoLayout *layout;
 
   g_return_val_if_fail (cr != NULL, NULL);
 
-  fontmap = pango_cairo_font_map_get_default ();
-  context = pango_cairo_font_map_create_context ((PangoCairoFontMap *) (fontmap));
+  context = pango_cairo_create_context (cr);
   layout = pango_layout_new (context);
-
-  pango_cairo_update_context (cr, context);
   g_object_unref (context);
 
   return layout;

Modified: trunk/pango/pangocairo.def
==============================================================================
--- trunk/pango/pangocairo.def	(original)
+++ trunk/pango/pangocairo.def	Mon Apr 21 22:52:41 2008
@@ -5,6 +5,7 @@
 	pango_cairo_context_set_font_options
 	pango_cairo_context_set_resolution
 	pango_cairo_context_set_shape_renderer
+	pango_cairo_create_context
 	pango_cairo_create_layout
 	pango_cairo_error_underline_path
 ;	pango_cairo_fc_font_get_type

Modified: trunk/pango/pangocairo.h
==============================================================================
--- trunk/pango/pangocairo.h	(original)
+++ trunk/pango/pangocairo.h	Mon Apr 21 22:52:41 2008
@@ -105,6 +105,7 @@
 
 /* Convenience
  */
+PangoContext *pango_cairo_create_context (cairo_t   *cr);
 PangoLayout *pango_cairo_create_layout (cairo_t     *cr);
 void         pango_cairo_update_layout (cairo_t     *cr,
 					PangoLayout *layout);



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