KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /usr/share/gtk-doc/html/pango/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/gtk-doc/html/pango/pango-PangoRenderer.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>PangoRenderer</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
<link rel="start" href="index.html" title="Pango Reference Manual">
<link rel="up" href="lowlevel.html" title="Low Level Functionality">
<link rel="prev" href="lowlevel.html" title="Low Level Functionality">
<link rel="next" href="PangoFcFontMap.html" title="PangoFcFontMap">
<meta name="generator" content="GTK-Doc V1.6 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="pango.html" title="Basic Pango Interfaces">
<link rel="chapter" href="rendering.html" title="Rendering with Pango">
<link rel="chapter" href="lowlevel.html" title="Low Level Functionality">
<link rel="chapter" href="tools.html" title="Pango Tools">
<link rel="index" href="ix01.html" title="Index">
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
<link rel="index" href="ix03.html" title="Index of new symbols in 1.2">
<link rel="index" href="ix04.html" title="Index of new symbols in 1.4">
<link rel="index" href="ix05.html" title="Index of new symbols in 1.6">
<link rel="index" href="ix06.html" title="Index of new symbols in 1.8">
<link rel="index" href="ix07.html" title="Index of new symbols in 1.10">
<link rel="index" href="ix08.html" title="Index of new symbols in 1.12">
<link rel="index" href="ix09.html" title="Index of new symbols in 1.14">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="lowlevel.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="lowlevel.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">Pango Reference Manual</th>
<td><a accesskey="n" href="PangoFcFontMap.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#top_of_page" class="shortcut">Top</a>
                  &#160;|&#160;
                  <a href="#desc" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="pango-PangoRenderer"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="top_of_page"></a>PangoRenderer</span></h2>
<p>PangoRenderer &#8212; Rendering driver base class</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">



            <a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a>;
enum        <a href="pango-PangoRenderer.html#PangoRenderPart">PangoRenderPart</a>;
#define     <a href="pango-PangoRenderer.html#PANGO-TYPE-RENDER-PART:CAPS">PANGO_TYPE_RENDER_PART</a>
            <a href="pango-PangoRenderer.html#PangoRendererClass">PangoRendererClass</a>;
void        <a href="pango-PangoRenderer.html#pango-renderer-draw-layout">pango_renderer_draw_layout</a>      (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-Layout-Objects.html#PangoLayout">PangoLayout</a> *layout,
                                             int x,
                                             int y);
void        <a href="pango-PangoRenderer.html#pango-renderer-draw-layout-line">pango_renderer_draw_layout_line</a> (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-Layout-Objects.html#PangoLayoutLine">PangoLayoutLine</a> *line,
                                             int x,
                                             int y);
void        <a href="pango-PangoRenderer.html#pango-renderer-draw-glyphs">pango_renderer_draw_glyphs</a>      (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-Fonts.html#PangoFont">PangoFont</a> *font,
                                             <a href="pango-Glyph-Storage.html#PangoGlyphString">PangoGlyphString</a> *glyphs,
                                             int x,
                                             int y);
void        <a href="pango-PangoRenderer.html#pango-renderer-draw-rectangle">pango_renderer_draw_rectangle</a>   (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-PangoRenderer.html#PangoRenderPart">PangoRenderPart</a> part,
                                             int x,
                                             int y,
                                             int width,
                                             int height);
void        <a href="pango-PangoRenderer.html#pango-renderer-draw-error-underline">pango_renderer_draw_error_underline</a>
                                            (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             int x,
                                             int y,
                                             int width,
                                             int height);
void        <a href="pango-PangoRenderer.html#pango-renderer-draw-trapezoid">pango_renderer_draw_trapezoid</a>   (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-PangoRenderer.html#PangoRenderPart">PangoRenderPart</a> part,
                                             double y1_,
                                             double x11,
                                             double x21,
                                             double y2,
                                             double x12,
                                             double x22);
void        <a href="pango-PangoRenderer.html#pango-renderer-draw-glyph">pango_renderer_draw_glyph</a>       (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-Fonts.html#PangoFont">PangoFont</a> *font,
                                             <a href="pango-Glyph-Storage.html#PangoGlyph">PangoGlyph</a> glyph,
                                             double x,
                                             double y);
void        <a href="pango-PangoRenderer.html#pango-renderer-activate">pango_renderer_activate</a>         (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer);
void        <a href="pango-PangoRenderer.html#pango-renderer-deactivate">pango_renderer_deactivate</a>       (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer);
void        <a href="pango-PangoRenderer.html#pango-renderer-part-changed">pango_renderer_part_changed</a>     (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-PangoRenderer.html#PangoRenderPart">PangoRenderPart</a> part);
void        <a href="pango-PangoRenderer.html#pango-renderer-set-color">pango_renderer_set_color</a>        (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-PangoRenderer.html#PangoRenderPart">PangoRenderPart</a> part,
                                             const <a href="pango-Text-Attributes.html#PangoColor">PangoColor</a> *color);
<a href="pango-Text-Attributes.html#PangoColor">PangoColor</a>* <a href="pango-PangoRenderer.html#pango-renderer-get-color">pango_renderer_get_color</a>        (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-PangoRenderer.html#PangoRenderPart">PangoRenderPart</a> part);
void        <a href="pango-PangoRenderer.html#pango-renderer-set-matrix">pango_renderer_set_matrix</a>       (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             const <a href="pango-Glyph-Storage.html#PangoMatrix">PangoMatrix</a> *matrix);
const <a href="pango-Glyph-Storage.html#PangoMatrix">PangoMatrix</a>* <a href="pango-PangoRenderer.html#pango-renderer-get-matrix">pango_renderer_get_matrix</a>
                                            (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer);


</pre>
</div>
<div class="refsect1" lang="en">
<a name="desc"></a><h2>Description</h2>
<p>
<a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a> is a base class that contains the necessary logic for
rendering a PangoLayout or PangoLayoutLine. By subclassing
PangoRenderer and overriding operations such as <em class="parameter"><code>draw_glyphs</code></em> and
<em class="parameter"><code>draw_rectangle</code></em>, renderers for particular font backends and
destinations can be created.
</p>
</div>
<div class="refsect1" lang="en">
<a name="details"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2882794"></a><h3>
<a name="PangoRenderer"></a>PangoRenderer</h3>
<a class="indexterm" name="id2882808"></a><pre class="programlisting">typedef struct {
  PangoMatrix *matrix;		/* May be NULL */
} PangoRenderer;
</pre>
<p>
<a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a> is a base class for objects that are used to
render Pango objects such as <a href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a> and
<a href="pango-Layout-Objects.html#PangoLayout"><span class="type">PangoLayout</span></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><a href="pango-Glyph-Storage.html#PangoMatrix">PangoMatrix</a>&#160;*<em class="structfield"><code>matrix</code></em>;</span></td>
<td> the current transformation matrix for the Renderer; may
   be <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>, which should be treated the same as the identity matrix.
</td>
</tr></tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2882894"></a><h3>
<a name="PangoRenderPart"></a>enum PangoRenderPart</h3>
<a class="indexterm" name="id2882910"></a><pre class="programlisting">typedef enum
{
  PANGO_RENDER_PART_FOREGROUND,
  PANGO_RENDER_PART_BACKGROUND,
  PANGO_RENDER_PART_UNDERLINE,
  PANGO_RENDER_PART_STRIKETHROUGH
} PangoRenderPart;
</pre>
<p>
<a href="pango-PangoRenderer.html#PangoRenderPart"><span class="type">PangoRenderPart</span></a> defines different items to render for such
purposes as setting colors.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><a name="PANGO-RENDER-PART-FOREGROUND:CAPS"></a><code class="literal">PANGO_RENDER_PART_FOREGROUND</code></span></td>
<td> the text itself
</td>
</tr>
<tr>
<td>
<span class="term"><a name="PANGO-RENDER-PART-BACKGROUND:CAPS"></a><code class="literal">PANGO_RENDER_PART_BACKGROUND</code></span></td>
<td> the area behind the text
</td>
</tr>
<tr>
<td>
<span class="term"><a name="PANGO-RENDER-PART-UNDERLINE:CAPS"></a><code class="literal">PANGO_RENDER_PART_UNDERLINE</code></span></td>
<td> underlines
</td>
</tr>
<tr>
<td>
<span class="term"><a name="PANGO-RENDER-PART-STRIKETHROUGH:CAPS"></a><code class="literal">PANGO_RENDER_PART_STRIKETHROUGH</code></span></td>
<td> strikethrough lines
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2883042"></a><h3>
<a name="PANGO-TYPE-RENDER-PART:CAPS"></a>PANGO_TYPE_RENDER_PART</h3>
<a class="indexterm" name="id2883054"></a><pre class="programlisting">#define PANGO_TYPE_RENDER_PART (pango_render_part_get_type())
</pre>
<p>
The <a
href="../gobject/gobject-The-Base-Object-Type.html#GObject"
><span class="type">GObject</span></a> type for <a href="pango-PangoRenderer.html#PangoRenderPart"><span class="type">PangoRenderPart</span></a>.
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2883087"></a><h3>
<a name="PangoRendererClass"></a>PangoRendererClass</h3>
<a class="indexterm" name="id2883102"></a><pre class="programlisting">typedef struct {
  /* All of the following have default implementations
   * and take as coordinates user coordinates in Pango units
   */
  void (*draw_glyphs) (PangoRenderer     *renderer,
		       PangoFont         *font,
		       PangoGlyphString  *glyphs,
		       int                x,
		       int                y);
  void (*draw_rectangle) (PangoRenderer     *renderer,
			  PangoRenderPart    part,
			  int                x,
			  int                y,
			  int                width,
			  int                height);
  void (*draw_error_underline) (PangoRenderer     *renderer,
				int                x,
				int                y,
				int                width,
				int                height);

  /* Nothing is drawn for shaped glyphs unless this is implemented */
  void (*draw_shape) (PangoRenderer  *renderer,
		      PangoAttrShape *attr,
		      int             x,
		      int             y);

  /* These two must be implemented and take coordinates in
   * device space as doubles.
   */
  void (*draw_trapezoid) (PangoRenderer  *renderer,
			  PangoRenderPart part,
			  double          y1_,
			  double          x11,
			  double          x21,
			  double          y2,
			  double          x12,
			  double          x22);
  void (*draw_glyph) (PangoRenderer *renderer,
		      PangoFont     *font,
		      PangoGlyph     glyph,
		      double         x,
		      double         y);

  /* Notification of change in rendering attributes
   */
  void (*part_changed) (PangoRenderer   *renderer,
			PangoRenderPart  part);

  /* Paired around drawing operations
   */
  void (*begin) (PangoRenderer *renderer);
  void (*end)   (PangoRenderer *renderer);

  /* Hooks into the details of layout rendering
   */
  void (*prepare_run) (PangoRenderer  *renderer,
		       PangoLayoutRun *run);
} PangoRendererClass;
</pre>
<p>
Class structure for <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="structfield"><code>draw_glyphs</code></em>&#160;()</span></td>
<td> draws a <a href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>draw_rectangle</code></em>&#160;()</span></td>
<td> draws a rectangle
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>draw_error_underline</code></em>&#160;()</span></td>
<td> draws a squiggly line that approximately
covers the given rectangle in the style of an underline used to
indicate a spelling error. 
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>draw_shape</code></em>&#160;()</span></td>
<td> draw content for a glyph shaped with <a href="pango-Text-Attributes.html#PangoAttrShape"><span class="type">PangoAttrShape</span></a>.
  <em class="parameter"><code>x</code></em>, <em class="parameter"><code>y</code></em> are the coordinates of the left edge of the baseline,
  in user coordinates.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>draw_trapezoid</code></em>&#160;()</span></td>
<td> draws a trapezoidal filled area
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>draw_glyph</code></em>&#160;()</span></td>
<td> draws a single glyph
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>part_changed</code></em>&#160;()</span></td>
<td> do renderer specific processing when rendering
 attributes change
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>begin</code></em>&#160;()</span></td>
<td> Do renderer-specific initialization before drawing
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>end</code></em>&#160;()</span></td>
<td> Do renderer-specific cleanup after drawing
</td>
</tr>
<tr>
<td>
<span class="term"><em class="structfield"><code>prepare_run</code></em>&#160;()</span></td>
<td> updates the renderer for a new run
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2883370"></a><h3>
<a name="pango-renderer-draw-layout"></a>pango_renderer_draw_layout ()</h3>
<a class="indexterm" name="id2883386"></a><pre class="programlisting">void        pango_renderer_draw_layout      (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-Layout-Objects.html#PangoLayout">PangoLayout</a> *layout,
                                             int x,
                                             int y);</pre>
<p>
Draws <em class="parameter"><code>layout</code></em> with the specified <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>layout</code></em>&#160;:</span></td>
<td> a <a href="pango-Layout-Objects.html#PangoLayout"><span class="type">PangoLayout</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
<td> X position of left edge of baseline, in user space coordinates
  in Pango units.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
<td> Y position of left edge of baseline, in user space coordinates
   in Pango units.
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2883535"></a><h3>
<a name="pango-renderer-draw-layout-line"></a>pango_renderer_draw_layout_line ()</h3>
<a class="indexterm" name="id2883551"></a><pre class="programlisting">void        pango_renderer_draw_layout_line (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-Layout-Objects.html#PangoLayoutLine">PangoLayoutLine</a> *line,
                                             int x,
                                             int y);</pre>
<p>
Draws <em class="parameter"><code>line</code></em> with the specified <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>line</code></em>&#160;:</span></td>
<td> a <a href="pango-Layout-Objects.html#PangoLayoutLine"><span class="type">PangoLayoutLine</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
<td> X position of left edge of baseline, in user space coordinates
  in Pango units.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
<td> Y position of left edge of baseline, in user space coordinates
   in Pango units.
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2883701"></a><h3>
<a name="pango-renderer-draw-glyphs"></a>pango_renderer_draw_glyphs ()</h3>
<a class="indexterm" name="id2883717"></a><pre class="programlisting">void        pango_renderer_draw_glyphs      (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-Fonts.html#PangoFont">PangoFont</a> *font,
                                             <a href="pango-Glyph-Storage.html#PangoGlyphString">PangoGlyphString</a> *glyphs,
                                             int x,
                                             int y);</pre>
<p>
Draws the glyphs in <em class="parameter"><code>glyphs</code></em> with the specified <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>font</code></em>&#160;:</span></td>
<td> a <a href="pango-Fonts.html#PangoFont"><span class="type">PangoFont</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>glyphs</code></em>&#160;:</span></td>
<td> a <a href="pango-Glyph-Storage.html#PangoGlyphString"><span class="type">PangoGlyphString</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
<td> X position of left edge of baseline, in user space coordinates
  in Pango units.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
<td> Y position of left edge of baseline, in user space coordinates
   in Pango units.
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2883896"></a><h3>
<a name="pango-renderer-draw-rectangle"></a>pango_renderer_draw_rectangle ()</h3>
<a class="indexterm" name="id2883912"></a><pre class="programlisting">void        pango_renderer_draw_rectangle   (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-PangoRenderer.html#PangoRenderPart">PangoRenderPart</a> part,
                                             int x,
                                             int y,
                                             int width,
                                             int height);</pre>
<p>
Draws an axis-aligned rectangle in user space coordinates with the
specified <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>.
</p>
<p>
This should be called while <em class="parameter"><code>renderer</code></em> is already active.  Use
<a href="pango-PangoRenderer.html#pango-renderer-activate"><code class="function">pango_renderer_activate()</code></a> to activate a renderer.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>part</code></em>&#160;:</span></td>
<td> type of object this rectangle is part of
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
<td> X position at which to draw rectangle, in user space coordinates in Pango units
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
<td> Y position at which to draw rectangle, in user space coordinates in Pango units
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>width</code></em>&#160;:</span></td>
<td> width of rectangle in Pango units in user space coordinates
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>height</code></em>&#160;:</span></td>
<td> height of rectangle in Pango units in user space coordinates
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2884114"></a><h3>
<a name="pango-renderer-draw-error-underline"></a>pango_renderer_draw_error_underline ()</h3>
<a class="indexterm" name="id2884131"></a><pre class="programlisting">void        pango_renderer_draw_error_underline
                                            (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             int x,
                                             int y,
                                             int width,
                                             int height);</pre>
<p>
Draw a squiggly line that approximately covers the given rectangle
in the style of an underline used to indicate a spelling error.
(The width of the underline is rounded to an integer number
of up/down segments and the resulting rectangle is centered
in the original rectangle)
</p>
<p>
This should be called while <em class="parameter"><code>renderer</code></em> is already active.  Use
<a href="pango-PangoRenderer.html#pango-renderer-activate"><code class="function">pango_renderer_activate()</code></a> to activate a renderer.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
<td> X coordinate of underline, in Pango units in user coordinate system
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
<td> Y coordinate of underline, in Pango units in user coordinate system
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>width</code></em>&#160;:</span></td>
<td> width of underline, in Pango units in user coordinate system
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>height</code></em>&#160;:</span></td>
<td> height of underline, in Pango units in user coordinate system
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2884307"></a><h3>
<a name="pango-renderer-draw-trapezoid"></a>pango_renderer_draw_trapezoid ()</h3>
<a class="indexterm" name="id2884323"></a><pre class="programlisting">void        pango_renderer_draw_trapezoid   (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-PangoRenderer.html#PangoRenderPart">PangoRenderPart</a> part,
                                             double y1_,
                                             double x11,
                                             double x21,
                                             double y2,
                                             double x12,
                                             double x22);</pre>
<p>
Draws a trapezoid with the parallel sides aligned with the X axis
using the given <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>; coordinates are in device space.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>part</code></em>&#160;:</span></td>
<td> type of object this trapezoid is part of
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y1_</code></em>&#160;:</span></td>
<td> Y coordinate of top of trapezoid
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x11</code></em>&#160;:</span></td>
<td> X coordinate of left end of top of trapezoid
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x21</code></em>&#160;:</span></td>
<td> X coordinate of right end of top of trapezoid
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y2</code></em>&#160;:</span></td>
<td> Y coordinate of bottom of trapezoid
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x12</code></em>&#160;:</span></td>
<td> X coordinate of left end of bottom of trapezoid
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x22</code></em>&#160;:</span></td>
<td> X coordinate of right end of bottom of trapezoid
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2884549"></a><h3>
<a name="pango-renderer-draw-glyph"></a>pango_renderer_draw_glyph ()</h3>
<a class="indexterm" name="id2884565"></a><pre class="programlisting">void        pango_renderer_draw_glyph       (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-Fonts.html#PangoFont">PangoFont</a> *font,
                                             <a href="pango-Glyph-Storage.html#PangoGlyph">PangoGlyph</a> glyph,
                                             double x,
                                             double y);</pre>
<p>
Draws a single glyph with coordinates in device space.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>font</code></em>&#160;:</span></td>
<td> a <a href="pango-Fonts.html#PangoFont"><span class="type">PangoFont</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>glyph</code></em>&#160;:</span></td>
<td> the glyph index of a single glyph
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>x</code></em>&#160;:</span></td>
<td> X coordinate of left edge of baseline of glyph
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>y</code></em>&#160;:</span></td>
<td> Y coordinate of left edge of baseline of glyph
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2884722"></a><h3>
<a name="pango-renderer-activate"></a>pango_renderer_activate ()</h3>
<a class="indexterm" name="id2884738"></a><pre class="programlisting">void        pango_renderer_activate         (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer);</pre>
<p>
Does initial setup before rendering operations on <em class="parameter"><code>renderer</code></em>.
<a href="pango-PangoRenderer.html#pango-renderer-deactivate"><code class="function">pango_renderer_deactivate()</code></a> should be called when done drawing.
Calls such as <a href="pango-PangoRenderer.html#pango-renderer-draw-layout"><code class="function">pango_renderer_draw_layout()</code></a> automatically
activate the layout before drawing on it. Calls to
<a href="pango-PangoRenderer.html#pango-renderer-activate"><code class="function">pango_renderer_activate()</code></a> and <a href="pango-PangoRenderer.html#pango-renderer-deactivate"><code class="function">pango_renderer_deactivate()</code></a> can
be nested and the renderer will only be initialized and
deinitialized once.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr></tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2884854"></a><h3>
<a name="pango-renderer-deactivate"></a>pango_renderer_deactivate ()</h3>
<a class="indexterm" name="id2884870"></a><pre class="programlisting">void        pango_renderer_deactivate       (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer);</pre>
<p>
Cleans up after rendering operations on <em class="parameter"><code>renderer</code></em>. See
docs for <a href="pango-PangoRenderer.html#pango-renderer-activate"><code class="function">pango_renderer_activate()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr></tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2884950"></a><h3>
<a name="pango-renderer-part-changed"></a>pango_renderer_part_changed ()</h3>
<a class="indexterm" name="id2884966"></a><pre class="programlisting">void        pango_renderer_part_changed     (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-PangoRenderer.html#PangoRenderPart">PangoRenderPart</a> part);</pre>
<p>
Informs Pango that the way that the renderering is done
for <em class="parameter"><code>part</code></em> has changed in a way that would prevent multiple
pieces being joined together into one drawing call. For
instance, if a subclass of <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a> was to add a stipple
option for drawing underlines, it needs to call
</p>
<p>
</p>
<div class="informalexample"><pre class="programlisting">
pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
</pre></div>
<p>
</p>
<p>
When the stipple changes or underlines with different stipples
might be joined together. Pango automatically calls this for
changes to colors. (See <a href="pango-PangoRenderer.html#pango-renderer-set-color"><code class="function">pango_renderer_set_color()</code></a>)</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>part</code></em>&#160;:</span></td>
<td> the part for which rendering has changed.
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2885097"></a><h3>
<a name="pango-renderer-set-color"></a>pango_renderer_set_color ()</h3>
<a class="indexterm" name="id2885112"></a><pre class="programlisting">void        pango_renderer_set_color        (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-PangoRenderer.html#PangoRenderPart">PangoRenderPart</a> part,
                                             const <a href="pango-Text-Attributes.html#PangoColor">PangoColor</a> *color);</pre>
<p>
Sets the color for part of the rendering.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>part</code></em>&#160;:</span></td>
<td> the part to change the color of
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>color</code></em>&#160;:</span></td>
<td> the new color or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> to unset the current color
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2885230"></a><h3>
<a name="pango-renderer-get-color"></a>pango_renderer_get_color ()</h3>
<a class="indexterm" name="id2885246"></a><pre class="programlisting"><a href="pango-Text-Attributes.html#PangoColor">PangoColor</a>* pango_renderer_get_color        (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             <a href="pango-PangoRenderer.html#PangoRenderPart">PangoRenderPart</a> part);</pre>
<p>
Gets the current rendering color for the specified part.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>part</code></em>&#160;:</span></td>
<td> the part to get the color for
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the color for the specified part, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
 if it hasn't been set and should be inherited from the
 environment.

</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2885353"></a><h3>
<a name="pango-renderer-set-matrix"></a>pango_renderer_set_matrix ()</h3>
<a class="indexterm" name="id2885369"></a><pre class="programlisting">void        pango_renderer_set_matrix       (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer,
                                             const <a href="pango-Glyph-Storage.html#PangoMatrix">PangoMatrix</a> *matrix);</pre>
<p>
Sets the transformation matrix that will be applied when rendering.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>matrix</code></em>&#160;:</span></td>
<td> a <a href="pango-Glyph-Storage.html#PangoMatrix"><span class="type">PangoMatrix</span></a>, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> to unset any existing matrix.
 (No matrix set is the same as setting the identity matrix.)
</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2885473"></a><h3>
<a name="pango-renderer-get-matrix"></a>pango_renderer_get_matrix ()</h3>
<a class="indexterm" name="id2885490"></a><pre class="programlisting">const <a href="pango-Glyph-Storage.html#PangoMatrix">PangoMatrix</a>* pango_renderer_get_matrix
                                            (<a href="pango-PangoRenderer.html#PangoRenderer">PangoRenderer</a> *renderer);</pre>
<p>
Gets the transformation matrix that will be applied when
rendering. See <a href="pango-PangoRenderer.html#pango-renderer-set-matrix"><code class="function">pango_renderer_set_matrix()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>renderer</code></em>&#160;:</span></td>
<td> a <a href="pango-PangoRenderer.html#PangoRenderer"><span class="type">PangoRenderer</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the matrix, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if no matrix has been set
 (which is the same as the identity matrix). The returned
 matrix is owned by Pango and must not be modified or
 freed.

</td>
</tr>
</tbody>
</table></div>
<p>Since  1.8
</p>
</div>
</div>
</div>
</body>
</html>

Anon7 - 2021