⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pango-renderer.xml

📁 Pango is a library for layout and rendering of text, with an emphasis on internationalization. Pang
💻 XML
📖 第 1 页 / 共 3 页
字号:
<refentry id="PangoRenderer"><refmeta><refentrytitle role="top_of_page" id="PangoRenderer.top_of_page">PangoRenderer</refentrytitle><manvolnum>3</manvolnum><refmiscinfo>PANGO Library</refmiscinfo></refmeta><refnamediv><refname>PangoRenderer</refname><refpurpose>Rendering driver base class</refpurpose><!--[<xref linkend="desc" endterm="desc.title"/>]--></refnamediv><refsynopsisdiv id="PangoRenderer.synopsis" role="synopsis"><title role="synopsis.title">Synopsis</title><synopsis>                    <link linkend="PangoRenderer-struct">PangoRenderer</link>;enum                <link linkend="PangoRenderPart">PangoRenderPart</link>;#define             <link linkend="PANGO-TYPE-RENDER-PART:CAPS">PANGO_TYPE_RENDER_PART</link>                    <link linkend="PangoRendererClass">PangoRendererClass</link>;<link linkend="void">void</link>                <link linkend="pango-renderer-draw-layout">pango_renderer_draw_layout</link>          (<link linkend="PangoRenderer">PangoRenderer</link> *renderer,                                                         <link linkend="PangoLayout">PangoLayout</link> *layout,                                                         <link linkend="int">int</link> x,                                                         <link linkend="int">int</link> y);<link linkend="void">void</link>                <link linkend="pango-renderer-draw-layout-line">pango_renderer_draw_layout_line</link>     (<link linkend="PangoRenderer">PangoRenderer</link> *renderer,                                                         <link linkend="PangoLayoutLine">PangoLayoutLine</link> *line,                                                         <link linkend="int">int</link> x,                                                         <link linkend="int">int</link> y);<link linkend="void">void</link>                <link linkend="pango-renderer-draw-glyphs">pango_renderer_draw_glyphs</link>          (<link linkend="PangoRenderer">PangoRenderer</link> *renderer,                                                         <link linkend="PangoFont">PangoFont</link> *font,                                                         <link linkend="PangoGlyphString">PangoGlyphString</link> *glyphs,                                                         <link linkend="int">int</link> x,                                                         <link linkend="int">int</link> y);<link linkend="void">void</link>                <link linkend="pango-renderer-draw-rectangle">pango_renderer_draw_rectangle</link>       (<link linkend="PangoRenderer">PangoRenderer</link> *renderer,                                                         <link linkend="PangoRenderPart">PangoRenderPart</link> part,                                                         <link linkend="int">int</link> x,                                                         <link linkend="int">int</link> y,                                                         <link linkend="int">int</link> width,                                                         <link linkend="int">int</link> height);<link linkend="void">void</link>                <link linkend="pango-renderer-draw-error-underline">pango_renderer_draw_error_underline</link> (<link linkend="PangoRenderer">PangoRenderer</link> *renderer,                                                         <link linkend="int">int</link> x,                                                         <link linkend="int">int</link> y,                                                         <link linkend="int">int</link> width,                                                         <link linkend="int">int</link> height);<link linkend="void">void</link>                <link linkend="pango-renderer-draw-trapezoid">pango_renderer_draw_trapezoid</link>       (<link linkend="PangoRenderer">PangoRenderer</link> *renderer,                                                         <link linkend="PangoRenderPart">PangoRenderPart</link> part,                                                         <link linkend="double">double</link> y1_,                                                         <link linkend="double">double</link> x11,                                                         <link linkend="double">double</link> x21,                                                         <link linkend="double">double</link> y2,                                                         <link linkend="double">double</link> x12,                                                         <link linkend="double">double</link> x22);<link linkend="void">void</link>                <link linkend="pango-renderer-draw-glyph">pango_renderer_draw_glyph</link>           (<link linkend="PangoRenderer">PangoRenderer</link> *renderer,                                                         <link linkend="PangoFont">PangoFont</link> *font,                                                         <link linkend="PangoGlyph">PangoGlyph</link> glyph,                                                         <link linkend="double">double</link> x,                                                         <link linkend="double">double</link> y);<link linkend="void">void</link>                <link linkend="pango-renderer-activate">pango_renderer_activate</link>             (<link linkend="PangoRenderer">PangoRenderer</link> *renderer);<link linkend="void">void</link>                <link linkend="pango-renderer-deactivate">pango_renderer_deactivate</link>           (<link linkend="PangoRenderer">PangoRenderer</link> *renderer);<link linkend="void">void</link>                <link linkend="pango-renderer-part-changed">pango_renderer_part_changed</link>         (<link linkend="PangoRenderer">PangoRenderer</link> *renderer,                                                         <link linkend="PangoRenderPart">PangoRenderPart</link> part);<link linkend="void">void</link>                <link linkend="pango-renderer-set-color">pango_renderer_set_color</link>            (<link linkend="PangoRenderer">PangoRenderer</link> *renderer,                                                         <link linkend="PangoRenderPart">PangoRenderPart</link> part,                                                         const <link linkend="PangoColor">PangoColor</link> *color);<link linkend="PangoColor">PangoColor</link>*         <link linkend="pango-renderer-get-color">pango_renderer_get_color</link>            (<link linkend="PangoRenderer">PangoRenderer</link> *renderer,                                                         <link linkend="PangoRenderPart">PangoRenderPart</link> part);<link linkend="void">void</link>                <link linkend="pango-renderer-set-matrix">pango_renderer_set_matrix</link>           (<link linkend="PangoRenderer">PangoRenderer</link> *renderer,                                                         const <link linkend="PangoMatrix">PangoMatrix</link> *matrix);const <link linkend="PangoMatrix">PangoMatrix</link>*  <link linkend="pango-renderer-get-matrix">pango_renderer_get_matrix</link>           (<link linkend="PangoRenderer">PangoRenderer</link> *renderer);<link linkend="PangoLayout">PangoLayout</link>*        <link linkend="pango-renderer-get-layout">pango_renderer_get_layout</link>           (<link linkend="PangoRenderer">PangoRenderer</link> *renderer);<link linkend="PangoLayoutLine">PangoLayoutLine</link>*    <link linkend="pango-renderer-get-layout-line">pango_renderer_get_layout_line</link>      (<link linkend="PangoRenderer">PangoRenderer</link> *renderer);</synopsis></refsynopsisdiv><refsect1 id="PangoRenderer.object-hierarchy" role="object_hierarchy"><title role="object_hierarchy.title">Object Hierarchy</title><synopsis>  <link linkend="GObject">GObject</link>   +----PangoRenderer         +----<link linkend="PangoXftRenderer">PangoXftRenderer</link></synopsis></refsect1><refsect1 id="PangoRenderer.description" role="desc"><title role="desc.title">Description</title><para><link linkend="PangoRenderer"><type>PangoRenderer</type></link> is a base class that contains the necessary logic forrendering a <link linkend="PangoLayout"><type>PangoLayout</type></link> or <link linkend="PangoLayoutLine"><type>PangoLayoutLine</type></link>. By subclassing<link linkend="PangoRenderer"><type>PangoRenderer</type></link> and overriding operations such as <parameter>draw_glyphs</parameter> and<parameter>draw_rectangle</parameter>, renderers for particular font backends anddestinations can be created.</para></refsect1><refsect1 id="PangoRenderer.details" role="details"><title role="details.title">Details</title><refsect2 id="PangoRenderer-struct" role="struct"><title>PangoRenderer</title><indexterm zone="PangoRenderer-struct" role="1.8"><primary>PangoRenderer</primary></indexterm><programlisting>typedef struct {  PangoMatrix *matrix;		/* May be NULL */} PangoRenderer;</programlisting><para><link linkend="PangoRenderer"><type>PangoRenderer</type></link> is a base class for objects that are used torender Pango objects such as <link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> and<link linkend="PangoLayout"><type>PangoLayout</type></link>.</para><para></para><variablelist role="struct"><varlistentry><term><link linkend="PangoMatrix">PangoMatrix</link>&nbsp;*<structfield>matrix</structfield>;</term><listitem><simpara> the current transformation matrix for the Renderer; may   be <link linkend="NULL:CAPS"><literal>NULL</literal></link>, which should be treated the same as the identity matrix.</simpara></listitem></varlistentry></variablelist><para role="since">Since  1.8</para></refsect2><refsect2 id="PangoRenderPart" role="enum" condition="since:1.8"><title>enum PangoRenderPart</title><indexterm zone="PangoRenderPart" role="1.8"><primary>PangoRenderPart</primary></indexterm><programlisting>typedef enum{  PANGO_RENDER_PART_FOREGROUND,  PANGO_RENDER_PART_BACKGROUND,  PANGO_RENDER_PART_UNDERLINE,  PANGO_RENDER_PART_STRIKETHROUGH} PangoRenderPart;</programlisting><para><link linkend="PangoRenderPart"><type>PangoRenderPart</type></link> defines different items to render for suchpurposes as setting colors.</para><para></para><variablelist role="enum"><varlistentry id="PANGO-RENDER-PART-FOREGROUND:CAPS" role="constant"><term><literal>PANGO_RENDER_PART_FOREGROUND</literal></term><listitem><simpara> the text itself</simpara></listitem></varlistentry><varlistentry id="PANGO-RENDER-PART-BACKGROUND:CAPS" role="constant"><term><literal>PANGO_RENDER_PART_BACKGROUND</literal></term><listitem><simpara> the area behind the text</simpara></listitem></varlistentry><varlistentry id="PANGO-RENDER-PART-UNDERLINE:CAPS" role="constant"><term><literal>PANGO_RENDER_PART_UNDERLINE</literal></term><listitem><simpara> underlines</simpara></listitem></varlistentry><varlistentry id="PANGO-RENDER-PART-STRIKETHROUGH:CAPS" role="constant"><term><literal>PANGO_RENDER_PART_STRIKETHROUGH</literal></term><listitem><simpara> strikethrough lines</simpara></listitem></varlistentry></variablelist><para role="since">Since  1.8</para></refsect2><refsect2 id="PANGO-TYPE-RENDER-PART:CAPS" role="macro"><title>PANGO_TYPE_RENDER_PART</title><indexterm zone="PANGO-TYPE-RENDER-PART:CAPS"><primary>PANGO_TYPE_RENDER_PART</primary></indexterm><programlisting>#define PANGO_TYPE_RENDER_PART (pango_render_part_get_type())</programlisting><para>The <link linkend="GObject"><type>GObject</type></link> type for <link linkend="PangoRenderPart"><type>PangoRenderPart</type></link>.</para></refsect2><refsect2 id="PangoRendererClass" role="struct" condition="since:1.8"><title>PangoRendererClass</title><indexterm zone="PangoRendererClass" role="1.8"><primary>PangoRendererClass</primary></indexterm><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;</programlisting><para>Class structure for <link linkend="PangoRenderer"><type>PangoRenderer</type></link>.</para><para></para><variablelist role="struct"><varlistentry><term><structfield>draw_glyphs</structfield>&nbsp;()</term><listitem><simpara> draws a <link linkend="PangoGlyphString"><type>PangoGlyphString</type></link></simpara></listitem>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -