📄 gdk-pango-interaction.html
字号:
}/* Clean up default renderer, since it is shared */gdk_pango_renderer_set_override_color (GDK_PANGO_RENDERER (renderer), PANGO_RENDER_PART_FOREGROUND, NULL);gdk_pango_renderer_set_drawable (GDK_PANGO_RENDERER (renderer), NULL);gdk_pango_renderer_set_gc (GDK_PANGO_RENDERER (renderer), NULL);/* free the objects we created */g_object_unref (layout);g_object_unref (context);g_object_unref (gc);</pre></div></div><br class="example-break"><div class="figure"><a name="id3294478"></a><p class="title"><b>Figure 1. Output of <a class="xref" href="gdk-Pango-Interaction.html#rotated-example" title="Example 8. Using GdkPangoRenderer to draw transformed text">Example 8, “Using <span class="type">GdkPangoRenderer</span> to draw transformed text”</a></b></p><div class="figure-contents"><div><img src="rotated-text.png" alt="Output of"></div></div></div><br class="figure-break"></div><div class="refsect1" lang="en"><a name="id3294500"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id3294511"></a><h3><a name="GdkPangoRenderer-struct"></a>GdkPangoRenderer</h3><a class="indexterm" name="id3294524"></a><pre class="programlisting">typedef struct _GdkPangoRenderer GdkPangoRenderer;</pre><p><a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer"><span class="type">GdkPangoRenderer</span></a> is a subclass of <ahref="/usr/share/gtk-doc/html/pango/PangoRenderer.html"><span class="type">PangoRenderer</span></a> used for renderingPango objects into GDK drawables. The default renderer for a particularscreen is obtained with <a class="link" href="gdk-Pango-Interaction.html#gdk-pango-renderer-get-default"><code class="function">gdk_pango_renderer_get_default()</code></a>; Pangofunctions like <ahref="/usr/share/gtk-doc/html/pango/PangoRenderer.html#pango-renderer-draw-layout"><code class="function">pango_renderer_draw_layout()</code></a> and<ahref="/usr/share/gtk-doc/html/pango/PangoRenderer.html#pango-renderer-draw-layout-line"><code class="function">pango_renderer_draw_layout_line()</code></a> are then used to draw objects withthe renderer.</p><p>In most simple cases, applications can just use <a class="link" href="gdk-Drawing-Primitives.html#gdk-draw-layout"><code class="function">gdk_draw_layout()</code></a>, anddon't need to directly use <a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer"><span class="type">GdkPangoRenderer</span></a> at all. Using the<a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer"><span class="type">GdkPangoRenderer</span></a> directly is most useful when working with atransformation such as a rotation, because the Pango drawing functionstake user space coordinates (coordinates before the transformation)instead of device coordinates.</p><p>In certain cases it can be useful to subclass <a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer"><span class="type">GdkPangoRenderer</span></a>. Examplesof reasons to do this are to add handling of custom attributes byoverriding 'prepare_run' or to do custom drawing of embedded objectsby overriding 'draw_shape'.</p><p></p><p class="since">Since 2.6</p></div><hr><div class="refsect2" lang="en"><a name="id3294657"></a><h3><a name="GdkPangoRendererClass"></a>GdkPangoRendererClass</h3><a class="indexterm" name="id3294673"></a><pre class="programlisting">typedef struct {} GdkPangoRendererClass;</pre><p><a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer"><span class="type">GdkPangoRenderer</span></a> is the class structure for <a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer"><span class="type">GdkPangoRenderer</span></a>.</p><p></p><p class="since">Since 2.6</p></div><hr><div class="refsect2" lang="en"><a name="id3294715"></a><h3><a name="gdk-pango-renderer-new"></a>gdk_pango_renderer_new ()</h3><a class="indexterm" name="id3294731"></a><pre class="programlisting"><ahref="/usr/share/gtk-doc/html/pango/PangoRenderer.html">PangoRenderer</a>* gdk_pango_renderer_new (<a class="link" href="GdkScreen.html" title="GdkScreen">GdkScreen</a> *screen);</pre><p>Creates a new <ahref="/usr/share/gtk-doc/html/pango/PangoRenderer.html"><span class="type">PangoRenderer</span></a> for <em class="parameter"><code>screen</code></em>. Normally you can use theresults of <a class="link" href="gdk-Pango-Interaction.html#gdk-pango-renderer-get-default"><code class="function">gdk_pango_renderer_get_default()</code></a> rather than creating a newrenderer.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>screen</code></em> :</span></p></td><td> a <a class="link" href="GdkScreen.html" title="GdkScreen"><span class="type">GdkScreen</span></a></td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td> a newly created <ahref="/usr/share/gtk-doc/html/pango/PangoRenderer.html"><span class="type">PangoRenderer</span></a>. Free with <ahref="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>.</td></tr></tbody></table></div><p class="since">Since 2.6</p></div><hr><div class="refsect2" lang="en"><a name="id3294852"></a><h3><a name="gdk-pango-renderer-get-default"></a>gdk_pango_renderer_get_default ()</h3><a class="indexterm" name="id3294868"></a><pre class="programlisting"><ahref="/usr/share/gtk-doc/html/pango/PangoRenderer.html">PangoRenderer</a>* gdk_pango_renderer_get_default (<a class="link" href="GdkScreen.html" title="GdkScreen">GdkScreen</a> *screen);</pre><p>Gets the default <ahref="/usr/share/gtk-doc/html/pango/PangoRenderer.html"><span class="type">PangoRenderer</span></a> for a screen. This default rendereris shared by all users of the display, so properties such as the coloror transformation matrix set for the renderer may be overwrittenby functions such as <a class="link" href="gdk-Drawing-Primitives.html#gdk-draw-layout"><code class="function">gdk_draw_layout()</code></a>.</p><p>Before using the renderer, you need to call <a class="link" href="gdk-Pango-Interaction.html#gdk-pango-renderer-set-drawable"><code class="function">gdk_pango_renderer_set_drawable()</code></a>and <a class="link" href="gdk-Pango-Interaction.html#gdk-pango-renderer-set-gc"><code class="function">gdk_pango_renderer_set_gc()</code></a> to set the drawable and graphics contextto use for drawing.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>screen</code></em> :</span></p></td><td> a <a class="link" href="GdkScreen.html" title="GdkScreen"><span class="type">GdkScreen</span></a></td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td><td> the default <ahref="/usr/share/gtk-doc/html/pango/PangoRenderer.html"><span class="type">PangoRenderer</span></a> for <em class="parameter"><code>screen</code></em>. The renderer is owned by GTK+ and will be kept around until the screen is closed.</td></tr></tbody></table></div><p class="since">Since 2.6</p></div><hr><div class="refsect2" lang="en"><a name="id3295008"></a><h3><a name="gdk-pango-renderer-set-drawable"></a>gdk_pango_renderer_set_drawable ()</h3><a class="indexterm" name="id3295024"></a><pre class="programlisting">void gdk_pango_renderer_set_drawable (<a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer">GdkPangoRenderer</a> *gdk_renderer, <a class="link" href="gdk-Drawing-Primitives.html#GdkDrawable">GdkDrawable</a> *drawable);</pre><p>Sets the drawable the renderer draws to.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>gdk_renderer</code></em> :</span></p></td><td> a <a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer"><span class="type">GdkPangoRenderer</span></a></td></tr><tr><td><p><span class="term"><em class="parameter"><code>drawable</code></em> :</span></p></td><td> the new target drawable, or <ahref="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a></td></tr></tbody></table></div><p class="since">Since 2.6</p></div><hr><div class="refsect2" lang="en"><a name="id3295122"></a><h3><a name="gdk-pango-renderer-set-gc"></a>gdk_pango_renderer_set_gc ()</h3><a class="indexterm" name="id3295138"></a><pre class="programlisting">void gdk_pango_renderer_set_gc (<a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer">GdkPangoRenderer</a> *gdk_renderer, <a class="link" href="gdk-Graphics-Contexts.html#GdkGC">GdkGC</a> *gc);</pre><p>Sets the GC the renderer draws with. Note that the GC must not bemodified until it is unset by calling the function again with<ahref="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a> for the <em class="parameter"><code>gc</code></em> parameter, since GDK may make internal copiesof the GC which won't be updated to follow changes to theoriginal GC.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>gdk_renderer</code></em> :</span></p></td><td> a <a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer"><span class="type">GdkPangoRenderer</span></a></td></tr><tr><td><p><span class="term"><em class="parameter"><code>gc</code></em> :</span></p></td><td> the new GC to use for drawing, or <ahref="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"><code class="literal">NULL</code></a></td></tr></tbody></table></div><p class="since">Since 2.6</p></div><hr><div class="refsect2" lang="en"><a name="id3295254"></a><h3><a name="gdk-pango-renderer-set-stipple"></a>gdk_pango_renderer_set_stipple ()</h3><a class="indexterm" name="id3295270"></a><pre class="programlisting">void gdk_pango_renderer_set_stipple (<a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer">GdkPangoRenderer</a> *gdk_renderer, <ahref="/usr/share/gtk-doc/html/pango/PangoRenderer.html#PangoRenderPart">PangoRenderPart</a> part, <a class="link" href="gdk-Bitmaps-and-Pixmaps.html#GdkBitmap">GdkBitmap</a> *stipple);</pre><p>Sets the stipple for one render part (foreground, background, underline,etc.) Note that this is overwritten when iterating through the individualstyled runs of a <ahref="/usr/share/gtk-doc/html/pango/pango-Layout-Objects.html#PangoLayout"><span class="type">PangoLayout</span></a> or <ahref="/usr/share/gtk-doc/html/pango/pango-Layout-Objects.html#PangoLayoutLine"><span class="type">PangoLayoutLine</span></a>. This function is thusonly useful when you call low level functions like <ahref="/usr/share/gtk-doc/html/pango/PangoRenderer.html#pango-renderer-draw-glyphs"><code class="function">pango_renderer_draw_glyphs()</code></a>directly, or in the 'prepare_run' virtual function of a subclass of<a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer"><span class="type">GdkPangoRenderer</span></a>.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>gdk_renderer</code></em> :</span></p></td><td> a <a class="link" href="gdk-Pango-Interaction.html#GdkPangoRenderer"><span class="type">GdkPangoRenderer</span></a></td></tr><tr><td><p><span class="term"><em class="parameter"><code>part</code></em> :</span></p></td><td> the part to render with the stipple</td></tr><tr><td><p><span class="term"><em class="parameter"><code>stipple</code></em> :</span></p></td><td> the new stipple value.</td></tr></tbody></table></div><p class="since">Since 2.6</p></div><hr><div class="refsect2" lang="en">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -