mirror of
https://github.com/tauri-apps/gir-files.git
synced 2026-01-31 00:45:15 +01:00
14385 lines
711 KiB
XML
14385 lines
711 KiB
XML
<?xml version="1.0"?>
|
|
<!-- This file was automatically generated from C sources - DO NOT EDIT!
|
|
To affect the contents of this file, edit the original C definitions,
|
|
and/or use gtk-doc annotations. -->
|
|
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
|
|
<include name="GObject" version="2.0"/>
|
|
<include name="HarfBuzz" version="0.0"/>
|
|
<include name="cairo" version="1.0"/>
|
|
<package name="pango"/>
|
|
<c:include name="pango/pango.h"/>
|
|
<namespace name="Pango" version="1.0" shared-library="libpango-1.0.so.0" c:identifier-prefixes="Pango" c:symbol-prefixes="pango">
|
|
<alias name="Glyph" c:type="PangoGlyph">
|
|
<doc xml:space="preserve">A `PangoGlyph` represents a single glyph in the output form of a string.</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</alias>
|
|
<alias name="GlyphUnit" c:type="PangoGlyphUnit">
|
|
<doc xml:space="preserve">The `PangoGlyphUnit` type is used to store dimensions within
|
|
Pango.
|
|
|
|
Dimensions are stored in 1/PANGO_SCALE of a device unit.
|
|
(A device unit might be a pixel for screen display, or
|
|
a point on a printer.) PANGO_SCALE is currently 1024, and
|
|
may change in the future (unlikely though), but you should not
|
|
depend on its exact value.
|
|
|
|
The PANGO_PIXELS() macro can be used to convert from glyph units
|
|
into device units with correct rounding.</doc>
|
|
<type name="gint32" c:type="gint32"/>
|
|
</alias>
|
|
<alias name="LayoutRun" c:type="PangoLayoutRun">
|
|
<doc xml:space="preserve">A `PangoLayoutRun` represents a single run within a `PangoLayoutLine`.
|
|
|
|
It is simply an alternate name for [struct@Pango.GlyphItem].
|
|
See the [struct@Pango.GlyphItem] docs for details on the fields.</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem"/>
|
|
</alias>
|
|
<constant name="ANALYSIS_FLAG_CENTERED_BASELINE" value="1" c:type="PANGO_ANALYSIS_FLAG_CENTERED_BASELINE" version="1.16">
|
|
<doc xml:space="preserve">Whether the segment should be shifted to center around the baseline.
|
|
|
|
This is mainly used in vertical writing directions.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="ANALYSIS_FLAG_IS_ELLIPSIS" value="2" c:type="PANGO_ANALYSIS_FLAG_IS_ELLIPSIS" version="1.36.7">
|
|
<doc xml:space="preserve">Whether this run holds ellipsized text.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="ANALYSIS_FLAG_NEED_HYPHEN" value="4" c:type="PANGO_ANALYSIS_FLAG_NEED_HYPHEN" version="1.44">
|
|
<doc xml:space="preserve">Whether to add a hyphen at the end of the run during shaping.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="ASCENT" c:identifier="PANGO_ASCENT" introspectable="0">
|
|
<doc xml:space="preserve">Extracts the *ascent* from a `PangoRectangle`
|
|
representing glyph extents.
|
|
|
|
The ascent is the distance from the baseline to the
|
|
highest point of the character. This is positive if the
|
|
glyph ascends above the baseline.</doc>
|
|
<parameters>
|
|
<parameter name="rect">
|
|
<doc xml:space="preserve">a `PangoRectangle`</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="ATTR_INDEX_FROM_TEXT_BEGINNING" value="0" c:type="PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING" version="1.24">
|
|
<doc xml:space="preserve">Value for @start_index in `PangoAttribute` that indicates
|
|
the beginning of the text.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</constant>
|
|
<constant name="ATTR_INDEX_TO_TEXT_END" value="4294967295" c:type="PANGO_ATTR_INDEX_TO_TEXT_END" version="1.24">
|
|
<doc xml:space="preserve">Value for @end_index in `PangoAttribute` that indicates
|
|
the end of the text.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</constant>
|
|
<enumeration name="Alignment" glib:type-name="PangoAlignment" glib:get-type="pango_alignment_get_type" c:type="PangoAlignment">
|
|
<doc xml:space="preserve">`PangoAlignment` describes how to align the lines of a `PangoLayout`
|
|
within the available space.
|
|
|
|
If the `PangoLayout` is set to justify using [method@Pango.Layout.set_justify],
|
|
this only affects partial lines.
|
|
|
|
See [method@Pango.Layout.set_auto_dir] for how text direction affects
|
|
the interpretation of `PangoAlignment` values.</doc>
|
|
<member name="left" value="0" c:identifier="PANGO_ALIGN_LEFT" glib:nick="left" glib:name="PANGO_ALIGN_LEFT">
|
|
<doc xml:space="preserve">Put all available space on the right</doc>
|
|
</member>
|
|
<member name="center" value="1" c:identifier="PANGO_ALIGN_CENTER" glib:nick="center" glib:name="PANGO_ALIGN_CENTER">
|
|
<doc xml:space="preserve">Center the line within the available space</doc>
|
|
</member>
|
|
<member name="right" value="2" c:identifier="PANGO_ALIGN_RIGHT" glib:nick="right" glib:name="PANGO_ALIGN_RIGHT">
|
|
<doc xml:space="preserve">Put all available space on the left</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="Analysis" c:type="PangoAnalysis">
|
|
<doc xml:space="preserve">The `PangoAnalysis` structure stores information about
|
|
the properties of a segment of text.</doc>
|
|
<field name="shape_engine" writable="1">
|
|
<doc xml:space="preserve">unused, reserved</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="lang_engine" writable="1">
|
|
<doc xml:space="preserve">unused, reserved</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="font" writable="1">
|
|
<doc xml:space="preserve">the font for this segment.</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</field>
|
|
<field name="level" writable="1">
|
|
<doc xml:space="preserve">the bidirectional level for this segment.</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</field>
|
|
<field name="gravity" writable="1">
|
|
<doc xml:space="preserve">the glyph orientation for this segment (A `PangoGravity`).</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">boolean flags for this segment (Since: 1.16).</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</field>
|
|
<field name="script" writable="1">
|
|
<doc xml:space="preserve">the detected script for this segment (A `PangoScript`) (Since: 1.18).</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</field>
|
|
<field name="language" writable="1">
|
|
<doc xml:space="preserve">the detected language for this segment.</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</field>
|
|
<field name="extra_attrs" writable="1">
|
|
<doc xml:space="preserve">extra attributes for this segment.</doc>
|
|
<type name="GLib.SList" c:type="GSList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</field>
|
|
</record>
|
|
<record name="AttrClass" c:type="PangoAttrClass">
|
|
<doc xml:space="preserve">The `PangoAttrClass` structure stores the type and operations for
|
|
a particular type of attribute.
|
|
|
|
The functions in this structure should not be called directly. Instead,
|
|
one should use the wrapper functions provided for `PangoAttribute`.</doc>
|
|
<field name="type" writable="1">
|
|
<doc xml:space="preserve">the type ID for this attribute</doc>
|
|
<type name="AttrType" c:type="PangoAttrType"/>
|
|
</field>
|
|
<field name="copy">
|
|
<callback name="copy">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="attr" transfer-ownership="none">
|
|
<type name="Attribute" c:type="const PangoAttribute*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="destroy">
|
|
<callback name="destroy">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="attr" transfer-ownership="none">
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="equal">
|
|
<callback name="equal">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="attr1" transfer-ownership="none">
|
|
<type name="Attribute" c:type="const PangoAttribute*"/>
|
|
</parameter>
|
|
<parameter name="attr2" transfer-ownership="none">
|
|
<type name="Attribute" c:type="const PangoAttribute*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<record name="AttrColor" c:type="PangoAttrColor">
|
|
<doc xml:space="preserve">The `PangoAttrColor` structure is used to represent attributes that
|
|
are colors.</doc>
|
|
<field name="attr" writable="1">
|
|
<doc xml:space="preserve">the common portion of the attribute</doc>
|
|
<type name="Attribute" c:type="PangoAttribute"/>
|
|
</field>
|
|
<field name="color" writable="1">
|
|
<doc xml:space="preserve">the `PangoColor` which is the value of the attribute</doc>
|
|
<type name="Color" c:type="PangoColor"/>
|
|
</field>
|
|
</record>
|
|
<callback name="AttrDataCopyFunc" c:type="PangoAttrDataCopyFunc">
|
|
<doc xml:space="preserve">Type of a function that can duplicate user data for an attribute.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">new copy of @user_data.</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="0">
|
|
<doc xml:space="preserve">user data to copy</doc>
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="AttrFilterFunc" c:type="PangoAttrFilterFunc">
|
|
<doc xml:space="preserve">Type of a function filtering a list of attributes.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the attribute should be selected for
|
|
filtering, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="attribute" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Pango attribute</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
|
<doc xml:space="preserve">user data passed to the function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="AttrFloat" c:type="PangoAttrFloat">
|
|
<doc xml:space="preserve">The `PangoAttrFloat` structure is used to represent attributes with
|
|
a float or double value.</doc>
|
|
<field name="attr" writable="1">
|
|
<doc xml:space="preserve">the common portion of the attribute</doc>
|
|
<type name="Attribute" c:type="PangoAttribute"/>
|
|
</field>
|
|
<field name="value" writable="1">
|
|
<doc xml:space="preserve">the value of the attribute</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</field>
|
|
</record>
|
|
<record name="AttrFontDesc" c:type="PangoAttrFontDesc">
|
|
<doc xml:space="preserve">The `PangoAttrFontDesc` structure is used to store an attribute that
|
|
sets all aspects of the font description at once.</doc>
|
|
<field name="attr" writable="1">
|
|
<doc xml:space="preserve">the common portion of the attribute</doc>
|
|
<type name="Attribute" c:type="PangoAttribute"/>
|
|
</field>
|
|
<field name="desc" writable="1">
|
|
<doc xml:space="preserve">the font description which is the value of this attribute</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</field>
|
|
<function name="new" c:identifier="pango_attr_font_desc_new">
|
|
<doc xml:space="preserve">Create a new font description attribute.
|
|
|
|
This attribute allows setting family, style, weight, variant,
|
|
stretch, and size simultaneously.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">the font description</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<record name="AttrFontFeatures" c:type="PangoAttrFontFeatures" version="1.38">
|
|
<doc xml:space="preserve">The `PangoAttrFontFeatures` structure is used to represent OpenType
|
|
font features as an attribute.</doc>
|
|
<field name="attr" writable="1">
|
|
<doc xml:space="preserve">the common portion of the attribute</doc>
|
|
<type name="Attribute" c:type="PangoAttribute"/>
|
|
</field>
|
|
<field name="features" writable="1">
|
|
<doc xml:space="preserve">the features, as a string in CSS syntax</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<function name="new" c:identifier="pango_attr_font_features_new" version="1.38">
|
|
<doc xml:space="preserve">Create a new font features tag attribute.
|
|
|
|
You can use this attribute to select OpenType font features like small-caps,
|
|
alternative glyphs, ligatures, etc. for fonts that support them.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string with OpenType font features, with the syntax of the [CSS
|
|
font-feature-settings property](https://www.w3.org/TR/css-fonts-4/#font-rend-desc)</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<record name="AttrInt" c:type="PangoAttrInt">
|
|
<doc xml:space="preserve">The `PangoAttrInt` structure is used to represent attributes with
|
|
an integer or enumeration value.</doc>
|
|
<field name="attr" writable="1">
|
|
<doc xml:space="preserve">the common portion of the attribute</doc>
|
|
<type name="Attribute" c:type="PangoAttribute"/>
|
|
</field>
|
|
<field name="value" writable="1">
|
|
<doc xml:space="preserve">the value of the attribute</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
</record>
|
|
<record name="AttrIterator" c:type="PangoAttrIterator" glib:type-name="PangoAttrIterator" glib:get-type="pango_attr_iterator_get_type" c:symbol-prefix="attr_iterator">
|
|
<doc xml:space="preserve">A `PangoAttrIterator` is used to iterate through a `PangoAttrList`.
|
|
|
|
A new iterator is created with [method@Pango.AttrList.get_iterator].
|
|
Once the iterator is created, it can be advanced through the style
|
|
changes in the text using [method@Pango.AttrIterator.next]. At each
|
|
style change, the range of the current style segment and the attributes
|
|
currently in effect can be queried.</doc>
|
|
<method name="copy" c:identifier="pango_attr_iterator_copy">
|
|
<doc xml:space="preserve">Copy a `PangoAttrIterator`.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttrIterator`, which should be freed with
|
|
[method@Pango.AttrIterator.destroy]</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iterator" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrIterator`</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="destroy" c:identifier="pango_attr_iterator_destroy">
|
|
<doc xml:space="preserve">Destroy a `PangoAttrIterator` and free all associated memory.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iterator" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrIterator`</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get" c:identifier="pango_attr_iterator_get">
|
|
<doc xml:space="preserve">Find the current attribute of a particular type
|
|
at the iterator location.
|
|
|
|
When multiple attributes of the same type overlap,
|
|
the attribute whose range starts closest to the
|
|
current location is used.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the current
|
|
attribute of the given type, or %NULL if no attribute
|
|
of that type applies to the current location.</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iterator" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrIterator`</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</instance-parameter>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">the type of attribute to find</doc>
|
|
<type name="AttrType" c:type="PangoAttrType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_attrs" c:identifier="pango_attr_iterator_get_attrs" version="1.2">
|
|
<doc xml:space="preserve">Gets a list of all attributes at the current position of the
|
|
iterator.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
a list of all attributes for the current range. To free
|
|
this value, call [method@Pango.Attribute.destroy] on each
|
|
value and g_slist_free() on the list.</doc>
|
|
<type name="GLib.SList" c:type="GSList*">
|
|
<type name="Attribute"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iterator" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrIterator`</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_font" c:identifier="pango_attr_iterator_get_font">
|
|
<doc xml:space="preserve">Get the font and other attributes at the current
|
|
iterator position.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iterator" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrIterator`</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</instance-parameter>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription` to fill in with the current
|
|
values. The family name in this structure will be set using
|
|
[method@Pango.FontDescription.set_family_static] using
|
|
values from an attribute in the `PangoAttrList` associated
|
|
with the iterator, so if you plan to keep it around, you
|
|
must call:
|
|
`pango_font_description_set_family (desc, pango_font_description_get_family (desc))`.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</parameter>
|
|
<parameter name="language" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store language tag
|
|
for item, or %NULL if none is found.</doc>
|
|
<type name="Language" c:type="PangoLanguage**"/>
|
|
</parameter>
|
|
<parameter name="extra_attrs" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">
|
|
location in which to store a list of non-font attributes
|
|
at the the current position; only the highest priority
|
|
value of each attribute will be added to this list. In
|
|
order to free this value, you must call
|
|
[method@Pango.Attribute.destroy] on each member.</doc>
|
|
<type name="GLib.SList" c:type="GSList**">
|
|
<type name="Attribute"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="next" c:identifier="pango_attr_iterator_next">
|
|
<doc xml:space="preserve">Advance the iterator until the next change of style.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if the iterator is at the end
|
|
of the list, otherwise %TRUE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iterator" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrIterator`</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="range" c:identifier="pango_attr_iterator_range">
|
|
<doc xml:space="preserve">Get the range of the current segment.
|
|
|
|
Note that the stored return values are signed, not unsigned
|
|
like the values in `PangoAttribute`. To deal with this API
|
|
oversight, stored return values that wouldn't fit into
|
|
a signed integer are clamped to %G_MAXINT.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iterator" transfer-ownership="none">
|
|
<doc xml:space="preserve">a PangoAttrIterator</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the start of the range</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="end" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the end of the range</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="AttrLanguage" c:type="PangoAttrLanguage">
|
|
<doc xml:space="preserve">The `PangoAttrLanguage` structure is used to represent attributes that
|
|
are languages.</doc>
|
|
<field name="attr" writable="1">
|
|
<doc xml:space="preserve">the common portion of the attribute</doc>
|
|
<type name="Attribute" c:type="PangoAttribute"/>
|
|
</field>
|
|
<field name="value" writable="1">
|
|
<doc xml:space="preserve">the `PangoLanguage` which is the value of the attribute</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</field>
|
|
<function name="new" c:identifier="pango_attr_language_new">
|
|
<doc xml:space="preserve">Create a new language tag attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">language tag</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<record name="AttrList" c:type="PangoAttrList" glib:type-name="PangoAttrList" glib:get-type="pango_attr_list_get_type" c:symbol-prefix="attr_list">
|
|
<doc xml:space="preserve">A `PangoAttrList` represents a list of attributes that apply to a section
|
|
of text.
|
|
|
|
The attributes in a `PangoAttrList` are, in general, allowed to overlap in
|
|
an arbitrary fashion. However, if the attributes are manipulated only through
|
|
[method@Pango.AttrList.change], the overlap between properties will meet
|
|
stricter criteria.
|
|
|
|
Since the `PangoAttrList` structure is stored as a linear list, it is not
|
|
suitable for storing attributes for large amounts of text. In general, you
|
|
should not use a single `PangoAttrList` for more than one paragraph of text.</doc>
|
|
<constructor name="new" c:identifier="pango_attr_list_new">
|
|
<doc xml:space="preserve">Create a new empty attribute list with a reference
|
|
count of one.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttrList`, which should be freed with
|
|
[method@Pango.AttrList.unref]</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="change" c:identifier="pango_attr_list_change">
|
|
<doc xml:space="preserve">Insert the given attribute into the `PangoAttrList`.
|
|
|
|
It will replace any attributes of the same type
|
|
on that segment and be merged with any adjoining
|
|
attributes that are identical.
|
|
|
|
This function is slower than [method@Pango.AttrList.insert]
|
|
for creating an attribute list in order (potentially
|
|
much slower for large lists). However,
|
|
[method@Pango.AttrList.insert] is not suitable for
|
|
continually changing a set of attributes since it
|
|
never removes or combines existing attributes.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
<parameter name="attr" transfer-ownership="full">
|
|
<doc xml:space="preserve">the attribute to insert</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="pango_attr_list_copy">
|
|
<doc xml:space="preserve">Copy @list and return an identical new list.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttrList`, with a reference count of one,
|
|
which should be freed with [method@Pango.AttrList.unref].
|
|
Returns %NULL if @list was %NULL.</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="equal" c:identifier="pango_attr_list_equal" version="1.46">
|
|
<doc xml:space="preserve">Checks whether @list and @other_list contain the same
|
|
attributes and whether those attributes apply to the
|
|
same ranges.
|
|
|
|
Beware that this will return wrong values if any list
|
|
contains duplicates.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the lists are equal, %FALSE if
|
|
they aren't</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
<parameter name="other_list" transfer-ownership="none">
|
|
<doc xml:space="preserve">the other `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="filter" c:identifier="pango_attr_list_filter" version="1.2">
|
|
<doc xml:space="preserve">Given a `PangoAttrList` and callback function, removes
|
|
any elements of @list for which @func returns %TRUE and
|
|
inserts them into a new list.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the new
|
|
`PangoAttrList` or %NULL if no attributes of the
|
|
given types were found</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">callback function;
|
|
returns %TRUE if an attribute should be filtered out</doc>
|
|
<type name="AttrFilterFunc" c:type="PangoAttrFilterFunc"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">Data to be passed to @func</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_attributes" c:identifier="pango_attr_list_get_attributes" version="1.44">
|
|
<doc xml:space="preserve">Gets a list of all attributes in @list.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
a list of all attributes in @list. To free this value,
|
|
call [method@Pango.Attribute.destroy] on each value and
|
|
g_slist_free() on the list.</doc>
|
|
<type name="GLib.SList" c:type="GSList*">
|
|
<type name="Attribute"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_iterator" c:identifier="pango_attr_list_get_iterator">
|
|
<doc xml:space="preserve">Create a iterator initialized to the beginning of the list.
|
|
|
|
@list must not be modified until this iterator is freed.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttrIterator`, which should be freed with
|
|
[method@Pango.AttrIterator.destroy]</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="insert" c:identifier="pango_attr_list_insert">
|
|
<doc xml:space="preserve">Insert the given attribute into the `PangoAttrList`.
|
|
|
|
It will be inserted after all other attributes with a
|
|
matching @start_index.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
<parameter name="attr" transfer-ownership="full">
|
|
<doc xml:space="preserve">the attribute to insert</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="insert_before" c:identifier="pango_attr_list_insert_before">
|
|
<doc xml:space="preserve">Insert the given attribute into the `PangoAttrList`.
|
|
|
|
It will be inserted before all other attributes with a
|
|
matching @start_index.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
<parameter name="attr" transfer-ownership="full">
|
|
<doc xml:space="preserve">the attribute to insert</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="pango_attr_list_ref" version="1.10">
|
|
<doc xml:space="preserve">Increase the reference count of the given attribute
|
|
list by one.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The attribute list passed in</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="splice" c:identifier="pango_attr_list_splice">
|
|
<doc xml:space="preserve">This function opens up a hole in @list, fills it
|
|
in with attributes from the left, and then merges
|
|
@other on top of the hole.
|
|
|
|
This operation is equivalent to stretching every attribute
|
|
that applies at position @pos in @list by an amount @len,
|
|
and then calling [method@Pango.AttrList.change] with a copy
|
|
of each attribute in @other in sequence (offset in position
|
|
by @pos, and limited in length to @len).
|
|
|
|
This operation proves useful for, for instance, inserting
|
|
a pre-edit string in the middle of an edit buffer.
|
|
|
|
For backwards compatibility, the function behaves differently
|
|
when @len is 0. In this case, the attributes from @other are
|
|
not imited to @len, and are just overlayed on top of @list.
|
|
|
|
This mode is useful for merging two lists of attributes together.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
<parameter name="other" transfer-ownership="none">
|
|
<doc xml:space="preserve">another `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</parameter>
|
|
<parameter name="pos" transfer-ownership="none">
|
|
<doc xml:space="preserve">the position in @list at which to insert @other</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="len" transfer-ownership="none">
|
|
<doc xml:space="preserve">the length of the spliced segment. (Note that this
|
|
must be specified since the attributes in @other may only
|
|
be present at some subsection of this range)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="pango_attr_list_to_string" version="1.50">
|
|
<doc xml:space="preserve">Serializes a `PangoAttrList` to a string.
|
|
|
|
No guarantees are made about the format of the string,
|
|
it may change between Pango versions.
|
|
|
|
The intended use of this function is testing and
|
|
debugging. The format is not meant as a permanent
|
|
storage format.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated string</doc>
|
|
<type name="utf8" c:type="char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="pango_attr_list_unref">
|
|
<doc xml:space="preserve">Decrease the reference count of the given attribute
|
|
list by one.
|
|
|
|
If the result is zero, free the attribute list
|
|
and the attributes it contains.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="update" c:identifier="pango_attr_list_update" version="1.44">
|
|
<doc xml:space="preserve">Update indices of attributes in @list for a change in the
|
|
text they refer to.
|
|
|
|
The change that this function applies is removing @remove
|
|
bytes at position @pos and inserting @add bytes instead.
|
|
|
|
Attributes that fall entirely in the (@pos, @pos + @remove)
|
|
range are removed.
|
|
|
|
Attributes that start or end inside the (@pos, @pos + @remove)
|
|
range are shortened to reflect the removal.
|
|
|
|
Attributes start and end positions are updated if they are
|
|
behind @pos + @remove.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</instance-parameter>
|
|
<parameter name="pos" transfer-ownership="none">
|
|
<doc xml:space="preserve">the position of the change</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="remove" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of removed bytes</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="add" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of added bytes</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="from_string" c:identifier="pango_attr_list_from_string" version="1.50">
|
|
<doc xml:space="preserve">Deserializes a `PangoAttrList` from a string.
|
|
|
|
This is the counterpart to [method@Pango.AttrList.to_string].
|
|
See that functions for details about the format.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<record name="AttrShape" c:type="PangoAttrShape">
|
|
<doc xml:space="preserve">The `PangoAttrShape` structure is used to represent attributes which
|
|
impose shape restrictions.</doc>
|
|
<field name="attr" writable="1">
|
|
<doc xml:space="preserve">the common portion of the attribute</doc>
|
|
<type name="Attribute" c:type="PangoAttribute"/>
|
|
</field>
|
|
<field name="ink_rect" writable="1">
|
|
<doc xml:space="preserve">the ink rectangle to restrict to</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle"/>
|
|
</field>
|
|
<field name="logical_rect" writable="1">
|
|
<doc xml:space="preserve">the logical rectangle to restrict to</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle"/>
|
|
</field>
|
|
<field name="data" writable="1">
|
|
<doc xml:space="preserve">user data set (see [func@Pango.AttrShape.new_with_data])</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="copy_func" writable="1">
|
|
<doc xml:space="preserve">copy function for the user data</doc>
|
|
<type name="AttrDataCopyFunc" c:type="PangoAttrDataCopyFunc"/>
|
|
</field>
|
|
<field name="destroy_func" writable="1">
|
|
<doc xml:space="preserve">destroy function for the user data</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<function name="new" c:identifier="pango_attr_shape_new">
|
|
<doc xml:space="preserve">Create a new shape attribute.
|
|
|
|
A shape is used to impose a particular ink and logical
|
|
rectangle on the result of shaping a particular glyph.
|
|
This might be used, for instance, for embedding a picture
|
|
or a widget inside a `PangoLayout`.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ink_rect" transfer-ownership="none">
|
|
<doc xml:space="preserve">ink rectangle to assign to each character</doc>
|
|
<type name="Rectangle" c:type="const PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" transfer-ownership="none">
|
|
<doc xml:space="preserve">logical rectangle to assign to each character</doc>
|
|
<type name="Rectangle" c:type="const PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="new_with_data" c:identifier="pango_attr_shape_new_with_data" version="1.8">
|
|
<doc xml:space="preserve">Creates a new shape attribute.
|
|
|
|
Like [func@Pango.AttrShape.new], but a user data pointer
|
|
is also provided; this pointer can be accessed when later
|
|
rendering the glyph.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ink_rect" transfer-ownership="none">
|
|
<doc xml:space="preserve">ink rectangle to assign to each character</doc>
|
|
<type name="Rectangle" c:type="const PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" transfer-ownership="none">
|
|
<doc xml:space="preserve">logical rectangle to assign to each character</doc>
|
|
<type name="Rectangle" c:type="const PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data pointer</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="copy_func" transfer-ownership="none" nullable="1" allow-none="1" scope="notified" destroy="4">
|
|
<doc xml:space="preserve">function to copy @data when the
|
|
attribute is copied. If %NULL, @data is simply copied
|
|
as a pointer</doc>
|
|
<type name="AttrDataCopyFunc" c:type="PangoAttrDataCopyFunc"/>
|
|
</parameter>
|
|
<parameter name="destroy_func" transfer-ownership="none" nullable="1" allow-none="1" scope="async">
|
|
<doc xml:space="preserve">function to free @data when the
|
|
attribute is freed</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<record name="AttrSize" c:type="PangoAttrSize">
|
|
<doc xml:space="preserve">The `PangoAttrSize` structure is used to represent attributes which
|
|
set font size.</doc>
|
|
<field name="attr" writable="1">
|
|
<doc xml:space="preserve">the common portion of the attribute</doc>
|
|
<type name="Attribute" c:type="PangoAttribute"/>
|
|
</field>
|
|
<field name="size" writable="1">
|
|
<doc xml:space="preserve">size of font, in units of 1/%PANGO_SCALE of a point (for
|
|
%PANGO_ATTR_SIZE) or of a device unit (for %PANGO_ATTR_ABSOLUTE_SIZE)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="absolute" writable="1" bits="1">
|
|
<doc xml:space="preserve">whether the font size is in device units or points.
|
|
This field is only present for compatibility with Pango-1.8.0
|
|
(%PANGO_ATTR_ABSOLUTE_SIZE was added in 1.8.1); and always will
|
|
be %FALSE for %PANGO_ATTR_SIZE and %TRUE for %PANGO_ATTR_ABSOLUTE_SIZE.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<function name="new" c:identifier="pango_attr_size_new">
|
|
<doc xml:space="preserve">Create a new font-size attribute in fractional points.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the font size, in %PANGO_SCALE-ths of a point</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="new_absolute" c:identifier="pango_attr_size_new_absolute" version="1.8">
|
|
<doc xml:space="preserve">Create a new font-size attribute in device units.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the font size, in %PANGO_SCALE-ths of a device unit</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<record name="AttrString" c:type="PangoAttrString">
|
|
<doc xml:space="preserve">The `PangoAttrString` structure is used to represent attributes with
|
|
a string value.</doc>
|
|
<field name="attr" writable="1">
|
|
<doc xml:space="preserve">the common portion of the attribute</doc>
|
|
<type name="Attribute" c:type="PangoAttribute"/>
|
|
</field>
|
|
<field name="value" writable="1">
|
|
<doc xml:space="preserve">the string which is the value of the attribute</doc>
|
|
<type name="utf8" c:type="char*"/>
|
|
</field>
|
|
</record>
|
|
<enumeration name="AttrType" glib:type-name="PangoAttrType" glib:get-type="pango_attr_type_get_type" c:type="PangoAttrType">
|
|
<doc xml:space="preserve">The `PangoAttrType` distinguishes between different types of attributes.
|
|
|
|
Along with the predefined values, it is possible to allocate additional
|
|
values for custom attributes using [func@AttrType.register]. The predefined
|
|
values are given below. The type of structure used to store the attribute is
|
|
listed in parentheses after the description.</doc>
|
|
<member name="invalid" value="0" c:identifier="PANGO_ATTR_INVALID" glib:nick="invalid" glib:name="PANGO_ATTR_INVALID">
|
|
<doc xml:space="preserve">does not happen</doc>
|
|
</member>
|
|
<member name="language" value="1" c:identifier="PANGO_ATTR_LANGUAGE" glib:nick="language" glib:name="PANGO_ATTR_LANGUAGE">
|
|
<doc xml:space="preserve">language ([struct@Pango.AttrLanguage])</doc>
|
|
</member>
|
|
<member name="family" value="2" c:identifier="PANGO_ATTR_FAMILY" glib:nick="family" glib:name="PANGO_ATTR_FAMILY">
|
|
<doc xml:space="preserve">font family name list ([struct@Pango.AttrString])</doc>
|
|
</member>
|
|
<member name="style" value="3" c:identifier="PANGO_ATTR_STYLE" glib:nick="style" glib:name="PANGO_ATTR_STYLE">
|
|
<doc xml:space="preserve">font slant style ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="weight" value="4" c:identifier="PANGO_ATTR_WEIGHT" glib:nick="weight" glib:name="PANGO_ATTR_WEIGHT">
|
|
<doc xml:space="preserve">font weight ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="variant" value="5" c:identifier="PANGO_ATTR_VARIANT" glib:nick="variant" glib:name="PANGO_ATTR_VARIANT">
|
|
<doc xml:space="preserve">font variant (normal or small caps) ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="stretch" value="6" c:identifier="PANGO_ATTR_STRETCH" glib:nick="stretch" glib:name="PANGO_ATTR_STRETCH">
|
|
<doc xml:space="preserve">font stretch ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="size" value="7" c:identifier="PANGO_ATTR_SIZE" glib:nick="size" glib:name="PANGO_ATTR_SIZE">
|
|
<doc xml:space="preserve">font size in points scaled by %PANGO_SCALE ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="font_desc" value="8" c:identifier="PANGO_ATTR_FONT_DESC" glib:nick="font-desc" glib:name="PANGO_ATTR_FONT_DESC">
|
|
<doc xml:space="preserve">font description ([struct@Pango.AttrFontDesc])</doc>
|
|
</member>
|
|
<member name="foreground" value="9" c:identifier="PANGO_ATTR_FOREGROUND" glib:nick="foreground" glib:name="PANGO_ATTR_FOREGROUND">
|
|
<doc xml:space="preserve">foreground color ([struct@Pango.AttrColor])</doc>
|
|
</member>
|
|
<member name="background" value="10" c:identifier="PANGO_ATTR_BACKGROUND" glib:nick="background" glib:name="PANGO_ATTR_BACKGROUND">
|
|
<doc xml:space="preserve">background color ([struct@Pango.AttrColor])</doc>
|
|
</member>
|
|
<member name="underline" value="11" c:identifier="PANGO_ATTR_UNDERLINE" glib:nick="underline" glib:name="PANGO_ATTR_UNDERLINE">
|
|
<doc xml:space="preserve">whether the text has an underline ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="strikethrough" value="12" c:identifier="PANGO_ATTR_STRIKETHROUGH" glib:nick="strikethrough" glib:name="PANGO_ATTR_STRIKETHROUGH">
|
|
<doc xml:space="preserve">whether the text is struck-through ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="rise" value="13" c:identifier="PANGO_ATTR_RISE" glib:nick="rise" glib:name="PANGO_ATTR_RISE">
|
|
<doc xml:space="preserve">baseline displacement ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="shape" value="14" c:identifier="PANGO_ATTR_SHAPE" glib:nick="shape" glib:name="PANGO_ATTR_SHAPE">
|
|
<doc xml:space="preserve">shape ([struct@Pango.AttrShape])</doc>
|
|
</member>
|
|
<member name="scale" value="15" c:identifier="PANGO_ATTR_SCALE" glib:nick="scale" glib:name="PANGO_ATTR_SCALE">
|
|
<doc xml:space="preserve">font size scale factor ([struct@Pango.AttrFloat])</doc>
|
|
</member>
|
|
<member name="fallback" value="16" c:identifier="PANGO_ATTR_FALLBACK" glib:nick="fallback" glib:name="PANGO_ATTR_FALLBACK">
|
|
<doc xml:space="preserve">whether fallback is enabled ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="letter_spacing" value="17" c:identifier="PANGO_ATTR_LETTER_SPACING" glib:nick="letter-spacing" glib:name="PANGO_ATTR_LETTER_SPACING">
|
|
<doc xml:space="preserve">letter spacing ([struct@PangoAttrInt])</doc>
|
|
</member>
|
|
<member name="underline_color" value="18" c:identifier="PANGO_ATTR_UNDERLINE_COLOR" glib:nick="underline-color" glib:name="PANGO_ATTR_UNDERLINE_COLOR">
|
|
<doc xml:space="preserve">underline color ([struct@Pango.AttrColor])</doc>
|
|
</member>
|
|
<member name="strikethrough_color" value="19" c:identifier="PANGO_ATTR_STRIKETHROUGH_COLOR" glib:nick="strikethrough-color" glib:name="PANGO_ATTR_STRIKETHROUGH_COLOR">
|
|
<doc xml:space="preserve">strikethrough color ([struct@Pango.AttrColor])</doc>
|
|
</member>
|
|
<member name="absolute_size" value="20" c:identifier="PANGO_ATTR_ABSOLUTE_SIZE" glib:nick="absolute-size" glib:name="PANGO_ATTR_ABSOLUTE_SIZE">
|
|
<doc xml:space="preserve">font size in pixels scaled by %PANGO_SCALE ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="gravity" value="21" c:identifier="PANGO_ATTR_GRAVITY" glib:nick="gravity" glib:name="PANGO_ATTR_GRAVITY">
|
|
<doc xml:space="preserve">base text gravity ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="gravity_hint" value="22" c:identifier="PANGO_ATTR_GRAVITY_HINT" glib:nick="gravity-hint" glib:name="PANGO_ATTR_GRAVITY_HINT">
|
|
<doc xml:space="preserve">gravity hint ([struct@Pango.AttrInt])</doc>
|
|
</member>
|
|
<member name="font_features" value="23" c:identifier="PANGO_ATTR_FONT_FEATURES" glib:nick="font-features" glib:name="PANGO_ATTR_FONT_FEATURES">
|
|
<doc xml:space="preserve">OpenType font features ([struct@Pango.AttrFontFeatures]). Since 1.38</doc>
|
|
</member>
|
|
<member name="foreground_alpha" value="24" c:identifier="PANGO_ATTR_FOREGROUND_ALPHA" glib:nick="foreground-alpha" glib:name="PANGO_ATTR_FOREGROUND_ALPHA">
|
|
<doc xml:space="preserve">foreground alpha ([struct@Pango.AttrInt]). Since 1.38</doc>
|
|
</member>
|
|
<member name="background_alpha" value="25" c:identifier="PANGO_ATTR_BACKGROUND_ALPHA" glib:nick="background-alpha" glib:name="PANGO_ATTR_BACKGROUND_ALPHA">
|
|
<doc xml:space="preserve">background alpha ([struct@Pango.AttrInt]). Since 1.38</doc>
|
|
</member>
|
|
<member name="allow_breaks" value="26" c:identifier="PANGO_ATTR_ALLOW_BREAKS" glib:nick="allow-breaks" glib:name="PANGO_ATTR_ALLOW_BREAKS">
|
|
<doc xml:space="preserve">whether breaks are allowed ([struct@Pango.AttrInt]). Since 1.44</doc>
|
|
</member>
|
|
<member name="show" value="27" c:identifier="PANGO_ATTR_SHOW" glib:nick="show" glib:name="PANGO_ATTR_SHOW">
|
|
<doc xml:space="preserve">how to render invisible characters ([struct@Pango.AttrInt]). Since 1.44</doc>
|
|
</member>
|
|
<member name="insert_hyphens" value="28" c:identifier="PANGO_ATTR_INSERT_HYPHENS" glib:nick="insert-hyphens" glib:name="PANGO_ATTR_INSERT_HYPHENS">
|
|
<doc xml:space="preserve">whether to insert hyphens at intra-word line breaks ([struct@Pango.AttrInt]). Since 1.44</doc>
|
|
</member>
|
|
<member name="overline" value="29" c:identifier="PANGO_ATTR_OVERLINE" glib:nick="overline" glib:name="PANGO_ATTR_OVERLINE">
|
|
<doc xml:space="preserve">whether the text has an overline ([struct@Pango.AttrInt]). Since 1.46</doc>
|
|
</member>
|
|
<member name="overline_color" value="30" c:identifier="PANGO_ATTR_OVERLINE_COLOR" glib:nick="overline-color" glib:name="PANGO_ATTR_OVERLINE_COLOR">
|
|
<doc xml:space="preserve">overline color ([struct@Pango.AttrColor]). Since 1.46</doc>
|
|
</member>
|
|
<member name="line_height" value="31" c:identifier="PANGO_ATTR_LINE_HEIGHT" glib:nick="line-height" glib:name="PANGO_ATTR_LINE_HEIGHT">
|
|
<doc xml:space="preserve">line height factor ([struct@Pango.AttrFloat]). Since: 1.50</doc>
|
|
</member>
|
|
<member name="absolute_line_height" value="32" c:identifier="PANGO_ATTR_ABSOLUTE_LINE_HEIGHT" glib:nick="absolute-line-height" glib:name="PANGO_ATTR_ABSOLUTE_LINE_HEIGHT">
|
|
<doc xml:space="preserve">line height ([struct@Pango.AttrInt]). Since: 1.50</doc>
|
|
</member>
|
|
<member name="text_transform" value="33" c:identifier="PANGO_ATTR_TEXT_TRANSFORM" glib:nick="text-transform" glib:name="PANGO_ATTR_TEXT_TRANSFORM">
|
|
</member>
|
|
<member name="word" value="34" c:identifier="PANGO_ATTR_WORD" glib:nick="word" glib:name="PANGO_ATTR_WORD">
|
|
<doc xml:space="preserve">override segmentation to classify the range of the attribute as a single word ([struct@Pango.AttrInt]). Since 1.50</doc>
|
|
</member>
|
|
<member name="sentence" value="35" c:identifier="PANGO_ATTR_SENTENCE" glib:nick="sentence" glib:name="PANGO_ATTR_SENTENCE">
|
|
<doc xml:space="preserve">override segmentation to classify the range of the attribute as a single sentence ([struct@Pango.AttrInt]). Since 1.50</doc>
|
|
</member>
|
|
<member name="baseline_shift" value="36" c:identifier="PANGO_ATTR_BASELINE_SHIFT" glib:nick="baseline-shift" glib:name="PANGO_ATTR_BASELINE_SHIFT">
|
|
<doc xml:space="preserve">baseline displacement ([struct@Pango.AttrInt]). Since 1.50</doc>
|
|
</member>
|
|
<member name="font_scale" value="37" c:identifier="PANGO_ATTR_FONT_SCALE" glib:nick="font-scale" glib:name="PANGO_ATTR_FONT_SCALE">
|
|
<doc xml:space="preserve">font-relative size change ([struct@Pango.AttrInt]). Since 1.50</doc>
|
|
</member>
|
|
<function name="get_name" c:identifier="pango_attr_type_get_name" version="1.22">
|
|
<doc xml:space="preserve">Fetches the attribute type name.
|
|
|
|
The attribute type name is the string passed in
|
|
when registering the type using
|
|
[func@Pango.AttrType.register].
|
|
|
|
The returned value is an interned string (see
|
|
g_intern_string() for what that means) that should
|
|
not be modified or freed.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the type ID name (which
|
|
may be %NULL), or %NULL if @type is a built-in Pango
|
|
attribute type or invalid.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">an attribute type ID to fetch the name for</doc>
|
|
<type name="AttrType" c:type="PangoAttrType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="register" c:identifier="pango_attr_type_register">
|
|
<doc xml:space="preserve">Allocate a new attribute type ID.
|
|
|
|
The attribute type name can be accessed later
|
|
by using [func@Pango.AttrType.get_name].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the new type ID.</doc>
|
|
<type name="AttrType" c:type="PangoAttrType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">an identifier for the type</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<record name="Attribute" c:type="PangoAttribute" glib:type-name="PangoAttribute" glib:get-type="pango_attribute_get_type" c:symbol-prefix="attribute">
|
|
<doc xml:space="preserve">The `PangoAttribute` structure represents the common portions of all
|
|
attributes.
|
|
|
|
Particular types of attributes include this structure as their initial
|
|
portion. The common portion of the attribute holds the range to which
|
|
the value in the type-specific part of the attribute applies and should
|
|
be initialized using [method@Pango.Attribute.init]. By default, an attribute
|
|
will have an all-inclusive range of [0,%G_MAXUINT].</doc>
|
|
<field name="klass" writable="1">
|
|
<doc xml:space="preserve">the class structure holding information about the type of the attribute</doc>
|
|
<type name="AttrClass" c:type="const PangoAttrClass*"/>
|
|
</field>
|
|
<field name="start_index" writable="1">
|
|
<doc xml:space="preserve">the start index of the range (in bytes).</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="end_index" writable="1">
|
|
<doc xml:space="preserve">end index of the range (in bytes). The character at this index
|
|
is not included in the range.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<method name="as_color" c:identifier="pango_attribute_as_color" version="1.50">
|
|
<doc xml:space="preserve">Returns the attribute cast to `PangoAttrColor`.
|
|
|
|
This is mainly useful for language bindings.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The attribute as `PangoAttrColor`,
|
|
or %NULL if it's not a color attribute</doc>
|
|
<type name="AttrColor" c:type="PangoAttrColor*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">A `PangoAttribute` such as foreground</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="as_float" c:identifier="pango_attribute_as_float" version="1.50">
|
|
<doc xml:space="preserve">Returns the attribute cast to `PangoAttrFloat`.
|
|
|
|
This is mainly useful for language bindings.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The attribute as `PangoAttrFloat`,
|
|
or %NULL if it's not a floating point attribute</doc>
|
|
<type name="AttrFloat" c:type="PangoAttrFloat*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">A `PangoAttribute` such as scale</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="as_font_desc" c:identifier="pango_attribute_as_font_desc" version="1.50">
|
|
<doc xml:space="preserve">Returns the attribute cast to `PangoAttrFontDesc`.
|
|
|
|
This is mainly useful for language bindings.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The attribute as `PangoAttrFontDesc`,
|
|
or %NULL if it's not a font description attribute</doc>
|
|
<type name="AttrFontDesc" c:type="PangoAttrFontDesc*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">A `PangoAttribute` representing a font description</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="as_font_features" c:identifier="pango_attribute_as_font_features" version="1.50">
|
|
<doc xml:space="preserve">Returns the attribute cast to `PangoAttrFontFeatures`.
|
|
|
|
This is mainly useful for language bindings.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The attribute as `PangoAttrFontFeatures`,
|
|
or %NULL if it's not a font features attribute</doc>
|
|
<type name="AttrFontFeatures" c:type="PangoAttrFontFeatures*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">A `PangoAttribute` representing font features</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="as_int" c:identifier="pango_attribute_as_int" version="1.50">
|
|
<doc xml:space="preserve">Returns the attribute cast to `PangoAttrInt`.
|
|
|
|
This is mainly useful for language bindings.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The attribute as `PangoAttrInt`,
|
|
or %NULL if it's not an integer attribute</doc>
|
|
<type name="AttrInt" c:type="PangoAttrInt*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">A `PangoAttribute` such as weight</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="as_language" c:identifier="pango_attribute_as_language" version="1.50">
|
|
<doc xml:space="preserve">Returns the attribute cast to `PangoAttrLanguage`.
|
|
|
|
This is mainly useful for language bindings.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The attribute as `PangoAttrLanguage`,
|
|
or %NULL if it's not a language attribute</doc>
|
|
<type name="AttrLanguage" c:type="PangoAttrLanguage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">A `PangoAttribute` representing a language</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="as_shape" c:identifier="pango_attribute_as_shape" version="1.50">
|
|
<doc xml:space="preserve">Returns the attribute cast to `PangoAttrShape`.
|
|
|
|
This is mainly useful for language bindings.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The attribute as `PangoAttrShape`,
|
|
or %NULL if it's not a shape attribute</doc>
|
|
<type name="AttrShape" c:type="PangoAttrShape*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">A `PangoAttribute` representing a shape</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="as_size" c:identifier="pango_attribute_as_size" version="1.50">
|
|
<doc xml:space="preserve">Returns the attribute cast to `PangoAttrSize`.
|
|
|
|
This is mainly useful for language bindings.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The attribute as `PangoAttrSize`,
|
|
or NULL if it's not a size attribute</doc>
|
|
<type name="AttrSize" c:type="PangoAttrSize*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">A `PangoAttribute` representing a size</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="as_string" c:identifier="pango_attribute_as_string" version="1.50">
|
|
<doc xml:space="preserve">Returns the attribute cast to `PangoAttrString`.
|
|
|
|
This is mainly useful for language bindings.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The attribute as `PangoAttrString`,
|
|
or %NULL if it's not a string attribute</doc>
|
|
<type name="AttrString" c:type="PangoAttrString*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">A `PangoAttribute` such as family</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="pango_attribute_copy">
|
|
<doc xml:space="preserve">Make a copy of an attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy].</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttribute`</doc>
|
|
<type name="Attribute" c:type="const PangoAttribute*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="destroy" c:identifier="pango_attribute_destroy">
|
|
<doc xml:space="preserve">Destroy a `PangoAttribute` and free all associated memory.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttribute`.</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="equal" c:identifier="pango_attribute_equal">
|
|
<doc xml:space="preserve">Compare two attributes for equality.
|
|
|
|
This compares only the actual value of the two
|
|
attributes and not the ranges that the attributes
|
|
apply to.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the two attributes have the same value</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttribute`</doc>
|
|
<type name="Attribute" c:type="const PangoAttribute*"/>
|
|
</instance-parameter>
|
|
<parameter name="attr2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another `PangoAttribute`</doc>
|
|
<type name="Attribute" c:type="const PangoAttribute*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="pango_attribute_init" version="1.20">
|
|
<doc xml:space="preserve">Initializes @attr's klass to @klass, it's start_index to
|
|
%PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING and end_index to
|
|
%PANGO_ATTR_INDEX_TO_TEXT_END such that the attribute applies
|
|
to the entire text by default.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="attr" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttribute`</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</instance-parameter>
|
|
<parameter name="klass" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrClass`</doc>
|
|
<type name="AttrClass" c:type="const PangoAttrClass*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="BaselineShift" version="1.50" glib:type-name="PangoBaselineShift" glib:get-type="pango_baseline_shift_get_type" c:type="PangoBaselineShift">
|
|
<doc xml:space="preserve">An enumeration that affects baseline shifts between runs.</doc>
|
|
<member name="none" value="0" c:identifier="PANGO_BASELINE_SHIFT_NONE" glib:nick="none" glib:name="PANGO_BASELINE_SHIFT_NONE">
|
|
<doc xml:space="preserve">Leave the baseline unchanged</doc>
|
|
</member>
|
|
<member name="superscript" value="1" c:identifier="PANGO_BASELINE_SHIFT_SUPERSCRIPT" glib:nick="superscript" glib:name="PANGO_BASELINE_SHIFT_SUPERSCRIPT">
|
|
<doc xml:space="preserve">Shift the baseline to the superscript position,
|
|
relative to the previous run</doc>
|
|
</member>
|
|
<member name="subscript" value="2" c:identifier="PANGO_BASELINE_SHIFT_SUBSCRIPT" glib:nick="subscript" glib:name="PANGO_BASELINE_SHIFT_SUBSCRIPT">
|
|
<doc xml:space="preserve">Shift the baseline to the subscript position,
|
|
relative to the previous run</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="BidiType" version="1.22" deprecated="1" deprecated-version="1.44" glib:type-name="PangoBidiType" glib:get-type="pango_bidi_type_get_type" c:type="PangoBidiType">
|
|
<doc xml:space="preserve">`PangoBidiType` represents the bidirectional character
|
|
type of a Unicode character.
|
|
|
|
The values in this enumeration are specified by the
|
|
[Unicode bidirectional algorithm](http://www.unicode.org/reports/tr9/).</doc>
|
|
<doc-deprecated xml:space="preserve">Use fribidi for this information</doc-deprecated>
|
|
<member name="l" value="0" c:identifier="PANGO_BIDI_TYPE_L" glib:nick="l" glib:name="PANGO_BIDI_TYPE_L">
|
|
<doc xml:space="preserve">Left-to-Right</doc>
|
|
</member>
|
|
<member name="lre" value="1" c:identifier="PANGO_BIDI_TYPE_LRE" glib:nick="lre" glib:name="PANGO_BIDI_TYPE_LRE">
|
|
<doc xml:space="preserve">Left-to-Right Embedding</doc>
|
|
</member>
|
|
<member name="lro" value="2" c:identifier="PANGO_BIDI_TYPE_LRO" glib:nick="lro" glib:name="PANGO_BIDI_TYPE_LRO">
|
|
<doc xml:space="preserve">Left-to-Right Override</doc>
|
|
</member>
|
|
<member name="r" value="3" c:identifier="PANGO_BIDI_TYPE_R" glib:nick="r" glib:name="PANGO_BIDI_TYPE_R">
|
|
<doc xml:space="preserve">Right-to-Left</doc>
|
|
</member>
|
|
<member name="al" value="4" c:identifier="PANGO_BIDI_TYPE_AL" glib:nick="al" glib:name="PANGO_BIDI_TYPE_AL">
|
|
<doc xml:space="preserve">Right-to-Left Arabic</doc>
|
|
</member>
|
|
<member name="rle" value="5" c:identifier="PANGO_BIDI_TYPE_RLE" glib:nick="rle" glib:name="PANGO_BIDI_TYPE_RLE">
|
|
<doc xml:space="preserve">Right-to-Left Embedding</doc>
|
|
</member>
|
|
<member name="rlo" value="6" c:identifier="PANGO_BIDI_TYPE_RLO" glib:nick="rlo" glib:name="PANGO_BIDI_TYPE_RLO">
|
|
<doc xml:space="preserve">Right-to-Left Override</doc>
|
|
</member>
|
|
<member name="pdf" value="7" c:identifier="PANGO_BIDI_TYPE_PDF" glib:nick="pdf" glib:name="PANGO_BIDI_TYPE_PDF">
|
|
<doc xml:space="preserve">Pop Directional Format</doc>
|
|
</member>
|
|
<member name="en" value="8" c:identifier="PANGO_BIDI_TYPE_EN" glib:nick="en" glib:name="PANGO_BIDI_TYPE_EN">
|
|
<doc xml:space="preserve">European Number</doc>
|
|
</member>
|
|
<member name="es" value="9" c:identifier="PANGO_BIDI_TYPE_ES" glib:nick="es" glib:name="PANGO_BIDI_TYPE_ES">
|
|
<doc xml:space="preserve">European Number Separator</doc>
|
|
</member>
|
|
<member name="et" value="10" c:identifier="PANGO_BIDI_TYPE_ET" glib:nick="et" glib:name="PANGO_BIDI_TYPE_ET">
|
|
<doc xml:space="preserve">European Number Terminator</doc>
|
|
</member>
|
|
<member name="an" value="11" c:identifier="PANGO_BIDI_TYPE_AN" glib:nick="an" glib:name="PANGO_BIDI_TYPE_AN">
|
|
<doc xml:space="preserve">Arabic Number</doc>
|
|
</member>
|
|
<member name="cs" value="12" c:identifier="PANGO_BIDI_TYPE_CS" glib:nick="cs" glib:name="PANGO_BIDI_TYPE_CS">
|
|
<doc xml:space="preserve">Common Number Separator</doc>
|
|
</member>
|
|
<member name="nsm" value="13" c:identifier="PANGO_BIDI_TYPE_NSM" glib:nick="nsm" glib:name="PANGO_BIDI_TYPE_NSM">
|
|
<doc xml:space="preserve">Nonspacing Mark</doc>
|
|
</member>
|
|
<member name="bn" value="14" c:identifier="PANGO_BIDI_TYPE_BN" glib:nick="bn" glib:name="PANGO_BIDI_TYPE_BN">
|
|
<doc xml:space="preserve">Boundary Neutral</doc>
|
|
</member>
|
|
<member name="b" value="15" c:identifier="PANGO_BIDI_TYPE_B" glib:nick="b" glib:name="PANGO_BIDI_TYPE_B">
|
|
<doc xml:space="preserve">Paragraph Separator</doc>
|
|
</member>
|
|
<member name="s" value="16" c:identifier="PANGO_BIDI_TYPE_S" glib:nick="s" glib:name="PANGO_BIDI_TYPE_S">
|
|
<doc xml:space="preserve">Segment Separator</doc>
|
|
</member>
|
|
<member name="ws" value="17" c:identifier="PANGO_BIDI_TYPE_WS" glib:nick="ws" glib:name="PANGO_BIDI_TYPE_WS">
|
|
<doc xml:space="preserve">Whitespace</doc>
|
|
</member>
|
|
<member name="on" value="18" c:identifier="PANGO_BIDI_TYPE_ON" glib:nick="on" glib:name="PANGO_BIDI_TYPE_ON">
|
|
<doc xml:space="preserve">Other Neutrals</doc>
|
|
</member>
|
|
<member name="lri" value="19" c:identifier="PANGO_BIDI_TYPE_LRI" glib:nick="lri" glib:name="PANGO_BIDI_TYPE_LRI">
|
|
<doc xml:space="preserve">Left-to-Right isolate. Since 1.48.6</doc>
|
|
</member>
|
|
<member name="rli" value="20" c:identifier="PANGO_BIDI_TYPE_RLI" glib:nick="rli" glib:name="PANGO_BIDI_TYPE_RLI">
|
|
<doc xml:space="preserve">Right-to-Left isolate. Since 1.48.6</doc>
|
|
</member>
|
|
<member name="fsi" value="21" c:identifier="PANGO_BIDI_TYPE_FSI" glib:nick="fsi" glib:name="PANGO_BIDI_TYPE_FSI">
|
|
<doc xml:space="preserve">First strong isolate. Since 1.48.6</doc>
|
|
</member>
|
|
<member name="pdi" value="22" c:identifier="PANGO_BIDI_TYPE_PDI" glib:nick="pdi" glib:name="PANGO_BIDI_TYPE_PDI">
|
|
<doc xml:space="preserve">Pop directional isolate. Since 1.48.6</doc>
|
|
</member>
|
|
<function name="for_unichar" c:identifier="pango_bidi_type_for_unichar" version="1.22">
|
|
<doc xml:space="preserve">Determines the bidirectional type of a character.
|
|
|
|
The bidirectional type is specified in the Unicode Character Database.
|
|
|
|
A simplified version of this function is available as [func@unichar_direction].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the bidirectional character type, as used in the
|
|
Unicode bidirectional algorithm.</doc>
|
|
<type name="BidiType" c:type="PangoBidiType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ch" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<function-macro name="CONTEXT" c:identifier="PANGO_CONTEXT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTEXT_CLASS" c:identifier="PANGO_CONTEXT_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="CONTEXT_GET_CLASS" c:identifier="PANGO_CONTEXT_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<record name="Color" c:type="PangoColor" glib:type-name="PangoColor" glib:get-type="pango_color_get_type" c:symbol-prefix="color">
|
|
<doc xml:space="preserve">The `PangoColor` structure is used to
|
|
represent a color in an uncalibrated RGB color-space.</doc>
|
|
<field name="red" writable="1">
|
|
<doc xml:space="preserve">value of red component</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</field>
|
|
<field name="green" writable="1">
|
|
<doc xml:space="preserve">value of green component</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</field>
|
|
<field name="blue" writable="1">
|
|
<doc xml:space="preserve">value of blue component</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</field>
|
|
<method name="copy" c:identifier="pango_color_copy">
|
|
<doc xml:space="preserve">Creates a copy of @src.
|
|
|
|
The copy should be freed with [method@Pango.Color.free].
|
|
Primarily used by language bindings, not that useful
|
|
otherwise (since colors can just be copied by assignment
|
|
in C).</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoColor`,
|
|
which should be freed with [method@Pango.Color.free]</doc>
|
|
<type name="Color" c:type="PangoColor*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">color to copy</doc>
|
|
<type name="Color" c:type="const PangoColor*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="pango_color_free">
|
|
<doc xml:space="preserve">Frees a color allocated by [method@Pango.Color.copy].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="color" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">an allocated `PangoColor`</doc>
|
|
<type name="Color" c:type="PangoColor*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse" c:identifier="pango_color_parse">
|
|
<doc xml:space="preserve">Fill in the fields of a color from a string specification.
|
|
|
|
The string can either one of a large set of standard names.
|
|
(Taken from the CSS Color [specification](https://www.w3.org/TR/css-color-4/#named-colors),
|
|
or it can be a value in the form `#rgb`, `#rrggbb`,
|
|
`#rrrgggbbb` or `#rrrrggggbbbb`, where `r`, `g` and `b`
|
|
are hex digits of the red, green, and blue components
|
|
of the color, respectively. (White in the four forms is
|
|
`#fff`, `#ffffff`, `#fffffffff` and `#ffffffffffff`.)</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if parsing of the specifier succeeded,
|
|
otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="color" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoColor` structure in which
|
|
to store the result</doc>
|
|
<type name="Color" c:type="PangoColor*"/>
|
|
</instance-parameter>
|
|
<parameter name="spec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string specifying the new color</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="parse_with_alpha" c:identifier="pango_color_parse_with_alpha" version="1.46">
|
|
<doc xml:space="preserve">Fill in the fields of a color from a string specification.
|
|
|
|
The string can either one of a large set of standard names.
|
|
(Taken from the CSS Color [specification](https://www.w3.org/TR/css-color-4/#named-colors),
|
|
or it can be a hexadecimal value in the form `#rgb`,
|
|
`#rrggbb`, `#rrrgggbbb` or `#rrrrggggbbbb` where `r`, `g`
|
|
and `b` are hex digits of the red, green, and blue components
|
|
of the color, respectively. (White in the four forms is
|
|
`#fff`, `#ffffff`, `#fffffffff` and `#ffffffffffff`.)
|
|
|
|
Additionally, parse strings of the form `#rgba`, `#rrggbbaa`,
|
|
`#rrrrggggbbbbaaaa`, if @alpha is not %NULL, and set @alpha
|
|
to the value specified by the hex digits for `a`. If no alpha
|
|
component is found in @spec, @alpha is set to 0xffff (for a
|
|
solid color).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if parsing of the specifier succeeded,
|
|
otherwise %FALSE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="color" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoColor` structure in which
|
|
to store the result</doc>
|
|
<type name="Color" c:type="PangoColor*"/>
|
|
</instance-parameter>
|
|
<parameter name="alpha" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">return location for alpha</doc>
|
|
<type name="guint16" c:type="guint16*"/>
|
|
</parameter>
|
|
<parameter name="spec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string specifying the new color</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="pango_color_to_string" version="1.16">
|
|
<doc xml:space="preserve">Returns a textual specification of @color.
|
|
|
|
The string is in the hexadecimal form `#rrrrggggbbbb`,
|
|
where `r`, `g` and `b` are hex digits representing the
|
|
red, green, and blue components respectively.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly-allocated text string that must
|
|
be freed with g_free().</doc>
|
|
<type name="utf8" c:type="char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="color" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoColor`</doc>
|
|
<type name="Color" c:type="const PangoColor*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<class name="Context" c:symbol-prefix="context" c:type="PangoContext" parent="GObject.Object" glib:type-name="PangoContext" glib:get-type="pango_context_get_type" glib:type-struct="ContextClass">
|
|
<doc xml:space="preserve">A `PangoContext` stores global information used to control the
|
|
itemization process.
|
|
|
|
The information stored by `PangoContext` includes the fontmap used
|
|
to look up fonts, and default values such as the default language,
|
|
default gravity, or default font.
|
|
|
|
To obtain a `PangoContext`, use [method@Pango.FontMap.create_context].</doc>
|
|
<constructor name="new" c:identifier="pango_context_new">
|
|
<doc xml:space="preserve">Creates a new `PangoContext` initialized to default values.
|
|
|
|
This function is not particularly useful as it should always
|
|
be followed by a [method@Pango.Context.set_font_map] call, and the
|
|
function [method@Pango.FontMap.create_context] does these two steps
|
|
together and hence users are recommended to use that.
|
|
|
|
If you are using Pango as part of a higher-level system,
|
|
that system may have it's own way of create a `PangoContext`.
|
|
For instance, the GTK toolkit has, among others,
|
|
`gtk_widget_get_pango_context()`. Use those instead.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoContext`, which should
|
|
be freed with g_object_unref().</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="changed" c:identifier="pango_context_changed" version="1.32.4">
|
|
<doc xml:space="preserve">Forces a change in the context, which will cause any `PangoLayout`
|
|
using this context to re-layout.
|
|
|
|
This function is only useful when implementing a new backend
|
|
for Pango, something applications won't do. Backends should
|
|
call this function if they have attached extra data to the context
|
|
and such data is changed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_base_dir" c:identifier="pango_context_get_base_dir">
|
|
<doc xml:space="preserve">Retrieves the base direction for the context.
|
|
|
|
See [method@Pango.Context.set_base_dir].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the base direction for the context.</doc>
|
|
<type name="Direction" c:type="PangoDirection"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_base_gravity" c:identifier="pango_context_get_base_gravity" version="1.16">
|
|
<doc xml:space="preserve">Retrieves the base gravity for the context.
|
|
|
|
See [method@Pango.Context.set_base_gravity].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the base gravity for the context.</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_font_description" c:identifier="pango_context_get_font_description">
|
|
<doc xml:space="preserve">Retrieve the default font description for the context.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to the context's default font
|
|
description. This value must not be modified or freed.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_font_map" c:identifier="pango_context_get_font_map" version="1.6">
|
|
<doc xml:space="preserve">Gets the `PangoFontMap` used to look up fonts for this context.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the font map for the `PangoContext`.
|
|
This value is owned by Pango and should not be unreferenced.</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_gravity" c:identifier="pango_context_get_gravity" version="1.16">
|
|
<doc xml:space="preserve">Retrieves the gravity for the context.
|
|
|
|
This is similar to [method@Pango.Context.get_base_gravity],
|
|
except for when the base gravity is %PANGO_GRAVITY_AUTO for
|
|
which [func@Pango.Gravity.get_for_matrix] is used to return the
|
|
gravity from the current context matrix.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the resolved gravity for the context.</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_gravity_hint" c:identifier="pango_context_get_gravity_hint" version="1.16">
|
|
<doc xml:space="preserve">Retrieves the gravity hint for the context.
|
|
|
|
See [method@Pango.Context.set_gravity_hint] for details.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the gravity hint for the context.</doc>
|
|
<type name="GravityHint" c:type="PangoGravityHint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_language" c:identifier="pango_context_get_language">
|
|
<doc xml:space="preserve">Retrieves the global language tag for the context.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the global language tag.</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_matrix" c:identifier="pango_context_get_matrix" version="1.6">
|
|
<doc xml:space="preserve">Gets the transformation matrix that will be applied when
|
|
rendering with this context.
|
|
|
|
See [method@Pango.Context.set_matrix].</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the matrix, or %NULL 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.</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_metrics" c:identifier="pango_context_get_metrics">
|
|
<doc xml:space="preserve">Get overall metric information for a particular font description.
|
|
|
|
Since the metrics may be substantially different for different scripts,
|
|
a language tag can be provided to indicate that the metrics should be
|
|
retrieved that correspond to the script(s) used by that language.
|
|
|
|
The `PangoFontDescription` is interpreted in the same way as by [func@itemize],
|
|
and the family name may be a comma separated list of names. If characters
|
|
from multiple of these families would be used to render the string, then
|
|
the returned fonts would be a composite of the metrics for the fonts loaded
|
|
for the individual families.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` object. The caller must call
|
|
[method@Pango.FontMetrics.unref] when finished using the object.</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="desc" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFontDescription` structure. %NULL means that the
|
|
font description from the context will be used.</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
<parameter name="language" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">language tag used to determine which script to get
|
|
the metrics for. %NULL means that the language tag from the context
|
|
will be used. If no language tag is set on the context, metrics
|
|
for the default language (as determined by [func@Pango.Language.get_default]
|
|
will be returned.</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_round_glyph_positions" c:identifier="pango_context_get_round_glyph_positions" version="1.44">
|
|
<doc xml:space="preserve">Returns whether font rendering with this context should
|
|
round glyph positions and widths.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_serial" c:identifier="pango_context_get_serial" version="1.32.4">
|
|
<doc xml:space="preserve">Returns the current serial number of @context.
|
|
|
|
The serial number is initialized to an small number larger than zero
|
|
when a new context is created and is increased whenever the context
|
|
is changed using any of the setter functions, or the `PangoFontMap` it
|
|
uses to find fonts has changed. The serial may wrap, but will never
|
|
have the value 0. Since it can wrap, never compare it with "less than",
|
|
always use "not equals".
|
|
|
|
This can be used to automatically detect changes to a `PangoContext`,
|
|
and is only useful when implementing objects that need update when their
|
|
`PangoContext` changes, like `PangoLayout`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current serial number of @context.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="list_families" c:identifier="pango_context_list_families">
|
|
<doc xml:space="preserve">List all families for a context.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="families" direction="out" caller-allocates="0" transfer-ownership="container">
|
|
<doc xml:space="preserve">location
|
|
to store a pointer to an array of `PangoFontFamily`. This array should
|
|
be freed with g_free().</doc>
|
|
<array length="1" zero-terminated="0" c:type="PangoFontFamily***">
|
|
<type name="FontFamily" c:type="PangoFontFamily**"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_families" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the number of elements in @descs</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="load_font" c:identifier="pango_context_load_font">
|
|
<doc xml:space="preserve">Loads the font in one of the fontmaps in the context
|
|
that is the closest match for @desc.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoFont`
|
|
that was loaded, or %NULL if no font matched.</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription` describing the font to load</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="load_fontset" c:identifier="pango_context_load_fontset">
|
|
<doc xml:space="preserve">Load a set of fonts in the context that can be used to render
|
|
a font matching @desc.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoFontset` loaded, or %NULL if no font matched.</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription` describing the fonts to load</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLanguage` the fonts will be used for</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_base_dir" c:identifier="pango_context_set_base_dir">
|
|
<doc xml:space="preserve">Sets the base direction for the context.
|
|
|
|
The base direction is used in applying the Unicode bidirectional
|
|
algorithm; if the @direction is %PANGO_DIRECTION_LTR or
|
|
%PANGO_DIRECTION_RTL, then the value will be used as the paragraph
|
|
direction in the Unicode bidirectional algorithm. A value of
|
|
%PANGO_DIRECTION_WEAK_LTR or %PANGO_DIRECTION_WEAK_RTL is used only
|
|
for paragraphs that do not contain any strong characters themselves.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="direction" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new base direction</doc>
|
|
<type name="Direction" c:type="PangoDirection"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_base_gravity" c:identifier="pango_context_set_base_gravity" version="1.16">
|
|
<doc xml:space="preserve">Sets the base gravity for the context.
|
|
|
|
The base gravity is used in laying vertical text out.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="gravity" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new base gravity</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_font_description" c:identifier="pango_context_set_font_description">
|
|
<doc xml:space="preserve">Set the default font description for the context</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new pango font description</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_font_map" c:identifier="pango_context_set_font_map">
|
|
<doc xml:space="preserve">Sets the font map to be searched when fonts are looked-up
|
|
in this context.
|
|
|
|
This is only for internal use by Pango backends, a `PangoContext`
|
|
obtained via one of the recommended methods should already have a
|
|
suitable font map.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="font_map" transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoFontMap` to set.</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_gravity_hint" c:identifier="pango_context_set_gravity_hint" version="1.16">
|
|
<doc xml:space="preserve">Sets the gravity hint for the context.
|
|
|
|
The gravity hint is used in laying vertical text out, and
|
|
is only relevant if gravity of the context as returned by
|
|
[method@Pango.Context.get_gravity] is set to %PANGO_GRAVITY_EAST
|
|
or %PANGO_GRAVITY_WEST.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="hint" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new gravity hint</doc>
|
|
<type name="GravityHint" c:type="PangoGravityHint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_language" c:identifier="pango_context_set_language">
|
|
<doc xml:space="preserve">Sets the global language tag for the context.
|
|
|
|
The default language for the locale of the running process
|
|
can be found using [func@Pango.Language.get_default].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new language tag.</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_matrix" c:identifier="pango_context_set_matrix" version="1.6">
|
|
<doc xml:space="preserve">Sets the transformation matrix that will be applied when rendering
|
|
with this context.
|
|
|
|
Note that reported metrics are in the user space coordinates before
|
|
the application of the matrix, not device-space coordinates after the
|
|
application of the matrix. So, they don't scale with the matrix, though
|
|
they may change slightly for different matrices, depending on how the
|
|
text is fit to the pixel grid.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`, or %NULL to unset any existing
|
|
matrix. (No matrix set is the same as setting the identity matrix.)</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_round_glyph_positions" c:identifier="pango_context_set_round_glyph_positions" version="1.44">
|
|
<doc xml:space="preserve">Sets whether font rendering with this context should
|
|
round glyph positions and widths to integral positions,
|
|
in device units.
|
|
|
|
This is useful when the renderer can't handle subpixel
|
|
positioning of glyphs.
|
|
|
|
The default value is to round glyph positions, to remain
|
|
compatible with previous Pango behavior.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</instance-parameter>
|
|
<parameter name="round_positions" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to round glyph positions</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</class>
|
|
<record name="ContextClass" c:type="PangoContextClass" disguised="1" glib:is-gtype-struct-for="Context"/>
|
|
<class name="Coverage" c:symbol-prefix="coverage" c:type="PangoCoverage" parent="GObject.Object" glib:type-name="PangoCoverage" glib:get-type="pango_coverage_get_type">
|
|
<doc xml:space="preserve">A `PangoCoverage` structure is a map from Unicode characters
|
|
to [enum@Pango.CoverageLevel] values.
|
|
|
|
It is often necessary in Pango to determine if a particular
|
|
font can represent a particular character, and also how well
|
|
it can represent that character. The `PangoCoverage` is a data
|
|
structure that is used to represent that information. It is an
|
|
opaque structure with no public fields.</doc>
|
|
<constructor name="new" c:identifier="pango_coverage_new">
|
|
<doc xml:space="preserve">Create a new `PangoCoverage`</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoCoverage`, initialized
|
|
to %PANGO_COVERAGE_NONE with a reference count of one, which
|
|
should be freed with [method@Pango.Coverage.unref].</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<function name="from_bytes" c:identifier="pango_coverage_from_bytes" deprecated="1" deprecated-version="1.44">
|
|
<doc xml:space="preserve">Convert data generated from [method@Pango.Coverage.to_bytes]
|
|
back to a `PangoCoverage`.</doc>
|
|
<doc-deprecated xml:space="preserve">This returns %NULL</doc-deprecated>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a newly allocated `PangoCoverage`</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="bytes" transfer-ownership="none">
|
|
<doc xml:space="preserve">binary data
|
|
representing a `PangoCoverage`</doc>
|
|
<array length="1" zero-terminated="0" c:type="guchar*">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_bytes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of @bytes in bytes</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<method name="copy" c:identifier="pango_coverage_copy">
|
|
<doc xml:space="preserve">Copy an existing `PangoCoverage`.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoCoverage`,
|
|
with a reference count of one, which should be freed with
|
|
[method@Pango.Coverage.unref].</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="coverage" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoCoverage`</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get" c:identifier="pango_coverage_get">
|
|
<doc xml:space="preserve">Determine whether a particular index is covered by @coverage.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the coverage level of @coverage for character @index_.</doc>
|
|
<type name="CoverageLevel" c:type="PangoCoverageLevel"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="coverage" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoCoverage`</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</instance-parameter>
|
|
<parameter name="index_" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index to check</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="max" c:identifier="pango_coverage_max" deprecated="1" deprecated-version="1.44">
|
|
<doc xml:space="preserve">Set the coverage for each index in @coverage to be the max (better)
|
|
value of the current coverage for the index and the coverage for
|
|
the corresponding index in @other.</doc>
|
|
<doc-deprecated xml:space="preserve">This function does nothing</doc-deprecated>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="coverage" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoCoverage`</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</instance-parameter>
|
|
<parameter name="other" transfer-ownership="none">
|
|
<doc xml:space="preserve">another `PangoCoverage`</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="pango_coverage_ref" deprecated="1" deprecated-version="1.52">
|
|
<doc xml:space="preserve">Increase the reference count on the `PangoCoverage` by one.</doc>
|
|
<doc-deprecated xml:space="preserve">Use g_object_ref instead</doc-deprecated>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">@coverage</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="coverage" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoCoverage`</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set" c:identifier="pango_coverage_set">
|
|
<doc xml:space="preserve">Modify a particular index within @coverage</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="coverage" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoCoverage`</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</instance-parameter>
|
|
<parameter name="index_" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index to modify</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new level for @index_</doc>
|
|
<type name="CoverageLevel" c:type="PangoCoverageLevel"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_bytes" c:identifier="pango_coverage_to_bytes" deprecated="1" deprecated-version="1.44">
|
|
<doc xml:space="preserve">Convert a `PangoCoverage` structure into a flat binary format.</doc>
|
|
<doc-deprecated xml:space="preserve">This returns %NULL</doc-deprecated>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="coverage" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoCoverage`</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</instance-parameter>
|
|
<parameter name="bytes" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
location to store result (must be freed with g_free())</doc>
|
|
<array length="1" zero-terminated="0" c:type="guchar**">
|
|
<type name="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_bytes" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store size of result</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="pango_coverage_unref" deprecated="1" deprecated-version="1.52">
|
|
<doc xml:space="preserve">Decrease the reference count on the `PangoCoverage` by one.
|
|
|
|
If the result is zero, free the coverage and all associated memory.</doc>
|
|
<doc-deprecated xml:space="preserve">Use g_object_unref instead</doc-deprecated>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="coverage" transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoCoverage`</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</class>
|
|
<enumeration name="CoverageLevel" glib:type-name="PangoCoverageLevel" glib:get-type="pango_coverage_level_get_type" c:type="PangoCoverageLevel">
|
|
<doc xml:space="preserve">`PangoCoverageLevel` is used to indicate how well a font can
|
|
represent a particular Unicode character for a particular script.
|
|
|
|
Since 1.44, only %PANGO_COVERAGE_NONE and %PANGO_COVERAGE_EXACT
|
|
will be returned.</doc>
|
|
<member name="none" value="0" c:identifier="PANGO_COVERAGE_NONE" glib:nick="none" glib:name="PANGO_COVERAGE_NONE">
|
|
<doc xml:space="preserve">The character is not representable with
|
|
the font.</doc>
|
|
</member>
|
|
<member name="fallback" value="1" c:identifier="PANGO_COVERAGE_FALLBACK" glib:nick="fallback" glib:name="PANGO_COVERAGE_FALLBACK">
|
|
<doc xml:space="preserve">The character is represented in a
|
|
way that may be comprehensible but is not the correct
|
|
graphical form. For instance, a Hangul character represented
|
|
as a a sequence of Jamos, or a Latin transliteration of a
|
|
Cyrillic word.</doc>
|
|
</member>
|
|
<member name="approximate" value="2" c:identifier="PANGO_COVERAGE_APPROXIMATE" glib:nick="approximate" glib:name="PANGO_COVERAGE_APPROXIMATE">
|
|
<doc xml:space="preserve">The character is represented as
|
|
basically the correct graphical form, but with a stylistic
|
|
variant inappropriate for the current script.</doc>
|
|
</member>
|
|
<member name="exact" value="3" c:identifier="PANGO_COVERAGE_EXACT" glib:nick="exact" glib:name="PANGO_COVERAGE_EXACT">
|
|
<doc xml:space="preserve">The character is represented as the
|
|
correct graphical form.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="DESCENT" c:identifier="PANGO_DESCENT" introspectable="0">
|
|
<doc xml:space="preserve">Extracts the *descent* from a `PangoRectangle`
|
|
representing glyph extents.
|
|
|
|
The descent is the distance from the baseline to the
|
|
lowest point of the character. This is positive if the
|
|
glyph descends below the baseline.</doc>
|
|
<parameters>
|
|
<parameter name="rect">
|
|
<doc xml:space="preserve">a `PangoRectangle`</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<enumeration name="Direction" glib:type-name="PangoDirection" glib:get-type="pango_direction_get_type" c:type="PangoDirection">
|
|
<doc xml:space="preserve">`PangoDirection` represents a direction in the Unicode bidirectional
|
|
algorithm.
|
|
|
|
Not every value in this enumeration makes sense for every usage of
|
|
`PangoDirection`; for example, the return value of [func@unichar_direction]
|
|
and [func@find_base_dir] cannot be `PANGO_DIRECTION_WEAK_LTR` or
|
|
`PANGO_DIRECTION_WEAK_RTL`, since every character is either neutral
|
|
or has a strong direction; on the other hand `PANGO_DIRECTION_NEUTRAL`
|
|
doesn't make sense to pass to [func@itemize_with_base_dir].
|
|
|
|
The `PANGO_DIRECTION_TTB_LTR`, `PANGO_DIRECTION_TTB_RTL` values come from
|
|
an earlier interpretation of this enumeration as the writing direction
|
|
of a block of text and are no longer used. See `PangoGravity` for how
|
|
vertical text is handled in Pango.
|
|
|
|
If you are interested in text direction, you should really use fribidi
|
|
directly. `PangoDirection` is only retained because it is used in some
|
|
public apis.</doc>
|
|
<member name="ltr" value="0" c:identifier="PANGO_DIRECTION_LTR" glib:nick="ltr" glib:name="PANGO_DIRECTION_LTR">
|
|
<doc xml:space="preserve">A strong left-to-right direction</doc>
|
|
</member>
|
|
<member name="rtl" value="1" c:identifier="PANGO_DIRECTION_RTL" glib:nick="rtl" glib:name="PANGO_DIRECTION_RTL">
|
|
<doc xml:space="preserve">A strong right-to-left direction</doc>
|
|
</member>
|
|
<member name="ttb_ltr" value="2" c:identifier="PANGO_DIRECTION_TTB_LTR" glib:nick="ttb-ltr" glib:name="PANGO_DIRECTION_TTB_LTR">
|
|
<doc xml:space="preserve">Deprecated value; treated the
|
|
same as `PANGO_DIRECTION_RTL`.</doc>
|
|
</member>
|
|
<member name="ttb_rtl" value="3" c:identifier="PANGO_DIRECTION_TTB_RTL" glib:nick="ttb-rtl" glib:name="PANGO_DIRECTION_TTB_RTL">
|
|
<doc xml:space="preserve">Deprecated value; treated the
|
|
same as `PANGO_DIRECTION_LTR`</doc>
|
|
</member>
|
|
<member name="weak_ltr" value="4" c:identifier="PANGO_DIRECTION_WEAK_LTR" glib:nick="weak-ltr" glib:name="PANGO_DIRECTION_WEAK_LTR">
|
|
<doc xml:space="preserve">A weak left-to-right direction</doc>
|
|
</member>
|
|
<member name="weak_rtl" value="5" c:identifier="PANGO_DIRECTION_WEAK_RTL" glib:nick="weak-rtl" glib:name="PANGO_DIRECTION_WEAK_RTL">
|
|
<doc xml:space="preserve">A weak right-to-left direction</doc>
|
|
</member>
|
|
<member name="neutral" value="6" c:identifier="PANGO_DIRECTION_NEUTRAL" glib:nick="neutral" glib:name="PANGO_DIRECTION_NEUTRAL">
|
|
<doc xml:space="preserve">No direction specified</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="EllipsizeMode" glib:type-name="PangoEllipsizeMode" glib:get-type="pango_ellipsize_mode_get_type" c:type="PangoEllipsizeMode">
|
|
<doc xml:space="preserve">`PangoEllipsizeMode` describes what sort of ellipsization
|
|
should be applied to text.
|
|
|
|
In the ellipsization process characters are removed from the
|
|
text in order to make it fit to a given width and replaced
|
|
with an ellipsis.</doc>
|
|
<member name="none" value="0" c:identifier="PANGO_ELLIPSIZE_NONE" glib:nick="none" glib:name="PANGO_ELLIPSIZE_NONE">
|
|
<doc xml:space="preserve">No ellipsization</doc>
|
|
</member>
|
|
<member name="start" value="1" c:identifier="PANGO_ELLIPSIZE_START" glib:nick="start" glib:name="PANGO_ELLIPSIZE_START">
|
|
<doc xml:space="preserve">Omit characters at the start of the text</doc>
|
|
</member>
|
|
<member name="middle" value="2" c:identifier="PANGO_ELLIPSIZE_MIDDLE" glib:nick="middle" glib:name="PANGO_ELLIPSIZE_MIDDLE">
|
|
<doc xml:space="preserve">Omit characters in the middle of the text</doc>
|
|
</member>
|
|
<member name="end" value="3" c:identifier="PANGO_ELLIPSIZE_END" glib:nick="end" glib:name="PANGO_ELLIPSIZE_END">
|
|
<doc xml:space="preserve">Omit characters at the end of the text</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="FONT" c:identifier="PANGO_FONT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONTSET" c:identifier="PANGO_FONTSET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONTSET_CLASS" c:identifier="PANGO_FONTSET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONTSET_GET_CLASS" c:identifier="PANGO_FONTSET_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONTSET_SIMPLE" c:identifier="PANGO_FONTSET_SIMPLE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONT_CLASS" c:identifier="PANGO_FONT_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONT_FACE" c:identifier="PANGO_FONT_FACE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONT_FACE_CLASS" c:identifier="PANGO_FONT_FACE_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONT_FACE_GET_CLASS" c:identifier="PANGO_FONT_FACE_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONT_FAMILY" c:identifier="PANGO_FONT_FAMILY" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONT_FAMILY_CLASS" c:identifier="PANGO_FONT_FAMILY_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONT_FAMILY_GET_CLASS" c:identifier="PANGO_FONT_FAMILY_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONT_GET_CLASS" c:identifier="PANGO_FONT_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONT_MAP" c:identifier="PANGO_FONT_MAP" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONT_MAP_CLASS" c:identifier="PANGO_FONT_MAP_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="FONT_MAP_GET_CLASS" c:identifier="PANGO_FONT_MAP_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<class name="Font" c:symbol-prefix="font" c:type="PangoFont" parent="GObject.Object" abstract="1" glib:type-name="PangoFont" glib:get-type="pango_font_get_type" glib:type-struct="FontClass">
|
|
<doc xml:space="preserve">A `PangoFont` is used to represent a font in a
|
|
rendering-system-independent manner.</doc>
|
|
<function name="descriptions_free" c:identifier="pango_font_descriptions_free">
|
|
<doc xml:space="preserve">Frees an array of font descriptions.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="descs" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer
|
|
to an array of `PangoFontDescription`, may be %NULL</doc>
|
|
<array length="1" zero-terminated="0" c:type="PangoFontDescription**">
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_descs" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of font descriptions in @descs</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="deserialize" c:identifier="pango_font_deserialize" version="1.50" throws="1">
|
|
<doc xml:space="preserve">Loads data previously created via [method@Pango.Font.serialize].
|
|
|
|
For a discussion of the supported format, see that function.
|
|
|
|
Note: to verify that the returned font is identical to
|
|
the one that was serialized, you can compare @bytes to the
|
|
result of serializing the font again.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</parameter>
|
|
<parameter name="bytes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the bytes containing the data</doc>
|
|
<type name="GLib.Bytes" c:type="GBytes*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="create_hb_font">
|
|
<return-value transfer-ownership="full">
|
|
<type name="HarfBuzz.font_t" c:type="gconstpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="describe" invoker="describe">
|
|
<doc xml:space="preserve">Returns a description of the font, with font size set in points.
|
|
|
|
Use [method@Pango.Font.describe_with_absolute_size] if you want
|
|
the font size in device units.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly-allocated `PangoFontDescription` object.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="describe_absolute">
|
|
<return-value transfer-ownership="full">
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_coverage" invoker="get_coverage">
|
|
<doc xml:space="preserve">Computes the coverage map for a given font and language tag.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly-allocated `PangoCoverage`
|
|
object.</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">the language tag</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_features" invoker="get_features" version="1.44">
|
|
<doc xml:space="preserve">Obtain the OpenType features that are provided by the font.
|
|
|
|
These are passed to the rendering system, together with features
|
|
that have been explicitly set via attributes.
|
|
|
|
Note that this does not include OpenType features which the
|
|
rendering system enables by default.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
<parameter name="features" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">Array to features in</doc>
|
|
<type c:type="gconstpointer" name="gconstpointer"/>
|
|
</parameter>
|
|
<parameter name="len" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the length of @features</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="num_features" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the number of used items in @features</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_font_map" invoker="get_font_map" version="1.10">
|
|
<doc xml:space="preserve">Gets the font map for which the font was created.
|
|
|
|
Note that the font maintains a *weak* reference to
|
|
the font map, so if all references to font map are
|
|
dropped, the font map will be finalized even if there
|
|
are fonts created with the font map that are still alive.
|
|
In that case this function will return %NULL.
|
|
|
|
It is the responsibility of the user to ensure that the
|
|
font map is kept alive. In most uses this is not an issue
|
|
as a `PangoContext` holds a reference to the font map.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the `PangoFontMap`
|
|
for the font</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_glyph_extents" invoker="get_glyph_extents">
|
|
<doc xml:space="preserve">Gets the logical and ink extents of a glyph within a font.
|
|
|
|
The coordinate system for each rectangle has its origin at the
|
|
base line and horizontal origin of the character with increasing
|
|
coordinates extending to the right and down. The macros PANGO_ASCENT(),
|
|
PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert
|
|
from the extents rectangle to more traditional font metrics. The units
|
|
of the rectangles are in 1/PANGO_SCALE of a device unit.
|
|
|
|
If @font is %NULL, this function gracefully sets some sane values in the
|
|
output variables and returns.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
<parameter name="glyph" transfer-ownership="none">
|
|
<doc xml:space="preserve">the glyph index</doc>
|
|
<type name="Glyph" c:type="PangoGlyph"/>
|
|
</parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the extents of the glyph as drawn</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the logical extents of the glyph</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_metrics" invoker="get_metrics">
|
|
<doc xml:space="preserve">Gets overall metric information for a font.
|
|
|
|
Since the metrics may be substantially different for different scripts,
|
|
a language tag can be provided to indicate that the metrics should be
|
|
retrieved that correspond to the script(s) used by that language.
|
|
|
|
If @font is %NULL, this function gracefully sets some sane values in the
|
|
output variables and returns.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` object. The caller must call
|
|
[method@Pango.FontMetrics.unref] when finished using the object.</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
<parameter name="language" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">language tag used to determine which script
|
|
to get the metrics for, or %NULL to indicate to get the metrics for
|
|
the entire font.</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="describe" c:identifier="pango_font_describe">
|
|
<doc xml:space="preserve">Returns a description of the font, with font size set in points.
|
|
|
|
Use [method@Pango.Font.describe_with_absolute_size] if you want
|
|
the font size in device units.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly-allocated `PangoFontDescription` object.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="describe_with_absolute_size" c:identifier="pango_font_describe_with_absolute_size" version="1.14">
|
|
<doc xml:space="preserve">Returns a description of the font, with absolute font size set
|
|
in device units.
|
|
|
|
Use [method@Pango.Font.describe] if you want the font size in points.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly-allocated `PangoFontDescription` object.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_coverage" c:identifier="pango_font_get_coverage">
|
|
<doc xml:space="preserve">Computes the coverage map for a given font and language tag.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly-allocated `PangoCoverage`
|
|
object.</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">the language tag</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_face" c:identifier="pango_font_get_face" version="1.46">
|
|
<doc xml:space="preserve">Gets the `PangoFontFace` to which @font belongs.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoFontFace`</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_features" c:identifier="pango_font_get_features" version="1.44">
|
|
<doc xml:space="preserve">Obtain the OpenType features that are provided by the font.
|
|
|
|
These are passed to the rendering system, together with features
|
|
that have been explicitly set via attributes.
|
|
|
|
Note that this does not include OpenType features which the
|
|
rendering system enables by default.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
<parameter name="features" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">Array to features in</doc>
|
|
<type c:type="gconstpointer" name="gconstpointer"/>
|
|
</parameter>
|
|
<parameter name="len" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the length of @features</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="num_features" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the number of used items in @features</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_font_map" c:identifier="pango_font_get_font_map" version="1.10">
|
|
<doc xml:space="preserve">Gets the font map for which the font was created.
|
|
|
|
Note that the font maintains a *weak* reference to
|
|
the font map, so if all references to font map are
|
|
dropped, the font map will be finalized even if there
|
|
are fonts created with the font map that are still alive.
|
|
In that case this function will return %NULL.
|
|
|
|
It is the responsibility of the user to ensure that the
|
|
font map is kept alive. In most uses this is not an issue
|
|
as a `PangoContext` holds a reference to the font map.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the `PangoFontMap`
|
|
for the font</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_glyph_extents" c:identifier="pango_font_get_glyph_extents">
|
|
<doc xml:space="preserve">Gets the logical and ink extents of a glyph within a font.
|
|
|
|
The coordinate system for each rectangle has its origin at the
|
|
base line and horizontal origin of the character with increasing
|
|
coordinates extending to the right and down. The macros PANGO_ASCENT(),
|
|
PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert
|
|
from the extents rectangle to more traditional font metrics. The units
|
|
of the rectangles are in 1/PANGO_SCALE of a device unit.
|
|
|
|
If @font is %NULL, this function gracefully sets some sane values in the
|
|
output variables and returns.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
<parameter name="glyph" transfer-ownership="none">
|
|
<doc xml:space="preserve">the glyph index</doc>
|
|
<type name="Glyph" c:type="PangoGlyph"/>
|
|
</parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the extents of the glyph as drawn</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the logical extents of the glyph</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_hb_font" c:identifier="pango_font_get_hb_font" version="1.44" introspectable="0">
|
|
<doc xml:space="preserve">Get a `hb_font_t` object backing this font.
|
|
|
|
Note that the objects returned by this function are cached
|
|
and immutable. If you need to make changes to the `hb_font_t`,
|
|
use [hb_font_create_sub_font()](https://harfbuzz.github.io/harfbuzz-hb-font.html#hb-font-create-sub-font).</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the `hb_font_t` object
|
|
backing the font</doc>
|
|
<type name="HarfBuzz.font_t" c:type="gconstpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_languages" c:identifier="pango_font_get_languages" version="1.50">
|
|
<doc xml:space="preserve">Returns the languages that are supported by @font.
|
|
|
|
If the font backend does not provide this information,
|
|
%NULL is returned. For the fontconfig backend, this
|
|
corresponds to the FC_LANG member of the FcPattern.
|
|
|
|
The returned array is only valid as long as the font
|
|
and its fontmap are valid.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">an array of `PangoLanguage`</doc>
|
|
<array c:type="PangoLanguage**">
|
|
<type name="Language"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_metrics" c:identifier="pango_font_get_metrics">
|
|
<doc xml:space="preserve">Gets overall metric information for a font.
|
|
|
|
Since the metrics may be substantially different for different scripts,
|
|
a language tag can be provided to indicate that the metrics should be
|
|
retrieved that correspond to the script(s) used by that language.
|
|
|
|
If @font is %NULL, this function gracefully sets some sane values in the
|
|
output variables and returns.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` object. The caller must call
|
|
[method@Pango.FontMetrics.unref] when finished using the object.</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
<parameter name="language" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">language tag used to determine which script
|
|
to get the metrics for, or %NULL to indicate to get the metrics for
|
|
the entire font.</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_char" c:identifier="pango_font_has_char" version="1.44">
|
|
<doc xml:space="preserve">Returns whether the font provides a glyph for this character.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">`TRUE` if @font can render @wc</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
<parameter name="wc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="serialize" c:identifier="pango_font_serialize" version="1.50">
|
|
<doc xml:space="preserve">Serializes the @font in a way that can be uniquely identified.
|
|
|
|
There are no guarantees about the format of the output across different
|
|
versions of Pango.
|
|
|
|
The intended use of this function is testing, benchmarking and debugging.
|
|
The format is not meant as a permanent storage format.
|
|
|
|
To recreate a font from its serialized form, use [func@Pango.Font.deserialize].</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `GBytes` containing the serialized form of @font</doc>
|
|
<type name="GLib.Bytes" c:type="GBytes*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent_instance">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
</class>
|
|
<record name="FontClass" c:type="PangoFontClass" glib:is-gtype-struct-for="Font">
|
|
<field name="parent_class">
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="describe">
|
|
<callback name="describe">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly-allocated `PangoFontDescription` object.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_coverage">
|
|
<callback name="get_coverage">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly-allocated `PangoCoverage`
|
|
object.</doc>
|
|
<type name="Coverage" c:type="PangoCoverage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">the language tag</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_glyph_extents">
|
|
<callback name="get_glyph_extents">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="font" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="glyph" transfer-ownership="none">
|
|
<doc xml:space="preserve">the glyph index</doc>
|
|
<type name="Glyph" c:type="PangoGlyph"/>
|
|
</parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the extents of the glyph as drawn</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the logical extents of the glyph</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_metrics">
|
|
<callback name="get_metrics">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` object. The caller must call
|
|
[method@Pango.FontMetrics.unref] when finished using the object.</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="font" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="language" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">language tag used to determine which script
|
|
to get the metrics for, or %NULL to indicate to get the metrics for
|
|
the entire font.</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_font_map">
|
|
<callback name="get_font_map">
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the `PangoFontMap`
|
|
for the font</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="font" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="describe_absolute">
|
|
<callback name="describe_absolute">
|
|
<return-value transfer-ownership="full">
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_features">
|
|
<callback name="get_features">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="features" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">Array to features in</doc>
|
|
<type c:type="gconstpointer" name="gconstpointer"/>
|
|
</parameter>
|
|
<parameter name="len" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the length of @features</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="num_features" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the number of used items in @features</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="create_hb_font">
|
|
<callback name="create_hb_font">
|
|
<return-value transfer-ownership="full">
|
|
<type name="HarfBuzz.font_t" c:type="gconstpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<record name="FontDescription" c:type="PangoFontDescription" glib:type-name="PangoFontDescription" glib:get-type="pango_font_description_get_type" c:symbol-prefix="font_description">
|
|
<doc xml:space="preserve">A `PangoFontDescription` describes a font in an implementation-independent
|
|
manner.
|
|
|
|
`PangoFontDescription` structures are used both to list what fonts are
|
|
available on the system and also for specifying the characteristics of
|
|
a font to load.</doc>
|
|
<constructor name="new" c:identifier="pango_font_description_new">
|
|
<doc xml:space="preserve">Creates a new font description structure with all fields unset.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoFontDescription`, which
|
|
should be freed using [method@Pango.FontDescription.free].</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="better_match" c:identifier="pango_font_description_better_match">
|
|
<doc xml:space="preserve">Determines if the style attributes of @new_match are a closer match
|
|
for @desc than those of @old_match are, or if @old_match is %NULL,
|
|
determines if @new_match is a match at all.
|
|
|
|
Approximate matching is done for weight and style; other style attributes
|
|
must match exactly. Style attributes are all attributes other than family
|
|
and size-related attributes. Approximate matching for style considers
|
|
%PANGO_STYLE_OBLIQUE and %PANGO_STYLE_ITALIC as matches, but not as good
|
|
a match as when the styles are equal.
|
|
|
|
Note that @old_match must match @desc.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @new_match is a better match</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="old_match" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFontDescription`, or %NULL</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
<parameter name="new_match" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="pango_font_description_copy">
|
|
<doc xml:space="preserve">Make a copy of a `PangoFontDescription`.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoFontDescription`,
|
|
which should be freed with [method@Pango.FontDescription.free],
|
|
or %NULL if @desc was %NULL.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFontDescription`, may be %NULL</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_static" c:identifier="pango_font_description_copy_static">
|
|
<doc xml:space="preserve">Make a copy of a `PangoFontDescription`, but don't duplicate
|
|
allocated fields.
|
|
|
|
This is like [method@Pango.FontDescription.copy], but only a shallow
|
|
copy is made of the family name and other allocated fields. The result
|
|
can only be used until @desc is modified or freed. This is meant
|
|
to be used when the copy is only needed temporarily.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoFontDescription`,
|
|
which should be freed with [method@Pango.FontDescription.free],
|
|
or %NULL if @desc was %NULL.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFontDescription`, may be %NULL</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="equal" c:identifier="pango_font_description_equal">
|
|
<doc xml:space="preserve">Compares two font descriptions for equality.
|
|
|
|
Two font descriptions are considered equal if the fonts they describe
|
|
are provably identical. This means that their masks do not have to match,
|
|
as long as other fields are all the same. (Two font descriptions may
|
|
result in identical fonts being loaded, but still compare %FALSE.)</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the two font descriptions are identical,
|
|
%FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="desc2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="pango_font_description_free">
|
|
<doc xml:space="preserve">Frees a font description.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFontDescription`, may be %NULL</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_family" c:identifier="pango_font_description_get_family">
|
|
<doc xml:space="preserve">Gets the family name field of a font description.
|
|
|
|
See [method@Pango.FontDescription.set_family].</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the family name field for the font
|
|
description, or %NULL if not previously set. This has the same
|
|
life-time as the font description itself and should not be freed.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`.</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_gravity" c:identifier="pango_font_description_get_gravity" version="1.16">
|
|
<doc xml:space="preserve">Gets the gravity field of a font description.
|
|
|
|
See [method@Pango.FontDescription.set_gravity].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the gravity field for the font description.
|
|
Use [method@Pango.FontDescription.get_set_fields] to find out
|
|
if the field was explicitly set or not.</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_set_fields" c:identifier="pango_font_description_get_set_fields">
|
|
<doc xml:space="preserve">Determines which fields in a font description have been set.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a bitmask with bits set corresponding to the
|
|
fields in @desc that have been set.</doc>
|
|
<type name="FontMask" c:type="PangoFontMask"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_size" c:identifier="pango_font_description_get_size">
|
|
<doc xml:space="preserve">Gets the size field of a font description.
|
|
|
|
See [method@Pango.FontDescription.set_size].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the size field for the font description in points
|
|
or device units. You must call
|
|
[method@Pango.FontDescription.get_size_is_absolute] to find out
|
|
which is the case. Returns 0 if the size field has not previously
|
|
been set or it has been set to 0 explicitly.
|
|
Use [method@Pango.FontDescription.get_set_fields] to find out
|
|
if the field was explicitly set or not.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_size_is_absolute" c:identifier="pango_font_description_get_size_is_absolute" version="1.8">
|
|
<doc xml:space="preserve">Determines whether the size of the font is in points (not absolute)
|
|
or device units (absolute).
|
|
|
|
See [method@Pango.FontDescription.set_size]
|
|
and [method@Pango.FontDescription.set_absolute_size].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the size for the font description is in
|
|
points or device units. Use [method@Pango.FontDescription.get_set_fields]
|
|
to find out if the size field of the font description was explicitly
|
|
set or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_stretch" c:identifier="pango_font_description_get_stretch">
|
|
<doc xml:space="preserve">Gets the stretch field of a font description.
|
|
|
|
See [method@Pango.FontDescription.set_stretch].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the stretch field for the font description.
|
|
Use [method@Pango.FontDescription.get_set_fields] to find
|
|
out if the field was explicitly set or not.</doc>
|
|
<type name="Stretch" c:type="PangoStretch"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`.</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_style" c:identifier="pango_font_description_get_style">
|
|
<doc xml:space="preserve">Gets the style field of a `PangoFontDescription`.
|
|
|
|
See [method@Pango.FontDescription.set_style].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the style field for the font description.
|
|
Use [method@Pango.FontDescription.get_set_fields] to
|
|
find out if the field was explicitly set or not.</doc>
|
|
<type name="Style" c:type="PangoStyle"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_variant" c:identifier="pango_font_description_get_variant">
|
|
<doc xml:space="preserve">Gets the variant field of a `PangoFontDescription`.
|
|
|
|
See [method@Pango.FontDescription.set_variant].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the variant field for the font description.
|
|
Use [method@Pango.FontDescription.get_set_fields] to find
|
|
out if the field was explicitly set or not.</doc>
|
|
<type name="Variant" c:type="PangoVariant"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`.</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_variations" c:identifier="pango_font_description_get_variations" version="1.42">
|
|
<doc xml:space="preserve">Gets the variations field of a font description.
|
|
|
|
See [method@Pango.FontDescription.set_variations].</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the variations field for the font
|
|
description, or %NULL if not previously set. This has the same
|
|
life-time as the font description itself and should not be freed.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_weight" c:identifier="pango_font_description_get_weight">
|
|
<doc xml:space="preserve">Gets the weight field of a font description.
|
|
|
|
See [method@Pango.FontDescription.set_weight].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the weight field for the font description.
|
|
Use [method@Pango.FontDescription.get_set_fields] to find
|
|
out if the field was explicitly set or not.</doc>
|
|
<type name="Weight" c:type="PangoWeight"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="hash" c:identifier="pango_font_description_hash">
|
|
<doc xml:space="preserve">Computes a hash of a `PangoFontDescription` structure.
|
|
|
|
This is suitable to be used, for example, as an argument
|
|
to g_hash_table_new(). The hash value is independent of @desc->mask.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the hash value.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge" c:identifier="pango_font_description_merge">
|
|
<doc xml:space="preserve">Merges the fields that are set in @desc_to_merge into the fields in
|
|
@desc.
|
|
|
|
If @replace_existing is %FALSE, only fields in @desc that
|
|
are not already set are affected. If %TRUE, then fields that are
|
|
already set will be replaced as well.
|
|
|
|
If @desc_to_merge is %NULL, this function performs nothing.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="desc_to_merge" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the `PangoFontDescription` to merge from,
|
|
or %NULL</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
<parameter name="replace_existing" transfer-ownership="none">
|
|
<doc xml:space="preserve">if %TRUE, replace fields in @desc with the
|
|
corresponding values from @desc_to_merge, even if they
|
|
are already exist.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge_static" c:identifier="pango_font_description_merge_static">
|
|
<doc xml:space="preserve">Merges the fields that are set in @desc_to_merge into the fields in
|
|
@desc, without copying allocated fields.
|
|
|
|
This is like [method@Pango.FontDescription.merge], but only a shallow copy
|
|
is made of the family name and other allocated fields. @desc can only
|
|
be used until @desc_to_merge is modified or freed. This is meant to
|
|
be used when the merged font description is only needed temporarily.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="desc_to_merge" transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoFontDescription` to merge from</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
<parameter name="replace_existing" transfer-ownership="none">
|
|
<doc xml:space="preserve">if %TRUE, replace fields in @desc with the
|
|
corresponding values from @desc_to_merge, even if they
|
|
are already exist.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_absolute_size" c:identifier="pango_font_description_set_absolute_size" version="1.8">
|
|
<doc xml:space="preserve">Sets the size field of a font description, in device units.
|
|
|
|
This is mutually exclusive with [method@Pango.FontDescription.set_size]
|
|
which sets the font size in points.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new size, in Pango units. There are %PANGO_SCALE Pango units
|
|
in one device unit. For an output backend where a device unit is a pixel,
|
|
a @size value of 10 * PANGO_SCALE gives a 10 pixel font.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_family" c:identifier="pango_font_description_set_family">
|
|
<doc xml:space="preserve">Sets the family name field of a font description.
|
|
|
|
The family
|
|
name represents a family of related font styles, and will
|
|
resolve to a particular `PangoFontFamily`. In some uses of
|
|
`PangoFontDescription`, it is also possible to use a comma
|
|
separated list of family names for this field.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string representing the family name.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_family_static" c:identifier="pango_font_description_set_family_static">
|
|
<doc xml:space="preserve">Sets the family name field of a font description, without copying the string.
|
|
|
|
This is like [method@Pango.FontDescription.set_family], except that no
|
|
copy of @family is made. The caller must make sure that the
|
|
string passed in stays around until @desc has been freed or the
|
|
name is set again. This function can be used if @family is a static
|
|
string such as a C string literal, or if @desc is only needed temporarily.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string representing the family name</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_gravity" c:identifier="pango_font_description_set_gravity" version="1.16">
|
|
<doc xml:space="preserve">Sets the gravity field of a font description.
|
|
|
|
The gravity field
|
|
specifies how the glyphs should be rotated. If @gravity is
|
|
%PANGO_GRAVITY_AUTO, this actually unsets the gravity mask on
|
|
the font description.
|
|
|
|
This function is seldom useful to the user. Gravity should normally
|
|
be set on a `PangoContext`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="gravity" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gravity for the font description.</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_size" c:identifier="pango_font_description_set_size">
|
|
<doc xml:space="preserve">Sets the size field of a font description in fractional points.
|
|
|
|
This is mutually exclusive with
|
|
[method@Pango.FontDescription.set_absolute_size].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of the font in points, scaled by %PANGO_SCALE.
|
|
(That is, a @size value of 10 * PANGO_SCALE is a 10 point font.
|
|
The conversion factor between points and device units depends on
|
|
system configuration and the output device. For screen display, a
|
|
logical DPI of 96 is common, in which case a 10 point font corresponds
|
|
to a 10 * (96 / 72) = 13.3 pixel font.
|
|
Use [method@Pango.FontDescription.set_absolute_size] if you need
|
|
a particular size in device units.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_stretch" c:identifier="pango_font_description_set_stretch">
|
|
<doc xml:space="preserve">Sets the stretch field of a font description.
|
|
|
|
The [enum@Pango.Stretch] field specifies how narrow or
|
|
wide the font should be.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="stretch" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stretch for the font description</doc>
|
|
<type name="Stretch" c:type="PangoStretch"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_style" c:identifier="pango_font_description_set_style">
|
|
<doc xml:space="preserve">Sets the style field of a `PangoFontDescription`.
|
|
|
|
The [enum@Pango.Style] enumeration describes whether the font is
|
|
slanted and the manner in which it is slanted; it can be either
|
|
%PANGO_STYLE_NORMAL, %PANGO_STYLE_ITALIC, or %PANGO_STYLE_OBLIQUE.
|
|
|
|
Most fonts will either have a italic style or an oblique style,
|
|
but not both, and font matching in Pango will match italic
|
|
specifications with oblique fonts and vice-versa if an exact
|
|
match is not found.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="style" transfer-ownership="none">
|
|
<doc xml:space="preserve">the style for the font description</doc>
|
|
<type name="Style" c:type="PangoStyle"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_variant" c:identifier="pango_font_description_set_variant">
|
|
<doc xml:space="preserve">Sets the variant field of a font description.
|
|
|
|
The [enum@Pango.Variant] can either be %PANGO_VARIANT_NORMAL
|
|
or %PANGO_VARIANT_SMALL_CAPS.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="variant" transfer-ownership="none">
|
|
<doc xml:space="preserve">the variant type for the font description.</doc>
|
|
<type name="Variant" c:type="PangoVariant"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_variations" c:identifier="pango_font_description_set_variations" version="1.42">
|
|
<doc xml:space="preserve">Sets the variations field of a font description.
|
|
|
|
OpenType font variations allow to select a font instance by
|
|
specifying values for a number of axes, such as width or weight.
|
|
|
|
The format of the variations string is
|
|
|
|
AXIS1=VALUE,AXIS2=VALUE...
|
|
|
|
with each AXIS a 4 character tag that identifies a font axis,
|
|
and each VALUE a floating point number. Unknown axes are ignored,
|
|
and values are clamped to their allowed range.
|
|
|
|
Pango does not currently have a way to find supported axes of
|
|
a font. Both harfbuzz and freetype have API for this. See
|
|
for example [hb_ot_var_get_axis_infos](https://harfbuzz.github.io/harfbuzz-hb-ot-var.html#hb-ot-var-get-axis-infos).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="variations" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a string representing the variations</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_variations_static" c:identifier="pango_font_description_set_variations_static" version="1.42">
|
|
<doc xml:space="preserve">Sets the variations field of a font description.
|
|
|
|
This is like [method@Pango.FontDescription.set_variations], except
|
|
that no copy of @variations is made. The caller must make sure that
|
|
the string passed in stays around until @desc has been freed
|
|
or the name is set again. This function can be used if
|
|
@variations is a static string such as a C string literal,
|
|
or if @desc is only needed temporarily.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="variations" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string representing the variations</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_weight" c:identifier="pango_font_description_set_weight">
|
|
<doc xml:space="preserve">Sets the weight field of a font description.
|
|
|
|
The weight field
|
|
specifies how bold or light the font should be. In addition
|
|
to the values of the [enum@Pango.Weight] enumeration, other
|
|
intermediate numeric values are possible.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="weight" transfer-ownership="none">
|
|
<doc xml:space="preserve">the weight for the font description.</doc>
|
|
<type name="Weight" c:type="PangoWeight"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_filename" c:identifier="pango_font_description_to_filename">
|
|
<doc xml:space="preserve">Creates a filename representation of a font description.
|
|
|
|
The filename is identical to the result from calling
|
|
[method@Pango.FontDescription.to_string], but with underscores
|
|
instead of characters that are untypical in filenames, and in
|
|
lower case only.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new string that must be freed with g_free().</doc>
|
|
<type name="utf8" c:type="char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="pango_font_description_to_string">
|
|
<doc xml:space="preserve">Creates a string representation of a font description.
|
|
|
|
See [func@Pango.FontDescription.from_string] for a description
|
|
of the format of the string representation. The family list in
|
|
the string description will only have a terminating comma if
|
|
the last word of the list is a valid style option.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new string that must be freed with g_free().</doc>
|
|
<type name="utf8" c:type="char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unset_fields" c:identifier="pango_font_description_unset_fields">
|
|
<doc xml:space="preserve">Unsets some of the fields in a `PangoFontDescription`.
|
|
|
|
The unset fields will get back to their default values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription`</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</instance-parameter>
|
|
<parameter name="to_unset" transfer-ownership="none">
|
|
<doc xml:space="preserve">bitmask of fields in the @desc to unset.</doc>
|
|
<type name="FontMask" c:type="PangoFontMask"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="from_string" c:identifier="pango_font_description_from_string">
|
|
<doc xml:space="preserve">Creates a new font description from a string representation.
|
|
|
|
The string must have the form
|
|
|
|
"\[FAMILY-LIST] \[STYLE-OPTIONS] \[SIZE] \[VARIATIONS]",
|
|
|
|
where FAMILY-LIST is a comma-separated list of families optionally
|
|
terminated by a comma, STYLE_OPTIONS is a whitespace-separated list
|
|
of words where each word describes one of style, variant, weight,
|
|
stretch, or gravity, and SIZE is a decimal number (size in points)
|
|
or optionally followed by the unit modifier "px" for absolute size.
|
|
VARIATIONS is a comma-separated list of font variation
|
|
specifications of the form "\@axis=value" (the = sign is optional).
|
|
|
|
The following words are understood as styles:
|
|
"Normal", "Roman", "Oblique", "Italic".
|
|
|
|
The following words are understood as variants:
|
|
"Small-Caps", "All-Small-Caps", "Petite-Caps", "All-Petite-Caps",
|
|
"Unicase", "Title-Caps".
|
|
|
|
The following words are understood as weights:
|
|
"Thin", "Ultra-Light", "Extra-Light", "Light", "Semi-Light",
|
|
"Demi-Light", "Book", "Regular", "Medium", "Semi-Bold", "Demi-Bold",
|
|
"Bold", "Ultra-Bold", "Extra-Bold", "Heavy", "Black", "Ultra-Black",
|
|
"Extra-Black".
|
|
|
|
The following words are understood as stretch values:
|
|
"Ultra-Condensed", "Extra-Condensed", "Condensed", "Semi-Condensed",
|
|
"Semi-Expanded", "Expanded", "Extra-Expanded", "Ultra-Expanded".
|
|
|
|
The following words are understood as gravity values:
|
|
"Not-Rotated", "South", "Upside-Down", "North", "Rotated-Left",
|
|
"East", "Rotated-Right", "West".
|
|
|
|
Any one of the options may be absent. If FAMILY-LIST is absent, then
|
|
the family_name field of the resulting font description will be
|
|
initialized to %NULL. If STYLE-OPTIONS is missing, then all style
|
|
options will be set to the default values. If SIZE is missing, the
|
|
size in the resulting font description will be set to 0.
|
|
|
|
A typical example:
|
|
|
|
"Cantarell Italic Light 15 \@wght=200"</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new `PangoFontDescription`.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="str" transfer-ownership="none">
|
|
<doc xml:space="preserve">string representation of a font description.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<class name="FontFace" c:symbol-prefix="font_face" c:type="PangoFontFace" parent="GObject.Object" abstract="1" glib:type-name="PangoFontFace" glib:get-type="pango_font_face_get_type" glib:type-struct="FontFaceClass">
|
|
<doc xml:space="preserve">A `PangoFontFace` is used to represent a group of fonts with
|
|
the same family, slant, weight, and width, but varying sizes.</doc>
|
|
<virtual-method name="describe" invoker="describe">
|
|
<doc xml:space="preserve">Returns a font description that matches the face.
|
|
|
|
The resulting font description will have the family, style,
|
|
variant, weight and stretch of the face, but its size field
|
|
will be unset.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly-created `PangoFontDescription` structure
|
|
holding the description of the face. Use [method@Pango.FontDescription.free]
|
|
to free the result.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_face_name" invoker="get_face_name">
|
|
<doc xml:space="preserve">Gets a name representing the style of this face.
|
|
|
|
Note that a font family may contain multiple faces
|
|
with the same name (e.g. a variable and a non-variable
|
|
face for the same style).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the face name for the face. This string is
|
|
owned by the face object and must not be modified or freed.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`.</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_family" invoker="get_family" version="1.46">
|
|
<doc xml:space="preserve">Gets the `PangoFontFamily` that @face belongs to.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="is_synthesized" invoker="is_synthesized" version="1.18">
|
|
<doc xml:space="preserve">Returns whether a `PangoFontFace` is synthesized.
|
|
|
|
This will be the case if the underlying font rendering engine
|
|
creates this face from another face, by shearing, emboldening,
|
|
lightening or modifying it in some other way.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether @face is synthesized</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="list_sizes" invoker="list_sizes" version="1.4">
|
|
<doc xml:space="preserve">List the available sizes for a font.
|
|
|
|
This is only applicable to bitmap fonts. For scalable fonts, stores
|
|
%NULL at the location pointed to by @sizes and 0 at the location pointed
|
|
to by @n_sizes. The sizes returned are in Pango units and are sorted
|
|
in ascending order.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`.</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</instance-parameter>
|
|
<parameter name="sizes" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">
|
|
location to store a pointer to an array of int. This array
|
|
should be freed with g_free().</doc>
|
|
<array length="1" zero-terminated="0" c:type="int**">
|
|
<type name="gint" c:type="int*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_sizes" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the number of elements in @sizes</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="describe" c:identifier="pango_font_face_describe">
|
|
<doc xml:space="preserve">Returns a font description that matches the face.
|
|
|
|
The resulting font description will have the family, style,
|
|
variant, weight and stretch of the face, but its size field
|
|
will be unset.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly-created `PangoFontDescription` structure
|
|
holding the description of the face. Use [method@Pango.FontDescription.free]
|
|
to free the result.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_face_name" c:identifier="pango_font_face_get_face_name">
|
|
<doc xml:space="preserve">Gets a name representing the style of this face.
|
|
|
|
Note that a font family may contain multiple faces
|
|
with the same name (e.g. a variable and a non-variable
|
|
face for the same style).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the face name for the face. This string is
|
|
owned by the face object and must not be modified or freed.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`.</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_family" c:identifier="pango_font_face_get_family" version="1.46">
|
|
<doc xml:space="preserve">Gets the `PangoFontFamily` that @face belongs to.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_synthesized" c:identifier="pango_font_face_is_synthesized" version="1.18">
|
|
<doc xml:space="preserve">Returns whether a `PangoFontFace` is synthesized.
|
|
|
|
This will be the case if the underlying font rendering engine
|
|
creates this face from another face, by shearing, emboldening,
|
|
lightening or modifying it in some other way.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether @face is synthesized</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="list_sizes" c:identifier="pango_font_face_list_sizes" version="1.4">
|
|
<doc xml:space="preserve">List the available sizes for a font.
|
|
|
|
This is only applicable to bitmap fonts. For scalable fonts, stores
|
|
%NULL at the location pointed to by @sizes and 0 at the location pointed
|
|
to by @n_sizes. The sizes returned are in Pango units and are sorted
|
|
in ascending order.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`.</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</instance-parameter>
|
|
<parameter name="sizes" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">
|
|
location to store a pointer to an array of int. This array
|
|
should be freed with g_free().</doc>
|
|
<array length="1" zero-terminated="0" c:type="int**">
|
|
<type name="gint" c:type="int*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_sizes" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the number of elements in @sizes</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent_instance">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
</class>
|
|
<record name="FontFaceClass" c:type="PangoFontFaceClass" glib:is-gtype-struct-for="FontFace">
|
|
<field name="parent_class">
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="get_face_name">
|
|
<callback name="get_face_name">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the face name for the face. This string is
|
|
owned by the face object and must not be modified or freed.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`.</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="describe">
|
|
<callback name="describe">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly-created `PangoFontDescription` structure
|
|
holding the description of the face. Use [method@Pango.FontDescription.free]
|
|
to free the result.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="list_sizes">
|
|
<callback name="list_sizes">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`.</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</parameter>
|
|
<parameter name="sizes" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">
|
|
location to store a pointer to an array of int. This array
|
|
should be freed with g_free().</doc>
|
|
<array length="2" zero-terminated="0" c:type="int**">
|
|
<type name="gint" c:type="int*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_sizes" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the number of elements in @sizes</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="is_synthesized">
|
|
<callback name="is_synthesized">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether @face is synthesized</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_family">
|
|
<callback name="get_family">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="face" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFace`</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_pango_reserved3" introspectable="0">
|
|
<callback name="_pango_reserved3">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
<field name="_pango_reserved4" introspectable="0">
|
|
<callback name="_pango_reserved4">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<class name="FontFamily" c:symbol-prefix="font_family" c:type="PangoFontFamily" parent="GObject.Object" abstract="1" glib:type-name="PangoFontFamily" glib:get-type="pango_font_family_get_type" glib:type-struct="FontFamilyClass">
|
|
<doc xml:space="preserve">A `PangoFontFamily` is used to represent a family of related
|
|
font faces.
|
|
|
|
The font faces in a family share a common design, but differ in
|
|
slant, weight, width or other aspects.</doc>
|
|
<virtual-method name="get_face" invoker="get_face" version="1.46">
|
|
<doc xml:space="preserve">Gets the `PangoFontFace` of @family with the given name.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the `PangoFontFace`,
|
|
or %NULL if no face with the given name exists.</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of a face. If the name is %NULL,
|
|
the family's default face (fontconfig calls it "Regular")
|
|
will be returned.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_name" invoker="get_name">
|
|
<doc xml:space="preserve">Gets the name of the family.
|
|
|
|
The name is unique among all fonts for the font backend and can
|
|
be used in a `PangoFontDescription` to specify that a face from
|
|
this family is desired.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the family. This string is owned
|
|
by the family object and must not be modified or freed.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="is_monospace" invoker="is_monospace" version="1.4">
|
|
<doc xml:space="preserve">A monospace font is a font designed for text display where the the
|
|
characters form a regular grid.
|
|
|
|
For Western languages this would
|
|
mean that the advance width of all characters are the same, but
|
|
this categorization also includes Asian fonts which include
|
|
double-width characters: characters that occupy two grid cells.
|
|
g_unichar_iswide() returns a result that indicates whether a
|
|
character is typically double-width in a monospace font.
|
|
|
|
The best way to find out the grid-cell size is to call
|
|
[method@Pango.FontMetrics.get_approximate_digit_width], since the
|
|
results of [method@Pango.FontMetrics.get_approximate_char_width] may
|
|
be affected by double-width characters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the family is monospace.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="is_variable" invoker="is_variable" version="1.44">
|
|
<doc xml:space="preserve">A variable font is a font which has axes that can be modified to
|
|
produce different faces.
|
|
|
|
Such axes are also known as _variations_; see
|
|
[method@Pango.FontDescription.set_variations] for more information.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the family is variable</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="list_faces" invoker="list_faces">
|
|
<doc xml:space="preserve">Lists the different font faces that make up @family.
|
|
|
|
The faces in a family share a common design, but differ in slant, weight,
|
|
width and other aspects.
|
|
|
|
Note that the returned faces are not in any particular order, and
|
|
multiple faces may have the same name or characteristics.
|
|
|
|
`PangoFontFamily` also implemented the [iface@Gio.ListModel] interface
|
|
for enumerating faces.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</instance-parameter>
|
|
<parameter name="faces" direction="out" caller-allocates="0" transfer-ownership="container" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">
|
|
location to store an array of pointers to `PangoFontFace` objects,
|
|
or %NULL. This array should be freed with g_free() when it is no
|
|
longer needed.</doc>
|
|
<array length="1" zero-terminated="0" c:type="PangoFontFace***">
|
|
<type name="FontFace" c:type="PangoFontFace**"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_faces" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store number of elements in @faces.</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="get_face" c:identifier="pango_font_family_get_face" version="1.46">
|
|
<doc xml:space="preserve">Gets the `PangoFontFace` of @family with the given name.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the `PangoFontFace`,
|
|
or %NULL if no face with the given name exists.</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of a face. If the name is %NULL,
|
|
the family's default face (fontconfig calls it "Regular")
|
|
will be returned.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_name" c:identifier="pango_font_family_get_name">
|
|
<doc xml:space="preserve">Gets the name of the family.
|
|
|
|
The name is unique among all fonts for the font backend and can
|
|
be used in a `PangoFontDescription` to specify that a face from
|
|
this family is desired.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the family. This string is owned
|
|
by the family object and must not be modified or freed.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_monospace" c:identifier="pango_font_family_is_monospace" version="1.4">
|
|
<doc xml:space="preserve">A monospace font is a font designed for text display where the the
|
|
characters form a regular grid.
|
|
|
|
For Western languages this would
|
|
mean that the advance width of all characters are the same, but
|
|
this categorization also includes Asian fonts which include
|
|
double-width characters: characters that occupy two grid cells.
|
|
g_unichar_iswide() returns a result that indicates whether a
|
|
character is typically double-width in a monospace font.
|
|
|
|
The best way to find out the grid-cell size is to call
|
|
[method@Pango.FontMetrics.get_approximate_digit_width], since the
|
|
results of [method@Pango.FontMetrics.get_approximate_char_width] may
|
|
be affected by double-width characters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the family is monospace.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_variable" c:identifier="pango_font_family_is_variable" version="1.44">
|
|
<doc xml:space="preserve">A variable font is a font which has axes that can be modified to
|
|
produce different faces.
|
|
|
|
Such axes are also known as _variations_; see
|
|
[method@Pango.FontDescription.set_variations] for more information.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the family is variable</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="list_faces" c:identifier="pango_font_family_list_faces">
|
|
<doc xml:space="preserve">Lists the different font faces that make up @family.
|
|
|
|
The faces in a family share a common design, but differ in slant, weight,
|
|
width and other aspects.
|
|
|
|
Note that the returned faces are not in any particular order, and
|
|
multiple faces may have the same name or characteristics.
|
|
|
|
`PangoFontFamily` also implemented the [iface@Gio.ListModel] interface
|
|
for enumerating faces.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</instance-parameter>
|
|
<parameter name="faces" direction="out" caller-allocates="0" transfer-ownership="container" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">
|
|
location to store an array of pointers to `PangoFontFace` objects,
|
|
or %NULL. This array should be freed with g_free() when it is no
|
|
longer needed.</doc>
|
|
<array length="1" zero-terminated="0" c:type="PangoFontFace***">
|
|
<type name="FontFace" c:type="PangoFontFace**"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_faces" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store number of elements in @faces.</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent_instance">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
</class>
|
|
<record name="FontFamilyClass" c:type="PangoFontFamilyClass" glib:is-gtype-struct-for="FontFamily">
|
|
<field name="parent_class">
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="list_faces">
|
|
<callback name="list_faces">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</parameter>
|
|
<parameter name="faces" direction="out" caller-allocates="0" transfer-ownership="container" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">
|
|
location to store an array of pointers to `PangoFontFace` objects,
|
|
or %NULL. This array should be freed with g_free() when it is no
|
|
longer needed.</doc>
|
|
<array length="2" zero-terminated="0" c:type="PangoFontFace***">
|
|
<type name="FontFace" c:type="PangoFontFace**"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_faces" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store number of elements in @faces.</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_name">
|
|
<callback name="get_name">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name of the family. This string is owned
|
|
by the family object and must not be modified or freed.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="is_monospace">
|
|
<callback name="is_monospace">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the family is monospace.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="is_variable">
|
|
<callback name="is_variable">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the family is variable</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_face">
|
|
<callback name="get_face">
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the `PangoFontFace`,
|
|
or %NULL if no face with the given name exists.</doc>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the name of a face. If the name is %NULL,
|
|
the family's default face (fontconfig calls it "Regular")
|
|
will be returned.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_pango_reserved2" introspectable="0">
|
|
<callback name="_pango_reserved2">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<class name="FontMap" c:symbol-prefix="font_map" c:type="PangoFontMap" parent="GObject.Object" abstract="1" glib:type-name="PangoFontMap" glib:get-type="pango_font_map_get_type" glib:type-struct="FontMapClass">
|
|
<doc xml:space="preserve">A `PangoFontMap` represents the set of fonts available for a
|
|
particular rendering system.
|
|
|
|
This is a virtual object with implementations being specific to
|
|
particular rendering systems.</doc>
|
|
<virtual-method name="changed" invoker="changed" version="1.34">
|
|
<doc xml:space="preserve">Forces a change in the context, which will cause any `PangoContext`
|
|
using this fontmap to change.
|
|
|
|
This function is only useful when implementing a new backend
|
|
for Pango, something applications won't do. Backends should
|
|
call this function if they have attached extra data to the
|
|
context and such data is changed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_face" introspectable="0">
|
|
<return-value>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_family" invoker="get_family" version="1.46">
|
|
<doc xml:space="preserve">Gets a font family by name.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a family name</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_serial" invoker="get_serial" version="1.32.4">
|
|
<doc xml:space="preserve">Returns the current serial number of @fontmap.
|
|
|
|
The serial number is initialized to an small number larger than zero
|
|
when a new fontmap is created and is increased whenever the fontmap
|
|
is changed. It may wrap, but will never have the value 0. Since it can
|
|
wrap, never compare it with "less than", always use "not equals".
|
|
|
|
The fontmap can only be changed using backend-specific API, like changing
|
|
fontmap resolution.
|
|
|
|
This can be used to automatically detect changes to a `PangoFontMap`,
|
|
like in `PangoContext`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current serial number of @fontmap.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="list_families" invoker="list_families">
|
|
<doc xml:space="preserve">List all families for a fontmap.
|
|
|
|
Note that the returned families are not in any particular order.
|
|
|
|
`PangoFontMap` also implemented the [iface@Gio.ListModel] interface
|
|
for enumerating families.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
<parameter name="families" direction="out" caller-allocates="0" transfer-ownership="container">
|
|
<doc xml:space="preserve">location to
|
|
store a pointer to an array of `PangoFontFamily` *.
|
|
This array should be freed with g_free().</doc>
|
|
<array length="1" zero-terminated="0" c:type="PangoFontFamily***">
|
|
<type name="FontFamily" c:type="PangoFontFamily**"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_families" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the number of elements in @families</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="load_font" invoker="load_font">
|
|
<doc xml:space="preserve">Load the font in the fontmap that is the closest match for @desc.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoFont`
|
|
loaded, or %NULL if no font matched.</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoContext` the font will be used with</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</parameter>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription` describing the font to load</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="load_fontset" invoker="load_fontset">
|
|
<doc xml:space="preserve">Load a set of fonts in the fontmap that can be used to render
|
|
a font matching @desc.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoFontset` loaded, or %NULL if no font matched.</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoContext` the font will be used with</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</parameter>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription` describing the font to load</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLanguage` the fonts will be used for</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="changed" c:identifier="pango_font_map_changed" version="1.34">
|
|
<doc xml:space="preserve">Forces a change in the context, which will cause any `PangoContext`
|
|
using this fontmap to change.
|
|
|
|
This function is only useful when implementing a new backend
|
|
for Pango, something applications won't do. Backends should
|
|
call this function if they have attached extra data to the
|
|
context and such data is changed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="create_context" c:identifier="pango_font_map_create_context" version="1.22">
|
|
<doc xml:space="preserve">Creates a `PangoContext` connected to @fontmap.
|
|
|
|
This is equivalent to [ctor@Pango.Context.new] followed by
|
|
[method@Pango.Context.set_font_map].
|
|
|
|
If you are using Pango as part of a higher-level system,
|
|
that system may have it's own way of create a `PangoContext`.
|
|
For instance, the GTK toolkit has, among others,
|
|
gtk_widget_get_pango_context(). Use those instead.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoContext`,
|
|
which should be freed with g_object_unref().</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_family" c:identifier="pango_font_map_get_family" version="1.46">
|
|
<doc xml:space="preserve">Gets a font family by name.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a family name</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_serial" c:identifier="pango_font_map_get_serial" version="1.32.4">
|
|
<doc xml:space="preserve">Returns the current serial number of @fontmap.
|
|
|
|
The serial number is initialized to an small number larger than zero
|
|
when a new fontmap is created and is increased whenever the fontmap
|
|
is changed. It may wrap, but will never have the value 0. Since it can
|
|
wrap, never compare it with "less than", always use "not equals".
|
|
|
|
The fontmap can only be changed using backend-specific API, like changing
|
|
fontmap resolution.
|
|
|
|
This can be used to automatically detect changes to a `PangoFontMap`,
|
|
like in `PangoContext`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current serial number of @fontmap.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="list_families" c:identifier="pango_font_map_list_families">
|
|
<doc xml:space="preserve">List all families for a fontmap.
|
|
|
|
Note that the returned families are not in any particular order.
|
|
|
|
`PangoFontMap` also implemented the [iface@Gio.ListModel] interface
|
|
for enumerating families.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
<parameter name="families" direction="out" caller-allocates="0" transfer-ownership="container">
|
|
<doc xml:space="preserve">location to
|
|
store a pointer to an array of `PangoFontFamily` *.
|
|
This array should be freed with g_free().</doc>
|
|
<array length="1" zero-terminated="0" c:type="PangoFontFamily***">
|
|
<type name="FontFamily" c:type="PangoFontFamily**"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_families" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the number of elements in @families</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="load_font" c:identifier="pango_font_map_load_font">
|
|
<doc xml:space="preserve">Load the font in the fontmap that is the closest match for @desc.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoFont`
|
|
loaded, or %NULL if no font matched.</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoContext` the font will be used with</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</parameter>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription` describing the font to load</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="load_fontset" c:identifier="pango_font_map_load_fontset">
|
|
<doc xml:space="preserve">Load a set of fonts in the fontmap that can be used to render
|
|
a font matching @desc.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoFontset` loaded, or %NULL if no font matched.</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</instance-parameter>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoContext` the font will be used with</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</parameter>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription` describing the font to load</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLanguage` the fonts will be used for</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent_instance">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
</class>
|
|
<record name="FontMapClass" c:type="PangoFontMapClass" glib:is-gtype-struct-for="FontMap">
|
|
<doc xml:space="preserve">The `PangoFontMapClass` structure holds the virtual functions for
|
|
a particular `PangoFontMap` implementation.</doc>
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">parent `GObjectClass`</doc>
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="load_font">
|
|
<callback name="load_font">
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoFont`
|
|
loaded, or %NULL if no font matched.</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</parameter>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoContext` the font will be used with</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</parameter>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription` describing the font to load</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="list_families">
|
|
<callback name="list_families">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</parameter>
|
|
<parameter name="families" direction="out" caller-allocates="0" transfer-ownership="container">
|
|
<doc xml:space="preserve">location to
|
|
store a pointer to an array of `PangoFontFamily` *.
|
|
This array should be freed with g_free().</doc>
|
|
<array length="2" zero-terminated="0" c:type="PangoFontFamily***">
|
|
<type name="FontFamily" c:type="PangoFontFamily**"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_families" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the number of elements in @families</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="load_fontset">
|
|
<callback name="load_fontset">
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoFontset` loaded, or %NULL if no font matched.</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</parameter>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoContext` the font will be used with</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</parameter>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontDescription` describing the font to load</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLanguage` the fonts will be used for</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="shape_engine_type">
|
|
<doc xml:space="preserve">the type of rendering-system-dependent engines that
|
|
can handle fonts of this fonts loaded with this fontmap.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</field>
|
|
<field name="get_serial">
|
|
<callback name="get_serial">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current serial number of @fontmap.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="changed">
|
|
<callback name="changed">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_family">
|
|
<callback name="get_family">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoFontFamily`</doc>
|
|
<type name="FontFamily" c:type="PangoFontFamily*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontmap" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMap`</doc>
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a family name</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_face" introspectable="0">
|
|
<callback name="get_face" introspectable="0">
|
|
<return-value>
|
|
<type name="FontFace" c:type="PangoFontFace*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontmap" transfer-ownership="none">
|
|
<type name="FontMap" c:type="PangoFontMap*"/>
|
|
</parameter>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<bitfield name="FontMask" glib:type-name="PangoFontMask" glib:get-type="pango_font_mask_get_type" c:type="PangoFontMask">
|
|
<doc xml:space="preserve">The bits in a `PangoFontMask` correspond to the set fields in a
|
|
`PangoFontDescription`.</doc>
|
|
<member name="family" value="1" c:identifier="PANGO_FONT_MASK_FAMILY" glib:nick="family" glib:name="PANGO_FONT_MASK_FAMILY">
|
|
<doc xml:space="preserve">the font family is specified.</doc>
|
|
</member>
|
|
<member name="style" value="2" c:identifier="PANGO_FONT_MASK_STYLE" glib:nick="style" glib:name="PANGO_FONT_MASK_STYLE">
|
|
<doc xml:space="preserve">the font style is specified.</doc>
|
|
</member>
|
|
<member name="variant" value="4" c:identifier="PANGO_FONT_MASK_VARIANT" glib:nick="variant" glib:name="PANGO_FONT_MASK_VARIANT">
|
|
<doc xml:space="preserve">the font variant is specified.</doc>
|
|
</member>
|
|
<member name="weight" value="8" c:identifier="PANGO_FONT_MASK_WEIGHT" glib:nick="weight" glib:name="PANGO_FONT_MASK_WEIGHT">
|
|
<doc xml:space="preserve">the font weight is specified.</doc>
|
|
</member>
|
|
<member name="stretch" value="16" c:identifier="PANGO_FONT_MASK_STRETCH" glib:nick="stretch" glib:name="PANGO_FONT_MASK_STRETCH">
|
|
<doc xml:space="preserve">the font stretch is specified.</doc>
|
|
</member>
|
|
<member name="size" value="32" c:identifier="PANGO_FONT_MASK_SIZE" glib:nick="size" glib:name="PANGO_FONT_MASK_SIZE">
|
|
<doc xml:space="preserve">the font size is specified.</doc>
|
|
</member>
|
|
<member name="gravity" value="64" c:identifier="PANGO_FONT_MASK_GRAVITY" glib:nick="gravity" glib:name="PANGO_FONT_MASK_GRAVITY">
|
|
<doc xml:space="preserve">the font gravity is specified (Since: 1.16.)</doc>
|
|
</member>
|
|
<member name="variations" value="128" c:identifier="PANGO_FONT_MASK_VARIATIONS" glib:nick="variations" glib:name="PANGO_FONT_MASK_VARIATIONS">
|
|
<doc xml:space="preserve">OpenType font variations are specified (Since: 1.42)</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="FontMetrics" c:type="PangoFontMetrics" glib:type-name="PangoFontMetrics" glib:get-type="pango_font_metrics_get_type" c:symbol-prefix="font_metrics">
|
|
<doc xml:space="preserve">A `PangoFontMetrics` structure holds the overall metric information
|
|
for a font.
|
|
|
|
The information in a `PangoFontMetrics` structure may be restricted
|
|
to a script. The fields of this structure are private to implementations
|
|
of a font backend. See the documentation of the corresponding getters
|
|
for documentation of their meaning.
|
|
|
|
For an overview of the most important metrics, see:
|
|
|
|
<picture>
|
|
<source srcset="fontmetrics-dark.png" media="(prefers-color-scheme: dark)">
|
|
<img alt="Font metrics" src="fontmetrics-light.png">
|
|
</picture></doc>
|
|
<field name="ref_count" readable="0" private="1">
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="ascent" readable="0" private="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="descent" readable="0" private="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="height" readable="0" private="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="approximate_char_width" readable="0" private="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="approximate_digit_width" readable="0" private="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="underline_position" readable="0" private="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="underline_thickness" readable="0" private="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="strikethrough_position" readable="0" private="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="strikethrough_thickness" readable="0" private="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<method name="get_approximate_char_width" c:identifier="pango_font_metrics_get_approximate_char_width">
|
|
<doc xml:space="preserve">Gets the approximate character width for a font metrics structure.
|
|
|
|
This is merely a representative value useful, for example, for
|
|
determining the initial size for a window. Actual characters in
|
|
text will be wider and narrower than this.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the character width, in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="metrics" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` structure</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_approximate_digit_width" c:identifier="pango_font_metrics_get_approximate_digit_width">
|
|
<doc xml:space="preserve">Gets the approximate digit width for a font metrics structure.
|
|
|
|
This is merely a representative value useful, for example, for
|
|
determining the initial size for a window. Actual digits in
|
|
text can be wider or narrower than this, though this value
|
|
is generally somewhat more accurate than the result of
|
|
pango_font_metrics_get_approximate_char_width() for digits.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the digit width, in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="metrics" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` structure</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_ascent" c:identifier="pango_font_metrics_get_ascent">
|
|
<doc xml:space="preserve">Gets the ascent from a font metrics structure.
|
|
|
|
The ascent is the distance from the baseline to the logical top
|
|
of a line of text. (The logical top may be above or below the top
|
|
of the actual drawn ink. It is necessary to lay out the text to
|
|
figure where the ink will be.)</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the ascent, in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="metrics" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` structure</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_descent" c:identifier="pango_font_metrics_get_descent">
|
|
<doc xml:space="preserve">Gets the descent from a font metrics structure.
|
|
|
|
The descent is the distance from the baseline to the logical bottom
|
|
of a line of text. (The logical bottom may be above or below the
|
|
bottom of the actual drawn ink. It is necessary to lay out the text
|
|
to figure where the ink will be.)</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the descent, in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="metrics" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` structure</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_height" c:identifier="pango_font_metrics_get_height" version="1.44">
|
|
<doc xml:space="preserve">Gets the line height from a font metrics structure.
|
|
|
|
The line height is the recommended distance between successive
|
|
baselines in wrapped text using this font.
|
|
|
|
If the line height is not available, 0 is returned.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the height, in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="metrics" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` structure</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_strikethrough_position" c:identifier="pango_font_metrics_get_strikethrough_position" version="1.6">
|
|
<doc xml:space="preserve">Gets the suggested position to draw the strikethrough.
|
|
|
|
The value returned is the distance *above* the
|
|
baseline of the top of the strikethrough.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the suggested strikethrough position, in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="metrics" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` structure</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_strikethrough_thickness" c:identifier="pango_font_metrics_get_strikethrough_thickness" version="1.6">
|
|
<doc xml:space="preserve">Gets the suggested thickness to draw for the strikethrough.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the suggested strikethrough thickness, in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="metrics" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` structure</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_underline_position" c:identifier="pango_font_metrics_get_underline_position" version="1.6">
|
|
<doc xml:space="preserve">Gets the suggested position to draw the underline.
|
|
|
|
The value returned is the distance *above* the baseline of the top
|
|
of the underline. Since most fonts have underline positions beneath
|
|
the baseline, this value is typically negative.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the suggested underline position, in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="metrics" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` structure</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_underline_thickness" c:identifier="pango_font_metrics_get_underline_thickness" version="1.6">
|
|
<doc xml:space="preserve">Gets the suggested thickness to draw for the underline.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the suggested underline thickness, in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="metrics" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` structure</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="pango_font_metrics_ref">
|
|
<doc xml:space="preserve">Increase the reference count of a font metrics structure by one.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">@metrics</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="metrics" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` structure, may be %NULL</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="pango_font_metrics_unref">
|
|
<doc xml:space="preserve">Decrease the reference count of a font metrics structure by one.
|
|
|
|
If the result is zero, frees the structure and any associated memory.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="metrics" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` structure, may be %NULL</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="FontScale" version="1.50" glib:type-name="PangoFontScale" glib:get-type="pango_font_scale_get_type" c:type="PangoFontScale">
|
|
<doc xml:space="preserve">An enumeration that affects font sizes for superscript
|
|
and subscript positioning and for (emulated) Small Caps.</doc>
|
|
<member name="none" value="0" c:identifier="PANGO_FONT_SCALE_NONE" glib:nick="none" glib:name="PANGO_FONT_SCALE_NONE">
|
|
<doc xml:space="preserve">Leave the font size unchanged</doc>
|
|
</member>
|
|
<member name="superscript" value="1" c:identifier="PANGO_FONT_SCALE_SUPERSCRIPT" glib:nick="superscript" glib:name="PANGO_FONT_SCALE_SUPERSCRIPT">
|
|
<doc xml:space="preserve">Change the font to a size suitable for superscripts</doc>
|
|
</member>
|
|
<member name="subscript" value="2" c:identifier="PANGO_FONT_SCALE_SUBSCRIPT" glib:nick="subscript" glib:name="PANGO_FONT_SCALE_SUBSCRIPT">
|
|
<doc xml:space="preserve">Change the font to a size suitable for subscripts</doc>
|
|
</member>
|
|
<member name="small_caps" value="3" c:identifier="PANGO_FONT_SCALE_SMALL_CAPS" glib:nick="small-caps" glib:name="PANGO_FONT_SCALE_SMALL_CAPS">
|
|
<doc xml:space="preserve">Change the font to a size suitable for Small Caps</doc>
|
|
</member>
|
|
</enumeration>
|
|
<class name="Fontset" c:symbol-prefix="fontset" c:type="PangoFontset" parent="GObject.Object" abstract="1" glib:type-name="PangoFontset" glib:get-type="pango_fontset_get_type" glib:type-struct="FontsetClass">
|
|
<doc xml:space="preserve">A `PangoFontset` represents a set of `PangoFont` to use when rendering text.
|
|
|
|
A `PangoFontset` is the result of resolving a `PangoFontDescription`
|
|
against a particular `PangoContext`. It has operations for finding the
|
|
component font for a particular Unicode character, and for finding a
|
|
composite set of metrics for the entire fontset.</doc>
|
|
<virtual-method name="foreach" invoker="foreach" version="1.4">
|
|
<doc xml:space="preserve">Iterates through all the fonts in a fontset, calling @func for
|
|
each one.
|
|
|
|
If @func returns %TRUE, that stops the iteration.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontset`</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">Callback function</doc>
|
|
<type name="FontsetForeachFunc" c:type="PangoFontsetForeachFunc"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">data to pass to the callback function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_font" invoker="get_font">
|
|
<doc xml:space="preserve">Returns the font in the fontset that contains the best
|
|
glyph for a Unicode character.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontset`</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</instance-parameter>
|
|
<parameter name="wc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_language">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontset" transfer-ownership="none">
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_metrics" invoker="get_metrics">
|
|
<doc xml:space="preserve">Get overall metric information for the fonts in the fontset.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` object</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontset`</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="foreach" c:identifier="pango_fontset_foreach" version="1.4">
|
|
<doc xml:space="preserve">Iterates through all the fonts in a fontset, calling @func for
|
|
each one.
|
|
|
|
If @func returns %TRUE, that stops the iteration.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontset`</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</instance-parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="1">
|
|
<doc xml:space="preserve">Callback function</doc>
|
|
<type name="FontsetForeachFunc" c:type="PangoFontsetForeachFunc"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">data to pass to the callback function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_font" c:identifier="pango_fontset_get_font">
|
|
<doc xml:space="preserve">Returns the font in the fontset that contains the best
|
|
glyph for a Unicode character.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontset`</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</instance-parameter>
|
|
<parameter name="wc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_metrics" c:identifier="pango_fontset_get_metrics">
|
|
<doc xml:space="preserve">Get overall metric information for the fonts in the fontset.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` object</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontset`</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent_instance">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
</class>
|
|
<record name="FontsetClass" c:type="PangoFontsetClass" glib:is-gtype-struct-for="Fontset">
|
|
<doc xml:space="preserve">The `PangoFontsetClass` structure holds the virtual functions for
|
|
a particular `PangoFontset` implementation.</doc>
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">parent `GObjectClass`</doc>
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="get_font">
|
|
<callback name="get_font">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontset`</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</parameter>
|
|
<parameter name="wc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_metrics">
|
|
<callback name="get_metrics">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoFontMetrics` object</doc>
|
|
<type name="FontMetrics" c:type="PangoFontMetrics*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontset`</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_language">
|
|
<callback name="get_language">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontset" transfer-ownership="none">
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="foreach">
|
|
<callback name="foreach">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontset`</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</parameter>
|
|
<parameter name="func" transfer-ownership="none" scope="call" closure="2">
|
|
<doc xml:space="preserve">Callback function</doc>
|
|
<type name="FontsetForeachFunc" c:type="PangoFontsetForeachFunc"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">data to pass to the callback function</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_pango_reserved1" introspectable="0">
|
|
<callback name="_pango_reserved1">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
<field name="_pango_reserved2" introspectable="0">
|
|
<callback name="_pango_reserved2">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
<field name="_pango_reserved3" introspectable="0">
|
|
<callback name="_pango_reserved3">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
<field name="_pango_reserved4" introspectable="0">
|
|
<callback name="_pango_reserved4">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<callback name="FontsetForeachFunc" c:type="PangoFontsetForeachFunc" version="1.4">
|
|
<doc xml:space="preserve">Callback used when enumerating fonts in a fontset.
|
|
|
|
See [method@Pango.Fontset.foreach].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">if %TRUE, stop iteration and return immediately.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontset`</doc>
|
|
<type name="Fontset" c:type="PangoFontset*"/>
|
|
</parameter>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a font from @fontset</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<doc xml:space="preserve">callback data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<class name="FontsetSimple" c:symbol-prefix="fontset_simple" c:type="PangoFontsetSimple" parent="Fontset" glib:type-name="PangoFontsetSimple" glib:get-type="pango_fontset_simple_get_type" glib:type-struct="FontsetSimpleClass">
|
|
<doc xml:space="preserve">`PangoFontsetSimple` is a implementation of the abstract
|
|
`PangoFontset` base class as an array of fonts.
|
|
|
|
When creating a `PangoFontsetSimple`, you have to provide
|
|
the array of fonts that make up the fontset.</doc>
|
|
<constructor name="new" c:identifier="pango_fontset_simple_new">
|
|
<doc xml:space="preserve">Creates a new `PangoFontsetSimple` for the given language.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoFontsetSimple`</doc>
|
|
<type name="FontsetSimple" c:type="PangoFontsetSimple*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLanguage` tag</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="append" c:identifier="pango_fontset_simple_append">
|
|
<doc xml:space="preserve">Adds a font to the fontset.
|
|
|
|
The fontset takes ownership of @font.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontsetSimple`.</doc>
|
|
<type name="FontsetSimple" c:type="PangoFontsetSimple*"/>
|
|
</instance-parameter>
|
|
<parameter name="font" transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoFont`.</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="size" c:identifier="pango_fontset_simple_size">
|
|
<doc xml:space="preserve">Returns the number of fonts in the fontset.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of @fontset</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="fontset" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontsetSimple`.</doc>
|
|
<type name="FontsetSimple" c:type="PangoFontsetSimple*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</class>
|
|
<record name="FontsetSimpleClass" c:type="PangoFontsetSimpleClass" disguised="1" glib:is-gtype-struct-for="FontsetSimple"/>
|
|
<function-macro name="GET_UNKNOWN_GLYPH" c:identifier="PANGO_GET_UNKNOWN_GLYPH" introspectable="0">
|
|
<doc xml:space="preserve">The way this unknown glyphs are rendered is backend specific. For example,
|
|
a box with the hexadecimal Unicode code-point of the character written in it
|
|
is what is done in the most common backends.</doc>
|
|
<parameters>
|
|
<parameter name="wc">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="GLYPH_EMPTY" value="268435455" c:type="PANGO_GLYPH_EMPTY">
|
|
<doc xml:space="preserve">A `PangoGlyph` value that indicates a zero-width empty glpyh.
|
|
|
|
This is useful for example in shaper modules, to use as the glyph for
|
|
various zero-width Unicode characters (those passing [func@is_zero_width]).</doc>
|
|
<type name="Glyph" c:type="PangoGlyph"/>
|
|
</constant>
|
|
<constant name="GLYPH_INVALID_INPUT" value="4294967295" c:type="PANGO_GLYPH_INVALID_INPUT" version="1.20">
|
|
<doc xml:space="preserve">A `PangoGlyph` value for invalid input.
|
|
|
|
`PangoLayout` produces one such glyph per invalid input UTF-8 byte and such
|
|
a glyph is rendered as a crossed box.
|
|
|
|
Note that this value is defined such that it has the %PANGO_GLYPH_UNKNOWN_FLAG
|
|
set.</doc>
|
|
<type name="Glyph" c:type="PangoGlyph"/>
|
|
</constant>
|
|
<constant name="GLYPH_UNKNOWN_FLAG" value="268435456" c:type="PANGO_GLYPH_UNKNOWN_FLAG">
|
|
<doc xml:space="preserve">Flag used in `PangoGlyph` to turn a `gunichar` value of a valid Unicode
|
|
character into an unknown-character glyph for that `gunichar`.
|
|
|
|
Such unknown-character glyphs may be rendered as a 'hex box'.</doc>
|
|
<type name="Glyph" c:type="PangoGlyph"/>
|
|
</constant>
|
|
<function-macro name="GRAVITY_IS_IMPROPER" c:identifier="PANGO_GRAVITY_IS_IMPROPER" version="1.32" introspectable="0">
|
|
<doc xml:space="preserve">Whether a `PangoGravity` represents a gravity that results in reversal
|
|
of text direction.</doc>
|
|
<parameters>
|
|
<parameter name="gravity">
|
|
<doc xml:space="preserve">the `PangoGravity` to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="GRAVITY_IS_VERTICAL" c:identifier="PANGO_GRAVITY_IS_VERTICAL" version="1.16" introspectable="0">
|
|
<doc xml:space="preserve">Whether a `PangoGravity` represents vertical writing directions.</doc>
|
|
<parameters>
|
|
<parameter name="gravity">
|
|
<doc xml:space="preserve">the `PangoGravity` to check</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<record name="GlyphGeometry" c:type="PangoGlyphGeometry">
|
|
<doc xml:space="preserve">The `PangoGlyphGeometry` structure contains width and positioning
|
|
information for a single glyph.
|
|
|
|
Note that @width is not guaranteed to be the same as the glyph
|
|
extents. Kerning and other positioning applied during shaping will
|
|
affect both the @width and the @x_offset for the glyphs in the
|
|
glyph string that results from shaping.
|
|
|
|
The information in this struct is intended for rendering the glyphs,
|
|
as follows:
|
|
|
|
1. Assume the current point is (x, y)
|
|
2. Render the current glyph at (x + x_offset, y + y_offset),
|
|
3. Advance the current point to (x + width, y)
|
|
4. Render the next glyph</doc>
|
|
<field name="width" writable="1">
|
|
<doc xml:space="preserve">the logical width to use for the the character.</doc>
|
|
<type name="GlyphUnit" c:type="PangoGlyphUnit"/>
|
|
</field>
|
|
<field name="x_offset" writable="1">
|
|
<doc xml:space="preserve">horizontal offset from nominal character position.</doc>
|
|
<type name="GlyphUnit" c:type="PangoGlyphUnit"/>
|
|
</field>
|
|
<field name="y_offset" writable="1">
|
|
<doc xml:space="preserve">vertical offset from nominal character position.</doc>
|
|
<type name="GlyphUnit" c:type="PangoGlyphUnit"/>
|
|
</field>
|
|
</record>
|
|
<record name="GlyphInfo" c:type="PangoGlyphInfo">
|
|
<doc xml:space="preserve">A `PangoGlyphInfo` structure represents a single glyph with
|
|
positioning information and visual attributes.</doc>
|
|
<field name="glyph" writable="1">
|
|
<doc xml:space="preserve">the glyph itself.</doc>
|
|
<type name="Glyph" c:type="PangoGlyph"/>
|
|
</field>
|
|
<field name="geometry" writable="1">
|
|
<doc xml:space="preserve">the positional information about the glyph.</doc>
|
|
<type name="GlyphGeometry" c:type="PangoGlyphGeometry"/>
|
|
</field>
|
|
<field name="attr" writable="1">
|
|
<doc xml:space="preserve">the visual attributes of the glyph.</doc>
|
|
<type name="GlyphVisAttr" c:type="PangoGlyphVisAttr"/>
|
|
</field>
|
|
</record>
|
|
<record name="GlyphItem" c:type="PangoGlyphItem" glib:type-name="PangoGlyphItem" glib:get-type="pango_glyph_item_get_type" c:symbol-prefix="glyph_item">
|
|
<doc xml:space="preserve">A `PangoGlyphItem` is a pair of a `PangoItem` and the glyphs
|
|
resulting from shaping the items text.
|
|
|
|
As an example of the usage of `PangoGlyphItem`, the results
|
|
of shaping text with `PangoLayout` is a list of `PangoLayoutLine`,
|
|
each of which contains a list of `PangoGlyphItem`.</doc>
|
|
<field name="item" writable="1">
|
|
<doc xml:space="preserve">corresponding `PangoItem`</doc>
|
|
<type name="Item" c:type="PangoItem*"/>
|
|
</field>
|
|
<field name="glyphs" writable="1">
|
|
<doc xml:space="preserve">corresponding `PangoGlyphString`</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</field>
|
|
<field name="y_offset" writable="1">
|
|
<doc xml:space="preserve">shift of the baseline, relative to the baseline
|
|
of the containing line. Positive values shift upwards</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="start_x_offset" writable="1">
|
|
<doc xml:space="preserve">horizontal displacement to apply before the
|
|
glyph item. Positive values shift right</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="end_x_offset" writable="1">
|
|
<doc xml:space="preserve">horizontal displacement to apply after th
|
|
glyph item. Positive values shift right</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<method name="apply_attrs" c:identifier="pango_glyph_item_apply_attrs" version="1.2">
|
|
<doc xml:space="preserve">Splits a shaped item (`PangoGlyphItem`) into multiple items based
|
|
on an attribute list.
|
|
|
|
The idea is that if you have attributes that don't affect shaping,
|
|
such as color or underline, to avoid affecting shaping, you filter
|
|
them out ([method@Pango.AttrList.filter]), apply the shaping process
|
|
and then reapply them to the result using this function.
|
|
|
|
All attributes that start or end inside a cluster are applied
|
|
to that cluster; for instance, if half of a cluster is underlined
|
|
and the other-half strikethrough, then the cluster will end
|
|
up with both underline and strikethrough attributes. In these
|
|
cases, it may happen that @item->extra_attrs for some of the
|
|
result items can have multiple attributes of the same type.
|
|
|
|
This function takes ownership of @glyph_item; it will be reused
|
|
as one of the elements in the list.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a
|
|
list of glyph items resulting from splitting @glyph_item. Free
|
|
the elements using [method@Pango.GlyphItem.free], the list using
|
|
g_slist_free().</doc>
|
|
<type name="GLib.SList" c:type="GSList*">
|
|
<type name="GlyphItem"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="glyph_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">a shaped item</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</instance-parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">text that @list applies to</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="pango_glyph_item_copy" version="1.20">
|
|
<doc xml:space="preserve">Make a deep copy of an existing `PangoGlyphItem` structure.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoGlyphItem`</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="orig" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoGlyphItem`</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="pango_glyph_item_free" version="1.6">
|
|
<doc xml:space="preserve">Frees a `PangoGlyphItem` and resources to which it points.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="glyph_item" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoGlyphItem`</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_logical_widths" c:identifier="pango_glyph_item_get_logical_widths" version="1.26">
|
|
<doc xml:space="preserve">Given a `PangoGlyphItem` and the corresponding text, determine the
|
|
width corresponding to each character.
|
|
|
|
When multiple characters compose a single cluster, the width of the
|
|
entire cluster is divided equally among the characters.
|
|
|
|
See also [method@Pango.GlyphString.get_logical_widths].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="glyph_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphItem`</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</instance-parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">text that @glyph_item corresponds to
|
|
(glyph_item->item->offset is an offset from the
|
|
start of @text)</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="logical_widths" transfer-ownership="none">
|
|
<doc xml:space="preserve">an array whose length is the number of
|
|
characters in glyph_item (equal to glyph_item->item->num_chars)
|
|
to be filled in with the resulting character widths.</doc>
|
|
<array zero-terminated="0" c:type="int*">
|
|
<type name="gint" c:type="int"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="letter_space" c:identifier="pango_glyph_item_letter_space" version="1.6">
|
|
<doc xml:space="preserve">Adds spacing between the graphemes of @glyph_item to
|
|
give the effect of typographic letter spacing.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="glyph_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphItem`</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</instance-parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">text that @glyph_item corresponds to
|
|
(glyph_item->item->offset is an offset from the
|
|
start of @text)</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="log_attrs" transfer-ownership="none">
|
|
<doc xml:space="preserve">logical attributes for the item
|
|
(the first logical attribute refers to the position
|
|
before the first character in the item)</doc>
|
|
<array zero-terminated="0" c:type="PangoLogAttr*">
|
|
<type name="LogAttr" c:type="PangoLogAttr"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="letter_spacing" transfer-ownership="none">
|
|
<doc xml:space="preserve">amount of letter spacing to add
|
|
in Pango units. May be negative, though too large
|
|
negative values will give ugly results.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="split" c:identifier="pango_glyph_item_split" version="1.2">
|
|
<doc xml:space="preserve">Modifies @orig to cover only the text after @split_index, and
|
|
returns a new item that covers the text before @split_index that
|
|
used to be in @orig.
|
|
|
|
You can think of @split_index as the length of the returned item.
|
|
@split_index may not be 0, and it may not be greater than or equal
|
|
to the length of @orig (that is, there must be at least one byte
|
|
assigned to each item, you can't create a zero-length item).
|
|
|
|
This function is similar in function to pango_item_split() (and uses
|
|
it internally.)</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated item representing text before
|
|
@split_index, which should be freed
|
|
with pango_glyph_item_free().</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="orig" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoItem`</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</instance-parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">text to which positions in @orig apply</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="split_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">byte index of position to split item, relative to the
|
|
start of the item</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="GlyphItemIter" c:type="PangoGlyphItemIter" version="1.22" glib:type-name="PangoGlyphItemIter" glib:get-type="pango_glyph_item_iter_get_type" c:symbol-prefix="glyph_item_iter">
|
|
<doc xml:space="preserve">A `PangoGlyphItemIter` is an iterator over the clusters in a
|
|
`PangoGlyphItem`.
|
|
|
|
The *forward direction* of the iterator is the logical direction of text.
|
|
That is, with increasing @start_index and @start_char values. If @glyph_item
|
|
is right-to-left (that is, if `glyph_item->item->analysis.level` is odd),
|
|
then @start_glyph decreases as the iterator moves forward. Moreover,
|
|
in right-to-left cases, @start_glyph is greater than @end_glyph.
|
|
|
|
An iterator should be initialized using either
|
|
pango_glyph_item_iter_init_start() or
|
|
pango_glyph_item_iter_init_end(), for forward and backward iteration
|
|
respectively, and walked over using any desired mixture of
|
|
pango_glyph_item_iter_next_cluster() and
|
|
pango_glyph_item_iter_prev_cluster().
|
|
|
|
A common idiom for doing a forward iteration over the clusters is:
|
|
|
|
```
|
|
PangoGlyphItemIter cluster_iter;
|
|
gboolean have_cluster;
|
|
|
|
for (have_cluster = pango_glyph_item_iter_init_start (&cluster_iter,
|
|
glyph_item, text);
|
|
have_cluster;
|
|
have_cluster = pango_glyph_item_iter_next_cluster (&cluster_iter))
|
|
{
|
|
...
|
|
}
|
|
```
|
|
|
|
Note that @text is the start of the text for layout, which is then
|
|
indexed by `glyph_item->item->offset` to get to the text of @glyph_item.
|
|
The @start_index and @end_index values can directly index into @text. The
|
|
@start_glyph, @end_glyph, @start_char, and @end_char values however are
|
|
zero-based for the @glyph_item. For each cluster, the item pointed at by
|
|
the start variables is included in the cluster while the one pointed at by
|
|
end variables is not.
|
|
|
|
None of the members of a `PangoGlyphItemIter` should be modified manually.</doc>
|
|
<field name="glyph_item" writable="1">
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</field>
|
|
<field name="text" writable="1">
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="start_glyph" writable="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="start_index" writable="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="start_char" writable="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="end_glyph" writable="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="end_index" writable="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="end_char" writable="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<method name="copy" c:identifier="pango_glyph_item_iter_copy" version="1.22">
|
|
<doc xml:space="preserve">Make a shallow copy of an existing `PangoGlyphItemIter` structure.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoGlyphItemIter`</doc>
|
|
<type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="orig" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoGlyphItem`Iter</doc>
|
|
<type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="pango_glyph_item_iter_free" version="1.22">
|
|
<doc xml:space="preserve">Frees a `PangoGlyphItem`Iter.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoGlyphItemIter`</doc>
|
|
<type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init_end" c:identifier="pango_glyph_item_iter_init_end" version="1.22">
|
|
<doc xml:space="preserve">Initializes a `PangoGlyphItemIter` structure to point to the
|
|
last cluster in a glyph item.
|
|
|
|
See `PangoGlyphItemIter` for details of cluster orders.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if there are no clusters in the glyph item</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphItemIter`</doc>
|
|
<type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
|
|
</instance-parameter>
|
|
<parameter name="glyph_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">the glyph item to iterate over</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">text corresponding to the glyph item</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init_start" c:identifier="pango_glyph_item_iter_init_start" version="1.22">
|
|
<doc xml:space="preserve">Initializes a `PangoGlyphItemIter` structure to point to the
|
|
first cluster in a glyph item.
|
|
|
|
See `PangoGlyphItemIter` for details of cluster orders.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if there are no clusters in the glyph item</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphItemIter`</doc>
|
|
<type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
|
|
</instance-parameter>
|
|
<parameter name="glyph_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">the glyph item to iterate over</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">text corresponding to the glyph item</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="next_cluster" c:identifier="pango_glyph_item_iter_next_cluster" version="1.22">
|
|
<doc xml:space="preserve">Advances the iterator to the next cluster in the glyph item.
|
|
|
|
See `PangoGlyphItemIter` for details of cluster orders.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the iterator was advanced,
|
|
%FALSE if we were already on the last cluster.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphItemIter`</doc>
|
|
<type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="prev_cluster" c:identifier="pango_glyph_item_iter_prev_cluster" version="1.22">
|
|
<doc xml:space="preserve">Moves the iterator to the preceding cluster in the glyph item.
|
|
See `PangoGlyphItemIter` for details of cluster orders.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the iterator was moved,
|
|
%FALSE if we were already on the first cluster.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphItemIter`</doc>
|
|
<type name="GlyphItemIter" c:type="PangoGlyphItemIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="GlyphString" c:type="PangoGlyphString" glib:type-name="PangoGlyphString" glib:get-type="pango_glyph_string_get_type" c:symbol-prefix="glyph_string">
|
|
<doc xml:space="preserve">A `PangoGlyphString` is used to store strings of glyphs with geometry
|
|
and visual attribute information.
|
|
|
|
The storage for the glyph information is owned by the structure
|
|
which simplifies memory management.</doc>
|
|
<field name="num_glyphs" writable="1">
|
|
<doc xml:space="preserve">number of glyphs in this glyph string</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="glyphs" writable="1">
|
|
<doc xml:space="preserve">array of glyph information</doc>
|
|
<array length="0" zero-terminated="0" c:type="PangoGlyphInfo*">
|
|
<type name="GlyphInfo" c:type="PangoGlyphInfo"/>
|
|
</array>
|
|
</field>
|
|
<field name="log_clusters" writable="1">
|
|
<doc xml:space="preserve">logical cluster info, indexed by the byte index
|
|
within the text corresponding to the glyph string</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</field>
|
|
<field name="space" readable="0" private="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<constructor name="new" c:identifier="pango_glyph_string_new">
|
|
<doc xml:space="preserve">Create a new `PangoGlyphString`.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoGlyphString`, which
|
|
should be freed with [method@Pango.GlyphString.free].</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="copy" c:identifier="pango_glyph_string_copy">
|
|
<doc xml:space="preserve">Copy a glyph string and associated storage.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoGlyphString`</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="string" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoGlyphString`</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="extents" c:identifier="pango_glyph_string_extents">
|
|
<doc xml:space="preserve">Compute the logical and ink extents of a glyph string.
|
|
|
|
See the documentation for [method@Pango.Font.get_glyph_extents] for details
|
|
about the interpretation of the rectangles.
|
|
|
|
Examples of logical (red) and ink (green) rects:
|
|
|
|
 </doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphString`</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</instance-parameter>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the extents of the glyph string as drawn</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the logical extents of the glyph string</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="extents_range" c:identifier="pango_glyph_string_extents_range">
|
|
<doc xml:space="preserve">Computes the extents of a sub-portion of a glyph string.
|
|
|
|
The extents are relative to the start of the glyph string range
|
|
(the origin of their coordinate system is at the start of the range,
|
|
not at the start of the entire glyph string).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphString`</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" transfer-ownership="none">
|
|
<doc xml:space="preserve">start index</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="end" transfer-ownership="none">
|
|
<doc xml:space="preserve">end index (the range is the set of bytes with
|
|
indices such that start <= index < end)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to
|
|
store the extents of the glyph string range as drawn</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to
|
|
store the logical extents of the glyph string range</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="pango_glyph_string_free">
|
|
<doc xml:space="preserve">Free a glyph string and associated storage.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="string" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoGlyphString`, may be %NULL</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_logical_widths" c:identifier="pango_glyph_string_get_logical_widths">
|
|
<doc xml:space="preserve">Given a `PangoGlyphString` and corresponding text, determine the width
|
|
corresponding to each character.
|
|
|
|
When multiple characters compose a single cluster, the width of the
|
|
entire cluster is divided equally among the characters.
|
|
|
|
See also [method@Pango.GlyphItem.get_logical_widths].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphString`</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</instance-parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">the text corresponding to the glyphs</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the length of @text, in bytes</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="embedding_level" transfer-ownership="none">
|
|
<doc xml:space="preserve">the embedding level of the string</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="logical_widths" transfer-ownership="none">
|
|
<doc xml:space="preserve">an array whose length is the number of
|
|
characters in text (equal to `g_utf8_strlen (text, length)` unless
|
|
text has `NUL` bytes) to be filled in with the resulting character widths.</doc>
|
|
<array zero-terminated="0" c:type="int*">
|
|
<type name="gint" c:type="int"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_width" c:identifier="pango_glyph_string_get_width" version="1.14">
|
|
<doc xml:space="preserve">Computes the logical width of the glyph string.
|
|
|
|
This can also be computed using [method@Pango.GlyphString.extents].
|
|
However, since this only computes the width, it's much faster. This
|
|
is in fact only a convenience function that computes the sum of
|
|
@geometry.width for each glyph in the @glyphs.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the logical width of the glyph string.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphString`</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="index_to_x" c:identifier="pango_glyph_string_index_to_x">
|
|
<doc xml:space="preserve">Converts from character position to x position.
|
|
|
|
The X position is measured from the left edge of the run.
|
|
Character positions are obtained using font metrics for ligatures
|
|
where available, and computed by dividing up each cluster
|
|
into equal portions, otherwise.
|
|
|
|
<picture>
|
|
<source srcset="glyphstring-positions-dark.png" media="(prefers-color-scheme: dark)">
|
|
<img alt="Glyph positions" src="glyphstring-positions-light.png">
|
|
</picture></doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">the glyphs return from [func@shape]</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</instance-parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">the text for the run</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of bytes (not characters) in @text.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="analysis" transfer-ownership="none">
|
|
<doc xml:space="preserve">the analysis information return from [func@itemize]</doc>
|
|
<type name="Analysis" c:type="PangoAnalysis*"/>
|
|
</parameter>
|
|
<parameter name="index_" transfer-ownership="none">
|
|
<doc xml:space="preserve">the byte index within @text</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="trailing" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether we should compute the result for the beginning (%FALSE)
|
|
or end (%TRUE) of the character.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="x_pos" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store result</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="index_to_x_full" c:identifier="pango_glyph_string_index_to_x_full" version="1.50">
|
|
<doc xml:space="preserve">Converts from character position to x position.
|
|
|
|
This variant of [method@Pango.GlyphString.index_to_x] additionally
|
|
accepts a `PangoLogAttr` array. The grapheme boundary information
|
|
in it can be used to disambiguate positioning inside some complex
|
|
clusters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">the glyphs return from [func@shape]</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</instance-parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">the text for the run</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of bytes (not characters) in @text.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="analysis" transfer-ownership="none">
|
|
<doc xml:space="preserve">the analysis information return from [func@itemize]</doc>
|
|
<type name="Analysis" c:type="PangoAnalysis*"/>
|
|
</parameter>
|
|
<parameter name="attrs" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">`PangoLogAttr` array for @text</doc>
|
|
<type name="LogAttr" c:type="PangoLogAttr*"/>
|
|
</parameter>
|
|
<parameter name="index_" transfer-ownership="none">
|
|
<doc xml:space="preserve">the byte index within @text</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="trailing" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether we should compute the result for the beginning (%FALSE)
|
|
or end (%TRUE) of the character.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="x_pos" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store result</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_size" c:identifier="pango_glyph_string_set_size">
|
|
<doc xml:space="preserve">Resize a glyph string to the given length.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="string" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphString`.</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</instance-parameter>
|
|
<parameter name="new_len" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new length of the string</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="x_to_index" c:identifier="pango_glyph_string_x_to_index">
|
|
<doc xml:space="preserve">Convert from x offset to character position.
|
|
|
|
Character positions are computed by dividing up each cluster into
|
|
equal portions. In scripts where positioning within a cluster is
|
|
not allowed (such as Thai), the returned value may not be a valid
|
|
cursor position; the caller must combine the result with the logical
|
|
attributes for the text to compute the valid cursor position.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">the glyphs returned from [func@shape]</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</instance-parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">the text for the run</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of bytes (not characters) in text.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="analysis" transfer-ownership="none">
|
|
<doc xml:space="preserve">the analysis information return from [func@itemize]</doc>
|
|
<type name="Analysis" c:type="PangoAnalysis*"/>
|
|
</parameter>
|
|
<parameter name="x_pos" transfer-ownership="none">
|
|
<doc xml:space="preserve">the x offset (in Pango units)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="index_" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store calculated byte index within @text</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="trailing" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store a boolean indicating whether the
|
|
user clicked on the leading or trailing edge of the character</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="GlyphVisAttr" c:type="PangoGlyphVisAttr">
|
|
<doc xml:space="preserve">A `PangoGlyphVisAttr` structure communicates information between
|
|
the shaping and rendering phases.
|
|
|
|
Currently, it contains cluster start and color information.
|
|
More attributes may be added in the future.
|
|
|
|
Clusters are stored in visual order, within the cluster, glyphs
|
|
are always ordered in logical order, since visual order is meaningless;
|
|
that is, in Arabic text, accent glyphs follow the glyphs for the
|
|
base character.</doc>
|
|
<field name="is_cluster_start" writable="1" bits="1">
|
|
<doc xml:space="preserve">set for the first logical glyph in each cluster.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_color" writable="1" bits="1">
|
|
<doc xml:space="preserve">set if the the font will render this glyph with color. Since 1.50</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
</record>
|
|
<enumeration name="Gravity" version="1.16" glib:type-name="PangoGravity" glib:get-type="pango_gravity_get_type" c:type="PangoGravity">
|
|
<doc xml:space="preserve">`PangoGravity` represents the orientation of glyphs in a segment
|
|
of text.
|
|
|
|
This is useful when rendering vertical text layouts. In those situations,
|
|
the layout is rotated using a non-identity [struct@Pango.Matrix], and then
|
|
glyph orientation is controlled using `PangoGravity`.
|
|
|
|
Not every value in this enumeration makes sense for every usage of
|
|
`PangoGravity`; for example, %PANGO_GRAVITY_AUTO only can be passed to
|
|
[method@Pango.Context.set_base_gravity] and can only be returned by
|
|
[method@Pango.Context.get_base_gravity].
|
|
|
|
See also: [enum@Pango.GravityHint]</doc>
|
|
<member name="south" value="0" c:identifier="PANGO_GRAVITY_SOUTH" glib:nick="south" glib:name="PANGO_GRAVITY_SOUTH">
|
|
<doc xml:space="preserve">Glyphs stand upright (default) <img align="right" valign="center" src="m-south.png"></doc>
|
|
</member>
|
|
<member name="east" value="1" c:identifier="PANGO_GRAVITY_EAST" glib:nick="east" glib:name="PANGO_GRAVITY_EAST">
|
|
<doc xml:space="preserve">Glyphs are rotated 90 degrees counter-clockwise. <img align="right" valign="center" src="m-east.png"></doc>
|
|
</member>
|
|
<member name="north" value="2" c:identifier="PANGO_GRAVITY_NORTH" glib:nick="north" glib:name="PANGO_GRAVITY_NORTH">
|
|
<doc xml:space="preserve">Glyphs are upside-down. <img align="right" valign="cener" src="m-north.png"></doc>
|
|
</member>
|
|
<member name="west" value="3" c:identifier="PANGO_GRAVITY_WEST" glib:nick="west" glib:name="PANGO_GRAVITY_WEST">
|
|
<doc xml:space="preserve">Glyphs are rotated 90 degrees clockwise. <img align="right" valign="center" src="m-west.png"></doc>
|
|
</member>
|
|
<member name="auto" value="4" c:identifier="PANGO_GRAVITY_AUTO" glib:nick="auto" glib:name="PANGO_GRAVITY_AUTO">
|
|
<doc xml:space="preserve">Gravity is resolved from the context matrix</doc>
|
|
</member>
|
|
<function name="get_for_matrix" c:identifier="pango_gravity_get_for_matrix" version="1.16">
|
|
<doc xml:space="preserve">Finds the gravity that best matches the rotation component
|
|
in a `PangoMatrix`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the gravity of @matrix, which will never be
|
|
%PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_for_script" c:identifier="pango_gravity_get_for_script" version="1.16">
|
|
<doc xml:space="preserve">Returns the gravity to use in laying out a `PangoItem`.
|
|
|
|
The gravity is determined based on the script, base gravity, and hint.
|
|
|
|
If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
|
|
preferred gravity of @script. To get the preferred gravity of a script,
|
|
pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">resolved gravity suitable to use for a run of text
|
|
with @script</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="script" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoScript` to query</doc>
|
|
<type name="Script" c:type="PangoScript"/>
|
|
</parameter>
|
|
<parameter name="base_gravity" transfer-ownership="none">
|
|
<doc xml:space="preserve">base gravity of the paragraph</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</parameter>
|
|
<parameter name="hint" transfer-ownership="none">
|
|
<doc xml:space="preserve">orientation hint</doc>
|
|
<type name="GravityHint" c:type="PangoGravityHint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_for_script_and_width" c:identifier="pango_gravity_get_for_script_and_width" version="1.26">
|
|
<doc xml:space="preserve">Returns the gravity to use in laying out a single character
|
|
or `PangoItem`.
|
|
|
|
The gravity is determined based on the script, East Asian width,
|
|
base gravity, and hint,
|
|
|
|
This function is similar to [func@Pango.Gravity.get_for_script] except
|
|
that this function makes a distinction between narrow/half-width and
|
|
wide/full-width characters also. Wide/full-width characters always
|
|
stand *upright*, that is, they always take the base gravity,
|
|
whereas narrow/full-width characters are always rotated in vertical
|
|
context.
|
|
|
|
If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
|
|
preferred gravity of @script.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">resolved gravity suitable to use for a run of text
|
|
with @script and @wide.</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="script" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoScript` to query</doc>
|
|
<type name="Script" c:type="PangoScript"/>
|
|
</parameter>
|
|
<parameter name="wide" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for wide characters as returned by g_unichar_iswide()</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="base_gravity" transfer-ownership="none">
|
|
<doc xml:space="preserve">base gravity of the paragraph</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</parameter>
|
|
<parameter name="hint" transfer-ownership="none">
|
|
<doc xml:space="preserve">orientation hint</doc>
|
|
<type name="GravityHint" c:type="PangoGravityHint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_rotation" c:identifier="pango_gravity_to_rotation" version="1.16">
|
|
<doc xml:space="preserve">Converts a `PangoGravity` value to its natural rotation in radians.
|
|
|
|
Note that [method@Pango.Matrix.rotate] takes angle in degrees, not radians.
|
|
So, to call [method@Pango.Matrix,rotate] with the output of this function
|
|
you should multiply it by (180. / G_PI).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the rotation value corresponding to @gravity.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="gravity" transfer-ownership="none">
|
|
<doc xml:space="preserve">gravity to query, should not be %PANGO_GRAVITY_AUTO</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<enumeration name="GravityHint" version="1.16" glib:type-name="PangoGravityHint" glib:get-type="pango_gravity_hint_get_type" c:type="PangoGravityHint">
|
|
<doc xml:space="preserve">`PangoGravityHint` defines how horizontal scripts should behave in a
|
|
vertical context.
|
|
|
|
That is, English excerpts in a vertical paragraph for example.
|
|
|
|
See also [enum@Pango.Gravity]</doc>
|
|
<member name="natural" value="0" c:identifier="PANGO_GRAVITY_HINT_NATURAL" glib:nick="natural" glib:name="PANGO_GRAVITY_HINT_NATURAL">
|
|
<doc xml:space="preserve">scripts will take their natural gravity based
|
|
on the base gravity and the script. This is the default.</doc>
|
|
</member>
|
|
<member name="strong" value="1" c:identifier="PANGO_GRAVITY_HINT_STRONG" glib:nick="strong" glib:name="PANGO_GRAVITY_HINT_STRONG">
|
|
<doc xml:space="preserve">always use the base gravity set, regardless of
|
|
the script.</doc>
|
|
</member>
|
|
<member name="line" value="2" c:identifier="PANGO_GRAVITY_HINT_LINE" glib:nick="line" glib:name="PANGO_GRAVITY_HINT_LINE">
|
|
<doc xml:space="preserve">for scripts not in their natural direction (eg.
|
|
Latin in East gravity), choose per-script gravity such that every script
|
|
respects the line progression. This means, Latin and Arabic will take
|
|
opposite gravities and both flow top-to-bottom for example.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="IS_CONTEXT" c:identifier="PANGO_IS_CONTEXT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_CONTEXT_CLASS" c:identifier="PANGO_IS_CONTEXT_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FONT" c:identifier="PANGO_IS_FONT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FONTSET" c:identifier="PANGO_IS_FONTSET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FONTSET_CLASS" c:identifier="PANGO_IS_FONTSET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FONTSET_SIMPLE" c:identifier="PANGO_IS_FONTSET_SIMPLE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FONT_CLASS" c:identifier="PANGO_IS_FONT_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FONT_FACE" c:identifier="PANGO_IS_FONT_FACE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FONT_FACE_CLASS" c:identifier="PANGO_IS_FONT_FACE_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FONT_FAMILY" c:identifier="PANGO_IS_FONT_FAMILY" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FONT_FAMILY_CLASS" c:identifier="PANGO_IS_FONT_FAMILY_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FONT_MAP" c:identifier="PANGO_IS_FONT_MAP" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_FONT_MAP_CLASS" c:identifier="PANGO_IS_FONT_MAP_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_LAYOUT" c:identifier="PANGO_IS_LAYOUT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_LAYOUT_CLASS" c:identifier="PANGO_IS_LAYOUT_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_RENDERER" c:identifier="PANGO_IS_RENDERER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_RENDERER_CLASS" c:identifier="PANGO_IS_RENDERER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<record name="Item" c:type="PangoItem" glib:type-name="PangoItem" glib:get-type="pango_item_get_type" c:symbol-prefix="item">
|
|
<doc xml:space="preserve">The `PangoItem` structure stores information about a segment of text.
|
|
|
|
You typically obtain `PangoItems` by itemizing a piece of text
|
|
with [func@itemize].</doc>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">byte offset of the start of this item in text.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="length" writable="1">
|
|
<doc xml:space="preserve">length of this item in bytes.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="num_chars" writable="1">
|
|
<doc xml:space="preserve">number of Unicode characters in the item.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="analysis" writable="1">
|
|
<doc xml:space="preserve">analysis results for the item.</doc>
|
|
<type name="Analysis" c:type="PangoAnalysis"/>
|
|
</field>
|
|
<constructor name="new" c:identifier="pango_item_new">
|
|
<doc xml:space="preserve">Creates a new `PangoItem` structure initialized to default values.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoItem`, which should
|
|
be freed with [method@Pango.Item.free].</doc>
|
|
<type name="Item" c:type="PangoItem*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="apply_attrs" c:identifier="pango_item_apply_attrs" version="1.44">
|
|
<doc xml:space="preserve">Add attributes to a `PangoItem`.
|
|
|
|
The idea is that you have attributes that don't affect itemization,
|
|
such as font features, so you filter them out using
|
|
[method@Pango.AttrList.filter], itemize your text, then reapply the
|
|
attributes to the resulting items using this function.
|
|
|
|
The @iter should be positioned before the range of the item,
|
|
and will be advanced past it. This function is meant to be called
|
|
in a loop over the items resulting from itemization, while passing
|
|
the iter to each call.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="item" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoItem`</doc>
|
|
<type name="Item" c:type="PangoItem*"/>
|
|
</instance-parameter>
|
|
<parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoAttrIterator`</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="pango_item_copy">
|
|
<doc xml:space="preserve">Copy an existing `PangoItem` structure.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoItem`</doc>
|
|
<type name="Item" c:type="PangoItem*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="item" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoItem`</doc>
|
|
<type name="Item" c:type="PangoItem*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="pango_item_free">
|
|
<doc xml:space="preserve">Free a `PangoItem` and all associated memory.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="item" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoItem`, may be %NULL</doc>
|
|
<type name="Item" c:type="PangoItem*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="split" c:identifier="pango_item_split">
|
|
<doc xml:space="preserve">Modifies @orig to cover only the text after @split_index, and
|
|
returns a new item that covers the text before @split_index that
|
|
used to be in @orig.
|
|
|
|
You can think of @split_index as the length of the returned item.
|
|
@split_index may not be 0, and it may not be greater than or equal
|
|
to the length of @orig (that is, there must be at least one byte
|
|
assigned to each item, you can't create a zero-length item).
|
|
@split_offset is the length of the first item in chars, and must be
|
|
provided because the text used to generate the item isn't available,
|
|
so `pango_item_split()` can't count the char length of the split items
|
|
itself.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">new item representing text before @split_index, which
|
|
should be freed with [method@Pango.Item.free].</doc>
|
|
<type name="Item" c:type="PangoItem*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="orig" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoItem`</doc>
|
|
<type name="Item" c:type="PangoItem*"/>
|
|
</instance-parameter>
|
|
<parameter name="split_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">byte index of position to split item, relative to the
|
|
start of the item</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="split_offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of chars between start of @orig and @split_index</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<function-macro name="LAYOUT" c:identifier="PANGO_LAYOUT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="LAYOUT_CLASS" c:identifier="PANGO_LAYOUT_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="LAYOUT_GET_CLASS" c:identifier="PANGO_LAYOUT_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="LBEARING" c:identifier="PANGO_LBEARING" introspectable="0">
|
|
<doc xml:space="preserve">Extracts the *left bearing* from a `PangoRectangle`
|
|
representing glyph extents.
|
|
|
|
The left bearing is the distance from the horizontal
|
|
origin to the farthest left point of the character.
|
|
This is positive for characters drawn completely to
|
|
the right of the glyph origin.</doc>
|
|
<parameters>
|
|
<parameter name="rect">
|
|
<doc xml:space="preserve">a `PangoRectangle`</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<record name="Language" c:type="PangoLanguage" glib:type-name="PangoLanguage" glib:get-type="pango_language_get_type" c:symbol-prefix="language">
|
|
<doc xml:space="preserve">The `PangoLanguage` structure is used to
|
|
represent a language.
|
|
|
|
`PangoLanguage` pointers can be efficiently
|
|
copied and compared with each other.</doc>
|
|
<method name="get_sample_string" c:identifier="pango_language_get_sample_string">
|
|
<doc xml:space="preserve">Get a string that is representative of the characters needed to
|
|
render a particular language.
|
|
|
|
The sample text may be a pangram, but is not necessarily. It is chosen
|
|
to be demonstrative of normal text in the language, as well as exposing
|
|
font feature requirements unique to the language. It is suitable for use
|
|
as sample text in a font selection dialog.
|
|
|
|
If @language is %NULL, the default language as found by
|
|
[func@Pango.Language.get_default] is used.
|
|
|
|
If Pango does not have a sample string for @language, the classic
|
|
"The quick brown fox..." is returned. This can be detected by
|
|
comparing the returned pointer value to that returned for (non-existent)
|
|
language code "xx". That is, compare to:
|
|
|
|
```
|
|
pango_language_get_sample_string (pango_language_from_string ("xx"))
|
|
```</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the sample string</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="language" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoLanguage`</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_scripts" c:identifier="pango_language_get_scripts" version="1.22">
|
|
<doc xml:space="preserve">Determines the scripts used to to write @language.
|
|
|
|
If nothing is known about the language tag @language,
|
|
or if @language is %NULL, then %NULL is returned.
|
|
The list of scripts returned starts with the script that the
|
|
language uses most and continues to the one it uses least.
|
|
|
|
The value @num_script points at will be set to the number
|
|
of scripts in the returned array (or zero if %NULL is returned).
|
|
|
|
Most languages use only one script for writing, but there are
|
|
some that use two (Latin and Cyrillic for example), and a few
|
|
use three (Japanese for example). Applications should not make
|
|
any assumptions on the maximum number of scripts returned
|
|
though, except that it is positive if the return value is not
|
|
%NULL, and it is a small number.
|
|
|
|
The [method@Pango.Language.includes_script] function uses this
|
|
function internally.
|
|
|
|
Note: while the return value is declared as `PangoScript`, the
|
|
returned values are from the `GUnicodeScript` enumeration, which
|
|
may have more values. Callers need to handle unknown values.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">
|
|
An array of `PangoScript` values, with the number of entries in
|
|
the array stored in @num_scripts, or %NULL if Pango does not have
|
|
any information about this particular language tag (also the case
|
|
if @language is %NULL).</doc>
|
|
<array length="0" zero-terminated="0" c:type="const PangoScript*">
|
|
<type name="Script" c:type="PangoScript"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="language" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoLanguage`</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</instance-parameter>
|
|
<parameter name="num_scripts" direction="out" caller-allocates="1" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to
|
|
return number of scripts</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="includes_script" c:identifier="pango_language_includes_script" version="1.4">
|
|
<doc xml:space="preserve">Determines if @script is one of the scripts used to
|
|
write @language.
|
|
|
|
The returned value is conservative; if nothing is known about
|
|
the language tag @language, %TRUE will be returned, since, as
|
|
far as Pango knows, @script might be used to write @language.
|
|
|
|
This routine is used in Pango's itemization process when
|
|
determining if a supplied language tag is relevant to
|
|
a particular section of text. It probably is not useful
|
|
for applications in most circumstances.
|
|
|
|
This function uses [method@Pango.Language.get_scripts] internally.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @script is one of the scripts used
|
|
to write @language or if nothing is known about @language
|
|
(including the case that @language is %NULL), %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="language" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoLanguage`</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</instance-parameter>
|
|
<parameter name="script" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoScript`</doc>
|
|
<type name="Script" c:type="PangoScript"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="matches" c:identifier="pango_language_matches">
|
|
<doc xml:space="preserve">Checks if a language tag matches one of the elements in a list of
|
|
language ranges.
|
|
|
|
A language tag is considered to match a range in the list if the
|
|
range is '*', the range is exactly the tag, or the range is a prefix
|
|
of the tag, and the character after it in the tag is '-'.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if a match was found</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="language" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a language tag (see [func@Pango.Language.from_string]),
|
|
%NULL is allowed and matches nothing but '*'</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</instance-parameter>
|
|
<parameter name="range_list" transfer-ownership="none">
|
|
<doc xml:space="preserve">a list of language ranges, separated by ';', ':',
|
|
',', or space characters.
|
|
Each element must either be '*', or a RFC 3066 language range
|
|
canonicalized as by [func@Pango.Language.from_string]</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="pango_language_to_string">
|
|
<doc xml:space="preserve">Gets the RFC-3066 format string representing the given language tag.
|
|
|
|
Returns (transfer none): a string representing the language tag</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">a language tag.</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="from_string" c:identifier="pango_language_from_string">
|
|
<doc xml:space="preserve">Convert a language tag to a `PangoLanguage`.
|
|
|
|
The language tag must be in a RFC-3066 format. `PangoLanguage` pointers
|
|
can be efficiently copied (copy the pointer) and compared with other
|
|
language tags (compare the pointer.)
|
|
|
|
This function first canonicalizes the string by converting it to
|
|
lowercase, mapping '_' to '-', and stripping all characters other
|
|
than letters and '-'.
|
|
|
|
Use [func@Pango.Language.get_default] if you want to get the
|
|
`PangoLanguage` for the current locale of the process.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a `PangoLanguage`</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="language" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a string representing a language tag</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_default" c:identifier="pango_language_get_default" version="1.16">
|
|
<doc xml:space="preserve">Returns the `PangoLanguage` for the current locale of the process.
|
|
|
|
On Unix systems, this is the return value is derived from
|
|
`setlocale (LC_CTYPE, NULL)`, and the user can
|
|
affect this through the environment variables LC_ALL, LC_CTYPE or
|
|
LANG (checked in that order). The locale string typically is in
|
|
the form lang_COUNTRY, where lang is an ISO-639 language code, and
|
|
COUNTRY is an ISO-3166 country code. For instance, sv_FI for
|
|
Swedish as written in Finland or pt_BR for Portuguese as written in
|
|
Brazil.
|
|
|
|
On Windows, the C library does not use any such environment
|
|
variables, and setting them won't affect the behavior of functions
|
|
like ctime(). The user sets the locale through the Regional Options
|
|
in the Control Panel. The C library (in the setlocale() function)
|
|
does not use country and language codes, but country and language
|
|
names spelled out in English.
|
|
However, this function does check the above environment
|
|
variables, and does return a Unix-style locale string based on
|
|
either said environment variables or the thread's current locale.
|
|
|
|
Your application should call `setlocale(LC_ALL, "")` for the user
|
|
settings to take effect. GTK does this in its initialization
|
|
functions automatically (by calling gtk_set_locale()).
|
|
See the setlocale() manpage for more details.
|
|
|
|
Note that the default language can change over the life of an application.
|
|
|
|
Also note that this function will not do the right thing if you
|
|
use per-thread locales with uselocale(). In that case, you should
|
|
just call pango_language_from_string() yourself.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the default language as a `PangoLanguage`</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="get_preferred" c:identifier="pango_language_get_preferred" version="1.48">
|
|
<doc xml:space="preserve">Returns the list of languages that the user prefers.
|
|
|
|
The list is specified by the `PANGO_LANGUAGE` or `LANGUAGE`
|
|
environment variables, in order of preference. Note that this
|
|
list does not necessarily include the language returned by
|
|
[func@Pango.Language.get_default].
|
|
|
|
When choosing language-specific resources, such as the sample
|
|
text returned by [method@Pango.Language.get_sample_string],
|
|
you should first try the default language, followed by the
|
|
languages returned by this function.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a %NULL-terminated array
|
|
of `PangoLanguage`*</doc>
|
|
<type name="Language" c:type="PangoLanguage**"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<class name="Layout" c:symbol-prefix="layout" c:type="PangoLayout" parent="GObject.Object" glib:type-name="PangoLayout" glib:get-type="pango_layout_get_type" glib:type-struct="LayoutClass">
|
|
<doc xml:space="preserve">A `PangoLayout` structure represents an entire paragraph of text.
|
|
|
|
While complete access to the layout capabilities of Pango is provided
|
|
using the detailed interfaces for itemization and shaping, using
|
|
that functionality directly involves writing a fairly large amount
|
|
of code. `PangoLayout` provides a high-level driver for formatting
|
|
entire paragraphs of text at once. This includes paragraph-level
|
|
functionality such as line breaking, justification, alignment and
|
|
ellipsization.
|
|
|
|
A `PangoLayout` is initialized with a `PangoContext`, UTF-8 string
|
|
and set of attributes for that string. Once that is done, the set of
|
|
formatted lines can be extracted from the object, the layout can be
|
|
rendered, and conversion between logical character positions within
|
|
the layout's text, and the physical position of the resulting glyphs
|
|
can be made.
|
|
|
|
There are a number of parameters to adjust the formatting of a
|
|
`PangoLayout`. The following image shows adjustable parameters
|
|
(on the left) and font metrics (on the right):
|
|
|
|
<picture>
|
|
<source srcset="layout-dark.png" media="(prefers-color-scheme: dark)">
|
|
<img alt="Pango Layout Parameters" src="layout-light.png">
|
|
</picture>
|
|
|
|
The following images demonstrate the effect of alignment and
|
|
justification on the layout of text:
|
|
|
|
| | |
|
|
| --- | --- |
|
|
|  |  |
|
|
|  |  |
|
|
|  |  |
|
|
|
|
|
|
It is possible, as well, to ignore the 2-D setup,
|
|
and simply treat the results of a `PangoLayout` as a list of lines.</doc>
|
|
<constructor name="new" c:identifier="pango_layout_new">
|
|
<doc xml:space="preserve">Create a new `PangoLayout` object with attributes initialized to
|
|
default values for a particular `PangoContext`.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<function name="deserialize" c:identifier="pango_layout_deserialize" version="1.50" throws="1">
|
|
<doc xml:space="preserve">Loads data previously created via [method@Pango.Layout.serialize].
|
|
|
|
For a discussion of the supported format, see that function.
|
|
|
|
Note: to verify that the returned layout is identical to
|
|
the one that was serialized, you can compare @bytes to the
|
|
result of serializing the layout again.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoContext`</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</parameter>
|
|
<parameter name="bytes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the bytes containing the data</doc>
|
|
<type name="GLib.Bytes" c:type="GBytes*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoLayoutDeserializeFlags`</doc>
|
|
<type name="LayoutDeserializeFlags" c:type="PangoLayoutDeserializeFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<method name="context_changed" c:identifier="pango_layout_context_changed">
|
|
<doc xml:space="preserve">Forces recomputation of any state in the `PangoLayout` that
|
|
might depend on the layout's context.
|
|
|
|
This function should be called if you make changes to the context
|
|
subsequent to creating the layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="pango_layout_copy">
|
|
<doc xml:space="preserve">Creates a deep copy-by-value of the layout.
|
|
|
|
The attribute list, tab array, and text from the original layout
|
|
are all copied by value.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_alignment" c:identifier="pango_layout_get_alignment">
|
|
<doc xml:space="preserve">Gets the alignment for the layout: how partial lines are
|
|
positioned within the horizontal space available.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the alignment</doc>
|
|
<type name="Alignment" c:type="PangoAlignment"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_attributes" c:identifier="pango_layout_get_attributes">
|
|
<doc xml:space="preserve">Gets the attribute list for the layout, if any.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_auto_dir" c:identifier="pango_layout_get_auto_dir" version="1.4">
|
|
<doc xml:space="preserve">Gets whether to calculate the base direction for the layout
|
|
according to its contents.
|
|
|
|
See [method@Pango.Layout.set_auto_dir].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the bidirectional base direction
|
|
is computed from the layout's contents, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_baseline" c:identifier="pango_layout_get_baseline" version="1.22">
|
|
<doc xml:space="preserve">Gets the Y position of baseline of the first line in @layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">baseline of first line, from top of @layout</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_caret_pos" c:identifier="pango_layout_get_caret_pos" version="1.50">
|
|
<doc xml:space="preserve">Given an index within a layout, determines the positions that of the
|
|
strong and weak cursors if the insertion point is at that index.
|
|
|
|
This is a variant of [method@Pango.Layout.get_cursor_pos] that applies
|
|
font metric information about caret slope and offset to the positions
|
|
it returns.
|
|
|
|
<picture>
|
|
<source srcset="caret-metrics-dark.png" media="(prefers-color-scheme: dark)">
|
|
<img alt="Caret metrics" src="caret-metrics-light.png">
|
|
</picture></doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="index_" transfer-ownership="none">
|
|
<doc xml:space="preserve">the byte index of the cursor</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="strong_pos" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store the strong cursor position</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="weak_pos" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store the weak cursor position</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_character_count" c:identifier="pango_layout_get_character_count" version="1.30">
|
|
<doc xml:space="preserve">Returns the number of Unicode characters in the
|
|
the text of @layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of Unicode characters
|
|
in the text of @layout</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_context" c:identifier="pango_layout_get_context">
|
|
<doc xml:space="preserve">Retrieves the `PangoContext` used for this layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoContext` for the layout</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_cursor_pos" c:identifier="pango_layout_get_cursor_pos">
|
|
<doc xml:space="preserve">Given an index within a layout, determines the positions that of the
|
|
strong and weak cursors if the insertion point is at that index.
|
|
|
|
The position of each cursor is stored as a zero-width rectangle
|
|
with the height of the run extents.
|
|
|
|
<picture>
|
|
<source srcset="cursor-positions-dark.png" media="(prefers-color-scheme: dark)">
|
|
<img alt="Cursor positions" src="cursor-positions-light.png">
|
|
</picture>
|
|
|
|
The strong cursor location is the location where characters of the
|
|
directionality equal to the base direction of the layout are inserted.
|
|
The weak cursor location is the location where characters of the
|
|
directionality opposite to the base direction of the layout are inserted.
|
|
|
|
The following example shows text with both a strong and a weak cursor.
|
|
|
|
<picture>
|
|
<source srcset="split-cursor-dark.png" media="(prefers-color-scheme: dark)">
|
|
<img alt="Strong and weak cursors" src="split-cursor-light.png">
|
|
</picture>
|
|
|
|
The strong cursor has a little arrow pointing to the right, the weak
|
|
cursor to the left. Typing a 'c' in this situation will insert the
|
|
character after the 'b', and typing another Hebrew character, like 'ג',
|
|
will insert it at the end.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="index_" transfer-ownership="none">
|
|
<doc xml:space="preserve">the byte index of the cursor</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="strong_pos" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store the strong cursor position</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="weak_pos" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store the weak cursor position</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_direction" c:identifier="pango_layout_get_direction" version="1.46">
|
|
<doc xml:space="preserve">Gets the text direction at the given character position in @layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the text direction at @index</doc>
|
|
<type name="Direction" c:type="PangoDirection"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the byte index of the char</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_ellipsize" c:identifier="pango_layout_get_ellipsize" version="1.6">
|
|
<doc xml:space="preserve">Gets the type of ellipsization being performed for @layout.
|
|
|
|
See [method@Pango.Layout.set_ellipsize].
|
|
|
|
Use [method@Pango.Layout.is_ellipsized] to query whether any
|
|
paragraphs were actually ellipsized.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the current ellipsization mode for @layout</doc>
|
|
<type name="EllipsizeMode" c:type="PangoEllipsizeMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_extents" c:identifier="pango_layout_get_extents">
|
|
<doc xml:space="preserve">Computes the logical and ink extents of @layout.
|
|
|
|
Logical extents are usually what you want for positioning things. Note
|
|
that both extents may have non-zero x and y. You may want to use those
|
|
to offset where you render the layout. Not doing that is a very typical
|
|
bug that shows up as right-to-left layouts not being correctly positioned
|
|
in a layout with a set width.
|
|
|
|
The extents are given in layout coordinates and in Pango units; layout
|
|
coordinates begin at the top left corner of the layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the extents of the
|
|
layout as drawn</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the logical
|
|
extents of the layout</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_font_description" c:identifier="pango_layout_get_font_description" version="1.8">
|
|
<doc xml:space="preserve">Gets the font description for the layout, if any.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a pointer to the
|
|
layout's font description, or %NULL if the font description
|
|
from the layout's context is inherited.</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_height" c:identifier="pango_layout_get_height" version="1.20">
|
|
<doc xml:space="preserve">Gets the height of layout used for ellipsization.
|
|
|
|
See [method@Pango.Layout.set_height] for details.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the height, in Pango units if positive,
|
|
or number of lines if negative.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_indent" c:identifier="pango_layout_get_indent">
|
|
<doc xml:space="preserve">Gets the paragraph indent width in Pango units.
|
|
|
|
A negative value indicates a hanging indentation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the indent in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_iter" c:identifier="pango_layout_get_iter">
|
|
<doc xml:space="preserve">Returns an iterator to iterate over the visual extents of the layout.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_justify" c:identifier="pango_layout_get_justify">
|
|
<doc xml:space="preserve">Gets whether each complete line should be stretched to fill the entire
|
|
width of the layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the justify value</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_justify_last_line" c:identifier="pango_layout_get_justify_last_line" version="1.50">
|
|
<doc xml:space="preserve">Gets whether the last line should be stretched
|
|
to fill the entire width of the layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the justify value</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_line" c:identifier="pango_layout_get_line">
|
|
<doc xml:space="preserve">Retrieves a particular line from a `PangoLayout`.
|
|
|
|
Use the faster [method@Pango.Layout.get_line_readonly] if you do not
|
|
plan to modify the contents of the line (glyphs, glyph widths, etc.).</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the requested `PangoLayoutLine`,
|
|
or %NULL if the index is out of range. This layout line can be ref'ed
|
|
and retained, but will become invalid if changes are made to the
|
|
`PangoLayout`.</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of a line, which must be between 0 and
|
|
`pango_layout_get_line_count(layout) - 1`, inclusive.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_line_count" c:identifier="pango_layout_get_line_count">
|
|
<doc xml:space="preserve">Retrieves the count of lines for the @layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the line count</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_line_readonly" c:identifier="pango_layout_get_line_readonly" version="1.16">
|
|
<doc xml:space="preserve">Retrieves a particular line from a `PangoLayout`.
|
|
|
|
This is a faster alternative to [method@Pango.Layout.get_line],
|
|
but the user is not expected to modify the contents of the line
|
|
(glyphs, glyph widths, etc.).</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the requested `PangoLayoutLine`,
|
|
or %NULL if the index is out of range. This layout line can be ref'ed
|
|
and retained, but will become invalid if changes are made to the
|
|
`PangoLayout`. No changes should be made to the line.</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of a line, which must be between 0 and
|
|
`pango_layout_get_line_count(layout) - 1`, inclusive.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_line_spacing" c:identifier="pango_layout_get_line_spacing" version="1.44">
|
|
<doc xml:space="preserve">Gets the line spacing factor of @layout.
|
|
|
|
See [method@Pango.Layout.set_line_spacing].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="gfloat" c:type="float"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_lines" c:identifier="pango_layout_get_lines">
|
|
<doc xml:space="preserve">Returns the lines of the @layout as a list.
|
|
|
|
Use the faster [method@Pango.Layout.get_lines_readonly] if you do not
|
|
plan to modify the contents of the lines (glyphs, glyph widths, etc.).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GSList`
|
|
containing the lines in the layout. This points to internal data of the
|
|
`PangoLayout` and must be used with care. It will become invalid on any
|
|
change to the layout's text or properties.</doc>
|
|
<type name="GLib.SList" c:type="GSList*">
|
|
<type name="LayoutLine"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_lines_readonly" c:identifier="pango_layout_get_lines_readonly" version="1.16">
|
|
<doc xml:space="preserve">Returns the lines of the @layout as a list.
|
|
|
|
This is a faster alternative to [method@Pango.Layout.get_lines],
|
|
but the user is not expected to modify the contents of the lines
|
|
(glyphs, glyph widths, etc.).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GSList`
|
|
containing the lines in the layout. This points to internal data of the
|
|
`PangoLayout` and must be used with care. It will become invalid on any
|
|
change to the layout's text or properties. No changes should be made to
|
|
the lines.</doc>
|
|
<type name="GLib.SList" c:type="GSList*">
|
|
<type name="LayoutLine"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_log_attrs" c:identifier="pango_layout_get_log_attrs">
|
|
<doc xml:space="preserve">Retrieves an array of logical attributes for each character in
|
|
the @layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="attrs" direction="out" caller-allocates="0" transfer-ownership="container">
|
|
<doc xml:space="preserve">
|
|
location to store a pointer to an array of logical attributes.
|
|
This value must be freed with g_free().</doc>
|
|
<array length="1" zero-terminated="0" c:type="PangoLogAttr**">
|
|
<type name="LogAttr" c:type="PangoLogAttr*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_attrs" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the number of the attributes in the
|
|
array. (The stored value will be one more than the total number
|
|
of characters in the layout, since there need to be attributes
|
|
corresponding to both the position before the first character
|
|
and the position after the last character.)</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_log_attrs_readonly" c:identifier="pango_layout_get_log_attrs_readonly" version="1.30">
|
|
<doc xml:space="preserve">Retrieves an array of logical attributes for each character in
|
|
the @layout.
|
|
|
|
This is a faster alternative to [method@Pango.Layout.get_log_attrs].
|
|
The returned array is part of @layout and must not be modified.
|
|
Modifying the layout will invalidate the returned array.
|
|
|
|
The number of attributes returned in @n_attrs will be one more
|
|
than the total number of characters in the layout, since there
|
|
need to be attributes corresponding to both the position before
|
|
the first character and the position after the last character.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">an array of logical attributes</doc>
|
|
<array length="0" zero-terminated="0" c:type="const PangoLogAttr*">
|
|
<type name="LogAttr" c:type="PangoLogAttr"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="n_attrs" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the number of the attributes in
|
|
the array</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixel_extents" c:identifier="pango_layout_get_pixel_extents">
|
|
<doc xml:space="preserve">Computes the logical and ink extents of @layout in device units.
|
|
|
|
This function just calls [method@Pango.Layout.get_extents] followed by
|
|
two [func@extents_to_pixels] calls, rounding @ink_rect and @logical_rect
|
|
such that the rounded rectangles fully contain the unrounded one (that is,
|
|
passes them as first argument to [func@Pango.extents_to_pixels]).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the extents of the
|
|
layout as drawn</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the logical
|
|
extents of the layout</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixel_size" c:identifier="pango_layout_get_pixel_size">
|
|
<doc xml:space="preserve">Determines the logical width and height of a `PangoLayout` in device
|
|
units.
|
|
|
|
[method@Pango.Layout.get_size] returns the width and height
|
|
scaled by %PANGO_SCALE. This is simply a convenience function
|
|
around [method@Pango.Layout.get_pixel_extents].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="width" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store the logical width</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="height" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store the logical height</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_serial" c:identifier="pango_layout_get_serial" version="1.32.4">
|
|
<doc xml:space="preserve">Returns the current serial number of @layout.
|
|
|
|
The serial number is initialized to an small number larger than zero
|
|
when a new layout is created and is increased whenever the layout is
|
|
changed using any of the setter functions, or the `PangoContext` it
|
|
uses has changed. The serial may wrap, but will never have the value 0.
|
|
Since it can wrap, never compare it with "less than", always use "not equals".
|
|
|
|
This can be used to automatically detect changes to a `PangoLayout`,
|
|
and is useful for example to decide whether a layout needs redrawing.
|
|
To force the serial to be increased, use
|
|
[method@Pango.Layout.context_changed].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current serial number of @layout.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_single_paragraph_mode" c:identifier="pango_layout_get_single_paragraph_mode">
|
|
<doc xml:space="preserve">Obtains whether @layout is in single paragraph mode.
|
|
|
|
See [method@Pango.Layout.set_single_paragraph_mode].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the layout does not break paragraphs
|
|
at paragraph separator characters, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_size" c:identifier="pango_layout_get_size">
|
|
<doc xml:space="preserve">Determines the logical width and height of a `PangoLayout` in Pango
|
|
units.
|
|
|
|
This is simply a convenience function around [method@Pango.Layout.get_extents].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="width" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store the logical width</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="height" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store the logical height</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_spacing" c:identifier="pango_layout_get_spacing">
|
|
<doc xml:space="preserve">Gets the amount of spacing between the lines of the layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the spacing in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_tabs" c:identifier="pango_layout_get_tabs">
|
|
<doc xml:space="preserve">Gets the current `PangoTabArray` used by this layout.
|
|
|
|
If no `PangoTabArray` has been set, then the default tabs are
|
|
in use and %NULL is returned. Default tabs are every 8 spaces.
|
|
|
|
The return value should be freed with [method@Pango.TabArray.free].</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a copy of the tabs for this layout</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_text" c:identifier="pango_layout_get_text">
|
|
<doc xml:space="preserve">Gets the text in the layout.
|
|
|
|
The returned text should not be freed or modified.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the text in the @layout</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_unknown_glyphs_count" c:identifier="pango_layout_get_unknown_glyphs_count" version="1.16">
|
|
<doc xml:space="preserve">Counts the number of unknown glyphs in @layout.
|
|
|
|
This function can be used to determine if there are any fonts
|
|
available to render all characters in a certain string, or when
|
|
used in combination with %PANGO_ATTR_FALLBACK, to check if a
|
|
certain font supports all the characters in the string.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of unknown glyphs in @layout</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_width" c:identifier="pango_layout_get_width">
|
|
<doc xml:space="preserve">Gets the width to which the lines of the `PangoLayout` should wrap.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the width in Pango units, or -1 if no width set.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_wrap" c:identifier="pango_layout_get_wrap">
|
|
<doc xml:space="preserve">Gets the wrap mode for the layout.
|
|
|
|
Use [method@Pango.Layout.is_wrapped] to query whether
|
|
any paragraphs were actually wrapped.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">active wrap mode.</doc>
|
|
<type name="WrapMode" c:type="PangoWrapMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="index_to_line_x" c:identifier="pango_layout_index_to_line_x">
|
|
<doc xml:space="preserve">Converts from byte @index_ within the @layout to line and X position.
|
|
|
|
The X position is measured from the left edge of the line.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="index_" transfer-ownership="none">
|
|
<doc xml:space="preserve">the byte index of a grapheme within the layout</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="trailing" transfer-ownership="none">
|
|
<doc xml:space="preserve">an integer indicating the edge of the grapheme to retrieve the
|
|
position of. If > 0, the trailing edge of the grapheme, if 0,
|
|
the leading of the grapheme</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="line" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store resulting line index. (which will
|
|
between 0 and pango_layout_get_line_count(layout) - 1)</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="x_pos" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store resulting position within line
|
|
(%PANGO_SCALE units per device unit)</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="index_to_pos" c:identifier="pango_layout_index_to_pos">
|
|
<doc xml:space="preserve">Converts from an index within a `PangoLayout` to the onscreen position
|
|
corresponding to the grapheme at that index.
|
|
|
|
The return value is represented as rectangle. Note that `pos->x` is
|
|
always the leading edge of the grapheme and `pos->x + pos->width` the
|
|
trailing edge of the grapheme. If the directionality of the grapheme
|
|
is right-to-left, then `pos->width` will be negative.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="index_" transfer-ownership="none">
|
|
<doc xml:space="preserve">byte index within @layout</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="pos" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">rectangle in which to store the position of the grapheme</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_ellipsized" c:identifier="pango_layout_is_ellipsized" version="1.16">
|
|
<doc xml:space="preserve">Queries whether the layout had to ellipsize any paragraphs.
|
|
|
|
This returns %TRUE if the ellipsization mode for @layout
|
|
is not %PANGO_ELLIPSIZE_NONE, a positive width is set on @layout,
|
|
and there are paragraphs exceeding that width that have to be
|
|
ellipsized.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if any paragraphs had to be ellipsized,
|
|
%FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_wrapped" c:identifier="pango_layout_is_wrapped" version="1.16">
|
|
<doc xml:space="preserve">Queries whether the layout had to wrap any paragraphs.
|
|
|
|
This returns %TRUE if a positive width is set on @layout,
|
|
ellipsization mode of @layout is set to %PANGO_ELLIPSIZE_NONE,
|
|
and there are paragraphs exceeding the layout width that have
|
|
to be wrapped.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if any paragraphs had to be wrapped, %FALSE
|
|
otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="move_cursor_visually" c:identifier="pango_layout_move_cursor_visually">
|
|
<doc xml:space="preserve">Computes a new cursor position from an old position and a direction.
|
|
|
|
If @direction is positive, then the new position will cause the strong
|
|
or weak cursor to be displayed one position to right of where it was
|
|
with the old cursor position. If @direction is negative, it will be
|
|
moved to the left.
|
|
|
|
In the presence of bidirectional text, the correspondence between
|
|
logical and visual order will depend on the direction of the current
|
|
run, and there may be jumps when the cursor is moved off of the end
|
|
of a run.
|
|
|
|
Motion here is in cursor positions, not in characters, so a single
|
|
call to this function may move the cursor over multiple characters
|
|
when multiple characters combine to form a single grapheme.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="strong" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the moving cursor is the strong cursor or the
|
|
weak cursor. The strong cursor is the cursor corresponding
|
|
to text insertion in the base direction for the layout.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="old_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the byte index of the current cursor position</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="old_trailing" transfer-ownership="none">
|
|
<doc xml:space="preserve">if 0, the cursor was at the leading edge of the
|
|
grapheme indicated by @old_index, if > 0, the cursor
|
|
was at the trailing edge.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="direction" transfer-ownership="none">
|
|
<doc xml:space="preserve">direction to move cursor. A negative
|
|
value indicates motion to the left</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="new_index" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the new cursor byte index.
|
|
A value of -1 indicates that the cursor has been moved off the
|
|
beginning of the layout. A value of %G_MAXINT indicates that
|
|
the cursor has been moved off the end of the layout.</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="new_trailing" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">number of characters to move forward from
|
|
the location returned for @new_index to get the position where
|
|
the cursor should be displayed. This allows distinguishing the
|
|
position at the beginning of one line from the position at the
|
|
end of the preceding line. @new_index is always on the line where
|
|
the cursor should be displayed.</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="serialize" c:identifier="pango_layout_serialize" version="1.50">
|
|
<doc xml:space="preserve">Serializes the @layout for later deserialization via [func@Pango.Layout.deserialize].
|
|
|
|
There are no guarantees about the format of the output across different
|
|
versions of Pango and [func@Pango.Layout.deserialize] will reject data
|
|
that it cannot parse.
|
|
|
|
The intended use of this function is testing, benchmarking and debugging.
|
|
The format is not meant as a permanent storage format.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `GBytes` containing the serialized form of @layout</doc>
|
|
<type name="GLib.Bytes" c:type="GBytes*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoLayoutSerializeFlags`</doc>
|
|
<type name="LayoutSerializeFlags" c:type="PangoLayoutSerializeFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_alignment" c:identifier="pango_layout_set_alignment">
|
|
<doc xml:space="preserve">Sets the alignment for the layout: how partial lines are
|
|
positioned within the horizontal space available.
|
|
|
|
The default alignment is %PANGO_ALIGN_LEFT.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="alignment" transfer-ownership="none">
|
|
<doc xml:space="preserve">the alignment</doc>
|
|
<type name="Alignment" c:type="PangoAlignment"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_attributes" c:identifier="pango_layout_set_attributes">
|
|
<doc xml:space="preserve">Sets the text attributes for a layout object.
|
|
|
|
References @attrs, so the caller can unref its reference.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="attrs" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_auto_dir" c:identifier="pango_layout_set_auto_dir" version="1.4">
|
|
<doc xml:space="preserve">Sets whether to calculate the base direction
|
|
for the layout according to its contents.
|
|
|
|
When this flag is on (the default), then paragraphs in @layout that
|
|
begin with strong right-to-left characters (Arabic and Hebrew principally),
|
|
will have right-to-left layout, paragraphs with letters from other scripts
|
|
will have left-to-right layout. Paragraphs with only neutral characters
|
|
get their direction from the surrounding paragraphs.
|
|
|
|
When %FALSE, the choice between left-to-right and right-to-left
|
|
layout is done according to the base direction of the layout's
|
|
`PangoContext`. (See [method@Pango.Context.set_base_dir]).
|
|
|
|
When the auto-computed direction of a paragraph differs from the
|
|
base direction of the context, the interpretation of
|
|
%PANGO_ALIGN_LEFT and %PANGO_ALIGN_RIGHT are swapped.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="auto_dir" transfer-ownership="none">
|
|
<doc xml:space="preserve">if %TRUE, compute the bidirectional base direction
|
|
from the layout's contents</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_ellipsize" c:identifier="pango_layout_set_ellipsize" version="1.6">
|
|
<doc xml:space="preserve">Sets the type of ellipsization being performed for @layout.
|
|
|
|
Depending on the ellipsization mode @ellipsize text is
|
|
removed from the start, middle, or end of text so they
|
|
fit within the width and height of layout set with
|
|
[method@Pango.Layout.set_width] and [method@Pango.Layout.set_height].
|
|
|
|
If the layout contains characters such as newlines that
|
|
force it to be layed out in multiple paragraphs, then whether
|
|
each paragraph is ellipsized separately or the entire layout
|
|
is ellipsized as a whole depends on the set height of the layout.
|
|
|
|
The default value is %PANGO_ELLIPSIZE_NONE.
|
|
|
|
See [method@Pango.Layout.set_height] for details.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="ellipsize" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new ellipsization mode for @layout</doc>
|
|
<type name="EllipsizeMode" c:type="PangoEllipsizeMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_font_description" c:identifier="pango_layout_set_font_description">
|
|
<doc xml:space="preserve">Sets the default font description for the layout.
|
|
|
|
If no font description is set on the layout, the
|
|
font description from the layout's context is used.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="desc" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the new `PangoFontDescription`
|
|
to unset the current font description</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_height" c:identifier="pango_layout_set_height" version="1.20">
|
|
<doc xml:space="preserve">Sets the height to which the `PangoLayout` should be ellipsized at.
|
|
|
|
There are two different behaviors, based on whether @height is positive
|
|
or negative.
|
|
|
|
If @height is positive, it will be the maximum height of the layout. Only
|
|
lines would be shown that would fit, and if there is any text omitted,
|
|
an ellipsis added. At least one line is included in each paragraph regardless
|
|
of how small the height value is. A value of zero will render exactly one
|
|
line for the entire layout.
|
|
|
|
If @height is negative, it will be the (negative of) maximum number of lines
|
|
per paragraph. That is, the total number of lines shown may well be more than
|
|
this value if the layout contains multiple paragraphs of text.
|
|
The default value of -1 means that the first line of each paragraph is ellipsized.
|
|
This behavior may be changed in the future to act per layout instead of per
|
|
paragraph. File a bug against pango at
|
|
[https://gitlab.gnome.org/gnome/pango](https://gitlab.gnome.org/gnome/pango)
|
|
if your code relies on this behavior.
|
|
|
|
Height setting only has effect if a positive width is set on
|
|
@layout and ellipsization mode of @layout is not %PANGO_ELLIPSIZE_NONE.
|
|
The behavior is undefined if a height other than -1 is set and
|
|
ellipsization mode is set to %PANGO_ELLIPSIZE_NONE, and may change in the
|
|
future.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`.</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the desired height of the layout in Pango units if positive,
|
|
or desired number of lines if negative.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_indent" c:identifier="pango_layout_set_indent">
|
|
<doc xml:space="preserve">Sets the width in Pango units to indent each paragraph.
|
|
|
|
A negative value of @indent will produce a hanging indentation.
|
|
That is, the first line will have the full width, and subsequent
|
|
lines will be indented by the absolute value of @indent.
|
|
|
|
The indent setting is ignored if layout alignment is set to
|
|
%PANGO_ALIGN_CENTER.
|
|
|
|
The default value is 0.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="indent" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount by which to indent</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_justify" c:identifier="pango_layout_set_justify">
|
|
<doc xml:space="preserve">Sets whether each complete line should be stretched to fill the
|
|
entire width of the layout.
|
|
|
|
Stretching is typically done by adding whitespace, but for some scripts
|
|
(such as Arabic), the justification may be done in more complex ways,
|
|
like extending the characters.
|
|
|
|
Note that this setting is not implemented and so is ignored in
|
|
Pango older than 1.18.
|
|
|
|
Note that tabs and justification conflict with each other:
|
|
Justification will move content away from its tab-aligned
|
|
positions.
|
|
|
|
The default value is %FALSE.
|
|
|
|
Also see [method@Pango.Layout.set_justify_last_line].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="justify" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the lines in the layout should be justified</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_justify_last_line" c:identifier="pango_layout_set_justify_last_line" version="1.50">
|
|
<doc xml:space="preserve">Sets whether the last line should be stretched to fill the
|
|
entire width of the layout.
|
|
|
|
This only has an effect if [method@Pango.Layout.set_justify] has
|
|
been called as well.
|
|
|
|
The default value is %FALSE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="justify" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the last line in the layout should be justified</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_line_spacing" c:identifier="pango_layout_set_line_spacing" version="1.44">
|
|
<doc xml:space="preserve">Sets a factor for line spacing.
|
|
|
|
Typical values are: 0, 1, 1.5, 2. The default values is 0.
|
|
|
|
If @factor is non-zero, lines are placed so that
|
|
|
|
baseline2 = baseline1 + factor * height2
|
|
|
|
where height2 is the line height of the second line
|
|
(as determined by the font(s)). In this case, the spacing
|
|
set with [method@Pango.Layout.set_spacing] is ignored.
|
|
|
|
If @factor is zero (the default), spacing is applied as before.
|
|
|
|
Note: for semantics that are closer to the CSS line-height
|
|
property, see [func@Pango.attr_line_height_new].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="factor" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new line spacing factor</doc>
|
|
<type name="gfloat" c:type="float"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_markup" c:identifier="pango_layout_set_markup">
|
|
<doc xml:space="preserve">Sets the layout text and attribute list from marked-up text.
|
|
|
|
See [Pango Markup](pango_markup.html)).
|
|
|
|
Replaces the current text and attribute list.
|
|
|
|
This is the same as [method@Pango.Layout.set_markup_with_accel],
|
|
but the markup text isn't scanned for accelerators.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="markup" transfer-ownership="none">
|
|
<doc xml:space="preserve">marked-up text</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of marked-up text in bytes, or -1 if @markup is
|
|
`NUL`-terminated</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_markup_with_accel" c:identifier="pango_layout_set_markup_with_accel">
|
|
<doc xml:space="preserve">Sets the layout text and attribute list from marked-up text.
|
|
|
|
See [Pango Markup](pango_markup.html)).
|
|
|
|
Replaces the current text and attribute list.
|
|
|
|
If @accel_marker is nonzero, the given character will mark the
|
|
character following it as an accelerator. For example, @accel_marker
|
|
might be an ampersand or underscore. All characters marked
|
|
as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
|
|
and the first character so marked will be returned in @accel_char.
|
|
Two @accel_marker characters following each other produce a single
|
|
literal @accel_marker character.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="markup" transfer-ownership="none">
|
|
<doc xml:space="preserve">marked-up text (see [Pango Markup](pango_markup.html))</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of marked-up text in bytes, or -1 if @markup is
|
|
`NUL`-terminated</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="accel_marker" transfer-ownership="none">
|
|
<doc xml:space="preserve">marker for accelerators in the text</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
<parameter name="accel_char" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">return location
|
|
for first located accelerator</doc>
|
|
<type name="gunichar" c:type="gunichar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_single_paragraph_mode" c:identifier="pango_layout_set_single_paragraph_mode">
|
|
<doc xml:space="preserve">Sets the single paragraph mode of @layout.
|
|
|
|
If @setting is %TRUE, do not treat newlines and similar characters
|
|
as paragraph separators; instead, keep all text in a single paragraph,
|
|
and display a glyph for paragraph separator characters. Used when
|
|
you want to allow editing of newlines on a single text line.
|
|
|
|
The default value is %FALSE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="setting" transfer-ownership="none">
|
|
<doc xml:space="preserve">new setting</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_spacing" c:identifier="pango_layout_set_spacing">
|
|
<doc xml:space="preserve">Sets the amount of spacing in Pango units between
|
|
the lines of the layout.
|
|
|
|
When placing lines with spacing, Pango arranges things so that
|
|
|
|
line2.top = line1.bottom + spacing
|
|
|
|
The default value is 0.
|
|
|
|
Note: Since 1.44, Pango is using the line height (as determined
|
|
by the font) for placing lines when the line spacing factor is set
|
|
to a non-zero value with [method@Pango.Layout.set_line_spacing].
|
|
In that case, the @spacing set with this function is ignored.
|
|
|
|
Note: for semantics that are closer to the CSS line-height
|
|
property, see [func@Pango.attr_line_height_new].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="spacing" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of spacing</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_tabs" c:identifier="pango_layout_set_tabs">
|
|
<doc xml:space="preserve">Sets the tabs to use for @layout, overriding the default tabs.
|
|
|
|
`PangoLayout` will place content at the next tab position
|
|
whenever it meets a Tab character (U+0009).
|
|
|
|
By default, tabs are every 8 spaces. If @tabs is %NULL, the
|
|
default tabs are reinstated. @tabs is copied into the layout;
|
|
you must free your copy of @tabs yourself.
|
|
|
|
Note that tabs and justification conflict with each other:
|
|
Justification will move content away from its tab-aligned
|
|
positions. The same is true for alignments other than
|
|
%PANGO_ALIGN_LEFT.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="tabs" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_text" c:identifier="pango_layout_set_text">
|
|
<doc xml:space="preserve">Sets the text of the layout.
|
|
|
|
This function validates @text and renders invalid UTF-8
|
|
with a placeholder glyph.
|
|
|
|
Note that if you have used [method@Pango.Layout.set_markup] or
|
|
[method@Pango.Layout.set_markup_with_accel] on @layout before, you
|
|
may want to call [method@Pango.Layout.set_attributes] to clear the
|
|
attributes set on the layout from the markup as this function does
|
|
not clear attributes.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">the text</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">maximum length of @text, in bytes. -1 indicates that
|
|
the string is nul-terminated and the length should be calculated.
|
|
The text will also be truncated on encountering a nul-termination
|
|
even when @length is positive.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_width" c:identifier="pango_layout_set_width">
|
|
<doc xml:space="preserve">Sets the width to which the lines of the `PangoLayout` should wrap or
|
|
ellipsized.
|
|
|
|
The default value is -1: no width set.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`.</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the desired width in Pango units, or -1 to indicate that no
|
|
wrapping or ellipsization should be performed.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_wrap" c:identifier="pango_layout_set_wrap">
|
|
<doc xml:space="preserve">Sets the wrap mode.
|
|
|
|
The wrap mode only has effect if a width is set on the layout
|
|
with [method@Pango.Layout.set_width]. To turn off wrapping,
|
|
set the width to -1.
|
|
|
|
The default value is %PANGO_WRAP_WORD.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="wrap" transfer-ownership="none">
|
|
<doc xml:space="preserve">the wrap mode</doc>
|
|
<type name="WrapMode" c:type="PangoWrapMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="write_to_file" c:identifier="pango_layout_write_to_file" version="1.50" throws="1">
|
|
<doc xml:space="preserve">A convenience method to serialize a layout to a file.
|
|
|
|
It is equivalent to calling [method@Pango.Layout.serialize]
|
|
followed by [func@GLib.file_set_contents].
|
|
|
|
See those two functions for details on the arguments.
|
|
|
|
It is mostly intended for use inside a debugger to quickly dump
|
|
a layout to a file for later inspection.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if saving was successful</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoLayoutSerializeFlags`</doc>
|
|
<type name="LayoutSerializeFlags" c:type="PangoLayoutSerializeFlags"/>
|
|
</parameter>
|
|
<parameter name="filename" transfer-ownership="none">
|
|
<doc xml:space="preserve">the file to save it to</doc>
|
|
<type name="filename" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="xy_to_index" c:identifier="pango_layout_xy_to_index">
|
|
<doc xml:space="preserve">Converts from X and Y position within a layout to the byte index to the
|
|
character at that logical position.
|
|
|
|
If the Y position is not inside the layout, the closest position is
|
|
chosen (the position will be clamped inside the layout). If the X position
|
|
is not within the layout, then the start or the end of the line is
|
|
chosen as described for [method@Pango.LayoutLine.x_to_index]. If either
|
|
the X or Y positions were not inside the layout, then the function returns
|
|
%FALSE; on an exact hit, it returns %TRUE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the coordinates were inside text, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</instance-parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the X offset (in Pango units) from the left edge of the layout</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the Y offset (in Pango units) from the top edge of the layout</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="index_" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store calculated byte index</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="trailing" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store a integer indicating where
|
|
in the grapheme the user clicked. It will either be zero, or the
|
|
number of characters in the grapheme. 0 represents the leading edge
|
|
of the grapheme.</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</class>
|
|
<record name="LayoutClass" c:type="PangoLayoutClass" disguised="1" glib:is-gtype-struct-for="Layout"/>
|
|
<enumeration name="LayoutDeserializeError" version="1.50" glib:type-name="PangoLayoutDeserializeError" glib:get-type="pango_layout_deserialize_error_get_type" c:type="PangoLayoutDeserializeError" glib:error-domain="pango-layout-deserialize-error-quark">
|
|
<doc xml:space="preserve">Errors that can be returned by [func@Pango.Layout.deserialize].</doc>
|
|
<member name="invalid" value="0" c:identifier="PANGO_LAYOUT_DESERIALIZE_INVALID" glib:nick="invalid" glib:name="PANGO_LAYOUT_DESERIALIZE_INVALID">
|
|
<doc xml:space="preserve">Unspecified error</doc>
|
|
</member>
|
|
<member name="invalid_value" value="1" c:identifier="PANGO_LAYOUT_DESERIALIZE_INVALID_VALUE" glib:nick="invalid-value" glib:name="PANGO_LAYOUT_DESERIALIZE_INVALID_VALUE">
|
|
<doc xml:space="preserve">A JSon value could not be
|
|
interpreted</doc>
|
|
</member>
|
|
<member name="missing_value" value="2" c:identifier="PANGO_LAYOUT_DESERIALIZE_MISSING_VALUE" glib:nick="missing-value" glib:name="PANGO_LAYOUT_DESERIALIZE_MISSING_VALUE">
|
|
<doc xml:space="preserve">A required JSon member was
|
|
not found</doc>
|
|
</member>
|
|
<function name="quark" c:identifier="pango_layout_deserialize_error_quark">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</enumeration>
|
|
<bitfield name="LayoutDeserializeFlags" version="1.50" glib:type-name="PangoLayoutDeserializeFlags" glib:get-type="pango_layout_deserialize_flags_get_type" c:type="PangoLayoutDeserializeFlags">
|
|
<doc xml:space="preserve">Flags that influence the behavior of [func@Pango.Layout.deserialize].
|
|
|
|
New members may be added to this enumeration over time.</doc>
|
|
<member name="default" value="0" c:identifier="PANGO_LAYOUT_DESERIALIZE_DEFAULT" glib:nick="default" glib:name="PANGO_LAYOUT_DESERIALIZE_DEFAULT">
|
|
<doc xml:space="preserve">Default behavior</doc>
|
|
</member>
|
|
<member name="context" value="1" c:identifier="PANGO_LAYOUT_DESERIALIZE_CONTEXT" glib:nick="context" glib:name="PANGO_LAYOUT_DESERIALIZE_CONTEXT">
|
|
<doc xml:space="preserve">Apply context information
|
|
from the serialization to the `PangoContext`</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="LayoutIter" c:type="PangoLayoutIter" glib:type-name="PangoLayoutIter" glib:get-type="pango_layout_iter_get_type" c:symbol-prefix="layout_iter">
|
|
<doc xml:space="preserve">A `PangoLayoutIter` can be used to iterate over the visual
|
|
extents of a `PangoLayout`.
|
|
|
|
To obtain a `PangoLayoutIter`, use [method@Pango.Layout.get_iter].
|
|
|
|
The `PangoLayoutIter` structure is opaque, and has no user-visible fields.</doc>
|
|
<method name="at_last_line" c:identifier="pango_layout_iter_at_last_line">
|
|
<doc xml:space="preserve">Determines whether @iter is on the last line of the layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @iter is on the last line</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="pango_layout_iter_copy" version="1.20">
|
|
<doc xml:space="preserve">Copies a `PangoLayoutIter`.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="pango_layout_iter_free">
|
|
<doc xml:space="preserve">Frees an iterator that's no longer in use.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`, may be %NULL</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_baseline" c:identifier="pango_layout_iter_get_baseline">
|
|
<doc xml:space="preserve">Gets the Y position of the current line's baseline, in layout
|
|
coordinates.
|
|
|
|
Layout coordinates have the origin at the top left of the entire layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">baseline of current line</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_char_extents" c:identifier="pango_layout_iter_get_char_extents">
|
|
<doc xml:space="preserve">Gets the extents of the current character, in layout coordinates.
|
|
|
|
Layout coordinates have the origin at the top left of the entire layout.
|
|
|
|
Only logical extents can sensibly be obtained for characters;
|
|
ink extents make sense only down to the level of clusters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">rectangle to fill with
|
|
logical extents</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_cluster_extents" c:identifier="pango_layout_iter_get_cluster_extents">
|
|
<doc xml:space="preserve">Gets the extents of the current cluster, in layout coordinates.
|
|
|
|
Layout coordinates have the origin at the top left of the entire layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle to fill with ink extents</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle to fill with logical extents</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_index" c:identifier="pango_layout_iter_get_index">
|
|
<doc xml:space="preserve">Gets the current byte index.
|
|
|
|
Note that iterating forward by char moves in visual order,
|
|
not logical order, so indexes may not be sequential. Also,
|
|
the index may be equal to the length of the text in the
|
|
layout, if on the %NULL run (see [method@Pango.LayoutIter.get_run]).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">current byte index</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_layout" c:identifier="pango_layout_iter_get_layout" version="1.20">
|
|
<doc xml:space="preserve">Gets the layout associated with a `PangoLayoutIter`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the layout associated with @iter</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_layout_extents" c:identifier="pango_layout_iter_get_layout_extents">
|
|
<doc xml:space="preserve">Obtains the extents of the `PangoLayout` being iterated over.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle to fill with ink extents</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle to fill with logical extents</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_line" c:identifier="pango_layout_iter_get_line">
|
|
<doc xml:space="preserve">Gets the current line.
|
|
|
|
Use the faster [method@Pango.LayoutIter.get_line_readonly] if
|
|
you do not plan to modify the contents of the line (glyphs,
|
|
glyph widths, etc.).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the current line</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_line_extents" c:identifier="pango_layout_iter_get_line_extents">
|
|
<doc xml:space="preserve">Obtains the extents of the current line.
|
|
|
|
Extents are in layout coordinates (origin is the top-left corner
|
|
of the entire `PangoLayout`). Thus the extents returned by this
|
|
function will be the same width/height but not at the same x/y
|
|
as the extents returned from [method@Pango.LayoutLine.get_extents].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle to fill with ink extents</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle to fill with logical extents</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_line_readonly" c:identifier="pango_layout_iter_get_line_readonly" version="1.16">
|
|
<doc xml:space="preserve">Gets the current line for read-only access.
|
|
|
|
This is a faster alternative to [method@Pango.LayoutIter.get_line],
|
|
but the user is not expected to modify the contents of the line
|
|
(glyphs, glyph widths, etc.).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the current line, that should not be
|
|
modified</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_line_yrange" c:identifier="pango_layout_iter_get_line_yrange">
|
|
<doc xml:space="preserve">Divides the vertical space in the `PangoLayout` being iterated over
|
|
between the lines in the layout, and returns the space belonging to
|
|
the current line.
|
|
|
|
A line's range includes the line's logical extents. plus half of the
|
|
spacing above and below the line, if [method@Pango.Layout.set_spacing]
|
|
has been called to set layout spacing. The Y positions are in layout
|
|
coordinates (origin at top left of the entire layout).
|
|
|
|
Note: Since 1.44, Pango uses line heights for placing lines, and there
|
|
may be gaps between the ranges returned by this function.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
<parameter name="y0_" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">start of line</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="y1_" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">end of line</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_run" c:identifier="pango_layout_iter_get_run">
|
|
<doc xml:space="preserve">Gets the current run.
|
|
|
|
When iterating by run, at the end of each line, there's a position
|
|
with a %NULL run, so this function can return %NULL. The %NULL run
|
|
at the end of each line ensures that all lines have at least one run,
|
|
even lines consisting of only a newline.
|
|
|
|
Use the faster [method@Pango.LayoutIter.get_run_readonly] if you do not
|
|
plan to modify the contents of the run (glyphs, glyph widths, etc.).</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the current run</doc>
|
|
<type name="LayoutRun" c:type="PangoLayoutRun*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_run_baseline" c:identifier="pango_layout_iter_get_run_baseline" version="1.50">
|
|
<doc xml:space="preserve">Gets the Y position of the current run's baseline, in layout
|
|
coordinates.
|
|
|
|
Layout coordinates have the origin at the top left of the entire layout.
|
|
|
|
The run baseline can be different from the line baseline, for
|
|
example due to superscript or subscript positioning.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_run_extents" c:identifier="pango_layout_iter_get_run_extents">
|
|
<doc xml:space="preserve">Gets the extents of the current run in layout coordinates.
|
|
|
|
Layout coordinates have the origin at the top left of the entire layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle to fill with ink extents</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle to fill with logical extents</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_run_readonly" c:identifier="pango_layout_iter_get_run_readonly" version="1.16">
|
|
<doc xml:space="preserve">Gets the current run for read-only access.
|
|
|
|
When iterating by run, at the end of each line, there's a position
|
|
with a %NULL run, so this function can return %NULL. The %NULL run
|
|
at the end of each line ensures that all lines have at least one run,
|
|
even lines consisting of only a newline.
|
|
|
|
This is a faster alternative to [method@Pango.LayoutIter.get_run],
|
|
but the user is not expected to modify the contents of the run (glyphs,
|
|
glyph widths, etc.).</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the current run, that
|
|
should not be modified</doc>
|
|
<type name="LayoutRun" c:type="PangoLayoutRun*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="next_char" c:identifier="pango_layout_iter_next_char">
|
|
<doc xml:space="preserve">Moves @iter forward to the next character in visual order.
|
|
|
|
If @iter was already at the end of the layout, returns %FALSE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether motion was possible</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="next_cluster" c:identifier="pango_layout_iter_next_cluster">
|
|
<doc xml:space="preserve">Moves @iter forward to the next cluster in visual order.
|
|
|
|
If @iter was already at the end of the layout, returns %FALSE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether motion was possible</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="next_line" c:identifier="pango_layout_iter_next_line">
|
|
<doc xml:space="preserve">Moves @iter forward to the start of the next line.
|
|
|
|
If @iter is already on the last line, returns %FALSE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether motion was possible</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="next_run" c:identifier="pango_layout_iter_next_run">
|
|
<doc xml:space="preserve">Moves @iter forward to the next run in visual order.
|
|
|
|
If @iter was already at the end of the layout, returns %FALSE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether motion was possible</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutIter`</doc>
|
|
<type name="LayoutIter" c:type="PangoLayoutIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="LayoutLine" c:type="PangoLayoutLine" glib:type-name="PangoLayoutLine" glib:get-type="pango_layout_line_get_type" c:symbol-prefix="layout_line">
|
|
<doc xml:space="preserve">A `PangoLayoutLine` represents one of the lines resulting from laying
|
|
out a paragraph via `PangoLayout`.
|
|
|
|
`PangoLayoutLine` structures are obtained by calling
|
|
[method@Pango.Layout.get_line] and are only valid until the text,
|
|
attributes, or settings of the parent `PangoLayout` are modified.</doc>
|
|
<field name="layout" writable="1">
|
|
<doc xml:space="preserve">the layout this line belongs to, might be %NULL</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</field>
|
|
<field name="start_index" writable="1">
|
|
<doc xml:space="preserve">start of line as byte index into layout->text</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="length" writable="1">
|
|
<doc xml:space="preserve">length of line in bytes</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="runs" writable="1">
|
|
<doc xml:space="preserve">list of runs in the
|
|
line, from left to right</doc>
|
|
<type name="GLib.SList" c:type="GSList*">
|
|
<type name="LayoutRun"/>
|
|
</type>
|
|
</field>
|
|
<field name="is_paragraph_start" writable="1" bits="1">
|
|
<doc xml:space="preserve">#TRUE if this is the first line of the paragraph</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="resolved_dir" writable="1" bits="3">
|
|
<doc xml:space="preserve">#Resolved PangoDirection of line</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<method name="get_extents" c:identifier="pango_layout_line_get_extents">
|
|
<doc xml:space="preserve">Computes the logical and ink extents of a layout line.
|
|
|
|
See [method@Pango.Font.get_glyph_extents] for details
|
|
about the interpretation of the rectangles.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the extents of
|
|
the glyph string as drawn</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the logical
|
|
extents of the glyph string</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_height" c:identifier="pango_layout_line_get_height" version="1.44">
|
|
<doc xml:space="preserve">Computes the height of the line, as the maximum of the heights
|
|
of fonts used in this line.
|
|
|
|
Note that the actual baseline-to-baseline distance between lines
|
|
of text is influenced by other factors, such as
|
|
[method@Pango.Layout.set_spacing] and
|
|
[method@Pango.Layout.set_line_spacing].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
<parameter name="height" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">return location for the line height</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_length" c:identifier="pango_layout_line_get_length" version="1.50">
|
|
<doc xml:space="preserve">Returns the length of the line, in bytes.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the length of the line</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixel_extents" c:identifier="pango_layout_line_get_pixel_extents">
|
|
<doc xml:space="preserve">Computes the logical and ink extents of @layout_line in device units.
|
|
|
|
This function just calls [method@Pango.LayoutLine.get_extents] followed by
|
|
two [func@extents_to_pixels] calls, rounding @ink_rect and @logical_rect
|
|
such that the rounded rectangles fully contain the unrounded one (that is,
|
|
passes them as first argument to [func@extents_to_pixels]).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="layout_line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
<parameter name="ink_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the extents of
|
|
the glyph string as drawn</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" direction="out" caller-allocates="1" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle used to store the logical
|
|
extents of the glyph string</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_resolved_direction" c:identifier="pango_layout_line_get_resolved_direction" version="1.50">
|
|
<doc xml:space="preserve">Returns the resolved direction of the line.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the resolved direction of the line</doc>
|
|
<type name="Direction" c:type="PangoDirection"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_start_index" c:identifier="pango_layout_line_get_start_index" version="1.50">
|
|
<doc xml:space="preserve">Returns the start index of the line, as byte index
|
|
into the text of the layout.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the start index of the line</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_x_ranges" c:identifier="pango_layout_line_get_x_ranges">
|
|
<doc xml:space="preserve">Gets a list of visual ranges corresponding to a given logical range.
|
|
|
|
This list is not necessarily minimal - there may be consecutive
|
|
ranges which are adjacent. The ranges will be sorted from left to
|
|
right. The ranges are with respect to the left edge of the entire
|
|
layout, not with respect to the line.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
<parameter name="start_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">Start byte index of the logical range. If this value
|
|
is less than the start index for the line, then the first range
|
|
will extend all the way to the leading edge of the layout. Otherwise,
|
|
it will start at the leading edge of the first character.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="end_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">Ending byte index of the logical range. If this value is
|
|
greater than the end index for the line, then the last range will
|
|
extend all the way to the trailing edge of the layout. Otherwise,
|
|
it will end at the trailing edge of the last character.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="ranges" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to
|
|
store a pointer to an array of ranges. The array will be of length
|
|
`2*n_ranges`, with each range starting at `(*ranges)[2*n]` and of
|
|
width `(*ranges)[2*n + 1] - (*ranges)[2*n]`. This array must be freed
|
|
with g_free(). The coordinates are relative to the layout and are in
|
|
Pango units.</doc>
|
|
<array length="3" zero-terminated="0" c:type="int**">
|
|
<type name="gint" c:type="int*"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="n_ranges" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">The number of ranges stored in @ranges</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="index_to_x" c:identifier="pango_layout_line_index_to_x">
|
|
<doc xml:space="preserve">Converts an index within a line to a X position.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
<parameter name="index_" transfer-ownership="none">
|
|
<doc xml:space="preserve">byte offset of a grapheme within the layout</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="trailing" transfer-ownership="none">
|
|
<doc xml:space="preserve">an integer indicating the edge of the grapheme to retrieve
|
|
the position of. If > 0, the trailing edge of the grapheme,
|
|
if 0, the leading of the grapheme</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="x_pos" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store the x_offset (in Pango units)</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_paragraph_start" c:identifier="pango_layout_line_is_paragraph_start" version="1.50">
|
|
<doc xml:space="preserve">Returns whether this is the first line of the paragraph.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if this is the first line</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="pango_layout_line_ref" version="1.10">
|
|
<doc xml:space="preserve">Increase the reference count of a `PangoLayoutLine` by one.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the line passed in.</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="line" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="pango_layout_line_unref">
|
|
<doc xml:space="preserve">Decrease the reference count of a `PangoLayoutLine` by one.
|
|
|
|
If the result is zero, the line and all associated memory
|
|
will be freed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="x_to_index" c:identifier="pango_layout_line_x_to_index">
|
|
<doc xml:space="preserve">Converts from x offset to the byte index of the corresponding character
|
|
within the text of the layout.
|
|
|
|
If @x_pos is outside the line, @index_ and @trailing will point to the very
|
|
first or very last position in the line. This determination is based on the
|
|
resolved direction of the paragraph; for example, if the resolved direction
|
|
is right-to-left, then an X position to the right of the line (after it)
|
|
results in 0 being stored in @index_ and @trailing. An X position to the
|
|
left of the line results in @index_ pointing to the (logical) last grapheme
|
|
in the line and @trailing being set to the number of characters in that
|
|
grapheme. The reverse is true for a left-to-right line.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if @x_pos was outside the line, %TRUE if inside</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</instance-parameter>
|
|
<parameter name="x_pos" transfer-ownership="none">
|
|
<doc xml:space="preserve">the X offset (in Pango units) from the left edge of the line.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="index_" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store calculated byte index for the grapheme
|
|
in which the user clicked</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="trailing" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">location to store an integer indicating where in the
|
|
grapheme the user clicked. It will either be zero, or the number of
|
|
characters in the grapheme. 0 represents the leading edge of the grapheme.</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="LayoutSerializeFlags" version="1.50" glib:type-name="PangoLayoutSerializeFlags" glib:get-type="pango_layout_serialize_flags_get_type" c:type="PangoLayoutSerializeFlags">
|
|
<doc xml:space="preserve">Flags that influence the behavior of [method@Pango.Layout.serialize].
|
|
|
|
New members may be added to this enumeration over time.</doc>
|
|
<member name="default" value="0" c:identifier="PANGO_LAYOUT_SERIALIZE_DEFAULT" glib:nick="default" glib:name="PANGO_LAYOUT_SERIALIZE_DEFAULT">
|
|
<doc xml:space="preserve">Default behavior</doc>
|
|
</member>
|
|
<member name="context" value="1" c:identifier="PANGO_LAYOUT_SERIALIZE_CONTEXT" glib:nick="context" glib:name="PANGO_LAYOUT_SERIALIZE_CONTEXT">
|
|
<doc xml:space="preserve">Include context information</doc>
|
|
</member>
|
|
<member name="output" value="2" c:identifier="PANGO_LAYOUT_SERIALIZE_OUTPUT" glib:nick="output" glib:name="PANGO_LAYOUT_SERIALIZE_OUTPUT">
|
|
<doc xml:space="preserve">Include information about the formatted output</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="LogAttr" c:type="PangoLogAttr">
|
|
<doc xml:space="preserve">The `PangoLogAttr` structure stores information about the attributes of a
|
|
single character.</doc>
|
|
<field name="is_line_break" writable="1" bits="1">
|
|
<doc xml:space="preserve">if set, can break line in front of character</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_mandatory_break" writable="1" bits="1">
|
|
<doc xml:space="preserve">if set, must break line in front of character</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_char_break" writable="1" bits="1">
|
|
<doc xml:space="preserve">if set, can break here when doing character wrapping</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_white" writable="1" bits="1">
|
|
<doc xml:space="preserve">is whitespace character</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_cursor_position" writable="1" bits="1">
|
|
<doc xml:space="preserve">if set, cursor can appear in front of character.
|
|
i.e. this is a grapheme boundary, or the first character in the text.
|
|
This flag implements Unicode's
|
|
[Grapheme Cluster Boundaries](http://www.unicode.org/reports/tr29/)
|
|
semantics.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_word_start" writable="1" bits="1">
|
|
<doc xml:space="preserve">is first character in a word</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_word_end" writable="1" bits="1">
|
|
<doc xml:space="preserve">is first non-word char after a word
|
|
Note that in degenerate cases, you could have both @is_word_start
|
|
and @is_word_end set for some character.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_sentence_boundary" writable="1" bits="1">
|
|
<doc xml:space="preserve">is a sentence boundary.
|
|
There are two ways to divide sentences. The first assigns all
|
|
inter-sentence whitespace/control/format chars to some sentence,
|
|
so all chars are in some sentence; @is_sentence_boundary denotes
|
|
the boundaries there. The second way doesn't assign
|
|
between-sentence spaces, etc. to any sentence, so
|
|
@is_sentence_start/@is_sentence_end mark the boundaries of those sentences.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_sentence_start" writable="1" bits="1">
|
|
<doc xml:space="preserve">is first character in a sentence</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_sentence_end" writable="1" bits="1">
|
|
<doc xml:space="preserve">is first char after a sentence.
|
|
Note that in degenerate cases, you could have both @is_sentence_start
|
|
and @is_sentence_end set for some character. (e.g. no space after a
|
|
period, so the next sentence starts right away)</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="backspace_deletes_character" writable="1" bits="1">
|
|
<doc xml:space="preserve">if set, backspace deletes one character
|
|
rather than the entire grapheme cluster. This field is only meaningful
|
|
on grapheme boundaries (where @is_cursor_position is set). In some languages,
|
|
the full grapheme (e.g. letter + diacritics) is considered a unit, while in
|
|
others, each decomposed character in the grapheme is a unit. In the default
|
|
implementation of [func@break], this bit is set on all grapheme boundaries
|
|
except those following Latin, Cyrillic or Greek base characters.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_expandable_space" writable="1" bits="1">
|
|
<doc xml:space="preserve">is a whitespace character that can possibly be
|
|
expanded for justification purposes. (Since: 1.18)</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="is_word_boundary" writable="1" bits="1">
|
|
<doc xml:space="preserve">is a word boundary, as defined by UAX#29.
|
|
More specifically, means that this is not a position in the middle of a word.
|
|
For example, both sides of a punctuation mark are considered word boundaries.
|
|
This flag is particularly useful when selecting text word-by-word. This flag
|
|
implements Unicode's [Word Boundaries](http://www.unicode.org/reports/tr29/)
|
|
semantics. (Since: 1.22)</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="break_inserts_hyphen" writable="1" bits="1">
|
|
<doc xml:space="preserve">when breaking lines before this char, insert a hyphen.
|
|
Since: 1.50</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="break_removes_preceding" writable="1" bits="1">
|
|
<doc xml:space="preserve">when breaking lines before this char, remove the
|
|
preceding char. Since 1.50</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="reserved" writable="1" bits="17">
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
</record>
|
|
<record name="Matrix" c:type="PangoMatrix" version="1.6" glib:type-name="PangoMatrix" glib:get-type="pango_matrix_get_type" c:symbol-prefix="matrix">
|
|
<doc xml:space="preserve">A `PangoMatrix` specifies a transformation between user-space
|
|
and device coordinates.
|
|
|
|
The transformation is given by
|
|
|
|
```
|
|
x_device = x_user * matrix->xx + y_user * matrix->xy + matrix->x0;
|
|
y_device = x_user * matrix->yx + y_user * matrix->yy + matrix->y0;
|
|
```</doc>
|
|
<field name="xx" writable="1">
|
|
<doc xml:space="preserve">1st component of the transformation matrix</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</field>
|
|
<field name="xy" writable="1">
|
|
<doc xml:space="preserve">2nd component of the transformation matrix</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</field>
|
|
<field name="yx" writable="1">
|
|
<doc xml:space="preserve">3rd component of the transformation matrix</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</field>
|
|
<field name="yy" writable="1">
|
|
<doc xml:space="preserve">4th component of the transformation matrix</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</field>
|
|
<field name="x0" writable="1">
|
|
<doc xml:space="preserve">x translation</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</field>
|
|
<field name="y0" writable="1">
|
|
<doc xml:space="preserve">y translation</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</field>
|
|
<method name="concat" c:identifier="pango_matrix_concat" version="1.6">
|
|
<doc xml:space="preserve">Changes the transformation represented by @matrix to be the
|
|
transformation given by first applying transformation
|
|
given by @new_matrix then applying the original transformation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="PangoMatrix*"/>
|
|
</instance-parameter>
|
|
<parameter name="new_matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="pango_matrix_copy" version="1.6">
|
|
<doc xml:space="preserve">Copies a `PangoMatrix`.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the newly allocated `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="PangoMatrix*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="pango_matrix_free" version="1.6">
|
|
<doc xml:space="preserve">Free a `PangoMatrix`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`, may be %NULL</doc>
|
|
<type name="Matrix" c:type="PangoMatrix*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_font_scale_factor" c:identifier="pango_matrix_get_font_scale_factor" version="1.12">
|
|
<doc xml:space="preserve">Returns the scale factor of a matrix on the height of the font.
|
|
|
|
That is, the scale factor in the direction perpendicular to the
|
|
vector that the X coordinate is mapped to. If the scale in the X
|
|
coordinate is needed as well, use [method@Pango.Matrix.get_font_scale_factors].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the scale factor of @matrix on the height of the font,
|
|
or 1.0 if @matrix is %NULL.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`, may be %NULL</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_font_scale_factors" c:identifier="pango_matrix_get_font_scale_factors" version="1.38">
|
|
<doc xml:space="preserve">Calculates the scale factor of a matrix on the width and height of the font.
|
|
|
|
That is, @xscale is the scale factor in the direction of the X coordinate,
|
|
and @yscale is the scale factor in the direction perpendicular to the
|
|
vector that the X coordinate is mapped to.
|
|
|
|
Note that output numbers will always be non-negative.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</instance-parameter>
|
|
<parameter name="xscale" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">output scale factor in the x direction</doc>
|
|
<type name="gdouble" c:type="double*"/>
|
|
</parameter>
|
|
<parameter name="yscale" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">output scale factor perpendicular to the x direction</doc>
|
|
<type name="gdouble" c:type="double*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_slant_ratio" c:identifier="pango_matrix_get_slant_ratio" version="1.50">
|
|
<doc xml:space="preserve">Gets the slant ratio of a matrix.
|
|
|
|
For a simple shear matrix in the form:
|
|
|
|
1 λ
|
|
0 1
|
|
|
|
this is simply λ.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the slant ratio of @matrix</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="rotate" c:identifier="pango_matrix_rotate" version="1.6">
|
|
<doc xml:space="preserve">Changes the transformation represented by @matrix to be the
|
|
transformation given by first rotating by @degrees degrees
|
|
counter-clockwise then applying the original transformation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="PangoMatrix*"/>
|
|
</instance-parameter>
|
|
<parameter name="degrees" transfer-ownership="none">
|
|
<doc xml:space="preserve">degrees to rotate counter-clockwise</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="scale" c:identifier="pango_matrix_scale" version="1.6">
|
|
<doc xml:space="preserve">Changes the transformation represented by @matrix to be the
|
|
transformation given by first scaling by @sx in the X direction
|
|
and @sy in the Y direction then applying the original
|
|
transformation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="PangoMatrix*"/>
|
|
</instance-parameter>
|
|
<parameter name="scale_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">amount to scale by in X direction</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="scale_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">amount to scale by in Y direction</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="transform_distance" c:identifier="pango_matrix_transform_distance" version="1.16">
|
|
<doc xml:space="preserve">Transforms the distance vector (@dx,@dy) by @matrix.
|
|
|
|
This is similar to [method@Pango.Matrix.transform_point],
|
|
except that the translation components of the transformation
|
|
are ignored. The calculation of the returned vector is as follows:
|
|
|
|
```
|
|
dx2 = dx1 * xx + dy1 * xy;
|
|
dy2 = dx1 * yx + dy1 * yy;
|
|
```
|
|
|
|
Affine transformations are position invariant, so the same vector
|
|
always transforms to the same vector. If (@x1,@y1) transforms
|
|
to (@x2,@y2) then (@x1+@dx1,@y1+@dy1) will transform to
|
|
(@x1+@dx2,@y1+@dy2) for all values of @x1 and @x2.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</instance-parameter>
|
|
<parameter name="dx" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">in/out X component of a distance vector</doc>
|
|
<type name="gdouble" c:type="double*"/>
|
|
</parameter>
|
|
<parameter name="dy" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">in/out Y component of a distance vector</doc>
|
|
<type name="gdouble" c:type="double*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="transform_pixel_rectangle" c:identifier="pango_matrix_transform_pixel_rectangle" version="1.16">
|
|
<doc xml:space="preserve">First transforms the @rect using @matrix, then calculates the bounding box
|
|
of the transformed rectangle.
|
|
|
|
This function is useful for example when you want to draw a rotated
|
|
@PangoLayout to an image buffer, and want to know how large the image
|
|
should be and how much you should shift the layout when rendering.
|
|
|
|
For better accuracy, you should use [method@Pango.Matrix.transform_rectangle]
|
|
on original rectangle in Pango units and convert to pixels afterward
|
|
using [func@extents_to_pixels]'s first argument.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</instance-parameter>
|
|
<parameter name="rect" direction="inout" caller-allocates="0" transfer-ownership="full" optional="1">
|
|
<doc xml:space="preserve">in/out bounding box in device units</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="transform_point" c:identifier="pango_matrix_transform_point" version="1.16">
|
|
<doc xml:space="preserve">Transforms the point (@x, @y) by @matrix.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</instance-parameter>
|
|
<parameter name="x" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">in/out X position</doc>
|
|
<type name="gdouble" c:type="double*"/>
|
|
</parameter>
|
|
<parameter name="y" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">in/out Y position</doc>
|
|
<type name="gdouble" c:type="double*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="transform_rectangle" c:identifier="pango_matrix_transform_rectangle" version="1.16">
|
|
<doc xml:space="preserve">First transforms @rect using @matrix, then calculates the bounding box
|
|
of the transformed rectangle.
|
|
|
|
This function is useful for example when you want to draw a rotated
|
|
@PangoLayout to an image buffer, and want to know how large the image
|
|
should be and how much you should shift the layout when rendering.
|
|
|
|
If you have a rectangle in device units (pixels), use
|
|
[method@Pango.Matrix.transform_pixel_rectangle].
|
|
|
|
If you have the rectangle in Pango units and want to convert to
|
|
transformed pixel bounding box, it is more accurate to transform it first
|
|
(using this function) and pass the result to pango_extents_to_pixels(),
|
|
first argument, for an inclusive rounded rectangle.
|
|
However, there are valid reasons that you may want to convert
|
|
to pixels first and then transform, for example when the transformed
|
|
coordinates may overflow in Pango units (large matrix translation for
|
|
example).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</instance-parameter>
|
|
<parameter name="rect" direction="inout" caller-allocates="0" transfer-ownership="full" optional="1">
|
|
<doc xml:space="preserve">in/out bounding box in Pango units</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="translate" c:identifier="pango_matrix_translate" version="1.6">
|
|
<doc xml:space="preserve">Changes the transformation represented by @matrix to be the
|
|
transformation given by first translating by (@tx, @ty)
|
|
then applying the original transformation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="PangoMatrix*"/>
|
|
</instance-parameter>
|
|
<parameter name="tx" transfer-ownership="none">
|
|
<doc xml:space="preserve">amount to translate in the X direction</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="ty" transfer-ownership="none">
|
|
<doc xml:space="preserve">amount to translate in the Y direction</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="Overline" version="1.46" glib:type-name="PangoOverline" glib:get-type="pango_overline_get_type" c:type="PangoOverline">
|
|
<doc xml:space="preserve">The `PangoOverline` enumeration is used to specify whether text
|
|
should be overlined, and if so, the type of line.</doc>
|
|
<member name="none" value="0" c:identifier="PANGO_OVERLINE_NONE" glib:nick="none" glib:name="PANGO_OVERLINE_NONE">
|
|
<doc xml:space="preserve">no overline should be drawn</doc>
|
|
</member>
|
|
<member name="single" value="1" c:identifier="PANGO_OVERLINE_SINGLE" glib:nick="single" glib:name="PANGO_OVERLINE_SINGLE">
|
|
<doc xml:space="preserve">Draw a single line above the ink
|
|
extents of the text being underlined.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="PIXELS" c:identifier="PANGO_PIXELS" introspectable="0">
|
|
<doc xml:space="preserve">Converts a dimension to device units by rounding.</doc>
|
|
<parameters>
|
|
<parameter name="d">
|
|
<doc xml:space="preserve">a dimension in Pango units.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXELS_CEIL" c:identifier="PANGO_PIXELS_CEIL" version="1.14" introspectable="0">
|
|
<doc xml:space="preserve">Converts a dimension to device units by ceiling.</doc>
|
|
<parameters>
|
|
<parameter name="d">
|
|
<doc xml:space="preserve">a dimension in Pango units.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="PIXELS_FLOOR" c:identifier="PANGO_PIXELS_FLOOR" version="1.14" introspectable="0">
|
|
<doc xml:space="preserve">Converts a dimension to device units by flooring.</doc>
|
|
<parameters>
|
|
<parameter name="d">
|
|
<doc xml:space="preserve">a dimension in Pango units.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="RBEARING" c:identifier="PANGO_RBEARING" introspectable="0">
|
|
<doc xml:space="preserve">Extracts the *right bearing* from a `PangoRectangle`
|
|
representing glyph extents.
|
|
|
|
The right bearing is the distance from the horizontal
|
|
origin to the farthest right point of the character.
|
|
This is positive except for characters drawn completely
|
|
to the left of the horizontal origin.</doc>
|
|
<parameters>
|
|
<parameter name="rect">
|
|
<doc xml:space="preserve">a `PangoRectangle`</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="RENDERER" c:identifier="PANGO_RENDERER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="object">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="RENDERER_CLASS" c:identifier="PANGO_RENDERER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="RENDERER_GET_CLASS" c:identifier="PANGO_RENDERER_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<record name="Rectangle" c:type="PangoRectangle">
|
|
<doc xml:space="preserve">The `PangoRectangle` structure represents a rectangle.
|
|
|
|
`PangoRectangle` is frequently used to represent the logical or ink
|
|
extents of a single glyph or section of text. (See, for instance,
|
|
[method@Pango.Font.get_glyph_extents].)</doc>
|
|
<field name="x" writable="1">
|
|
<doc xml:space="preserve">X coordinate of the left side of the rectangle.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="y" writable="1">
|
|
<doc xml:space="preserve">Y coordinate of the the top side of the rectangle.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="width" writable="1">
|
|
<doc xml:space="preserve">width of the rectangle.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="height" writable="1">
|
|
<doc xml:space="preserve">height of the rectangle.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
</record>
|
|
<enumeration name="RenderPart" version="1.8" glib:type-name="PangoRenderPart" glib:get-type="pango_render_part_get_type" c:type="PangoRenderPart">
|
|
<doc xml:space="preserve">`PangoRenderPart` defines different items to render for such
|
|
purposes as setting colors.</doc>
|
|
<member name="foreground" value="0" c:identifier="PANGO_RENDER_PART_FOREGROUND" glib:nick="foreground" glib:name="PANGO_RENDER_PART_FOREGROUND">
|
|
<doc xml:space="preserve">the text itself</doc>
|
|
</member>
|
|
<member name="background" value="1" c:identifier="PANGO_RENDER_PART_BACKGROUND" glib:nick="background" glib:name="PANGO_RENDER_PART_BACKGROUND">
|
|
<doc xml:space="preserve">the area behind the text</doc>
|
|
</member>
|
|
<member name="underline" value="2" c:identifier="PANGO_RENDER_PART_UNDERLINE" glib:nick="underline" glib:name="PANGO_RENDER_PART_UNDERLINE">
|
|
<doc xml:space="preserve">underlines</doc>
|
|
</member>
|
|
<member name="strikethrough" value="3" c:identifier="PANGO_RENDER_PART_STRIKETHROUGH" glib:nick="strikethrough" glib:name="PANGO_RENDER_PART_STRIKETHROUGH">
|
|
<doc xml:space="preserve">strikethrough lines</doc>
|
|
</member>
|
|
<member name="overline" value="4" c:identifier="PANGO_RENDER_PART_OVERLINE" glib:nick="overline" glib:name="PANGO_RENDER_PART_OVERLINE">
|
|
<doc xml:space="preserve">overlines</doc>
|
|
</member>
|
|
</enumeration>
|
|
<class name="Renderer" c:symbol-prefix="renderer" c:type="PangoRenderer" version="1.8" parent="GObject.Object" abstract="1" glib:type-name="PangoRenderer" glib:get-type="pango_renderer_get_type" glib:type-struct="RendererClass">
|
|
<doc xml:space="preserve">`PangoRenderer` is a base class for objects that can render text
|
|
provided as `PangoGlyphString` or `PangoLayout`.
|
|
|
|
By subclassing `PangoRenderer` and overriding operations such as
|
|
@draw_glyphs and @draw_rectangle, renderers for particular font
|
|
backends and destinations can be created.</doc>
|
|
<virtual-method name="begin">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="draw_error_underline" invoker="draw_error_underline" version="1.8">
|
|
<doc xml:space="preserve">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.
|
|
|
|
This should be called while @renderer is already active.
|
|
Use [method@Pango.Renderer.activate] to activate a renderer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">width of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">height of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="draw_glyph" invoker="draw_glyph" version="1.8">
|
|
<doc xml:space="preserve">Draws a single glyph with coordinates in device space.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="glyph" transfer-ownership="none">
|
|
<doc xml:space="preserve">the glyph index of a single glyph</doc>
|
|
<type name="Glyph" c:type="PangoGlyph"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of left edge of baseline of glyph</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of left edge of baseline of glyph</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="draw_glyph_item" invoker="draw_glyph_item" version="1.22">
|
|
<doc xml:space="preserve">Draws the glyphs in @glyph_item with the specified `PangoRenderer`,
|
|
embedding the text associated with the glyphs in the output if the
|
|
output format supports it.
|
|
|
|
This is useful for rendering text in PDF.
|
|
|
|
Note that this method does not handle attributes in @glyph_item.
|
|
If you want colors, shapes and lines handled automatically according
|
|
to those attributes, you need to use pango_renderer_draw_layout_line()
|
|
or pango_renderer_draw_layout().
|
|
|
|
Note that @text is the start of the text for layout, which is then
|
|
indexed by `glyph_item->item->offset`.
|
|
|
|
If @text is %NULL, this simply calls [method@Pango.Renderer.draw_glyphs].
|
|
|
|
The default implementation of this method simply falls back to
|
|
[method@Pango.Renderer.draw_glyphs].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="text" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the UTF-8 text that @glyph_item refers to</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="glyph_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphItem`</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="draw_glyphs" invoker="draw_glyphs" version="1.8">
|
|
<doc xml:space="preserve">Draws the glyphs in @glyphs with the specified `PangoRenderer`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphString`</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
|
|
in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
|
|
in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="draw_rectangle" invoker="draw_rectangle" version="1.8">
|
|
<doc xml:space="preserve">Draws an axis-aligned rectangle in user space coordinates with the
|
|
specified `PangoRenderer`.
|
|
|
|
This should be called while @renderer is already active.
|
|
Use [method@Pango.Renderer.activate] to activate a renderer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">type of object this rectangle is part of</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position at which to draw rectangle, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position at which to draw rectangle, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">width of rectangle in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">height of rectangle in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="draw_shape">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="attr" transfer-ownership="none">
|
|
<type name="AttrShape" c:type="PangoAttrShape*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="draw_trapezoid" invoker="draw_trapezoid" version="1.8">
|
|
<doc xml:space="preserve">Draws a trapezoid with the parallel sides aligned with the X axis
|
|
using the given `PangoRenderer`; coordinates are in device space.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">type of object this trapezoid is part of</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
<parameter name="y1_" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of top of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x11" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of left end of top of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x21" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of right end of top of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="y2" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of bottom of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x12" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of left end of bottom of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x22" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of right end of bottom of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="end">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="part_changed" invoker="part_changed" version="1.8">
|
|
<doc xml:space="preserve">Informs Pango that the way that the rendering is done
|
|
for @part has changed.
|
|
|
|
This should be called if the rendering changes in a way that would
|
|
prevent multiple pieces being joined together into one drawing call.
|
|
For instance, if a subclass of `PangoRenderer` was to add a stipple
|
|
option for drawing underlines, it needs to call
|
|
|
|
```
|
|
pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
|
|
```
|
|
|
|
When the stipple changes or underlines with different stipples
|
|
might be joined together. Pango automatically calls this for
|
|
changes to colors. (See [method@Pango.Renderer.set_color])</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">the part for which rendering has changed.</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="prepare_run">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="run" transfer-ownership="none">
|
|
<type name="LayoutRun" c:type="PangoLayoutRun*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="activate" c:identifier="pango_renderer_activate" version="1.8">
|
|
<doc xml:space="preserve">Does initial setup before rendering operations on @renderer.
|
|
|
|
[method@Pango.Renderer.deactivate] should be called when done drawing.
|
|
Calls such as [method@Pango.Renderer.draw_layout] automatically
|
|
activate the layout before drawing on it.
|
|
|
|
Calls to [method@Pango.Renderer.activate] and
|
|
[method@Pango.Renderer.deactivate] can be nested and the
|
|
renderer will only be initialized and deinitialized once.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="deactivate" c:identifier="pango_renderer_deactivate" version="1.8">
|
|
<doc xml:space="preserve">Cleans up after rendering operations on @renderer.
|
|
|
|
See docs for [method@Pango.Renderer.activate].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="draw_error_underline" c:identifier="pango_renderer_draw_error_underline" version="1.8">
|
|
<doc xml:space="preserve">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.
|
|
|
|
This should be called while @renderer is already active.
|
|
Use [method@Pango.Renderer.activate] to activate a renderer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">width of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">height of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="draw_glyph" c:identifier="pango_renderer_draw_glyph" version="1.8">
|
|
<doc xml:space="preserve">Draws a single glyph with coordinates in device space.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="glyph" transfer-ownership="none">
|
|
<doc xml:space="preserve">the glyph index of a single glyph</doc>
|
|
<type name="Glyph" c:type="PangoGlyph"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of left edge of baseline of glyph</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of left edge of baseline of glyph</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="draw_glyph_item" c:identifier="pango_renderer_draw_glyph_item" version="1.22">
|
|
<doc xml:space="preserve">Draws the glyphs in @glyph_item with the specified `PangoRenderer`,
|
|
embedding the text associated with the glyphs in the output if the
|
|
output format supports it.
|
|
|
|
This is useful for rendering text in PDF.
|
|
|
|
Note that this method does not handle attributes in @glyph_item.
|
|
If you want colors, shapes and lines handled automatically according
|
|
to those attributes, you need to use pango_renderer_draw_layout_line()
|
|
or pango_renderer_draw_layout().
|
|
|
|
Note that @text is the start of the text for layout, which is then
|
|
indexed by `glyph_item->item->offset`.
|
|
|
|
If @text is %NULL, this simply calls [method@Pango.Renderer.draw_glyphs].
|
|
|
|
The default implementation of this method simply falls back to
|
|
[method@Pango.Renderer.draw_glyphs].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="text" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the UTF-8 text that @glyph_item refers to</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="glyph_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphItem`</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="draw_glyphs" c:identifier="pango_renderer_draw_glyphs" version="1.8">
|
|
<doc xml:space="preserve">Draws the glyphs in @glyphs with the specified `PangoRenderer`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphString`</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
|
|
in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
|
|
in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="draw_layout" c:identifier="pango_renderer_draw_layout" version="1.8">
|
|
<doc xml:space="preserve">Draws @layout with the specified `PangoRenderer`.
|
|
|
|
This is equivalent to drawing the lines of the layout, at their
|
|
respective positions relative to @x, @y.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="layout" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayout`</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
|
|
in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
|
|
in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="draw_layout_line" c:identifier="pango_renderer_draw_layout_line" version="1.8">
|
|
<doc xml:space="preserve">Draws @line with the specified `PangoRenderer`.
|
|
|
|
This draws the glyph items that make up the line, as well as
|
|
shapes, backgrounds and lines that are specified by the attributes
|
|
of those items.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="line" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoLayoutLine`</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
|
|
in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
|
|
in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="draw_rectangle" c:identifier="pango_renderer_draw_rectangle" version="1.8">
|
|
<doc xml:space="preserve">Draws an axis-aligned rectangle in user space coordinates with the
|
|
specified `PangoRenderer`.
|
|
|
|
This should be called while @renderer is already active.
|
|
Use [method@Pango.Renderer.activate] to activate a renderer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">type of object this rectangle is part of</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position at which to draw rectangle, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position at which to draw rectangle, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">width of rectangle in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">height of rectangle in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="draw_trapezoid" c:identifier="pango_renderer_draw_trapezoid" version="1.8">
|
|
<doc xml:space="preserve">Draws a trapezoid with the parallel sides aligned with the X axis
|
|
using the given `PangoRenderer`; coordinates are in device space.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">type of object this trapezoid is part of</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
<parameter name="y1_" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of top of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x11" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of left end of top of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x21" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of right end of top of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="y2" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of bottom of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x12" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of left end of bottom of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x22" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of right end of bottom of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_alpha" c:identifier="pango_renderer_get_alpha" version="1.38">
|
|
<doc xml:space="preserve">Gets the current alpha for the specified part.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the alpha for the specified part,
|
|
or 0 if it hasn't been set and should be
|
|
inherited from the environment.</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">the part to get the alpha for</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_color" c:identifier="pango_renderer_get_color" version="1.8">
|
|
<doc xml:space="preserve">Gets the current rendering color for the specified part.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the color for the
|
|
specified part, or %NULL if it hasn't been set and should be
|
|
inherited from the environment.</doc>
|
|
<type name="Color" c:type="PangoColor*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">the part to get the color for</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_layout" c:identifier="pango_renderer_get_layout" version="1.20">
|
|
<doc xml:space="preserve">Gets the layout currently being rendered using @renderer.
|
|
|
|
Calling this function only makes sense from inside a subclass's
|
|
methods, like in its draw_shape vfunc, for example.
|
|
|
|
The returned layout should not be modified while still being
|
|
rendered.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the layout, or %NULL if
|
|
no layout is being rendered using @renderer at this time.</doc>
|
|
<type name="Layout" c:type="PangoLayout*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_layout_line" c:identifier="pango_renderer_get_layout_line" version="1.20">
|
|
<doc xml:space="preserve">Gets the layout line currently being rendered using @renderer.
|
|
|
|
Calling this function only makes sense from inside a subclass's
|
|
methods, like in its draw_shape vfunc, for example.
|
|
|
|
The returned layout line should not be modified while still being
|
|
rendered.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the layout line, or %NULL
|
|
if no layout line is being rendered using @renderer at this time.</doc>
|
|
<type name="LayoutLine" c:type="PangoLayoutLine*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_matrix" c:identifier="pango_renderer_get_matrix" version="1.8">
|
|
<doc xml:space="preserve">Gets the transformation matrix that will be applied when
|
|
rendering.
|
|
|
|
See [method@Pango.Renderer.set_matrix].</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the matrix, or %NULL 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.</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="part_changed" c:identifier="pango_renderer_part_changed" version="1.8">
|
|
<doc xml:space="preserve">Informs Pango that the way that the rendering is done
|
|
for @part has changed.
|
|
|
|
This should be called if the rendering changes in a way that would
|
|
prevent multiple pieces being joined together into one drawing call.
|
|
For instance, if a subclass of `PangoRenderer` was to add a stipple
|
|
option for drawing underlines, it needs to call
|
|
|
|
```
|
|
pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE);
|
|
```
|
|
|
|
When the stipple changes or underlines with different stipples
|
|
might be joined together. Pango automatically calls this for
|
|
changes to colors. (See [method@Pango.Renderer.set_color])</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">the part for which rendering has changed.</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_alpha" c:identifier="pango_renderer_set_alpha" version="1.38">
|
|
<doc xml:space="preserve">Sets the alpha for part of the rendering.
|
|
|
|
Note that the alpha may only be used if a color is
|
|
specified for @part as well.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">the part to set the alpha for</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
<parameter name="alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">an alpha value between 1 and 65536, or 0 to unset the alpha</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_color" c:identifier="pango_renderer_set_color" version="1.8">
|
|
<doc xml:space="preserve">Sets the color for part of the rendering.
|
|
|
|
Also see [method@Pango.Renderer.set_alpha].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">the part to change the color of</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
<parameter name="color" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the new color or %NULL to unset the current color</doc>
|
|
<type name="Color" c:type="const PangoColor*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_matrix" c:identifier="pango_renderer_set_matrix" version="1.8">
|
|
<doc xml:space="preserve">Sets the transformation matrix that will be applied when rendering.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</instance-parameter>
|
|
<parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`, or %NULL to unset any existing matrix
|
|
(No matrix set is the same as setting the identity matrix.)</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<field name="parent_instance" readable="0" private="1">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
<field name="underline" readable="0" private="1">
|
|
<type name="Underline" c:type="PangoUnderline"/>
|
|
</field>
|
|
<field name="strikethrough" readable="0" private="1">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="active_count" readable="0" private="1">
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="matrix">
|
|
<doc xml:space="preserve">the current transformation matrix for
|
|
the Renderer; may be %NULL, which should be treated the
|
|
same as the identity matrix.</doc>
|
|
<type name="Matrix" c:type="PangoMatrix*"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="RendererPrivate" c:type="PangoRendererPrivate*"/>
|
|
</field>
|
|
</class>
|
|
<record name="RendererClass" c:type="PangoRendererClass" glib:is-gtype-struct-for="Renderer" version="1.8">
|
|
<doc xml:space="preserve">Class structure for `PangoRenderer`.
|
|
|
|
The following vfuncs take user space coordinates in Pango units
|
|
and have default implementations:
|
|
- draw_glyphs
|
|
- draw_rectangle
|
|
- draw_error_underline
|
|
- draw_shape
|
|
- draw_glyph_item
|
|
|
|
The default draw_shape implementation draws nothing.
|
|
|
|
The following vfuncs take device space coordinates as doubles
|
|
and must be implemented:
|
|
- draw_trapezoid
|
|
- draw_glyph</doc>
|
|
<field name="parent_class" readable="0" private="1">
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="draw_glyphs">
|
|
<callback name="draw_glyphs">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</parameter>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphString`</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
|
|
in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
|
|
in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="draw_rectangle">
|
|
<callback name="draw_rectangle">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">type of object this rectangle is part of</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position at which to draw rectangle, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position at which to draw rectangle, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">width of rectangle in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">height of rectangle in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="draw_error_underline">
|
|
<callback name="draw_error_underline">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">width of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">height of underline, in Pango units in user coordinate system</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="draw_shape">
|
|
<callback name="draw_shape">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="renderer" transfer-ownership="none">
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</parameter>
|
|
<parameter name="attr" transfer-ownership="none">
|
|
<type name="AttrShape" c:type="PangoAttrShape*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="draw_trapezoid">
|
|
<callback name="draw_trapezoid">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">type of object this trapezoid is part of</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
<parameter name="y1_" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of top of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x11" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of left end of top of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x21" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of right end of top of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="y2" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of bottom of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x12" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of left end of bottom of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="x22" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of right end of bottom of trapezoid</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="draw_glyph">
|
|
<callback name="draw_glyph">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</parameter>
|
|
<parameter name="font" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFont`</doc>
|
|
<type name="Font" c:type="PangoFont*"/>
|
|
</parameter>
|
|
<parameter name="glyph" transfer-ownership="none">
|
|
<doc xml:space="preserve">the glyph index of a single glyph</doc>
|
|
<type name="Glyph" c:type="PangoGlyph"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X coordinate of left edge of baseline of glyph</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y coordinate of left edge of baseline of glyph</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="part_changed">
|
|
<callback name="part_changed">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</parameter>
|
|
<parameter name="part" transfer-ownership="none">
|
|
<doc xml:space="preserve">the part for which rendering has changed.</doc>
|
|
<type name="RenderPart" c:type="PangoRenderPart"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="begin">
|
|
<callback name="begin">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="renderer" transfer-ownership="none">
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="end">
|
|
<callback name="end">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="renderer" transfer-ownership="none">
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="prepare_run">
|
|
<callback name="prepare_run">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="renderer" transfer-ownership="none">
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</parameter>
|
|
<parameter name="run" transfer-ownership="none">
|
|
<type name="LayoutRun" c:type="PangoLayoutRun*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="draw_glyph_item">
|
|
<callback name="draw_glyph_item">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="renderer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoRenderer`</doc>
|
|
<type name="Renderer" c:type="PangoRenderer*"/>
|
|
</parameter>
|
|
<parameter name="text" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the UTF-8 text that @glyph_item refers to</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="glyph_item" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoGlyphItem`</doc>
|
|
<type name="GlyphItem" c:type="PangoGlyphItem*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position of left edge of baseline, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position of left edge of baseline, in user space coordinates
|
|
in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_pango_reserved2" introspectable="0">
|
|
<callback name="_pango_reserved2">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
<field name="_pango_reserved3" introspectable="0">
|
|
<callback name="_pango_reserved3">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
<field name="_pango_reserved4" introspectable="0">
|
|
<callback name="_pango_reserved4">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<record name="RendererPrivate" c:type="PangoRendererPrivate" disguised="1"/>
|
|
<constant name="SCALE" value="1024" c:type="PANGO_SCALE">
|
|
<doc xml:space="preserve">The scale between dimensions used for Pango distances and device units.
|
|
|
|
The definition of device units is dependent on the output device; it will
|
|
typically be pixels for a screen, and points for a printer. %PANGO_SCALE is
|
|
currently 1024, but this may be changed in the future.
|
|
|
|
When setting font sizes, device units are always considered to be
|
|
points (as in "12 point font"), rather than pixels.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<enumeration name="Script" glib:type-name="PangoScript" glib:get-type="pango_script_get_type" c:type="PangoScript">
|
|
<doc xml:space="preserve">The `PangoScript` enumeration identifies different writing
|
|
systems.
|
|
|
|
The values correspond to the names as defined in the Unicode standard. See
|
|
[Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/)
|
|
|
|
Note that this enumeration is deprecated and will not be updated to include values
|
|
in newer versions of the Unicode standard. Applications should use the
|
|
[enum@GLib.UnicodeScript] enumeration instead,
|
|
whose values are interchangeable with `PangoScript`.</doc>
|
|
<member name="invalid_code" value="-1" c:identifier="PANGO_SCRIPT_INVALID_CODE" glib:nick="invalid-code" glib:name="PANGO_SCRIPT_INVALID_CODE">
|
|
<doc xml:space="preserve">a value never returned from pango_script_for_unichar()</doc>
|
|
</member>
|
|
<member name="common" value="0" c:identifier="PANGO_SCRIPT_COMMON" glib:nick="common" glib:name="PANGO_SCRIPT_COMMON">
|
|
<doc xml:space="preserve">a character used by multiple different scripts</doc>
|
|
</member>
|
|
<member name="inherited" value="1" c:identifier="PANGO_SCRIPT_INHERITED" glib:nick="inherited" glib:name="PANGO_SCRIPT_INHERITED">
|
|
<doc xml:space="preserve">a mark glyph that takes its script from the
|
|
base glyph to which it is attached</doc>
|
|
</member>
|
|
<member name="arabic" value="2" c:identifier="PANGO_SCRIPT_ARABIC" glib:nick="arabic" glib:name="PANGO_SCRIPT_ARABIC">
|
|
<doc xml:space="preserve">Arabic</doc>
|
|
</member>
|
|
<member name="armenian" value="3" c:identifier="PANGO_SCRIPT_ARMENIAN" glib:nick="armenian" glib:name="PANGO_SCRIPT_ARMENIAN">
|
|
<doc xml:space="preserve">Armenian</doc>
|
|
</member>
|
|
<member name="bengali" value="4" c:identifier="PANGO_SCRIPT_BENGALI" glib:nick="bengali" glib:name="PANGO_SCRIPT_BENGALI">
|
|
<doc xml:space="preserve">Bengali</doc>
|
|
</member>
|
|
<member name="bopomofo" value="5" c:identifier="PANGO_SCRIPT_BOPOMOFO" glib:nick="bopomofo" glib:name="PANGO_SCRIPT_BOPOMOFO">
|
|
<doc xml:space="preserve">Bopomofo</doc>
|
|
</member>
|
|
<member name="cherokee" value="6" c:identifier="PANGO_SCRIPT_CHEROKEE" glib:nick="cherokee" glib:name="PANGO_SCRIPT_CHEROKEE">
|
|
<doc xml:space="preserve">Cherokee</doc>
|
|
</member>
|
|
<member name="coptic" value="7" c:identifier="PANGO_SCRIPT_COPTIC" glib:nick="coptic" glib:name="PANGO_SCRIPT_COPTIC">
|
|
<doc xml:space="preserve">Coptic</doc>
|
|
</member>
|
|
<member name="cyrillic" value="8" c:identifier="PANGO_SCRIPT_CYRILLIC" glib:nick="cyrillic" glib:name="PANGO_SCRIPT_CYRILLIC">
|
|
<doc xml:space="preserve">Cyrillic</doc>
|
|
</member>
|
|
<member name="deseret" value="9" c:identifier="PANGO_SCRIPT_DESERET" glib:nick="deseret" glib:name="PANGO_SCRIPT_DESERET">
|
|
<doc xml:space="preserve">Deseret</doc>
|
|
</member>
|
|
<member name="devanagari" value="10" c:identifier="PANGO_SCRIPT_DEVANAGARI" glib:nick="devanagari" glib:name="PANGO_SCRIPT_DEVANAGARI">
|
|
<doc xml:space="preserve">Devanagari</doc>
|
|
</member>
|
|
<member name="ethiopic" value="11" c:identifier="PANGO_SCRIPT_ETHIOPIC" glib:nick="ethiopic" glib:name="PANGO_SCRIPT_ETHIOPIC">
|
|
<doc xml:space="preserve">Ethiopic</doc>
|
|
</member>
|
|
<member name="georgian" value="12" c:identifier="PANGO_SCRIPT_GEORGIAN" glib:nick="georgian" glib:name="PANGO_SCRIPT_GEORGIAN">
|
|
<doc xml:space="preserve">Georgian</doc>
|
|
</member>
|
|
<member name="gothic" value="13" c:identifier="PANGO_SCRIPT_GOTHIC" glib:nick="gothic" glib:name="PANGO_SCRIPT_GOTHIC">
|
|
<doc xml:space="preserve">Gothic</doc>
|
|
</member>
|
|
<member name="greek" value="14" c:identifier="PANGO_SCRIPT_GREEK" glib:nick="greek" glib:name="PANGO_SCRIPT_GREEK">
|
|
<doc xml:space="preserve">Greek</doc>
|
|
</member>
|
|
<member name="gujarati" value="15" c:identifier="PANGO_SCRIPT_GUJARATI" glib:nick="gujarati" glib:name="PANGO_SCRIPT_GUJARATI">
|
|
<doc xml:space="preserve">Gujarati</doc>
|
|
</member>
|
|
<member name="gurmukhi" value="16" c:identifier="PANGO_SCRIPT_GURMUKHI" glib:nick="gurmukhi" glib:name="PANGO_SCRIPT_GURMUKHI">
|
|
<doc xml:space="preserve">Gurmukhi</doc>
|
|
</member>
|
|
<member name="han" value="17" c:identifier="PANGO_SCRIPT_HAN" glib:nick="han" glib:name="PANGO_SCRIPT_HAN">
|
|
<doc xml:space="preserve">Han</doc>
|
|
</member>
|
|
<member name="hangul" value="18" c:identifier="PANGO_SCRIPT_HANGUL" glib:nick="hangul" glib:name="PANGO_SCRIPT_HANGUL">
|
|
<doc xml:space="preserve">Hangul</doc>
|
|
</member>
|
|
<member name="hebrew" value="19" c:identifier="PANGO_SCRIPT_HEBREW" glib:nick="hebrew" glib:name="PANGO_SCRIPT_HEBREW">
|
|
<doc xml:space="preserve">Hebrew</doc>
|
|
</member>
|
|
<member name="hiragana" value="20" c:identifier="PANGO_SCRIPT_HIRAGANA" glib:nick="hiragana" glib:name="PANGO_SCRIPT_HIRAGANA">
|
|
<doc xml:space="preserve">Hiragana</doc>
|
|
</member>
|
|
<member name="kannada" value="21" c:identifier="PANGO_SCRIPT_KANNADA" glib:nick="kannada" glib:name="PANGO_SCRIPT_KANNADA">
|
|
<doc xml:space="preserve">Kannada</doc>
|
|
</member>
|
|
<member name="katakana" value="22" c:identifier="PANGO_SCRIPT_KATAKANA" glib:nick="katakana" glib:name="PANGO_SCRIPT_KATAKANA">
|
|
<doc xml:space="preserve">Katakana</doc>
|
|
</member>
|
|
<member name="khmer" value="23" c:identifier="PANGO_SCRIPT_KHMER" glib:nick="khmer" glib:name="PANGO_SCRIPT_KHMER">
|
|
<doc xml:space="preserve">Khmer</doc>
|
|
</member>
|
|
<member name="lao" value="24" c:identifier="PANGO_SCRIPT_LAO" glib:nick="lao" glib:name="PANGO_SCRIPT_LAO">
|
|
<doc xml:space="preserve">Lao</doc>
|
|
</member>
|
|
<member name="latin" value="25" c:identifier="PANGO_SCRIPT_LATIN" glib:nick="latin" glib:name="PANGO_SCRIPT_LATIN">
|
|
<doc xml:space="preserve">Latin</doc>
|
|
</member>
|
|
<member name="malayalam" value="26" c:identifier="PANGO_SCRIPT_MALAYALAM" glib:nick="malayalam" glib:name="PANGO_SCRIPT_MALAYALAM">
|
|
<doc xml:space="preserve">Malayalam</doc>
|
|
</member>
|
|
<member name="mongolian" value="27" c:identifier="PANGO_SCRIPT_MONGOLIAN" glib:nick="mongolian" glib:name="PANGO_SCRIPT_MONGOLIAN">
|
|
<doc xml:space="preserve">Mongolian</doc>
|
|
</member>
|
|
<member name="myanmar" value="28" c:identifier="PANGO_SCRIPT_MYANMAR" glib:nick="myanmar" glib:name="PANGO_SCRIPT_MYANMAR">
|
|
<doc xml:space="preserve">Myanmar</doc>
|
|
</member>
|
|
<member name="ogham" value="29" c:identifier="PANGO_SCRIPT_OGHAM" glib:nick="ogham" glib:name="PANGO_SCRIPT_OGHAM">
|
|
<doc xml:space="preserve">Ogham</doc>
|
|
</member>
|
|
<member name="old_italic" value="30" c:identifier="PANGO_SCRIPT_OLD_ITALIC" glib:nick="old-italic" glib:name="PANGO_SCRIPT_OLD_ITALIC">
|
|
<doc xml:space="preserve">Old Italic</doc>
|
|
</member>
|
|
<member name="oriya" value="31" c:identifier="PANGO_SCRIPT_ORIYA" glib:nick="oriya" glib:name="PANGO_SCRIPT_ORIYA">
|
|
<doc xml:space="preserve">Oriya</doc>
|
|
</member>
|
|
<member name="runic" value="32" c:identifier="PANGO_SCRIPT_RUNIC" glib:nick="runic" glib:name="PANGO_SCRIPT_RUNIC">
|
|
<doc xml:space="preserve">Runic</doc>
|
|
</member>
|
|
<member name="sinhala" value="33" c:identifier="PANGO_SCRIPT_SINHALA" glib:nick="sinhala" glib:name="PANGO_SCRIPT_SINHALA">
|
|
<doc xml:space="preserve">Sinhala</doc>
|
|
</member>
|
|
<member name="syriac" value="34" c:identifier="PANGO_SCRIPT_SYRIAC" glib:nick="syriac" glib:name="PANGO_SCRIPT_SYRIAC">
|
|
<doc xml:space="preserve">Syriac</doc>
|
|
</member>
|
|
<member name="tamil" value="35" c:identifier="PANGO_SCRIPT_TAMIL" glib:nick="tamil" glib:name="PANGO_SCRIPT_TAMIL">
|
|
<doc xml:space="preserve">Tamil</doc>
|
|
</member>
|
|
<member name="telugu" value="36" c:identifier="PANGO_SCRIPT_TELUGU" glib:nick="telugu" glib:name="PANGO_SCRIPT_TELUGU">
|
|
<doc xml:space="preserve">Telugu</doc>
|
|
</member>
|
|
<member name="thaana" value="37" c:identifier="PANGO_SCRIPT_THAANA" glib:nick="thaana" glib:name="PANGO_SCRIPT_THAANA">
|
|
<doc xml:space="preserve">Thaana</doc>
|
|
</member>
|
|
<member name="thai" value="38" c:identifier="PANGO_SCRIPT_THAI" glib:nick="thai" glib:name="PANGO_SCRIPT_THAI">
|
|
<doc xml:space="preserve">Thai</doc>
|
|
</member>
|
|
<member name="tibetan" value="39" c:identifier="PANGO_SCRIPT_TIBETAN" glib:nick="tibetan" glib:name="PANGO_SCRIPT_TIBETAN">
|
|
<doc xml:space="preserve">Tibetan</doc>
|
|
</member>
|
|
<member name="canadian_aboriginal" value="40" c:identifier="PANGO_SCRIPT_CANADIAN_ABORIGINAL" glib:nick="canadian-aboriginal" glib:name="PANGO_SCRIPT_CANADIAN_ABORIGINAL">
|
|
<doc xml:space="preserve">Canadian Aboriginal</doc>
|
|
</member>
|
|
<member name="yi" value="41" c:identifier="PANGO_SCRIPT_YI" glib:nick="yi" glib:name="PANGO_SCRIPT_YI">
|
|
<doc xml:space="preserve">Yi</doc>
|
|
</member>
|
|
<member name="tagalog" value="42" c:identifier="PANGO_SCRIPT_TAGALOG" glib:nick="tagalog" glib:name="PANGO_SCRIPT_TAGALOG">
|
|
<doc xml:space="preserve">Tagalog</doc>
|
|
</member>
|
|
<member name="hanunoo" value="43" c:identifier="PANGO_SCRIPT_HANUNOO" glib:nick="hanunoo" glib:name="PANGO_SCRIPT_HANUNOO">
|
|
<doc xml:space="preserve">Hanunoo</doc>
|
|
</member>
|
|
<member name="buhid" value="44" c:identifier="PANGO_SCRIPT_BUHID" glib:nick="buhid" glib:name="PANGO_SCRIPT_BUHID">
|
|
<doc xml:space="preserve">Buhid</doc>
|
|
</member>
|
|
<member name="tagbanwa" value="45" c:identifier="PANGO_SCRIPT_TAGBANWA" glib:nick="tagbanwa" glib:name="PANGO_SCRIPT_TAGBANWA">
|
|
<doc xml:space="preserve">Tagbanwa</doc>
|
|
</member>
|
|
<member name="braille" value="46" c:identifier="PANGO_SCRIPT_BRAILLE" glib:nick="braille" glib:name="PANGO_SCRIPT_BRAILLE">
|
|
<doc xml:space="preserve">Braille</doc>
|
|
</member>
|
|
<member name="cypriot" value="47" c:identifier="PANGO_SCRIPT_CYPRIOT" glib:nick="cypriot" glib:name="PANGO_SCRIPT_CYPRIOT">
|
|
<doc xml:space="preserve">Cypriot</doc>
|
|
</member>
|
|
<member name="limbu" value="48" c:identifier="PANGO_SCRIPT_LIMBU" glib:nick="limbu" glib:name="PANGO_SCRIPT_LIMBU">
|
|
<doc xml:space="preserve">Limbu</doc>
|
|
</member>
|
|
<member name="osmanya" value="49" c:identifier="PANGO_SCRIPT_OSMANYA" glib:nick="osmanya" glib:name="PANGO_SCRIPT_OSMANYA">
|
|
<doc xml:space="preserve">Osmanya</doc>
|
|
</member>
|
|
<member name="shavian" value="50" c:identifier="PANGO_SCRIPT_SHAVIAN" glib:nick="shavian" glib:name="PANGO_SCRIPT_SHAVIAN">
|
|
<doc xml:space="preserve">Shavian</doc>
|
|
</member>
|
|
<member name="linear_b" value="51" c:identifier="PANGO_SCRIPT_LINEAR_B" glib:nick="linear-b" glib:name="PANGO_SCRIPT_LINEAR_B">
|
|
<doc xml:space="preserve">Linear B</doc>
|
|
</member>
|
|
<member name="tai_le" value="52" c:identifier="PANGO_SCRIPT_TAI_LE" glib:nick="tai-le" glib:name="PANGO_SCRIPT_TAI_LE">
|
|
<doc xml:space="preserve">Tai Le</doc>
|
|
</member>
|
|
<member name="ugaritic" value="53" c:identifier="PANGO_SCRIPT_UGARITIC" glib:nick="ugaritic" glib:name="PANGO_SCRIPT_UGARITIC">
|
|
<doc xml:space="preserve">Ugaritic</doc>
|
|
</member>
|
|
<member name="new_tai_lue" value="54" c:identifier="PANGO_SCRIPT_NEW_TAI_LUE" glib:nick="new-tai-lue" glib:name="PANGO_SCRIPT_NEW_TAI_LUE">
|
|
<doc xml:space="preserve">New Tai Lue. Since 1.10</doc>
|
|
</member>
|
|
<member name="buginese" value="55" c:identifier="PANGO_SCRIPT_BUGINESE" glib:nick="buginese" glib:name="PANGO_SCRIPT_BUGINESE">
|
|
<doc xml:space="preserve">Buginese. Since 1.10</doc>
|
|
</member>
|
|
<member name="glagolitic" value="56" c:identifier="PANGO_SCRIPT_GLAGOLITIC" glib:nick="glagolitic" glib:name="PANGO_SCRIPT_GLAGOLITIC">
|
|
<doc xml:space="preserve">Glagolitic. Since 1.10</doc>
|
|
</member>
|
|
<member name="tifinagh" value="57" c:identifier="PANGO_SCRIPT_TIFINAGH" glib:nick="tifinagh" glib:name="PANGO_SCRIPT_TIFINAGH">
|
|
<doc xml:space="preserve">Tifinagh. Since 1.10</doc>
|
|
</member>
|
|
<member name="syloti_nagri" value="58" c:identifier="PANGO_SCRIPT_SYLOTI_NAGRI" glib:nick="syloti-nagri" glib:name="PANGO_SCRIPT_SYLOTI_NAGRI">
|
|
<doc xml:space="preserve">Syloti Nagri. Since 1.10</doc>
|
|
</member>
|
|
<member name="old_persian" value="59" c:identifier="PANGO_SCRIPT_OLD_PERSIAN" glib:nick="old-persian" glib:name="PANGO_SCRIPT_OLD_PERSIAN">
|
|
<doc xml:space="preserve">Old Persian. Since 1.10</doc>
|
|
</member>
|
|
<member name="kharoshthi" value="60" c:identifier="PANGO_SCRIPT_KHAROSHTHI" glib:nick="kharoshthi" glib:name="PANGO_SCRIPT_KHAROSHTHI">
|
|
<doc xml:space="preserve">Kharoshthi. Since 1.10</doc>
|
|
</member>
|
|
<member name="unknown" value="61" c:identifier="PANGO_SCRIPT_UNKNOWN" glib:nick="unknown" glib:name="PANGO_SCRIPT_UNKNOWN">
|
|
<doc xml:space="preserve">an unassigned code point. Since 1.14</doc>
|
|
</member>
|
|
<member name="balinese" value="62" c:identifier="PANGO_SCRIPT_BALINESE" glib:nick="balinese" glib:name="PANGO_SCRIPT_BALINESE">
|
|
<doc xml:space="preserve">Balinese. Since 1.14</doc>
|
|
</member>
|
|
<member name="cuneiform" value="63" c:identifier="PANGO_SCRIPT_CUNEIFORM" glib:nick="cuneiform" glib:name="PANGO_SCRIPT_CUNEIFORM">
|
|
<doc xml:space="preserve">Cuneiform. Since 1.14</doc>
|
|
</member>
|
|
<member name="phoenician" value="64" c:identifier="PANGO_SCRIPT_PHOENICIAN" glib:nick="phoenician" glib:name="PANGO_SCRIPT_PHOENICIAN">
|
|
<doc xml:space="preserve">Phoenician. Since 1.14</doc>
|
|
</member>
|
|
<member name="phags_pa" value="65" c:identifier="PANGO_SCRIPT_PHAGS_PA" glib:nick="phags-pa" glib:name="PANGO_SCRIPT_PHAGS_PA">
|
|
<doc xml:space="preserve">Phags-pa. Since 1.14</doc>
|
|
</member>
|
|
<member name="nko" value="66" c:identifier="PANGO_SCRIPT_NKO" glib:nick="nko" glib:name="PANGO_SCRIPT_NKO">
|
|
<doc xml:space="preserve">N'Ko. Since 1.14</doc>
|
|
</member>
|
|
<member name="kayah_li" value="67" c:identifier="PANGO_SCRIPT_KAYAH_LI" glib:nick="kayah-li" glib:name="PANGO_SCRIPT_KAYAH_LI">
|
|
<doc xml:space="preserve">Kayah Li. Since 1.20.1</doc>
|
|
</member>
|
|
<member name="lepcha" value="68" c:identifier="PANGO_SCRIPT_LEPCHA" glib:nick="lepcha" glib:name="PANGO_SCRIPT_LEPCHA">
|
|
<doc xml:space="preserve">Lepcha. Since 1.20.1</doc>
|
|
</member>
|
|
<member name="rejang" value="69" c:identifier="PANGO_SCRIPT_REJANG" glib:nick="rejang" glib:name="PANGO_SCRIPT_REJANG">
|
|
<doc xml:space="preserve">Rejang. Since 1.20.1</doc>
|
|
</member>
|
|
<member name="sundanese" value="70" c:identifier="PANGO_SCRIPT_SUNDANESE" glib:nick="sundanese" glib:name="PANGO_SCRIPT_SUNDANESE">
|
|
<doc xml:space="preserve">Sundanese. Since 1.20.1</doc>
|
|
</member>
|
|
<member name="saurashtra" value="71" c:identifier="PANGO_SCRIPT_SAURASHTRA" glib:nick="saurashtra" glib:name="PANGO_SCRIPT_SAURASHTRA">
|
|
<doc xml:space="preserve">Saurashtra. Since 1.20.1</doc>
|
|
</member>
|
|
<member name="cham" value="72" c:identifier="PANGO_SCRIPT_CHAM" glib:nick="cham" glib:name="PANGO_SCRIPT_CHAM">
|
|
<doc xml:space="preserve">Cham. Since 1.20.1</doc>
|
|
</member>
|
|
<member name="ol_chiki" value="73" c:identifier="PANGO_SCRIPT_OL_CHIKI" glib:nick="ol-chiki" glib:name="PANGO_SCRIPT_OL_CHIKI">
|
|
<doc xml:space="preserve">Ol Chiki. Since 1.20.1</doc>
|
|
</member>
|
|
<member name="vai" value="74" c:identifier="PANGO_SCRIPT_VAI" glib:nick="vai" glib:name="PANGO_SCRIPT_VAI">
|
|
<doc xml:space="preserve">Vai. Since 1.20.1</doc>
|
|
</member>
|
|
<member name="carian" value="75" c:identifier="PANGO_SCRIPT_CARIAN" glib:nick="carian" glib:name="PANGO_SCRIPT_CARIAN">
|
|
<doc xml:space="preserve">Carian. Since 1.20.1</doc>
|
|
</member>
|
|
<member name="lycian" value="76" c:identifier="PANGO_SCRIPT_LYCIAN" glib:nick="lycian" glib:name="PANGO_SCRIPT_LYCIAN">
|
|
<doc xml:space="preserve">Lycian. Since 1.20.1</doc>
|
|
</member>
|
|
<member name="lydian" value="77" c:identifier="PANGO_SCRIPT_LYDIAN" glib:nick="lydian" glib:name="PANGO_SCRIPT_LYDIAN">
|
|
<doc xml:space="preserve">Lydian. Since 1.20.1</doc>
|
|
</member>
|
|
<member name="batak" value="78" c:identifier="PANGO_SCRIPT_BATAK" glib:nick="batak" glib:name="PANGO_SCRIPT_BATAK">
|
|
<doc xml:space="preserve">Batak. Since 1.32</doc>
|
|
</member>
|
|
<member name="brahmi" value="79" c:identifier="PANGO_SCRIPT_BRAHMI" glib:nick="brahmi" glib:name="PANGO_SCRIPT_BRAHMI">
|
|
<doc xml:space="preserve">Brahmi. Since 1.32</doc>
|
|
</member>
|
|
<member name="mandaic" value="80" c:identifier="PANGO_SCRIPT_MANDAIC" glib:nick="mandaic" glib:name="PANGO_SCRIPT_MANDAIC">
|
|
<doc xml:space="preserve">Mandaic. Since 1.32</doc>
|
|
</member>
|
|
<member name="chakma" value="81" c:identifier="PANGO_SCRIPT_CHAKMA" glib:nick="chakma" glib:name="PANGO_SCRIPT_CHAKMA">
|
|
<doc xml:space="preserve">Chakma. Since: 1.32</doc>
|
|
</member>
|
|
<member name="meroitic_cursive" value="82" c:identifier="PANGO_SCRIPT_MEROITIC_CURSIVE" glib:nick="meroitic-cursive" glib:name="PANGO_SCRIPT_MEROITIC_CURSIVE">
|
|
<doc xml:space="preserve">Meroitic Cursive. Since: 1.32</doc>
|
|
</member>
|
|
<member name="meroitic_hieroglyphs" value="83" c:identifier="PANGO_SCRIPT_MEROITIC_HIEROGLYPHS" glib:nick="meroitic-hieroglyphs" glib:name="PANGO_SCRIPT_MEROITIC_HIEROGLYPHS">
|
|
<doc xml:space="preserve">Meroitic Hieroglyphs. Since: 1.32</doc>
|
|
</member>
|
|
<member name="miao" value="84" c:identifier="PANGO_SCRIPT_MIAO" glib:nick="miao" glib:name="PANGO_SCRIPT_MIAO">
|
|
<doc xml:space="preserve">Miao. Since: 1.32</doc>
|
|
</member>
|
|
<member name="sharada" value="85" c:identifier="PANGO_SCRIPT_SHARADA" glib:nick="sharada" glib:name="PANGO_SCRIPT_SHARADA">
|
|
<doc xml:space="preserve">Sharada. Since: 1.32</doc>
|
|
</member>
|
|
<member name="sora_sompeng" value="86" c:identifier="PANGO_SCRIPT_SORA_SOMPENG" glib:nick="sora-sompeng" glib:name="PANGO_SCRIPT_SORA_SOMPENG">
|
|
<doc xml:space="preserve">Sora Sompeng. Since: 1.32</doc>
|
|
</member>
|
|
<member name="takri" value="87" c:identifier="PANGO_SCRIPT_TAKRI" glib:nick="takri" glib:name="PANGO_SCRIPT_TAKRI">
|
|
<doc xml:space="preserve">Takri. Since: 1.32</doc>
|
|
</member>
|
|
<member name="bassa_vah" value="88" c:identifier="PANGO_SCRIPT_BASSA_VAH" glib:nick="bassa-vah" glib:name="PANGO_SCRIPT_BASSA_VAH">
|
|
<doc xml:space="preserve">Bassa. Since: 1.40</doc>
|
|
</member>
|
|
<member name="caucasian_albanian" value="89" c:identifier="PANGO_SCRIPT_CAUCASIAN_ALBANIAN" glib:nick="caucasian-albanian" glib:name="PANGO_SCRIPT_CAUCASIAN_ALBANIAN">
|
|
<doc xml:space="preserve">Caucasian Albanian. Since: 1.40</doc>
|
|
</member>
|
|
<member name="duployan" value="90" c:identifier="PANGO_SCRIPT_DUPLOYAN" glib:nick="duployan" glib:name="PANGO_SCRIPT_DUPLOYAN">
|
|
<doc xml:space="preserve">Duployan. Since: 1.40</doc>
|
|
</member>
|
|
<member name="elbasan" value="91" c:identifier="PANGO_SCRIPT_ELBASAN" glib:nick="elbasan" glib:name="PANGO_SCRIPT_ELBASAN">
|
|
<doc xml:space="preserve">Elbasan. Since: 1.40</doc>
|
|
</member>
|
|
<member name="grantha" value="92" c:identifier="PANGO_SCRIPT_GRANTHA" glib:nick="grantha" glib:name="PANGO_SCRIPT_GRANTHA">
|
|
<doc xml:space="preserve">Grantha. Since: 1.40</doc>
|
|
</member>
|
|
<member name="khojki" value="93" c:identifier="PANGO_SCRIPT_KHOJKI" glib:nick="khojki" glib:name="PANGO_SCRIPT_KHOJKI">
|
|
<doc xml:space="preserve">Kjohki. Since: 1.40</doc>
|
|
</member>
|
|
<member name="khudawadi" value="94" c:identifier="PANGO_SCRIPT_KHUDAWADI" glib:nick="khudawadi" glib:name="PANGO_SCRIPT_KHUDAWADI">
|
|
<doc xml:space="preserve">Khudawadi, Sindhi. Since: 1.40</doc>
|
|
</member>
|
|
<member name="linear_a" value="95" c:identifier="PANGO_SCRIPT_LINEAR_A" glib:nick="linear-a" glib:name="PANGO_SCRIPT_LINEAR_A">
|
|
<doc xml:space="preserve">Linear A. Since: 1.40</doc>
|
|
</member>
|
|
<member name="mahajani" value="96" c:identifier="PANGO_SCRIPT_MAHAJANI" glib:nick="mahajani" glib:name="PANGO_SCRIPT_MAHAJANI">
|
|
<doc xml:space="preserve">Mahajani. Since: 1.40</doc>
|
|
</member>
|
|
<member name="manichaean" value="97" c:identifier="PANGO_SCRIPT_MANICHAEAN" glib:nick="manichaean" glib:name="PANGO_SCRIPT_MANICHAEAN">
|
|
<doc xml:space="preserve">Manichaean. Since: 1.40</doc>
|
|
</member>
|
|
<member name="mende_kikakui" value="98" c:identifier="PANGO_SCRIPT_MENDE_KIKAKUI" glib:nick="mende-kikakui" glib:name="PANGO_SCRIPT_MENDE_KIKAKUI">
|
|
<doc xml:space="preserve">Mende Kikakui. Since: 1.40</doc>
|
|
</member>
|
|
<member name="modi" value="99" c:identifier="PANGO_SCRIPT_MODI" glib:nick="modi" glib:name="PANGO_SCRIPT_MODI">
|
|
<doc xml:space="preserve">Modi. Since: 1.40</doc>
|
|
</member>
|
|
<member name="mro" value="100" c:identifier="PANGO_SCRIPT_MRO" glib:nick="mro" glib:name="PANGO_SCRIPT_MRO">
|
|
<doc xml:space="preserve">Mro. Since: 1.40</doc>
|
|
</member>
|
|
<member name="nabataean" value="101" c:identifier="PANGO_SCRIPT_NABATAEAN" glib:nick="nabataean" glib:name="PANGO_SCRIPT_NABATAEAN">
|
|
<doc xml:space="preserve">Nabataean. Since: 1.40</doc>
|
|
</member>
|
|
<member name="old_north_arabian" value="102" c:identifier="PANGO_SCRIPT_OLD_NORTH_ARABIAN" glib:nick="old-north-arabian" glib:name="PANGO_SCRIPT_OLD_NORTH_ARABIAN">
|
|
<doc xml:space="preserve">Old North Arabian. Since: 1.40</doc>
|
|
</member>
|
|
<member name="old_permic" value="103" c:identifier="PANGO_SCRIPT_OLD_PERMIC" glib:nick="old-permic" glib:name="PANGO_SCRIPT_OLD_PERMIC">
|
|
<doc xml:space="preserve">Old Permic. Since: 1.40</doc>
|
|
</member>
|
|
<member name="pahawh_hmong" value="104" c:identifier="PANGO_SCRIPT_PAHAWH_HMONG" glib:nick="pahawh-hmong" glib:name="PANGO_SCRIPT_PAHAWH_HMONG">
|
|
<doc xml:space="preserve">Pahawh Hmong. Since: 1.40</doc>
|
|
</member>
|
|
<member name="palmyrene" value="105" c:identifier="PANGO_SCRIPT_PALMYRENE" glib:nick="palmyrene" glib:name="PANGO_SCRIPT_PALMYRENE">
|
|
<doc xml:space="preserve">Palmyrene. Since: 1.40</doc>
|
|
</member>
|
|
<member name="pau_cin_hau" value="106" c:identifier="PANGO_SCRIPT_PAU_CIN_HAU" glib:nick="pau-cin-hau" glib:name="PANGO_SCRIPT_PAU_CIN_HAU">
|
|
<doc xml:space="preserve">Pau Cin Hau. Since: 1.40</doc>
|
|
</member>
|
|
<member name="psalter_pahlavi" value="107" c:identifier="PANGO_SCRIPT_PSALTER_PAHLAVI" glib:nick="psalter-pahlavi" glib:name="PANGO_SCRIPT_PSALTER_PAHLAVI">
|
|
<doc xml:space="preserve">Psalter Pahlavi. Since: 1.40</doc>
|
|
</member>
|
|
<member name="siddham" value="108" c:identifier="PANGO_SCRIPT_SIDDHAM" glib:nick="siddham" glib:name="PANGO_SCRIPT_SIDDHAM">
|
|
<doc xml:space="preserve">Siddham. Since: 1.40</doc>
|
|
</member>
|
|
<member name="tirhuta" value="109" c:identifier="PANGO_SCRIPT_TIRHUTA" glib:nick="tirhuta" glib:name="PANGO_SCRIPT_TIRHUTA">
|
|
<doc xml:space="preserve">Tirhuta. Since: 1.40</doc>
|
|
</member>
|
|
<member name="warang_citi" value="110" c:identifier="PANGO_SCRIPT_WARANG_CITI" glib:nick="warang-citi" glib:name="PANGO_SCRIPT_WARANG_CITI">
|
|
<doc xml:space="preserve">Warang Citi. Since: 1.40</doc>
|
|
</member>
|
|
<member name="ahom" value="111" c:identifier="PANGO_SCRIPT_AHOM" glib:nick="ahom" glib:name="PANGO_SCRIPT_AHOM">
|
|
<doc xml:space="preserve">Ahom. Since: 1.40</doc>
|
|
</member>
|
|
<member name="anatolian_hieroglyphs" value="112" c:identifier="PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS" glib:nick="anatolian-hieroglyphs" glib:name="PANGO_SCRIPT_ANATOLIAN_HIEROGLYPHS">
|
|
<doc xml:space="preserve">Anatolian Hieroglyphs. Since: 1.40</doc>
|
|
</member>
|
|
<member name="hatran" value="113" c:identifier="PANGO_SCRIPT_HATRAN" glib:nick="hatran" glib:name="PANGO_SCRIPT_HATRAN">
|
|
<doc xml:space="preserve">Hatran. Since: 1.40</doc>
|
|
</member>
|
|
<member name="multani" value="114" c:identifier="PANGO_SCRIPT_MULTANI" glib:nick="multani" glib:name="PANGO_SCRIPT_MULTANI">
|
|
<doc xml:space="preserve">Multani. Since: 1.40</doc>
|
|
</member>
|
|
<member name="old_hungarian" value="115" c:identifier="PANGO_SCRIPT_OLD_HUNGARIAN" glib:nick="old-hungarian" glib:name="PANGO_SCRIPT_OLD_HUNGARIAN">
|
|
<doc xml:space="preserve">Old Hungarian. Since: 1.40</doc>
|
|
</member>
|
|
<member name="signwriting" value="116" c:identifier="PANGO_SCRIPT_SIGNWRITING" glib:nick="signwriting" glib:name="PANGO_SCRIPT_SIGNWRITING">
|
|
<doc xml:space="preserve">Signwriting. Since: 1.40</doc>
|
|
</member>
|
|
<function name="for_unichar" c:identifier="pango_script_for_unichar" version="1.4" deprecated="1" deprecated-version="1.44.">
|
|
<doc xml:space="preserve">Looks up the script for a particular character.
|
|
|
|
The script of a character is defined by
|
|
[Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/).
|
|
|
|
No check is made for @ch being a valid Unicode character; if you pass
|
|
in invalid character, the result is undefined.
|
|
|
|
Note that while the return type of this function is declared
|
|
as `PangoScript`, as of Pango 1.18, this function simply returns
|
|
the return value of [func@GLib.unichar_get_script]. Callers must be
|
|
prepared to handle unknown values.</doc>
|
|
<doc-deprecated xml:space="preserve">Use g_unichar_get_script()</doc-deprecated>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoScript` for the character.</doc>
|
|
<type name="Script" c:type="PangoScript"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ch" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_sample_language" c:identifier="pango_script_get_sample_language" version="1.4">
|
|
<doc xml:space="preserve">Finds a language tag that is reasonably representative of @script.
|
|
|
|
The language will usually be the most widely spoken or used language
|
|
written in that script: for instance, the sample language for
|
|
%PANGO_SCRIPT_CYRILLIC is ru (Russian), the sample language for
|
|
%PANGO_SCRIPT_ARABIC is ar.
|
|
|
|
For some scripts, no sample language will be returned because
|
|
there is no language that is sufficiently representative. The
|
|
best example of this is %PANGO_SCRIPT_HAN, where various different
|
|
variants of written Chinese, Japanese, and Korean all use
|
|
significantly different sets of Han characters and forms
|
|
of shared characters. No sample language can be provided
|
|
for many historical scripts as well.
|
|
|
|
As of 1.18, this function checks the environment variables
|
|
`PANGO_LANGUAGE` and `LANGUAGE` (checked in that order) first.
|
|
If one of them is set, it is parsed as a list of language tags
|
|
separated by colons or other separators. This function
|
|
will return the first language in the parsed list that Pango
|
|
believes may use @script for writing. This last predicate
|
|
is tested using [method@Pango.Language.includes_script]. This can
|
|
be used to control Pango's font selection for non-primary
|
|
languages. For example, a `PANGO_LANGUAGE` enviroment variable
|
|
set to "en:fa" makes Pango choose fonts suitable for Persian (fa)
|
|
instead of Arabic (ar) when a segment of Arabic text is found
|
|
in an otherwise non-Arabic text. The same trick can be used to
|
|
choose a default language for %PANGO_SCRIPT_HAN when setting
|
|
context language is not feasible.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a `PangoLanguage` that is representative
|
|
of the script</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="script" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoScript`</doc>
|
|
<type name="Script" c:type="PangoScript"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<record name="ScriptIter" c:type="PangoScriptIter" glib:type-name="PangoScriptIter" glib:get-type="pango_script_iter_get_type" c:symbol-prefix="script_iter">
|
|
<doc xml:space="preserve">A `PangoScriptIter` is used to iterate through a string
|
|
and identify ranges in different scripts.</doc>
|
|
<constructor name="new" c:identifier="pango_script_iter_new" version="1.4">
|
|
<doc xml:space="preserve">Create a new `PangoScriptIter`, used to break a string of
|
|
Unicode text into runs by Unicode script.
|
|
|
|
No copy is made of @text, so the caller needs to make
|
|
sure it remains valid until the iterator is freed with
|
|
[method@Pango.ScriptIter.free].</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the new script iterator, initialized
|
|
to point at the first range in the text, which should be
|
|
freed with [method@Pango.ScriptIter.free]. If the string is
|
|
empty, it will point at an empty range.</doc>
|
|
<type name="ScriptIter" c:type="PangoScriptIter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">a UTF-8 string</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of @text, or -1 if @text is nul-terminated</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="free" c:identifier="pango_script_iter_free" version="1.4">
|
|
<doc xml:space="preserve">Frees a `PangoScriptIter`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoScriptIter`</doc>
|
|
<type name="ScriptIter" c:type="PangoScriptIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_range" c:identifier="pango_script_iter_get_range" version="1.4">
|
|
<doc xml:space="preserve">Gets information about the range to which @iter currently points.
|
|
|
|
The range is the set of locations p where *start <= p < *end.
|
|
(That is, it doesn't include the character stored at *end)
|
|
|
|
Note that while the type of the @script argument is declared
|
|
as `PangoScript`, as of Pango 1.18, this function simply returns
|
|
`GUnicodeScript` values. Callers must be prepared to handle unknown
|
|
values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoScriptIter`</doc>
|
|
<type name="ScriptIter" c:type="PangoScriptIter*"/>
|
|
</instance-parameter>
|
|
<parameter name="start" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store start position of the range</doc>
|
|
<type name="utf8" c:type="const char**"/>
|
|
</parameter>
|
|
<parameter name="end" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store end position of the range</doc>
|
|
<type name="utf8" c:type="const char**"/>
|
|
</parameter>
|
|
<parameter name="script" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store script for range</doc>
|
|
<type name="Script" c:type="PangoScript*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="next" c:identifier="pango_script_iter_next" version="1.4">
|
|
<doc xml:space="preserve">Advances a `PangoScriptIter` to the next range.
|
|
|
|
If @iter is already at the end, it is left unchanged
|
|
and %FALSE is returned.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @iter was successfully advanced</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="iter" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoScriptIter`</doc>
|
|
<type name="ScriptIter" c:type="PangoScriptIter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="ShapeFlags" version="1.44" glib:type-name="PangoShapeFlags" glib:get-type="pango_shape_flags_get_type" c:type="PangoShapeFlags">
|
|
<doc xml:space="preserve">Flags influencing the shaping process.
|
|
|
|
`PangoShapeFlags` can be passed to [func@Pango.shape_with_flags].</doc>
|
|
<member name="none" value="0" c:identifier="PANGO_SHAPE_NONE" glib:nick="none" glib:name="PANGO_SHAPE_NONE">
|
|
<doc xml:space="preserve">Default value</doc>
|
|
</member>
|
|
<member name="round_positions" value="1" c:identifier="PANGO_SHAPE_ROUND_POSITIONS" glib:nick="round-positions" glib:name="PANGO_SHAPE_ROUND_POSITIONS">
|
|
<doc xml:space="preserve">Round glyph positions and widths to whole device units
|
|
This option should be set if the target renderer can't do subpixel positioning of glyphs</doc>
|
|
</member>
|
|
</bitfield>
|
|
<bitfield name="ShowFlags" version="1.44" glib:type-name="PangoShowFlags" glib:get-type="pango_show_flags_get_type" c:type="PangoShowFlags">
|
|
<doc xml:space="preserve">These flags affect how Pango treats characters that are normally
|
|
not visible in the output.</doc>
|
|
<member name="none" value="0" c:identifier="PANGO_SHOW_NONE" glib:nick="none" glib:name="PANGO_SHOW_NONE">
|
|
<doc xml:space="preserve">No special treatment for invisible characters</doc>
|
|
</member>
|
|
<member name="spaces" value="1" c:identifier="PANGO_SHOW_SPACES" glib:nick="spaces" glib:name="PANGO_SHOW_SPACES">
|
|
<doc xml:space="preserve">Render spaces, tabs and newlines visibly</doc>
|
|
</member>
|
|
<member name="line_breaks" value="2" c:identifier="PANGO_SHOW_LINE_BREAKS" glib:nick="line-breaks" glib:name="PANGO_SHOW_LINE_BREAKS">
|
|
<doc xml:space="preserve">Render line breaks visibly</doc>
|
|
</member>
|
|
<member name="ignorables" value="4" c:identifier="PANGO_SHOW_IGNORABLES" glib:nick="ignorables" glib:name="PANGO_SHOW_IGNORABLES">
|
|
<doc xml:space="preserve">Render default-ignorable Unicode
|
|
characters visibly</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="Stretch" glib:type-name="PangoStretch" glib:get-type="pango_stretch_get_type" c:type="PangoStretch">
|
|
<doc xml:space="preserve">An enumeration specifying the width of the font relative to other designs
|
|
within a family.</doc>
|
|
<member name="ultra_condensed" value="0" c:identifier="PANGO_STRETCH_ULTRA_CONDENSED" glib:nick="ultra-condensed" glib:name="PANGO_STRETCH_ULTRA_CONDENSED">
|
|
<doc xml:space="preserve">ultra condensed width</doc>
|
|
</member>
|
|
<member name="extra_condensed" value="1" c:identifier="PANGO_STRETCH_EXTRA_CONDENSED" glib:nick="extra-condensed" glib:name="PANGO_STRETCH_EXTRA_CONDENSED">
|
|
<doc xml:space="preserve">extra condensed width</doc>
|
|
</member>
|
|
<member name="condensed" value="2" c:identifier="PANGO_STRETCH_CONDENSED" glib:nick="condensed" glib:name="PANGO_STRETCH_CONDENSED">
|
|
<doc xml:space="preserve">condensed width</doc>
|
|
</member>
|
|
<member name="semi_condensed" value="3" c:identifier="PANGO_STRETCH_SEMI_CONDENSED" glib:nick="semi-condensed" glib:name="PANGO_STRETCH_SEMI_CONDENSED">
|
|
<doc xml:space="preserve">semi condensed width</doc>
|
|
</member>
|
|
<member name="normal" value="4" c:identifier="PANGO_STRETCH_NORMAL" glib:nick="normal" glib:name="PANGO_STRETCH_NORMAL">
|
|
<doc xml:space="preserve">the normal width</doc>
|
|
</member>
|
|
<member name="semi_expanded" value="5" c:identifier="PANGO_STRETCH_SEMI_EXPANDED" glib:nick="semi-expanded" glib:name="PANGO_STRETCH_SEMI_EXPANDED">
|
|
<doc xml:space="preserve">semi expanded width</doc>
|
|
</member>
|
|
<member name="expanded" value="6" c:identifier="PANGO_STRETCH_EXPANDED" glib:nick="expanded" glib:name="PANGO_STRETCH_EXPANDED">
|
|
<doc xml:space="preserve">expanded width</doc>
|
|
</member>
|
|
<member name="extra_expanded" value="7" c:identifier="PANGO_STRETCH_EXTRA_EXPANDED" glib:nick="extra-expanded" glib:name="PANGO_STRETCH_EXTRA_EXPANDED">
|
|
<doc xml:space="preserve">extra expanded width</doc>
|
|
</member>
|
|
<member name="ultra_expanded" value="8" c:identifier="PANGO_STRETCH_ULTRA_EXPANDED" glib:nick="ultra-expanded" glib:name="PANGO_STRETCH_ULTRA_EXPANDED">
|
|
<doc xml:space="preserve">ultra expanded width</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="Style" glib:type-name="PangoStyle" glib:get-type="pango_style_get_type" c:type="PangoStyle">
|
|
<doc xml:space="preserve">An enumeration specifying the various slant styles possible for a font.</doc>
|
|
<member name="normal" value="0" c:identifier="PANGO_STYLE_NORMAL" glib:nick="normal" glib:name="PANGO_STYLE_NORMAL">
|
|
<doc xml:space="preserve">the font is upright.</doc>
|
|
</member>
|
|
<member name="oblique" value="1" c:identifier="PANGO_STYLE_OBLIQUE" glib:nick="oblique" glib:name="PANGO_STYLE_OBLIQUE">
|
|
<doc xml:space="preserve">the font is slanted, but in a roman style.</doc>
|
|
</member>
|
|
<member name="italic" value="2" c:identifier="PANGO_STYLE_ITALIC" glib:nick="italic" glib:name="PANGO_STYLE_ITALIC">
|
|
<doc xml:space="preserve">the font is slanted in an italic style.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="TabAlign" glib:type-name="PangoTabAlign" glib:get-type="pango_tab_align_get_type" c:type="PangoTabAlign">
|
|
<doc xml:space="preserve">`PangoTabAlign` specifies where the text appears relative to the tab stop
|
|
position.</doc>
|
|
<member name="left" value="0" c:identifier="PANGO_TAB_LEFT" glib:nick="left" glib:name="PANGO_TAB_LEFT">
|
|
<doc xml:space="preserve">the text appears to the right of the tab stop position</doc>
|
|
</member>
|
|
<member name="right" value="1" c:identifier="PANGO_TAB_RIGHT" glib:nick="right" glib:name="PANGO_TAB_RIGHT">
|
|
<doc xml:space="preserve">the text appears to the left of the tab stop position
|
|
until the available space is filled. Since: 1.50</doc>
|
|
</member>
|
|
<member name="center" value="2" c:identifier="PANGO_TAB_CENTER" glib:nick="center" glib:name="PANGO_TAB_CENTER">
|
|
<doc xml:space="preserve">the text is centered at the tab stop position
|
|
until the available space is filled. Since: 1.50</doc>
|
|
</member>
|
|
<member name="decimal" value="3" c:identifier="PANGO_TAB_DECIMAL" glib:nick="decimal" glib:name="PANGO_TAB_DECIMAL">
|
|
<doc xml:space="preserve">text before the first occurrence of the decimal point
|
|
character appears to the left of the tab stop position (until the available
|
|
space is filled), the rest to the right. Since: 1.50</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="TabArray" c:type="PangoTabArray" glib:type-name="PangoTabArray" glib:get-type="pango_tab_array_get_type" c:symbol-prefix="tab_array">
|
|
<doc xml:space="preserve">A `PangoTabArray` contains an array of tab stops.
|
|
|
|
`PangoTabArray` can be used to set tab stops in a `PangoLayout`.
|
|
Each tab stop has an alignment, a position, and optionally
|
|
a character to use as decimal point.</doc>
|
|
<constructor name="new" c:identifier="pango_tab_array_new">
|
|
<doc xml:space="preserve">Creates an array of @initial_size tab stops.
|
|
|
|
Tab stops are specified in pixel units if @positions_in_pixels is %TRUE,
|
|
otherwise in Pango units. All stops are initially at position 0.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoTabArray`, which should
|
|
be freed with [method@Pango.TabArray.free].</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="initial_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">Initial number of tab stops to allocate, can be 0</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="positions_in_pixels" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether positions are in pixel units</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_with_positions" c:identifier="pango_tab_array_new_with_positions" introspectable="0">
|
|
<doc xml:space="preserve">Creates a `PangoTabArray` and allows you to specify the alignment
|
|
and position of each tab stop.
|
|
|
|
You **must** provide an alignment and position for @size tab stops.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoTabArray`, which should
|
|
be freed with [method@Pango.TabArray.free].</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of tab stops in the array</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="positions_in_pixels" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether positions are in pixel units</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="first_alignment" transfer-ownership="none">
|
|
<doc xml:space="preserve">alignment of first tab stop</doc>
|
|
<type name="TabAlign" c:type="PangoTabAlign"/>
|
|
</parameter>
|
|
<parameter name="first_position" transfer-ownership="none">
|
|
<doc xml:space="preserve">position of first tab stop</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">additional alignment/position pairs</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="copy" c:identifier="pango_tab_array_copy">
|
|
<doc xml:space="preserve">Copies a `PangoTabArray`.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoTabArray`, which should
|
|
be freed with [method@Pango.TabArray.free].</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoTabArray` to copy</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="pango_tab_array_free">
|
|
<doc xml:space="preserve">Frees a tab array and associated resources.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_decimal_point" c:identifier="pango_tab_array_get_decimal_point" version="1.50">
|
|
<doc xml:space="preserve">Gets the Unicode character to use as decimal point.
|
|
|
|
This is only relevant for tabs with %PANGO_TAB_DECIMAL alignment,
|
|
which align content at the first occurrence of the decimal point
|
|
character.
|
|
|
|
The default value of 0 means that Pango will use the
|
|
decimal point according to the current locale.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
<parameter name="tab_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of a tab stop</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_positions_in_pixels" c:identifier="pango_tab_array_get_positions_in_pixels">
|
|
<doc xml:space="preserve">Returns %TRUE if the tab positions are in pixels,
|
|
%FALSE if they are in Pango units.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether positions are in pixels.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_size" c:identifier="pango_tab_array_get_size">
|
|
<doc xml:space="preserve">Gets the number of tab stops in @tab_array.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of tab stops in the array.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_tab" c:identifier="pango_tab_array_get_tab">
|
|
<doc xml:space="preserve">Gets the alignment and position of a tab stop.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
<parameter name="tab_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">tab stop index</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="alignment" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store alignment</doc>
|
|
<type name="TabAlign" c:type="PangoTabAlign*"/>
|
|
</parameter>
|
|
<parameter name="location" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store tab position</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_tabs" c:identifier="pango_tab_array_get_tabs">
|
|
<doc xml:space="preserve">If non-%NULL, @alignments and @locations are filled with allocated
|
|
arrays.
|
|
|
|
The arrays are of length [method@Pango.TabArray.get_size].
|
|
You must free the returned array.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
<parameter name="alignments" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store an array of tab
|
|
stop alignments</doc>
|
|
<type name="TabAlign" c:type="PangoTabAlign**"/>
|
|
</parameter>
|
|
<parameter name="locations" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">location to store an array
|
|
of tab positions</doc>
|
|
<array zero-terminated="0" c:type="gint**">
|
|
<type name="gint" c:type="gint*"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="resize" c:identifier="pango_tab_array_resize">
|
|
<doc xml:space="preserve">Resizes a tab array.
|
|
|
|
You must subsequently initialize any tabs
|
|
that were added as a result of growing the array.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
<parameter name="new_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">new size of the array</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_decimal_point" c:identifier="pango_tab_array_set_decimal_point" version="1.50">
|
|
<doc xml:space="preserve">Sets the Unicode character to use as decimal point.
|
|
|
|
This is only relevant for tabs with %PANGO_TAB_DECIMAL alignment,
|
|
which align content at the first occurrence of the decimal point
|
|
character.
|
|
|
|
By default, Pango uses the decimal point according
|
|
to the current locale.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
<parameter name="tab_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of a tab stop</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="decimal_point" transfer-ownership="none">
|
|
<doc xml:space="preserve">the decimal point to use</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_positions_in_pixels" c:identifier="pango_tab_array_set_positions_in_pixels" version="1.50">
|
|
<doc xml:space="preserve">Sets whether positions in this array are specified in
|
|
pixels.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
<parameter name="positions_in_pixels" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether positions are in pixels</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_tab" c:identifier="pango_tab_array_set_tab">
|
|
<doc xml:space="preserve">Sets the alignment and location of a tab stop.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
<parameter name="tab_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of a tab stop</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="alignment" transfer-ownership="none">
|
|
<doc xml:space="preserve">tab alignment</doc>
|
|
<type name="TabAlign" c:type="PangoTabAlign"/>
|
|
</parameter>
|
|
<parameter name="location" transfer-ownership="none">
|
|
<doc xml:space="preserve">tab location in Pango units</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="sort" c:identifier="pango_tab_array_sort" version="1.50">
|
|
<doc xml:space="preserve">Utility function to ensure that the tab stops are in increasing order.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="pango_tab_array_to_string" version="1.50">
|
|
<doc xml:space="preserve">Serializes a `PangoTabArray` to a string.
|
|
|
|
No guarantees are made about the format of the string,
|
|
it may change between Pango versions.
|
|
|
|
The intended use of this function is testing and
|
|
debugging. The format is not meant as a permanent
|
|
storage format.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a newly allocated string</doc>
|
|
<type name="utf8" c:type="char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tab_array" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="from_string" c:identifier="pango_tab_array_from_string" version="1.50">
|
|
<doc xml:space="preserve">Deserializes a `PangoTabArray` from a string.
|
|
|
|
This is the counterpart to [method@Pango.TabArray.to_string].
|
|
See that functions for details about the format.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<enumeration name="TextTransform" version="1.50" glib:type-name="PangoTextTransform" glib:get-type="pango_text_transform_get_type" c:type="PangoTextTransform">
|
|
<doc xml:space="preserve">An enumeration that affects how Pango treats characters during shaping.</doc>
|
|
<member name="none" value="0" c:identifier="PANGO_TEXT_TRANSFORM_NONE" glib:nick="none" glib:name="PANGO_TEXT_TRANSFORM_NONE">
|
|
<doc xml:space="preserve">Leave text unchanged</doc>
|
|
</member>
|
|
<member name="lowercase" value="1" c:identifier="PANGO_TEXT_TRANSFORM_LOWERCASE" glib:nick="lowercase" glib:name="PANGO_TEXT_TRANSFORM_LOWERCASE">
|
|
<doc xml:space="preserve">Display letters and numbers as lowercase</doc>
|
|
</member>
|
|
<member name="uppercase" value="2" c:identifier="PANGO_TEXT_TRANSFORM_UPPERCASE" glib:nick="uppercase" glib:name="PANGO_TEXT_TRANSFORM_UPPERCASE">
|
|
<doc xml:space="preserve">Display letters and numbers as uppercase</doc>
|
|
</member>
|
|
<member name="capitalize" value="3" c:identifier="PANGO_TEXT_TRANSFORM_CAPITALIZE" glib:nick="capitalize" glib:name="PANGO_TEXT_TRANSFORM_CAPITALIZE">
|
|
<doc xml:space="preserve">Display the first character of a word
|
|
in titlecase</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="UNITS_CEIL" c:identifier="PANGO_UNITS_CEIL" version="1.50" introspectable="0">
|
|
<doc xml:space="preserve">Rounds a dimension up to whole device units, but does not
|
|
convert it to device units.</doc>
|
|
<parameters>
|
|
<parameter name="d">
|
|
<doc xml:space="preserve">a dimension in Pango units.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="UNITS_FLOOR" c:identifier="PANGO_UNITS_FLOOR" version="1.50" introspectable="0">
|
|
<doc xml:space="preserve">Rounds a dimension down to whole device units, but does not
|
|
convert it to device units.</doc>
|
|
<parameters>
|
|
<parameter name="d">
|
|
<doc xml:space="preserve">a dimension in Pango units.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="UNITS_ROUND" c:identifier="PANGO_UNITS_ROUND" version="1.18" introspectable="0">
|
|
<doc xml:space="preserve">Rounds a dimension to whole device units, but does not
|
|
convert it to device units.</doc>
|
|
<parameters>
|
|
<parameter name="d">
|
|
<doc xml:space="preserve">a dimension in Pango units.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<enumeration name="Underline" glib:type-name="PangoUnderline" glib:get-type="pango_underline_get_type" c:type="PangoUnderline">
|
|
<doc xml:space="preserve">The `PangoUnderline` enumeration is used to specify whether text
|
|
should be underlined, and if so, the type of underlining.</doc>
|
|
<member name="none" value="0" c:identifier="PANGO_UNDERLINE_NONE" glib:nick="none" glib:name="PANGO_UNDERLINE_NONE">
|
|
<doc xml:space="preserve">no underline should be drawn</doc>
|
|
</member>
|
|
<member name="single" value="1" c:identifier="PANGO_UNDERLINE_SINGLE" glib:nick="single" glib:name="PANGO_UNDERLINE_SINGLE">
|
|
<doc xml:space="preserve">a single underline should be drawn</doc>
|
|
</member>
|
|
<member name="double" value="2" c:identifier="PANGO_UNDERLINE_DOUBLE" glib:nick="double" glib:name="PANGO_UNDERLINE_DOUBLE">
|
|
<doc xml:space="preserve">a double underline should be drawn</doc>
|
|
</member>
|
|
<member name="low" value="3" c:identifier="PANGO_UNDERLINE_LOW" glib:nick="low" glib:name="PANGO_UNDERLINE_LOW">
|
|
<doc xml:space="preserve">a single underline should be drawn at a
|
|
position beneath the ink extents of the text being
|
|
underlined. This should be used only for underlining
|
|
single characters, such as for keyboard accelerators.
|
|
%PANGO_UNDERLINE_SINGLE should be used for extended
|
|
portions of text.</doc>
|
|
</member>
|
|
<member name="error" value="4" c:identifier="PANGO_UNDERLINE_ERROR" glib:nick="error" glib:name="PANGO_UNDERLINE_ERROR">
|
|
<doc xml:space="preserve">an underline indicating an error should
|
|
be drawn below. The exact style of rendering is up to the
|
|
`PangoRenderer` in use, but typical styles include wavy
|
|
or dotted lines.
|
|
This underline is typically used to indicate an error such
|
|
as a possible mispelling; in some cases a contrasting color
|
|
may automatically be used. This type of underlining is
|
|
available since Pango 1.4.</doc>
|
|
</member>
|
|
<member name="single_line" value="5" c:identifier="PANGO_UNDERLINE_SINGLE_LINE" glib:nick="single-line" glib:name="PANGO_UNDERLINE_SINGLE_LINE">
|
|
<doc xml:space="preserve">Like @PANGO_UNDERLINE_SINGLE, but
|
|
drawn continuously across multiple runs. This type
|
|
of underlining is available since Pango 1.46.</doc>
|
|
</member>
|
|
<member name="double_line" value="6" c:identifier="PANGO_UNDERLINE_DOUBLE_LINE" glib:nick="double-line" glib:name="PANGO_UNDERLINE_DOUBLE_LINE">
|
|
<doc xml:space="preserve">Like @PANGO_UNDERLINE_DOUBLE, but
|
|
drawn continuously across multiple runs. This type
|
|
of underlining is available since Pango 1.46.</doc>
|
|
</member>
|
|
<member name="error_line" value="7" c:identifier="PANGO_UNDERLINE_ERROR_LINE" glib:nick="error-line" glib:name="PANGO_UNDERLINE_ERROR_LINE">
|
|
<doc xml:space="preserve">Like @PANGO_UNDERLINE_ERROR, but
|
|
drawn continuously across multiple runs. This type
|
|
of underlining is available since Pango 1.46.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="VERSION_CHECK" c:identifier="PANGO_VERSION_CHECK" introspectable="0">
|
|
<doc xml:space="preserve">Checks that the version of Pango available at compile-time is not older than
|
|
the provided version number.</doc>
|
|
<parameters>
|
|
<parameter name="major">
|
|
<doc xml:space="preserve">the major component of the version number</doc>
|
|
</parameter>
|
|
<parameter name="minor">
|
|
<doc xml:space="preserve">the minor component of the version number</doc>
|
|
</parameter>
|
|
<parameter name="micro">
|
|
<doc xml:space="preserve">the micro component of the version number</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VERSION_ENCODE" c:identifier="PANGO_VERSION_ENCODE" introspectable="0">
|
|
<doc xml:space="preserve">This macro encodes the given Pango version into an integer. The numbers
|
|
returned by %PANGO_VERSION and pango_version() are encoded using this macro.
|
|
Two encoded version numbers can be compared as integers.</doc>
|
|
<parameters>
|
|
<parameter name="major">
|
|
<doc xml:space="preserve">the major component of the version number</doc>
|
|
</parameter>
|
|
<parameter name="minor">
|
|
<doc xml:space="preserve">the minor component of the version number</doc>
|
|
</parameter>
|
|
<parameter name="micro">
|
|
<doc xml:space="preserve">the micro component of the version number</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VERSION_MAJOR" value="1" c:type="PANGO_VERSION_MAJOR">
|
|
<doc xml:space="preserve">The major component of the version of Pango available at compile-time.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VERSION_MICRO" value="6" c:type="PANGO_VERSION_MICRO">
|
|
<doc xml:space="preserve">The micro component of the version of Pango available at compile-time.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VERSION_MINOR" value="50" c:type="PANGO_VERSION_MINOR">
|
|
<doc xml:space="preserve">The minor component of the version of Pango available at compile-time.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VERSION_STRING" value="1.50.6" c:type="PANGO_VERSION_STRING">
|
|
<doc xml:space="preserve">A string literal containing the version of Pango available at compile-time.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<enumeration name="Variant" glib:type-name="PangoVariant" glib:get-type="pango_variant_get_type" c:type="PangoVariant">
|
|
<doc xml:space="preserve">An enumeration specifying capitalization variant of the font.</doc>
|
|
<member name="normal" value="0" c:identifier="PANGO_VARIANT_NORMAL" glib:nick="normal" glib:name="PANGO_VARIANT_NORMAL">
|
|
<doc xml:space="preserve">A normal font.</doc>
|
|
</member>
|
|
<member name="small_caps" value="1" c:identifier="PANGO_VARIANT_SMALL_CAPS" glib:nick="small-caps" glib:name="PANGO_VARIANT_SMALL_CAPS">
|
|
<doc xml:space="preserve">A font with the lower case characters
|
|
replaced by smaller variants of the capital characters.</doc>
|
|
</member>
|
|
<member name="all_small_caps" value="2" c:identifier="PANGO_VARIANT_ALL_SMALL_CAPS" glib:nick="all-small-caps" glib:name="PANGO_VARIANT_ALL_SMALL_CAPS">
|
|
<doc xml:space="preserve">A font with all characters
|
|
replaced by smaller variants of the capital characters. Since: 1.50</doc>
|
|
</member>
|
|
<member name="petite_caps" value="3" c:identifier="PANGO_VARIANT_PETITE_CAPS" glib:nick="petite-caps" glib:name="PANGO_VARIANT_PETITE_CAPS">
|
|
<doc xml:space="preserve">A font with the lower case characters
|
|
replaced by smaller variants of the capital characters.
|
|
Petite Caps can be even smaller than Small Caps. Since: 1.50</doc>
|
|
</member>
|
|
<member name="all_petite_caps" value="4" c:identifier="PANGO_VARIANT_ALL_PETITE_CAPS" glib:nick="all-petite-caps" glib:name="PANGO_VARIANT_ALL_PETITE_CAPS">
|
|
<doc xml:space="preserve">A font with all characters
|
|
replaced by smaller variants of the capital characters.
|
|
Petite Caps can be even smaller than Small Caps. Since: 1.50</doc>
|
|
</member>
|
|
<member name="unicase" value="5" c:identifier="PANGO_VARIANT_UNICASE" glib:nick="unicase" glib:name="PANGO_VARIANT_UNICASE">
|
|
<doc xml:space="preserve">A font with the upper case characters
|
|
replaced by smaller variants of the capital letters. Since: 1.50</doc>
|
|
</member>
|
|
<member name="title_caps" value="6" c:identifier="PANGO_VARIANT_TITLE_CAPS" glib:nick="title-caps" glib:name="PANGO_VARIANT_TITLE_CAPS">
|
|
<doc xml:space="preserve">A font with capital letters that
|
|
are more suitable for all-uppercase titles. Since: 1.50</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="Weight" glib:type-name="PangoWeight" glib:get-type="pango_weight_get_type" c:type="PangoWeight">
|
|
<doc xml:space="preserve">An enumeration specifying the weight (boldness) of a font.
|
|
|
|
Weight is specified as a numeric value ranging from 100 to 1000.
|
|
This enumeration simply provides some common, predefined values.</doc>
|
|
<member name="thin" value="100" c:identifier="PANGO_WEIGHT_THIN" glib:nick="thin" glib:name="PANGO_WEIGHT_THIN">
|
|
<doc xml:space="preserve">the thin weight (= 100) Since: 1.24</doc>
|
|
</member>
|
|
<member name="ultralight" value="200" c:identifier="PANGO_WEIGHT_ULTRALIGHT" glib:nick="ultralight" glib:name="PANGO_WEIGHT_ULTRALIGHT">
|
|
<doc xml:space="preserve">the ultralight weight (= 200)</doc>
|
|
</member>
|
|
<member name="light" value="300" c:identifier="PANGO_WEIGHT_LIGHT" glib:nick="light" glib:name="PANGO_WEIGHT_LIGHT">
|
|
<doc xml:space="preserve">the light weight (= 300)</doc>
|
|
</member>
|
|
<member name="semilight" value="350" c:identifier="PANGO_WEIGHT_SEMILIGHT" glib:nick="semilight" glib:name="PANGO_WEIGHT_SEMILIGHT">
|
|
<doc xml:space="preserve">the semilight weight (= 350) Since: 1.36.7</doc>
|
|
</member>
|
|
<member name="book" value="380" c:identifier="PANGO_WEIGHT_BOOK" glib:nick="book" glib:name="PANGO_WEIGHT_BOOK">
|
|
<doc xml:space="preserve">the book weight (= 380) Since: 1.24)</doc>
|
|
</member>
|
|
<member name="normal" value="400" c:identifier="PANGO_WEIGHT_NORMAL" glib:nick="normal" glib:name="PANGO_WEIGHT_NORMAL">
|
|
<doc xml:space="preserve">the default weight (= 400)</doc>
|
|
</member>
|
|
<member name="medium" value="500" c:identifier="PANGO_WEIGHT_MEDIUM" glib:nick="medium" glib:name="PANGO_WEIGHT_MEDIUM">
|
|
<doc xml:space="preserve">the normal weight (= 500) Since: 1.24</doc>
|
|
</member>
|
|
<member name="semibold" value="600" c:identifier="PANGO_WEIGHT_SEMIBOLD" glib:nick="semibold" glib:name="PANGO_WEIGHT_SEMIBOLD">
|
|
<doc xml:space="preserve">the semibold weight (= 600)</doc>
|
|
</member>
|
|
<member name="bold" value="700" c:identifier="PANGO_WEIGHT_BOLD" glib:nick="bold" glib:name="PANGO_WEIGHT_BOLD">
|
|
<doc xml:space="preserve">the bold weight (= 700)</doc>
|
|
</member>
|
|
<member name="ultrabold" value="800" c:identifier="PANGO_WEIGHT_ULTRABOLD" glib:nick="ultrabold" glib:name="PANGO_WEIGHT_ULTRABOLD">
|
|
<doc xml:space="preserve">the ultrabold weight (= 800)</doc>
|
|
</member>
|
|
<member name="heavy" value="900" c:identifier="PANGO_WEIGHT_HEAVY" glib:nick="heavy" glib:name="PANGO_WEIGHT_HEAVY">
|
|
<doc xml:space="preserve">the heavy weight (= 900)</doc>
|
|
</member>
|
|
<member name="ultraheavy" value="1000" c:identifier="PANGO_WEIGHT_ULTRAHEAVY" glib:nick="ultraheavy" glib:name="PANGO_WEIGHT_ULTRAHEAVY">
|
|
<doc xml:space="preserve">the ultraheavy weight (= 1000) Since: 1.24</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="WrapMode" glib:type-name="PangoWrapMode" glib:get-type="pango_wrap_mode_get_type" c:type="PangoWrapMode">
|
|
<doc xml:space="preserve">`PangoWrapMode` describes how to wrap the lines of a `PangoLayout`
|
|
to the desired width.
|
|
|
|
For @PANGO_WRAP_WORD, Pango uses break opportunities that are determined
|
|
by the Unicode line breaking algorithm. For @PANGO_WRAP_CHAR, Pango allows
|
|
breaking at grapheme boundaries that are determined by the Unicode text
|
|
segmentation algorithm.</doc>
|
|
<member name="word" value="0" c:identifier="PANGO_WRAP_WORD" glib:nick="word" glib:name="PANGO_WRAP_WORD">
|
|
<doc xml:space="preserve">wrap lines at word boundaries.</doc>
|
|
</member>
|
|
<member name="char" value="1" c:identifier="PANGO_WRAP_CHAR" glib:nick="char" glib:name="PANGO_WRAP_CHAR">
|
|
<doc xml:space="preserve">wrap lines at character boundaries.</doc>
|
|
</member>
|
|
<member name="word_char" value="2" c:identifier="PANGO_WRAP_WORD_CHAR" glib:nick="word-char" glib:name="PANGO_WRAP_WORD_CHAR">
|
|
<doc xml:space="preserve">wrap lines at word boundaries, but fall back to
|
|
character boundaries if there is not enough space for a full word.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function name="attr_allow_breaks_new" c:identifier="pango_attr_allow_breaks_new" version="1.44">
|
|
<doc xml:space="preserve">Create a new allow-breaks attribute.
|
|
|
|
If breaks are disabled, the range will be kept in a
|
|
single run, as far as possible.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="allow_breaks" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if we line breaks are allowed</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_background_alpha_new" c:identifier="pango_attr_background_alpha_new" version="1.38">
|
|
<doc xml:space="preserve">Create a new background alpha attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">the alpha value, between 1 and 65536</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_background_new" c:identifier="pango_attr_background_new">
|
|
<doc xml:space="preserve">Create a new background color attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="red" transfer-ownership="none">
|
|
<doc xml:space="preserve">the red value (ranging from 0 to 65535)</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
<parameter name="green" transfer-ownership="none">
|
|
<doc xml:space="preserve">the green value</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
<parameter name="blue" transfer-ownership="none">
|
|
<doc xml:space="preserve">the blue value</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_baseline_shift_new" c:identifier="pango_attr_baseline_shift_new" version="1.50">
|
|
<doc xml:space="preserve">Create a new baseline displacement attribute.
|
|
|
|
The effect of this attribute is to shift the baseline of a run,
|
|
relative to the run of preceding run.
|
|
|
|
<picture>
|
|
<source srcset="baseline-shift-dark.png" media="(prefers-color-scheme: dark)">
|
|
<img alt="Baseline Shift" src="baseline-shift-light.png">
|
|
</picture></doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="shift" transfer-ownership="none">
|
|
<doc xml:space="preserve">either a `PangoBaselineShift` enumeration value or an absolute value (> 1024)
|
|
in Pango units, relative to the baseline of the previous run.
|
|
Positive values displace the text upwards.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_break" c:identifier="pango_attr_break" version="1.50">
|
|
<doc xml:space="preserve">Apply customization from attributes to the breaks in @attrs.
|
|
|
|
The line breaks are assumed to have been produced
|
|
by [func@Pango.default_break] and [func@Pango.tailor_break].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">text to break. Must be valid UTF-8</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of text in bytes (may be -1 if @text is nul-terminated)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="attr_list" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoAttrList` to apply</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">Byte offset of @text from the beginning of the paragraph</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="attrs" transfer-ownership="none">
|
|
<doc xml:space="preserve">array with one `PangoLogAttr`
|
|
per character in @text, plus one extra, to be filled in</doc>
|
|
<array length="5" zero-terminated="0" c:type="PangoLogAttr*">
|
|
<type name="LogAttr" c:type="PangoLogAttr"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="attrs_len" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of @attrs array</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_fallback_new" c:identifier="pango_attr_fallback_new" version="1.4">
|
|
<doc xml:space="preserve">Create a new font fallback attribute.
|
|
|
|
If fallback is disabled, characters will only be
|
|
used from the closest matching font on the system.
|
|
No fallback will be done to other fonts on the system
|
|
that might contain the characters in the text.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="enable_fallback" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if we should fall back on other fonts
|
|
for characters the active font is missing</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_family_new" c:identifier="pango_attr_family_new">
|
|
<doc xml:space="preserve">Create a new font family attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="family" transfer-ownership="none">
|
|
<doc xml:space="preserve">the family or comma-separated list of families</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_font_desc_new" c:identifier="pango_attr_font_desc_new" moved-to="AttrFontDesc.new">
|
|
<doc xml:space="preserve">Create a new font description attribute.
|
|
|
|
This attribute allows setting family, style, weight, variant,
|
|
stretch, and size simultaneously.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="desc" transfer-ownership="none">
|
|
<doc xml:space="preserve">the font description</doc>
|
|
<type name="FontDescription" c:type="const PangoFontDescription*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_font_features_new" c:identifier="pango_attr_font_features_new" moved-to="AttrFontFeatures.new" version="1.38">
|
|
<doc xml:space="preserve">Create a new font features tag attribute.
|
|
|
|
You can use this attribute to select OpenType font features like small-caps,
|
|
alternative glyphs, ligatures, etc. for fonts that support them.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="features" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string with OpenType font features, with the syntax of the [CSS
|
|
font-feature-settings property](https://www.w3.org/TR/css-fonts-4/#font-rend-desc)</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_font_scale_new" c:identifier="pango_attr_font_scale_new" version="1.50">
|
|
<doc xml:space="preserve">Create a new font scale attribute.
|
|
|
|
The effect of this attribute is to change the font size of a run,
|
|
relative to the size of preceding run.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoFontScale` value, which indicates font size change relative
|
|
to the size of the previous run.</doc>
|
|
<type name="FontScale" c:type="PangoFontScale"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_foreground_alpha_new" c:identifier="pango_attr_foreground_alpha_new" version="1.38">
|
|
<doc xml:space="preserve">Create a new foreground alpha attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">the alpha value, between 1 and 65536</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_foreground_new" c:identifier="pango_attr_foreground_new">
|
|
<doc xml:space="preserve">Create a new foreground color attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="red" transfer-ownership="none">
|
|
<doc xml:space="preserve">the red value (ranging from 0 to 65535)</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
<parameter name="green" transfer-ownership="none">
|
|
<doc xml:space="preserve">the green value</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
<parameter name="blue" transfer-ownership="none">
|
|
<doc xml:space="preserve">the blue value</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_gravity_hint_new" c:identifier="pango_attr_gravity_hint_new" version="1.16">
|
|
<doc xml:space="preserve">Create a new gravity hint attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="hint" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gravity hint value</doc>
|
|
<type name="GravityHint" c:type="PangoGravityHint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_gravity_new" c:identifier="pango_attr_gravity_new" version="1.16">
|
|
<doc xml:space="preserve">Create a new gravity attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="gravity" transfer-ownership="none">
|
|
<doc xml:space="preserve">the gravity value; should not be %PANGO_GRAVITY_AUTO</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_insert_hyphens_new" c:identifier="pango_attr_insert_hyphens_new" version="1.44">
|
|
<doc xml:space="preserve">Create a new insert-hyphens attribute.
|
|
|
|
Pango will insert hyphens when breaking lines in
|
|
the middle of a word. This attribute can be used
|
|
to suppress the hyphen.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="insert_hyphens" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if hyphens should be inserted</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_language_new" c:identifier="pango_attr_language_new" moved-to="AttrLanguage.new">
|
|
<doc xml:space="preserve">Create a new language tag attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">language tag</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_letter_spacing_new" c:identifier="pango_attr_letter_spacing_new" version="1.6">
|
|
<doc xml:space="preserve">Create a new letter-spacing attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="letter_spacing" transfer-ownership="none">
|
|
<doc xml:space="preserve">amount of extra space to add between
|
|
graphemes of the text, in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_line_height_new" c:identifier="pango_attr_line_height_new" version="1.50">
|
|
<doc xml:space="preserve">Modify the height of logical line extents by a factor.
|
|
|
|
This affects the values returned by
|
|
[method@Pango.LayoutLine.get_extents],
|
|
[method@Pango.LayoutLine.get_pixel_extents] and
|
|
[method@Pango.LayoutIter.get_line_extents].</doc>
|
|
<return-value transfer-ownership="full">
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="factor" transfer-ownership="none">
|
|
<doc xml:space="preserve">the scaling factor to apply to the logical height</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_line_height_new_absolute" c:identifier="pango_attr_line_height_new_absolute" version="1.50">
|
|
<doc xml:space="preserve">Override the height of logical line extents to be @height.
|
|
|
|
This affects the values returned by
|
|
[method@Pango.LayoutLine.get_extents],
|
|
[method@Pango.LayoutLine.get_pixel_extents] and
|
|
[method@Pango.LayoutIter.get_line_extents].</doc>
|
|
<return-value transfer-ownership="full">
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the line height, in %PANGO_SCALE-ths of a point</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_list_from_string" c:identifier="pango_attr_list_from_string" moved-to="AttrList.from_string" version="1.50">
|
|
<doc xml:space="preserve">Deserializes a `PangoAttrList` from a string.
|
|
|
|
This is the counterpart to [method@Pango.AttrList.to_string].
|
|
See that functions for details about the format.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_overline_color_new" c:identifier="pango_attr_overline_color_new" version="1.46">
|
|
<doc xml:space="preserve">Create a new overline color attribute.
|
|
|
|
This attribute modifies the color of overlines.
|
|
If not set, overlines will use the foreground color.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="red" transfer-ownership="none">
|
|
<doc xml:space="preserve">the red value (ranging from 0 to 65535)</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
<parameter name="green" transfer-ownership="none">
|
|
<doc xml:space="preserve">the green value</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
<parameter name="blue" transfer-ownership="none">
|
|
<doc xml:space="preserve">the blue value</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_overline_new" c:identifier="pango_attr_overline_new" version="1.46">
|
|
<doc xml:space="preserve">Create a new overline-style attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="overline" transfer-ownership="none">
|
|
<doc xml:space="preserve">the overline style</doc>
|
|
<type name="Overline" c:type="PangoOverline"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_rise_new" c:identifier="pango_attr_rise_new">
|
|
<doc xml:space="preserve">Create a new baseline displacement attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="rise" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount that the text should be displaced vertically,
|
|
in Pango units. Positive values displace the text upwards.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_scale_new" c:identifier="pango_attr_scale_new">
|
|
<doc xml:space="preserve">Create a new font size scale attribute.
|
|
|
|
The base font for the affected text will have
|
|
its size multiplied by @scale_factor.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="scale_factor" transfer-ownership="none">
|
|
<doc xml:space="preserve">factor to scale the font</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_sentence_new" c:identifier="pango_attr_sentence_new" version="1.50">
|
|
<doc xml:space="preserve">Marks the range of the attribute as a single sentence.
|
|
|
|
Note that this may require adjustments to word and
|
|
sentence classification around the range.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="attr_shape_new" c:identifier="pango_attr_shape_new" moved-to="AttrShape.new">
|
|
<doc xml:space="preserve">Create a new shape attribute.
|
|
|
|
A shape is used to impose a particular ink and logical
|
|
rectangle on the result of shaping a particular glyph.
|
|
This might be used, for instance, for embedding a picture
|
|
or a widget inside a `PangoLayout`.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ink_rect" transfer-ownership="none">
|
|
<doc xml:space="preserve">ink rectangle to assign to each character</doc>
|
|
<type name="Rectangle" c:type="const PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" transfer-ownership="none">
|
|
<doc xml:space="preserve">logical rectangle to assign to each character</doc>
|
|
<type name="Rectangle" c:type="const PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_shape_new_with_data" c:identifier="pango_attr_shape_new_with_data" moved-to="AttrShape.new_with_data" version="1.8">
|
|
<doc xml:space="preserve">Creates a new shape attribute.
|
|
|
|
Like [func@Pango.AttrShape.new], but a user data pointer
|
|
is also provided; this pointer can be accessed when later
|
|
rendering the glyph.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ink_rect" transfer-ownership="none">
|
|
<doc xml:space="preserve">ink rectangle to assign to each character</doc>
|
|
<type name="Rectangle" c:type="const PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="logical_rect" transfer-ownership="none">
|
|
<doc xml:space="preserve">logical rectangle to assign to each character</doc>
|
|
<type name="Rectangle" c:type="const PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data pointer</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="copy_func" transfer-ownership="none" nullable="1" allow-none="1" scope="notified" destroy="4">
|
|
<doc xml:space="preserve">function to copy @data when the
|
|
attribute is copied. If %NULL, @data is simply copied
|
|
as a pointer</doc>
|
|
<type name="AttrDataCopyFunc" c:type="PangoAttrDataCopyFunc"/>
|
|
</parameter>
|
|
<parameter name="destroy_func" transfer-ownership="none" nullable="1" allow-none="1" scope="async">
|
|
<doc xml:space="preserve">function to free @data when the
|
|
attribute is freed</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_show_new" c:identifier="pango_attr_show_new" version="1.44">
|
|
<doc xml:space="preserve">Create a new attribute that influences how invisible
|
|
characters are rendered.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoShowFlags` to apply</doc>
|
|
<type name="ShowFlags" c:type="PangoShowFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_size_new" c:identifier="pango_attr_size_new" moved-to="AttrSize.new">
|
|
<doc xml:space="preserve">Create a new font-size attribute in fractional points.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the font size, in %PANGO_SCALE-ths of a point</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_size_new_absolute" c:identifier="pango_attr_size_new_absolute" moved-to="AttrSize.new_absolute" version="1.8">
|
|
<doc xml:space="preserve">Create a new font-size attribute in device units.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">the font size, in %PANGO_SCALE-ths of a device unit</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_stretch_new" c:identifier="pango_attr_stretch_new">
|
|
<doc xml:space="preserve">Create a new font stretch attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stretch" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stretch</doc>
|
|
<type name="Stretch" c:type="PangoStretch"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_strikethrough_color_new" c:identifier="pango_attr_strikethrough_color_new" version="1.8">
|
|
<doc xml:space="preserve">Create a new strikethrough color attribute.
|
|
|
|
This attribute modifies the color of strikethrough lines.
|
|
If not set, strikethrough lines will use the foreground color.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="red" transfer-ownership="none">
|
|
<doc xml:space="preserve">the red value (ranging from 0 to 65535)</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
<parameter name="green" transfer-ownership="none">
|
|
<doc xml:space="preserve">the green value</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
<parameter name="blue" transfer-ownership="none">
|
|
<doc xml:space="preserve">the blue value</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_strikethrough_new" c:identifier="pango_attr_strikethrough_new">
|
|
<doc xml:space="preserve">Create a new strike-through attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="strikethrough" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the text should be struck-through</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_style_new" c:identifier="pango_attr_style_new">
|
|
<doc xml:space="preserve">Create a new font slant style attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="style" transfer-ownership="none">
|
|
<doc xml:space="preserve">the slant style</doc>
|
|
<type name="Style" c:type="PangoStyle"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_text_transform_new" c:identifier="pango_attr_text_transform_new" version="1.50">
|
|
<doc xml:space="preserve">Create a new attribute that influences how characters
|
|
are transformed during shaping.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="transform" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoTextTransform` to apply</doc>
|
|
<type name="TextTransform" c:type="PangoTextTransform"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_type_get_name" c:identifier="pango_attr_type_get_name" moved-to="AttrType.get_name" version="1.22">
|
|
<doc xml:space="preserve">Fetches the attribute type name.
|
|
|
|
The attribute type name is the string passed in
|
|
when registering the type using
|
|
[func@Pango.AttrType.register].
|
|
|
|
The returned value is an interned string (see
|
|
g_intern_string() for what that means) that should
|
|
not be modified or freed.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the type ID name (which
|
|
may be %NULL), or %NULL if @type is a built-in Pango
|
|
attribute type or invalid.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">an attribute type ID to fetch the name for</doc>
|
|
<type name="AttrType" c:type="PangoAttrType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_type_register" c:identifier="pango_attr_type_register" moved-to="AttrType.register">
|
|
<doc xml:space="preserve">Allocate a new attribute type ID.
|
|
|
|
The attribute type name can be accessed later
|
|
by using [func@Pango.AttrType.get_name].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the new type ID.</doc>
|
|
<type name="AttrType" c:type="PangoAttrType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">an identifier for the type</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_underline_color_new" c:identifier="pango_attr_underline_color_new" version="1.8">
|
|
<doc xml:space="preserve">Create a new underline color attribute.
|
|
|
|
This attribute modifies the color of underlines.
|
|
If not set, underlines will use the foreground color.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="red" transfer-ownership="none">
|
|
<doc xml:space="preserve">the red value (ranging from 0 to 65535)</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
<parameter name="green" transfer-ownership="none">
|
|
<doc xml:space="preserve">the green value</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
<parameter name="blue" transfer-ownership="none">
|
|
<doc xml:space="preserve">the blue value</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_underline_new" c:identifier="pango_attr_underline_new">
|
|
<doc xml:space="preserve">Create a new underline-style attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="underline" transfer-ownership="none">
|
|
<doc xml:space="preserve">the underline style</doc>
|
|
<type name="Underline" c:type="PangoUnderline"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_variant_new" c:identifier="pango_attr_variant_new">
|
|
<doc xml:space="preserve">Create a new font variant attribute (normal or small caps).</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated `PangoAttribute`,
|
|
which should be freed with [method@Pango.Attribute.destroy].</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="variant" transfer-ownership="none">
|
|
<doc xml:space="preserve">the variant</doc>
|
|
<type name="Variant" c:type="PangoVariant"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_weight_new" c:identifier="pango_attr_weight_new">
|
|
<doc xml:space="preserve">Create a new font weight attribute.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="weight" transfer-ownership="none">
|
|
<doc xml:space="preserve">the weight</doc>
|
|
<type name="Weight" c:type="PangoWeight"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="attr_word_new" c:identifier="pango_attr_word_new" version="1.50">
|
|
<doc xml:space="preserve">Marks the range of the attribute as a single word.
|
|
|
|
Note that this may require adjustments to word and
|
|
sentence classification around the range.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly allocated
|
|
`PangoAttribute`, which should be freed with
|
|
[method@Pango.Attribute.destroy]</doc>
|
|
<type name="Attribute" c:type="PangoAttribute*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="bidi_type_for_unichar" c:identifier="pango_bidi_type_for_unichar" moved-to="BidiType.for_unichar" version="1.22">
|
|
<doc xml:space="preserve">Determines the bidirectional type of a character.
|
|
|
|
The bidirectional type is specified in the Unicode Character Database.
|
|
|
|
A simplified version of this function is available as [func@unichar_direction].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the bidirectional character type, as used in the
|
|
Unicode bidirectional algorithm.</doc>
|
|
<type name="BidiType" c:type="PangoBidiType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ch" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="break" c:identifier="pango_break" deprecated="1" deprecated-version="1.44">
|
|
<doc xml:space="preserve">Determines possible line, word, and character breaks
|
|
for a string of Unicode text with a single analysis.
|
|
|
|
For most purposes you may want to use [func@Pango.get_log_attrs].</doc>
|
|
<doc-deprecated xml:space="preserve">Use [func@Pango.default_break],
|
|
[func@Pango.tailor_break] and [func@Pango.attr_break].</doc-deprecated>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">the text to process. Must be valid UTF-8</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of @text in bytes (may be -1 if @text is nul-terminated)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="analysis" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoAnalysis` structure for @text</doc>
|
|
<type name="Analysis" c:type="PangoAnalysis*"/>
|
|
</parameter>
|
|
<parameter name="attrs" transfer-ownership="none">
|
|
<doc xml:space="preserve">an array to store character information in</doc>
|
|
<array length="4" zero-terminated="0" c:type="PangoLogAttr*">
|
|
<type name="LogAttr" c:type="PangoLogAttr"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="attrs_len" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of the array passed as @attrs</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="default_break" c:identifier="pango_default_break">
|
|
<doc xml:space="preserve">This is the default break algorithm.
|
|
|
|
It applies rules from the [Unicode Line Breaking Algorithm](http://www.unicode.org/unicode/reports/tr14/)
|
|
without language-specific tailoring, therefore the @analyis argument is unused
|
|
and can be %NULL.
|
|
|
|
See [func@Pango.tailor_break] for language-specific breaks.
|
|
|
|
See [func@Pango.attr_break] for attribute-based customization.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">text to break. Must be valid UTF-8</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of text in bytes (may be -1 if @text is nul-terminated)</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="analysis" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoAnalysis` structure for the @text</doc>
|
|
<type name="Analysis" c:type="PangoAnalysis*"/>
|
|
</parameter>
|
|
<parameter name="attrs" transfer-ownership="none">
|
|
<doc xml:space="preserve">logical attributes to fill in</doc>
|
|
<type name="LogAttr" c:type="PangoLogAttr*"/>
|
|
</parameter>
|
|
<parameter name="attrs_len" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of the array passed as @attrs</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="extents_to_pixels" c:identifier="pango_extents_to_pixels" version="1.16">
|
|
<doc xml:space="preserve">Converts extents from Pango units to device units.
|
|
|
|
The conversion is done by dividing by the %PANGO_SCALE factor and
|
|
performing rounding.
|
|
|
|
The @inclusive rectangle is converted by flooring the x/y coordinates
|
|
and extending width/height, such that the final rectangle completely
|
|
includes the original rectangle.
|
|
|
|
The @nearest rectangle is converted by rounding the coordinates
|
|
of the rectangle to the nearest device unit (pixel).
|
|
|
|
The rule to which argument to use is: if you want the resulting device-space
|
|
rectangle to completely contain the original rectangle, pass it in as
|
|
@inclusive. If you want two touching-but-not-overlapping rectangles stay
|
|
touching-but-not-overlapping after rounding to device units, pass them in
|
|
as @nearest.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="inclusive" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle to round to pixels inclusively</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="nearest" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">rectangle to round to nearest pixels</doc>
|
|
<type name="Rectangle" c:type="PangoRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="find_base_dir" c:identifier="pango_find_base_dir" version="1.4">
|
|
<doc xml:space="preserve">Searches a string the first character that has a strong
|
|
direction, according to the Unicode bidirectional algorithm.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The direction corresponding to the first strong character.
|
|
If no such character is found, then %PANGO_DIRECTION_NEUTRAL is returned.</doc>
|
|
<type name="Direction" c:type="PangoDirection"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">the text to process. Must be valid UTF-8</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of @text in bytes (may be -1 if @text is nul-terminated)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="find_paragraph_boundary" c:identifier="pango_find_paragraph_boundary">
|
|
<doc xml:space="preserve">Locates a paragraph boundary in @text.
|
|
|
|
A boundary is caused by delimiter characters, such as
|
|
a newline, carriage return, carriage return-newline pair,
|
|
or Unicode paragraph separator character.
|
|
|
|
The index of the run of delimiters is returned in
|
|
@paragraph_delimiter_index. The index of the start of the
|
|
next paragraph (index after all delimiters) is stored n
|
|
@next_paragraph_start.
|
|
|
|
If no delimiters are found, both @paragraph_delimiter_index
|
|
and @next_paragraph_start are filled with the length of @text
|
|
(an index one off the end).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">UTF-8 text</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of @text in bytes, or -1 if nul-terminated</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="paragraph_delimiter_index" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for index of
|
|
delimiter</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="next_paragraph_start" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for start of next
|
|
paragraph</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="font_description_from_string" c:identifier="pango_font_description_from_string" moved-to="FontDescription.from_string">
|
|
<doc xml:space="preserve">Creates a new font description from a string representation.
|
|
|
|
The string must have the form
|
|
|
|
"\[FAMILY-LIST] \[STYLE-OPTIONS] \[SIZE] \[VARIATIONS]",
|
|
|
|
where FAMILY-LIST is a comma-separated list of families optionally
|
|
terminated by a comma, STYLE_OPTIONS is a whitespace-separated list
|
|
of words where each word describes one of style, variant, weight,
|
|
stretch, or gravity, and SIZE is a decimal number (size in points)
|
|
or optionally followed by the unit modifier "px" for absolute size.
|
|
VARIATIONS is a comma-separated list of font variation
|
|
specifications of the form "\@axis=value" (the = sign is optional).
|
|
|
|
The following words are understood as styles:
|
|
"Normal", "Roman", "Oblique", "Italic".
|
|
|
|
The following words are understood as variants:
|
|
"Small-Caps", "All-Small-Caps", "Petite-Caps", "All-Petite-Caps",
|
|
"Unicase", "Title-Caps".
|
|
|
|
The following words are understood as weights:
|
|
"Thin", "Ultra-Light", "Extra-Light", "Light", "Semi-Light",
|
|
"Demi-Light", "Book", "Regular", "Medium", "Semi-Bold", "Demi-Bold",
|
|
"Bold", "Ultra-Bold", "Extra-Bold", "Heavy", "Black", "Ultra-Black",
|
|
"Extra-Black".
|
|
|
|
The following words are understood as stretch values:
|
|
"Ultra-Condensed", "Extra-Condensed", "Condensed", "Semi-Condensed",
|
|
"Semi-Expanded", "Expanded", "Extra-Expanded", "Ultra-Expanded".
|
|
|
|
The following words are understood as gravity values:
|
|
"Not-Rotated", "South", "Upside-Down", "North", "Rotated-Left",
|
|
"East", "Rotated-Right", "West".
|
|
|
|
Any one of the options may be absent. If FAMILY-LIST is absent, then
|
|
the family_name field of the resulting font description will be
|
|
initialized to %NULL. If STYLE-OPTIONS is missing, then all style
|
|
options will be set to the default values. If SIZE is missing, the
|
|
size in the resulting font description will be set to 0.
|
|
|
|
A typical example:
|
|
|
|
"Cantarell Italic Light 15 \@wght=200"</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new `PangoFontDescription`.</doc>
|
|
<type name="FontDescription" c:type="PangoFontDescription*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="str" transfer-ownership="none">
|
|
<doc xml:space="preserve">string representation of a font description.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_log_attrs" c:identifier="pango_get_log_attrs">
|
|
<doc xml:space="preserve">Computes a `PangoLogAttr` for each character in @text.
|
|
|
|
The @attrs array must have one `PangoLogAttr` for
|
|
each position in @text; if @text contains N characters,
|
|
it has N+1 positions, including the last position at the
|
|
end of the text. @text should be an entire paragraph;
|
|
logical attributes can't be computed without context
|
|
(for example you need to see spaces on either side of
|
|
a word to know the word is a word).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">text to process. Must be valid UTF-8</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">length in bytes of @text</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">embedding level, or -1 if unknown</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="language" transfer-ownership="none">
|
|
<doc xml:space="preserve">language tag</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</parameter>
|
|
<parameter name="attrs" transfer-ownership="none">
|
|
<doc xml:space="preserve">array with one `PangoLogAttr`
|
|
per character in @text, plus one extra, to be filled in</doc>
|
|
<array length="5" zero-terminated="0" c:type="PangoLogAttr*">
|
|
<type name="LogAttr" c:type="PangoLogAttr"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="attrs_len" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of @attrs array</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_mirror_char" c:identifier="pango_get_mirror_char" deprecated="1" deprecated-version="1.30">
|
|
<doc xml:space="preserve">Returns the mirrored character of a Unicode character.
|
|
|
|
Mirror characters are determined by the Unicode mirrored property.</doc>
|
|
<doc-deprecated xml:space="preserve">Use [func@GLib.unichar_get_mirror_char] instead;
|
|
the docs for that function provide full details.</doc-deprecated>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @ch has a mirrored character and @mirrored_ch is
|
|
filled in, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ch" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
<parameter name="mirrored_ch" transfer-ownership="none">
|
|
<doc xml:space="preserve">location to store the mirrored character</doc>
|
|
<type name="gunichar" c:type="gunichar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="gravity_get_for_matrix" c:identifier="pango_gravity_get_for_matrix" moved-to="Gravity.get_for_matrix" version="1.16">
|
|
<doc xml:space="preserve">Finds the gravity that best matches the rotation component
|
|
in a `PangoMatrix`.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the gravity of @matrix, which will never be
|
|
%PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="matrix" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a `PangoMatrix`</doc>
|
|
<type name="Matrix" c:type="const PangoMatrix*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="gravity_get_for_script" c:identifier="pango_gravity_get_for_script" moved-to="Gravity.get_for_script" version="1.16">
|
|
<doc xml:space="preserve">Returns the gravity to use in laying out a `PangoItem`.
|
|
|
|
The gravity is determined based on the script, base gravity, and hint.
|
|
|
|
If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
|
|
preferred gravity of @script. To get the preferred gravity of a script,
|
|
pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">resolved gravity suitable to use for a run of text
|
|
with @script</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="script" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoScript` to query</doc>
|
|
<type name="Script" c:type="PangoScript"/>
|
|
</parameter>
|
|
<parameter name="base_gravity" transfer-ownership="none">
|
|
<doc xml:space="preserve">base gravity of the paragraph</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</parameter>
|
|
<parameter name="hint" transfer-ownership="none">
|
|
<doc xml:space="preserve">orientation hint</doc>
|
|
<type name="GravityHint" c:type="PangoGravityHint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="gravity_get_for_script_and_width" c:identifier="pango_gravity_get_for_script_and_width" moved-to="Gravity.get_for_script_and_width" version="1.26">
|
|
<doc xml:space="preserve">Returns the gravity to use in laying out a single character
|
|
or `PangoItem`.
|
|
|
|
The gravity is determined based on the script, East Asian width,
|
|
base gravity, and hint,
|
|
|
|
This function is similar to [func@Pango.Gravity.get_for_script] except
|
|
that this function makes a distinction between narrow/half-width and
|
|
wide/full-width characters also. Wide/full-width characters always
|
|
stand *upright*, that is, they always take the base gravity,
|
|
whereas narrow/full-width characters are always rotated in vertical
|
|
context.
|
|
|
|
If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the
|
|
preferred gravity of @script.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">resolved gravity suitable to use for a run of text
|
|
with @script and @wide.</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="script" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoScript` to query</doc>
|
|
<type name="Script" c:type="PangoScript"/>
|
|
</parameter>
|
|
<parameter name="wide" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE for wide characters as returned by g_unichar_iswide()</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="base_gravity" transfer-ownership="none">
|
|
<doc xml:space="preserve">base gravity of the paragraph</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</parameter>
|
|
<parameter name="hint" transfer-ownership="none">
|
|
<doc xml:space="preserve">orientation hint</doc>
|
|
<type name="GravityHint" c:type="PangoGravityHint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="gravity_to_rotation" c:identifier="pango_gravity_to_rotation" moved-to="Gravity.to_rotation" version="1.16">
|
|
<doc xml:space="preserve">Converts a `PangoGravity` value to its natural rotation in radians.
|
|
|
|
Note that [method@Pango.Matrix.rotate] takes angle in degrees, not radians.
|
|
So, to call [method@Pango.Matrix,rotate] with the output of this function
|
|
you should multiply it by (180. / G_PI).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the rotation value corresponding to @gravity.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="gravity" transfer-ownership="none">
|
|
<doc xml:space="preserve">gravity to query, should not be %PANGO_GRAVITY_AUTO</doc>
|
|
<type name="Gravity" c:type="PangoGravity"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="is_zero_width" c:identifier="pango_is_zero_width" version="1.10">
|
|
<doc xml:space="preserve">Checks if a character that should not be normally rendered.
|
|
|
|
This includes all Unicode characters with "ZERO WIDTH" in their name,
|
|
as well as *bidi* formatting characters, and a few other ones.
|
|
|
|
This is totally different from [func@GLib.unichar_iszerowidth] and is at best misnamed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @ch is a zero-width character, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ch" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="itemize" c:identifier="pango_itemize">
|
|
<doc xml:space="preserve">Breaks a piece of text into segments with consistent directional
|
|
level and font.
|
|
|
|
Each byte of @text will be contained in exactly one of the items in the
|
|
returned list; the generated list of items will be in logical order (the
|
|
start offsets of the items are ascending).
|
|
|
|
@cached_iter should be an iterator over @attrs currently positioned
|
|
at a range before or containing @start_index; @cached_iter will be
|
|
advanced to the range covering the position just after
|
|
@start_index + @length. (i.e. if itemizing in a loop, just keep passing
|
|
in the same @cached_iter).</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `GList` of
|
|
[struct@Pango.Item] structures. The items should be freed using
|
|
[method@Pango.Item.free] in combination with [func@GLib.List.free_full].</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Item"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a structure holding information that affects
|
|
the itemization process.</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">the text to itemize. Must be valid UTF-8</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="start_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">first byte in @text to process</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of bytes (not characters) to process
|
|
after @start_index. This must be >= 0.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="attrs" transfer-ownership="none">
|
|
<doc xml:space="preserve">the set of attributes that apply to @text.</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</parameter>
|
|
<parameter name="cached_iter" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">Cached attribute iterator</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="itemize_with_base_dir" c:identifier="pango_itemize_with_base_dir" version="1.4">
|
|
<doc xml:space="preserve">Like `pango_itemize()`, but with an explicitly specified base direction.
|
|
|
|
The base direction is used when computing bidirectional levels.
|
|
[func@itemize] gets the base direction from the `PangoContext`
|
|
(see [method@Pango.Context.set_base_dir]).</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `GList` of
|
|
[struct@Pango.Item] structures. The items should be freed using
|
|
[method@Pango.Item.free] probably in combination with [func@GLib.List.free_full].</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Item"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">a structure holding information that affects
|
|
the itemization process.</doc>
|
|
<type name="Context" c:type="PangoContext*"/>
|
|
</parameter>
|
|
<parameter name="base_dir" transfer-ownership="none">
|
|
<doc xml:space="preserve">base direction to use for bidirectional processing</doc>
|
|
<type name="Direction" c:type="PangoDirection"/>
|
|
</parameter>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">the text to itemize.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="start_index" transfer-ownership="none">
|
|
<doc xml:space="preserve">first byte in @text to process</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of bytes (not characters) to process
|
|
after @start_index. This must be >= 0.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="attrs" transfer-ownership="none">
|
|
<doc xml:space="preserve">the set of attributes that apply to @text.</doc>
|
|
<type name="AttrList" c:type="PangoAttrList*"/>
|
|
</parameter>
|
|
<parameter name="cached_iter" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">Cached attribute iterator</doc>
|
|
<type name="AttrIterator" c:type="PangoAttrIterator*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="language_from_string" c:identifier="pango_language_from_string" moved-to="Language.from_string">
|
|
<doc xml:space="preserve">Convert a language tag to a `PangoLanguage`.
|
|
|
|
The language tag must be in a RFC-3066 format. `PangoLanguage` pointers
|
|
can be efficiently copied (copy the pointer) and compared with other
|
|
language tags (compare the pointer.)
|
|
|
|
This function first canonicalizes the string by converting it to
|
|
lowercase, mapping '_' to '-', and stripping all characters other
|
|
than letters and '-'.
|
|
|
|
Use [func@Pango.Language.get_default] if you want to get the
|
|
`PangoLanguage` for the current locale of the process.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a `PangoLanguage`</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="language" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a string representing a language tag</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="language_get_default" c:identifier="pango_language_get_default" moved-to="Language.get_default" version="1.16">
|
|
<doc xml:space="preserve">Returns the `PangoLanguage` for the current locale of the process.
|
|
|
|
On Unix systems, this is the return value is derived from
|
|
`setlocale (LC_CTYPE, NULL)`, and the user can
|
|
affect this through the environment variables LC_ALL, LC_CTYPE or
|
|
LANG (checked in that order). The locale string typically is in
|
|
the form lang_COUNTRY, where lang is an ISO-639 language code, and
|
|
COUNTRY is an ISO-3166 country code. For instance, sv_FI for
|
|
Swedish as written in Finland or pt_BR for Portuguese as written in
|
|
Brazil.
|
|
|
|
On Windows, the C library does not use any such environment
|
|
variables, and setting them won't affect the behavior of functions
|
|
like ctime(). The user sets the locale through the Regional Options
|
|
in the Control Panel. The C library (in the setlocale() function)
|
|
does not use country and language codes, but country and language
|
|
names spelled out in English.
|
|
However, this function does check the above environment
|
|
variables, and does return a Unix-style locale string based on
|
|
either said environment variables or the thread's current locale.
|
|
|
|
Your application should call `setlocale(LC_ALL, "")` for the user
|
|
settings to take effect. GTK does this in its initialization
|
|
functions automatically (by calling gtk_set_locale()).
|
|
See the setlocale() manpage for more details.
|
|
|
|
Note that the default language can change over the life of an application.
|
|
|
|
Also note that this function will not do the right thing if you
|
|
use per-thread locales with uselocale(). In that case, you should
|
|
just call pango_language_from_string() yourself.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the default language as a `PangoLanguage`</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="language_get_preferred" c:identifier="pango_language_get_preferred" moved-to="Language.get_preferred" version="1.48">
|
|
<doc xml:space="preserve">Returns the list of languages that the user prefers.
|
|
|
|
The list is specified by the `PANGO_LANGUAGE` or `LANGUAGE`
|
|
environment variables, in order of preference. Note that this
|
|
list does not necessarily include the language returned by
|
|
[func@Pango.Language.get_default].
|
|
|
|
When choosing language-specific resources, such as the sample
|
|
text returned by [method@Pango.Language.get_sample_string],
|
|
you should first try the default language, followed by the
|
|
languages returned by this function.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a %NULL-terminated array
|
|
of `PangoLanguage`*</doc>
|
|
<type name="Language" c:type="PangoLanguage**"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="layout_deserialize_error_quark" c:identifier="pango_layout_deserialize_error_quark" moved-to="LayoutDeserializeError.quark">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="log2vis_get_embedding_levels" c:identifier="pango_log2vis_get_embedding_levels" version="1.4">
|
|
<doc xml:space="preserve">Return the bidirectional embedding levels of the input paragraph.
|
|
|
|
The bidirectional embedding levels are defined by the [Unicode Bidirectional
|
|
Algorithm](http://www.unicode.org/reports/tr9/).
|
|
|
|
If the input base direction is a weak direction, the direction of the
|
|
characters in the text will determine the final resolved direction.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a newly allocated array of embedding levels, one item per
|
|
character (not byte), that should be freed using [func@GLib.free].</doc>
|
|
<type name="guint8" c:type="guint8*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">the text to itemize.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of bytes (not characters) to process, or -1
|
|
if @text is nul-terminated and the length should be calculated.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="pbase_dir" transfer-ownership="none">
|
|
<doc xml:space="preserve">input base direction, and output resolved direction.</doc>
|
|
<type name="Direction" c:type="PangoDirection*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="markup_parser_finish" c:identifier="pango_markup_parser_finish" version="1.31.0" throws="1">
|
|
<doc xml:space="preserve">Finishes parsing markup.
|
|
|
|
After feeding a Pango markup parser some data with [method@GLib.MarkupParseContext.parse],
|
|
use this function to get the list of attributes and text out of the
|
|
markup. This function will not free @context, use [method@GLib.MarkupParseContext.free]
|
|
to do so.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if @error is set, otherwise %TRUE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="context" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid parse context that was returned from [func@markup_parser_new]</doc>
|
|
<type name="GLib.MarkupParseContext" c:type="GMarkupParseContext*"/>
|
|
</parameter>
|
|
<parameter name="attr_list" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address of return location for a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList**"/>
|
|
</parameter>
|
|
<parameter name="text" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address of return location for text with tags stripped</doc>
|
|
<type name="utf8" c:type="char**"/>
|
|
</parameter>
|
|
<parameter name="accel_char" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address of return location for accelerator char</doc>
|
|
<type name="gunichar" c:type="gunichar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="markup_parser_new" c:identifier="pango_markup_parser_new" version="1.31.0">
|
|
<doc xml:space="preserve">Incrementally parses marked-up text to create a plain-text string
|
|
and an attribute list.
|
|
|
|
See the [Pango Markup](pango_markup.html) docs for details about the
|
|
supported markup.
|
|
|
|
If @accel_marker is nonzero, the given character will mark the
|
|
character following it as an accelerator. For example, @accel_marker
|
|
might be an ampersand or underscore. All characters marked
|
|
as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
|
|
and the first character so marked will be returned in @accel_char,
|
|
when calling [func@markup_parser_finish]. Two @accel_marker characters
|
|
following each other produce a single literal @accel_marker character.
|
|
|
|
To feed markup to the parser, use [method@GLib.MarkupParseContext.parse]
|
|
on the returned [struct@GLib.MarkupParseContext]. When done with feeding markup
|
|
to the parser, use [func@markup_parser_finish] to get the data out
|
|
of it, and then use [method@GLib.MarkupParseContext.free] to free it.
|
|
|
|
This function is designed for applications that read Pango markup
|
|
from streams. To simply parse a string containing Pango markup,
|
|
the [func@Pango.parse_markup] API is recommended instead.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GMarkupParseContext` that should be
|
|
destroyed with [method@GLib.MarkupParseContext.free].</doc>
|
|
<type name="GLib.MarkupParseContext" c:type="GMarkupParseContext*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="accel_marker" transfer-ownership="none">
|
|
<doc xml:space="preserve">character that precedes an accelerator, or 0 for none</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parse_enum" c:identifier="pango_parse_enum" version="1.16" deprecated="1" deprecated-version="1.38">
|
|
<doc xml:space="preserve">Parses an enum type and stores the result in @value.
|
|
|
|
If @str does not match the nick name of any of the possible values
|
|
for the enum and is not an integer, %FALSE is returned, a warning
|
|
is issued if @warn is %TRUE, and a string representing the list of
|
|
possible values is stored in @possible_values. The list is
|
|
slash-separated, eg. "none/start/middle/end".
|
|
|
|
If failed and @possible_values is not %NULL, returned string should
|
|
be freed using g_free().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @str was successfully parsed</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">enum type to parse, eg. %PANGO_TYPE_ELLIPSIZE_MODE</doc>
|
|
<type name="GType" c:type="GType"/>
|
|
</parameter>
|
|
<parameter name="str" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">string to parse</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="value" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">integer to store the result in</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="warn" transfer-ownership="none">
|
|
<doc xml:space="preserve">if %TRUE, issue a g_warning() on bad input</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="possible_values" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">place to store list of possible
|
|
values on failure</doc>
|
|
<type name="utf8" c:type="char**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parse_markup" c:identifier="pango_parse_markup" throws="1">
|
|
<doc xml:space="preserve">Parses marked-up text to create a plain-text string and an attribute list.
|
|
|
|
See the [Pango Markup](pango_markup.html) docs for details about the
|
|
supported markup.
|
|
|
|
If @accel_marker is nonzero, the given character will mark the
|
|
character following it as an accelerator. For example, @accel_marker
|
|
might be an ampersand or underscore. All characters marked
|
|
as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute,
|
|
and the first character so marked will be returned in @accel_char.
|
|
Two @accel_marker characters following each other produce a single
|
|
literal @accel_marker character.
|
|
|
|
To parse a stream of pango markup incrementally, use [func@markup_parser_new].
|
|
|
|
If any error happens, none of the output arguments are touched except
|
|
for @error.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if @error is set, otherwise %TRUE</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="markup_text" transfer-ownership="none">
|
|
<doc xml:space="preserve">markup to parse (see the [Pango Markup](pango_markup.html) docs)</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of @markup_text, or -1 if nul-terminated</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="accel_marker" transfer-ownership="none">
|
|
<doc xml:space="preserve">character that precedes an accelerator, or 0 for none</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
<parameter name="attr_list" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address of return location for a `PangoAttrList`</doc>
|
|
<type name="AttrList" c:type="PangoAttrList**"/>
|
|
</parameter>
|
|
<parameter name="text" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address of return location for text with tags stripped</doc>
|
|
<type name="utf8" c:type="char**"/>
|
|
</parameter>
|
|
<parameter name="accel_char" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address of return location for accelerator char</doc>
|
|
<type name="gunichar" c:type="gunichar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parse_stretch" c:identifier="pango_parse_stretch">
|
|
<doc xml:space="preserve">Parses a font stretch.
|
|
|
|
The allowed values are
|
|
"ultra_condensed", "extra_condensed", "condensed",
|
|
"semi_condensed", "normal", "semi_expanded", "expanded",
|
|
"extra_expanded" and "ultra_expanded". Case variations are
|
|
ignored and the '_' characters may be omitted.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @str was successfully parsed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="str" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string to parse.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="stretch" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoStretch` to store the result in.</doc>
|
|
<type name="Stretch" c:type="PangoStretch*"/>
|
|
</parameter>
|
|
<parameter name="warn" transfer-ownership="none">
|
|
<doc xml:space="preserve">if %TRUE, issue a g_warning() on bad input.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parse_style" c:identifier="pango_parse_style">
|
|
<doc xml:space="preserve">Parses a font style.
|
|
|
|
The allowed values are "normal", "italic" and "oblique", case
|
|
variations being
|
|
ignored.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @str was successfully parsed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="str" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string to parse.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="style" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoStyle` to store the result in.</doc>
|
|
<type name="Style" c:type="PangoStyle*"/>
|
|
</parameter>
|
|
<parameter name="warn" transfer-ownership="none">
|
|
<doc xml:space="preserve">if %TRUE, issue a g_warning() on bad input.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parse_variant" c:identifier="pango_parse_variant">
|
|
<doc xml:space="preserve">Parses a font variant.
|
|
|
|
The allowed values are "normal", "small-caps", "all-small-caps",
|
|
"petite-caps", "all-petite-caps", "unicase" and "title-caps",
|
|
case variations being ignored.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @str was successfully parsed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="str" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string to parse.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="variant" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoVariant` to store the result in.</doc>
|
|
<type name="Variant" c:type="PangoVariant*"/>
|
|
</parameter>
|
|
<parameter name="warn" transfer-ownership="none">
|
|
<doc xml:space="preserve">if %TRUE, issue a g_warning() on bad input.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="parse_weight" c:identifier="pango_parse_weight">
|
|
<doc xml:space="preserve">Parses a font weight.
|
|
|
|
The allowed values are "heavy",
|
|
"ultrabold", "bold", "normal", "light", "ultraleight"
|
|
and integers. Case variations are ignored.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @str was successfully parsed.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="str" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string to parse.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="weight" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a `PangoWeight` to store the result in.</doc>
|
|
<type name="Weight" c:type="PangoWeight*"/>
|
|
</parameter>
|
|
<parameter name="warn" transfer-ownership="none">
|
|
<doc xml:space="preserve">if %TRUE, issue a g_warning() on bad input.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="quantize_line_geometry" c:identifier="pango_quantize_line_geometry" version="1.12">
|
|
<doc xml:space="preserve">Quantizes the thickness and position of a line to whole device pixels.
|
|
|
|
This is typically used for underline or strikethrough. The purpose of
|
|
this function is to avoid such lines looking blurry.
|
|
|
|
Care is taken to make sure @thickness is at least one pixel when this
|
|
function returns, but returned @position may become zero as a result
|
|
of rounding.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="thickness" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to the thickness of a line, in Pango units</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
<parameter name="position" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">corresponding position</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="read_line" c:identifier="pango_read_line" deprecated="1" deprecated-version="1.38">
|
|
<doc xml:space="preserve">Reads an entire line from a file into a buffer.
|
|
|
|
Lines may be delimited with '\n', '\r', '\n\r', or '\r\n'. The delimiter
|
|
is not written into the buffer. Text after a '#' character is treated as
|
|
a comment and skipped. '\' can be used to escape a # character.
|
|
'\' proceeding a line delimiter combines adjacent lines. A '\' proceeding
|
|
any other character is ignored and written into the output buffer
|
|
unmodified.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">0 if the stream was already at an %EOF character,
|
|
otherwise the number of lines read (this is useful for maintaining
|
|
a line number counter which doesn't combine lines with '\')</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="stream" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a stdio stream</doc>
|
|
<type name="gpointer" c:type="FILE*"/>
|
|
</parameter>
|
|
<parameter name="str" transfer-ownership="none">
|
|
<doc xml:space="preserve">`GString` buffer into which to write the result</doc>
|
|
<type name="GLib.String" c:type="GString*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="reorder_items" c:identifier="pango_reorder_items">
|
|
<doc xml:space="preserve">Reorder items from logical order to visual order.
|
|
|
|
The visual order is determined from the associated directional
|
|
levels of the items. The original list is unmodified.
|
|
|
|
(Please open a bug if you use this function.
|
|
It is not a particularly convenient interface, and the code
|
|
is duplicated elsewhere in Pango for that reason.)</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a `GList`
|
|
of `PangoItem` structures in visual order.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Item"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="items" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GList` of `PangoItem`
|
|
in logical order.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Item"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="scan_int" c:identifier="pango_scan_int" deprecated="1" deprecated-version="1.38">
|
|
<doc xml:space="preserve">Scans an integer.
|
|
|
|
Leading white space is skipped.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if a parse error occurred</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pos" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">in/out string position</doc>
|
|
<type name="utf8" c:type="const char**"/>
|
|
</parameter>
|
|
<parameter name="out" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">an int into which to write the result</doc>
|
|
<type name="gint" c:type="int*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="scan_string" c:identifier="pango_scan_string" deprecated="1" deprecated-version="1.38">
|
|
<doc xml:space="preserve">Scans a string into a `GString` buffer.
|
|
|
|
The string may either be a sequence of non-white-space characters,
|
|
or a quoted string with '"'. Instead a quoted string, '\"' represents
|
|
a literal quote. Leading white space outside of quotes is skipped.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if a parse error occurred</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pos" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">in/out string position</doc>
|
|
<type name="utf8" c:type="const char**"/>
|
|
</parameter>
|
|
<parameter name="out" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GString` into which to write the result</doc>
|
|
<type name="GLib.String" c:type="GString*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="scan_word" c:identifier="pango_scan_word" deprecated="1" deprecated-version="1.38">
|
|
<doc xml:space="preserve">Scans a word into a `GString` buffer.
|
|
|
|
A word consists of [A-Za-z_] followed by zero or more
|
|
[A-Za-z_0-9]. Leading white space is skipped.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if a parse error occurred</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pos" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">in/out string position</doc>
|
|
<type name="utf8" c:type="const char**"/>
|
|
</parameter>
|
|
<parameter name="out" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `GString` into which to write the result</doc>
|
|
<type name="GLib.String" c:type="GString*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="script_for_unichar" c:identifier="pango_script_for_unichar" moved-to="Script.for_unichar" version="1.4" deprecated="1" deprecated-version="1.44.">
|
|
<doc xml:space="preserve">Looks up the script for a particular character.
|
|
|
|
The script of a character is defined by
|
|
[Unicode Standard Annex 24: Script names](http://www.unicode.org/reports/tr24/).
|
|
|
|
No check is made for @ch being a valid Unicode character; if you pass
|
|
in invalid character, the result is undefined.
|
|
|
|
Note that while the return type of this function is declared
|
|
as `PangoScript`, as of Pango 1.18, this function simply returns
|
|
the return value of [func@GLib.unichar_get_script]. Callers must be
|
|
prepared to handle unknown values.</doc>
|
|
<doc-deprecated xml:space="preserve">Use g_unichar_get_script()</doc-deprecated>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the `PangoScript` for the character.</doc>
|
|
<type name="Script" c:type="PangoScript"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ch" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="script_get_sample_language" c:identifier="pango_script_get_sample_language" moved-to="Script.get_sample_language" version="1.4">
|
|
<doc xml:space="preserve">Finds a language tag that is reasonably representative of @script.
|
|
|
|
The language will usually be the most widely spoken or used language
|
|
written in that script: for instance, the sample language for
|
|
%PANGO_SCRIPT_CYRILLIC is ru (Russian), the sample language for
|
|
%PANGO_SCRIPT_ARABIC is ar.
|
|
|
|
For some scripts, no sample language will be returned because
|
|
there is no language that is sufficiently representative. The
|
|
best example of this is %PANGO_SCRIPT_HAN, where various different
|
|
variants of written Chinese, Japanese, and Korean all use
|
|
significantly different sets of Han characters and forms
|
|
of shared characters. No sample language can be provided
|
|
for many historical scripts as well.
|
|
|
|
As of 1.18, this function checks the environment variables
|
|
`PANGO_LANGUAGE` and `LANGUAGE` (checked in that order) first.
|
|
If one of them is set, it is parsed as a list of language tags
|
|
separated by colons or other separators. This function
|
|
will return the first language in the parsed list that Pango
|
|
believes may use @script for writing. This last predicate
|
|
is tested using [method@Pango.Language.includes_script]. This can
|
|
be used to control Pango's font selection for non-primary
|
|
languages. For example, a `PANGO_LANGUAGE` enviroment variable
|
|
set to "en:fa" makes Pango choose fonts suitable for Persian (fa)
|
|
instead of Arabic (ar) when a segment of Arabic text is found
|
|
in an otherwise non-Arabic text. The same trick can be used to
|
|
choose a default language for %PANGO_SCRIPT_HAN when setting
|
|
context language is not feasible.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a `PangoLanguage` that is representative
|
|
of the script</doc>
|
|
<type name="Language" c:type="PangoLanguage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="script" transfer-ownership="none">
|
|
<doc xml:space="preserve">a `PangoScript`</doc>
|
|
<type name="Script" c:type="PangoScript"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="shape" c:identifier="pango_shape">
|
|
<doc xml:space="preserve">Convert the characters in @text into glyphs.
|
|
|
|
Given a segment of text and the corresponding `PangoAnalysis` structure
|
|
returned from [func@Pango.itemize], convert the characters into glyphs. You
|
|
may also pass in only a substring of the item from [func@Pango.itemize].
|
|
|
|
It is recommended that you use [func@Pango.shape_full] instead, since
|
|
that API allows for shaping interaction happening across text item
|
|
boundaries.
|
|
|
|
Note that the extra attributes in the @analyis that is returned from
|
|
[func@Pango.itemize] have indices that are relative to the entire paragraph,
|
|
so you need to subtract the item offset from their indices before
|
|
calling [func@Pango.shape].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">the text to process</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the length (in bytes) of @text</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="analysis" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoAnalysis` structure from [func@Pango.itemize]</doc>
|
|
<type name="Analysis" c:type="const PangoAnalysis*"/>
|
|
</parameter>
|
|
<parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">glyph string in which to store results</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="shape_full" c:identifier="pango_shape_full" version="1.32">
|
|
<doc xml:space="preserve">Convert the characters in @text into glyphs.
|
|
|
|
Given a segment of text and the corresponding `PangoAnalysis` structure
|
|
returned from [func@Pango.itemize], convert the characters into glyphs.
|
|
You may also pass in only a substring of the item from [func@Pango.itemize].
|
|
|
|
This is similar to [func@Pango.shape], except it also can optionally take
|
|
the full paragraph text as input, which will then be used to perform
|
|
certain cross-item shaping interactions. If you have access to the broader
|
|
text of which @item_text is part of, provide the broader text as
|
|
@paragraph_text. If @paragraph_text is %NULL, item text is used instead.
|
|
|
|
Note that the extra attributes in the @analyis that is returned from
|
|
[func@Pango.itemize] have indices that are relative to the entire paragraph,
|
|
so you do not pass the full paragraph text as @paragraph_text, you need
|
|
to subtract the item offset from their indices before calling
|
|
[func@Pango.shape_full].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="item_text" transfer-ownership="none">
|
|
<doc xml:space="preserve">valid UTF-8 text to shape.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="item_length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the length (in bytes) of @item_text. -1 means nul-terminated text.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="paragraph_text" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">text of the paragraph (see details).</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="paragraph_length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the length (in bytes) of @paragraph_text. -1 means nul-terminated text.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="analysis" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoAnalysis` structure from [func@Pango.itemize].</doc>
|
|
<type name="Analysis" c:type="const PangoAnalysis*"/>
|
|
</parameter>
|
|
<parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">glyph string in which to store results.</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="shape_item" c:identifier="pango_shape_item" version="1.50">
|
|
<doc xml:space="preserve">Convert the characters in @item into glyphs.
|
|
|
|
This is similar to [func@Pango.shape_with_flags], except it takes a
|
|
`PangoItem` instead of separate @item_text and @analysis arguments.
|
|
It also takes @log_attrs, which may be used in implementing text
|
|
transforms.
|
|
|
|
Note that the extra attributes in the @analyis that is returned from
|
|
[func@Pango.itemize] have indices that are relative to the entire paragraph,
|
|
so you do not pass the full paragraph text as @paragraph_text, you need
|
|
to subtract the item offset from their indices before calling
|
|
[func@Pango.shape_with_flags].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="item" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoItem` to shape</doc>
|
|
<type name="Item" c:type="PangoItem*"/>
|
|
</parameter>
|
|
<parameter name="paragraph_text" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">text of the paragraph (see details).</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="paragraph_length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the length (in bytes) of @paragraph_text.
|
|
-1 means nul-terminated text.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="log_attrs" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">array of `PangoLogAttr` for @item</doc>
|
|
<type name="LogAttr" c:type="PangoLogAttr*"/>
|
|
</parameter>
|
|
<parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">glyph string in which to store results</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags influencing the shaping process</doc>
|
|
<type name="ShapeFlags" c:type="PangoShapeFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="shape_with_flags" c:identifier="pango_shape_with_flags" version="1.44">
|
|
<doc xml:space="preserve">Convert the characters in @text into glyphs.
|
|
|
|
Given a segment of text and the corresponding `PangoAnalysis` structure
|
|
returned from [func@Pango.itemize], convert the characters into glyphs.
|
|
You may also pass in only a substring of the item from [func@Pango.itemize].
|
|
|
|
This is similar to [func@Pango.shape_full], except it also takes flags
|
|
that can influence the shaping process.
|
|
|
|
Note that the extra attributes in the @analyis that is returned from
|
|
[func@Pango.itemize] have indices that are relative to the entire paragraph,
|
|
so you do not pass the full paragraph text as @paragraph_text, you need
|
|
to subtract the item offset from their indices before calling
|
|
[func@Pango.shape_with_flags].</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="item_text" transfer-ownership="none">
|
|
<doc xml:space="preserve">valid UTF-8 text to shape</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="item_length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the length (in bytes) of @item_text.
|
|
-1 means nul-terminated text.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="paragraph_text" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">text of the paragraph (see details).</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="paragraph_length" transfer-ownership="none">
|
|
<doc xml:space="preserve">the length (in bytes) of @paragraph_text.
|
|
-1 means nul-terminated text.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="analysis" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoAnalysis` structure from [func@Pango.itemize]</doc>
|
|
<type name="Analysis" c:type="const PangoAnalysis*"/>
|
|
</parameter>
|
|
<parameter name="glyphs" transfer-ownership="none">
|
|
<doc xml:space="preserve">glyph string in which to store results</doc>
|
|
<type name="GlyphString" c:type="PangoGlyphString*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags influencing the shaping process</doc>
|
|
<type name="ShapeFlags" c:type="PangoShapeFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="skip_space" c:identifier="pango_skip_space" deprecated="1" deprecated-version="1.38">
|
|
<doc xml:space="preserve">Skips 0 or more characters of white space.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if skipping the white space leaves
|
|
the position at a '\0' character.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pos" direction="inout" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">in/out string position</doc>
|
|
<type name="utf8" c:type="const char**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="split_file_list" c:identifier="pango_split_file_list" deprecated="1" deprecated-version="1.38">
|
|
<doc xml:space="preserve">Splits a %G_SEARCHPATH_SEPARATOR-separated list of files, stripping
|
|
white space and substituting ~/ with $HOME/.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a list of
|
|
strings to be freed with g_strfreev()</doc>
|
|
<array c:type="char**">
|
|
<type name="utf8"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="str" transfer-ownership="none">
|
|
<doc xml:space="preserve">a %G_SEARCHPATH_SEPARATOR separated list of filenames</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tab_array_from_string" c:identifier="pango_tab_array_from_string" moved-to="TabArray.from_string" version="1.50">
|
|
<doc xml:space="preserve">Deserializes a `PangoTabArray` from a string.
|
|
|
|
This is the counterpart to [method@Pango.TabArray.to_string].
|
|
See that functions for details about the format.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new `PangoTabArray`</doc>
|
|
<type name="TabArray" c:type="PangoTabArray*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="tailor_break" c:identifier="pango_tailor_break" version="1.44">
|
|
<doc xml:space="preserve">Apply language-specific tailoring to the breaks in @attrs.
|
|
|
|
The line breaks are assumed to have been produced by [func@Pango.default_break].
|
|
|
|
If @offset is not -1, it is used to apply attributes from @analysis that are
|
|
relevant to line breaking.
|
|
|
|
Note that it is better to pass -1 for @offset and use [func@Pango.attr_break]
|
|
to apply attributes to the whole paragraph.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="text" transfer-ownership="none">
|
|
<doc xml:space="preserve">text to process. Must be valid UTF-8</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="length" transfer-ownership="none">
|
|
<doc xml:space="preserve">length in bytes of @text</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="analysis" transfer-ownership="none">
|
|
<doc xml:space="preserve">`PangoAnalysis` for @text</doc>
|
|
<type name="Analysis" c:type="PangoAnalysis*"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">Byte offset of @text from the beginning of the
|
|
paragraph, or -1 to ignore attributes from @analysis</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="attrs" transfer-ownership="none">
|
|
<doc xml:space="preserve">array with one `PangoLogAttr`
|
|
per character in @text, plus one extra, to be filled in</doc>
|
|
<array length="5" zero-terminated="0" c:type="PangoLogAttr*">
|
|
<type name="LogAttr" c:type="PangoLogAttr"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="attrs_len" transfer-ownership="none">
|
|
<doc xml:space="preserve">length of @attrs array</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="trim_string" c:identifier="pango_trim_string" deprecated="1" deprecated-version="1.38">
|
|
<doc xml:space="preserve">Trims leading and trailing whitespace from a string.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">A newly-allocated string that must be freed with g_free()</doc>
|
|
<type name="utf8" c:type="char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="str" transfer-ownership="none">
|
|
<doc xml:space="preserve">a string</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="unichar_direction" c:identifier="pango_unichar_direction">
|
|
<doc xml:space="preserve">Determines the inherent direction of a character.
|
|
|
|
The inherent direction is either `PANGO_DIRECTION_LTR`, `PANGO_DIRECTION_RTL`,
|
|
or `PANGO_DIRECTION_NEUTRAL`.
|
|
|
|
This function is useful to categorize characters into left-to-right
|
|
letters, right-to-left letters, and everything else. If full Unicode
|
|
bidirectional type of a character is needed, [func@Pango.BidiType.for_unichar]
|
|
can be used instead.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the direction of the character.</doc>
|
|
<type name="Direction" c:type="PangoDirection"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="ch" transfer-ownership="none">
|
|
<doc xml:space="preserve">a Unicode character</doc>
|
|
<type name="gunichar" c:type="gunichar"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="units_from_double" c:identifier="pango_units_from_double" version="1.16">
|
|
<doc xml:space="preserve">Converts a floating-point number to Pango units.
|
|
|
|
The conversion is done by multiplying @d by %PANGO_SCALE and
|
|
rounding the result to nearest integer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the value in Pango units.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="d" transfer-ownership="none">
|
|
<doc xml:space="preserve">double floating-point value</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="units_to_double" c:identifier="pango_units_to_double" version="1.16">
|
|
<doc xml:space="preserve">Converts a number in Pango units to floating-point.
|
|
|
|
The conversion is done by dividing @i by %PANGO_SCALE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the double value.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="i" transfer-ownership="none">
|
|
<doc xml:space="preserve">value in Pango units</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="version" c:identifier="pango_version" version="1.16">
|
|
<doc xml:space="preserve">Returns the encoded version of Pango available at run-time.
|
|
|
|
This is similar to the macro %PANGO_VERSION except that the macro
|
|
returns the encoded version available at compile-time. A version
|
|
number can be encoded into an integer using PANGO_VERSION_ENCODE().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The encoded version of Pango library available at run time.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="version_check" c:identifier="pango_version_check" version="1.16">
|
|
<doc xml:space="preserve">Checks that the Pango library in use is compatible with the
|
|
given version.
|
|
|
|
Generally you would pass in the constants %PANGO_VERSION_MAJOR,
|
|
%PANGO_VERSION_MINOR, %PANGO_VERSION_MICRO as the three arguments
|
|
to this function; that produces a check that the library in use at
|
|
run-time is compatible with the version of Pango the application or
|
|
module was compiled against.
|
|
|
|
Compatibility is defined by two things: first the version
|
|
of the running library is newer than the version
|
|
@required_major.required_minor.@required_micro. Second
|
|
the running library must be binary compatible with the
|
|
version @required_major.required_minor.@required_micro
|
|
(same major version.)
|
|
|
|
For compile-time version checking use PANGO_VERSION_CHECK().</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">%NULL if the Pango library is compatible
|
|
with the given version, or a string describing the version
|
|
mismatch. The returned string is owned by Pango and should not
|
|
be modified or freed.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="required_major" transfer-ownership="none">
|
|
<doc xml:space="preserve">the required major version</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="required_minor" transfer-ownership="none">
|
|
<doc xml:space="preserve">the required minor version</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="required_micro" transfer-ownership="none">
|
|
<doc xml:space="preserve">the required major version</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="version_string" c:identifier="pango_version_string" version="1.16">
|
|
<doc xml:space="preserve">Returns the version of Pango available at run-time.
|
|
|
|
This is similar to the macro %PANGO_VERSION_STRING except that the
|
|
macro returns the version available at compile-time.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A string containing the version of Pango library available
|
|
at run time. The returned string is owned by Pango and should not
|
|
be modified or freed.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</return-value>
|
|
</function>
|
|
</namespace>
|
|
</repository>
|