Protocols
The following protocols are available globally.
-
The
PangoAnalysis
structure stores information about the properties of a segment of text.The
See moreAnalysisProtocol
protocol exposes the methods and properties of an underlyingPangoAnalysis
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAnalysis
. Alternatively, useAnalysisRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AnalysisProtocol
-
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
.The
See moreAttrClassProtocol
protocol exposes the methods and properties of an underlyingPangoAttrClass
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrClass
. Alternatively, useAttrClassRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrClassProtocol
-
The
PangoAttrColor
structure is used to represent attributes that are colors.The
See moreAttrColorProtocol
protocol exposes the methods and properties of an underlyingPangoAttrColor
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrColor
. Alternatively, useAttrColorRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrColorProtocol
-
The
PangoAttrFloat
structure is used to represent attributes with a float or double value.The
See moreAttrFloatProtocol
protocol exposes the methods and properties of an underlyingPangoAttrFloat
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrFloat
. Alternatively, useAttrFloatRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrFloatProtocol
-
The
PangoAttrFontDesc
structure is used to store an attribute that sets all aspects of the font description at once.The
See moreAttrFontDescProtocol
protocol exposes the methods and properties of an underlyingPangoAttrFontDesc
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrFontDesc
. Alternatively, useAttrFontDescRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrFontDescProtocol
-
The
PangoAttrFontFeatures
structure is used to represent OpenType font features as an attribute.The
See moreAttrFontFeaturesProtocol
protocol exposes the methods and properties of an underlyingPangoAttrFontFeatures
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrFontFeatures
. Alternatively, useAttrFontFeaturesRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrFontFeaturesProtocol
-
The
PangoAttrInt
structure is used to represent attributes with an integer or enumeration value.The
See moreAttrIntProtocol
protocol exposes the methods and properties of an underlyingPangoAttrInt
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrInt
. Alternatively, useAttrIntRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrIntProtocol
-
A
PangoAttrIterator
is used to iterate through aPangoAttrList
.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 [methodPango.AttrIterator.next
]. At each style change, the range of the current style segment and the attributes currently in effect can be queried.The
See moreAttrIteratorProtocol
protocol exposes the methods and properties of an underlyingPangoAttrIterator
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrIterator
. Alternatively, useAttrIteratorRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrIteratorProtocol
-
The
PangoAttrLanguage
structure is used to represent attributes that are languages.The
See moreAttrLanguageProtocol
protocol exposes the methods and properties of an underlyingPangoAttrLanguage
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrLanguage
. Alternatively, useAttrLanguageRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrLanguageProtocol
-
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 [methodPango.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 singlePangoAttrList
for more than one paragraph of text.The
See moreAttrListProtocol
protocol exposes the methods and properties of an underlyingPangoAttrList
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrList
. Alternatively, useAttrListRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrListProtocol
-
The
PangoAttrShape
structure is used to represent attributes which impose shape restrictions.The
See moreAttrShapeProtocol
protocol exposes the methods and properties of an underlyingPangoAttrShape
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrShape
. Alternatively, useAttrShapeRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrShapeProtocol
-
The
PangoAttrSize
structure is used to represent attributes which set font size.The
See moreAttrSizeProtocol
protocol exposes the methods and properties of an underlyingPangoAttrSize
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrSize
. Alternatively, useAttrSizeRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrSizeProtocol
-
The
PangoAttrString
structure is used to represent attributes with a string value.The
See moreAttrStringProtocol
protocol exposes the methods and properties of an underlyingPangoAttrString
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttrString
. Alternatively, useAttrStringRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrStringProtocol
-
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
].The
See moreAttributeProtocol
protocol exposes the methods and properties of an underlyingPangoAttribute
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeAttribute
. Alternatively, useAttributeRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol AttributeProtocol
-
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 [methodPango.FontMap.create_context
].The
See moreContextProtocol
protocol exposes the methods and properties of an underlyingPangoContext
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeContext
. Alternatively, useContextRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol ContextProtocol : ObjectProtocol
-
A
PangoCoverage
structure is a map from Unicode characters to [enumPango.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.The
See moreCoverageProtocol
protocol exposes the methods and properties of an underlyingPangoCoverage
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeCoverage
. Alternatively, useCoverageRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol CoverageProtocol : ObjectProtocol
-
The
PangoColor
structure is used to represent a color in an uncalibrated RGB color-space.The
See moreColorProtocol
protocol exposes the methods and properties of an underlyingPangoColor
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeColor
. Alternatively, useColorRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol ColorProtocol
-
The
See moreContextClassProtocol
protocol exposes the methods and properties of an underlyingPangoContextClass
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeContextClass
. Alternatively, useContextClassRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol ContextClassProtocol
-
A
PangoFont
is used to represent a font in a rendering-system-independent manner.The
See moreFontProtocol
protocol exposes the methods and properties of an underlyingPangoFont
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFont
. Alternatively, useFontRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontProtocol : ObjectProtocol
-
A
PangoFontFace
is used to represent a group of fonts with the same family, slant, weight, and width, but varying sizes.The
See moreFontFaceProtocol
protocol exposes the methods and properties of an underlyingPangoFontFace
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontFace
. Alternatively, useFontFaceRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontFaceProtocol : ObjectProtocol
-
The
See moreFontClassProtocol
protocol exposes the methods and properties of an underlyingPangoFontClass
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontClass
. Alternatively, useFontClassRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontClassProtocol
-
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.
The
See moreFontFamilyProtocol
protocol exposes the methods and properties of an underlyingPangoFontFamily
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontFamily
. Alternatively, useFontFamilyRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontFamilyProtocol : ObjectProtocol
-
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.
The
See moreFontMapProtocol
protocol exposes the methods and properties of an underlyingPangoFontMap
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontMap
. Alternatively, useFontMapRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontMapProtocol : ObjectProtocol
-
A
PangoFontset
represents a set ofPangoFont
to use when rendering text.A
PangoFontset
is the result of resolving aPangoFontDescription
against a particularPangoContext
. 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.The
See moreFontsetProtocol
protocol exposes the methods and properties of an underlyingPangoFontset
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontset
. Alternatively, useFontsetRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontsetProtocol : ObjectProtocol
-
PangoFontsetSimple
is a implementation of the abstractPangoFontset
base class as an array of fonts.When creating a
PangoFontsetSimple
, you have to provide the array of fonts that make up the fontset.The
See moreFontsetSimpleProtocol
protocol exposes the methods and properties of an underlyingPangoFontsetSimple
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontsetSimple
. Alternatively, useFontsetSimpleRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontsetSimpleProtocol : FontsetProtocol
-
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.The
See moreFontDescriptionProtocol
protocol exposes the methods and properties of an underlyingPangoFontDescription
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontDescription
. Alternatively, useFontDescriptionRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontDescriptionProtocol
-
The
See moreFontFaceClassProtocol
protocol exposes the methods and properties of an underlyingPangoFontFaceClass
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontFaceClass
. Alternatively, useFontFaceClassRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontFaceClassProtocol
-
The
See moreFontFamilyClassProtocol
protocol exposes the methods and properties of an underlyingPangoFontFamilyClass
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontFamilyClass
. Alternatively, useFontFamilyClassRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontFamilyClassProtocol
-
The
PangoFontMapClass
structure holds the virtual functions for a particularPangoFontMap
implementation.The
See moreFontMapClassProtocol
protocol exposes the methods and properties of an underlyingPangoFontMapClass
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontMapClass
. Alternatively, useFontMapClassRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontMapClassProtocol
-
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>
The
See moreFontMetricsProtocol
protocol exposes the methods and properties of an underlyingPangoFontMetrics
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontMetrics
. Alternatively, useFontMetricsRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontMetricsProtocol
-
The
PangoFontsetClass
structure holds the virtual functions for a particularPangoFontset
implementation.The
See moreFontsetClassProtocol
protocol exposes the methods and properties of an underlyingPangoFontsetClass
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontsetClass
. Alternatively, useFontsetClassRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontsetClassProtocol
-
The
See moreFontsetSimpleClassProtocol
protocol exposes the methods and properties of an underlyingPangoFontsetSimpleClass
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeFontsetSimpleClass
. Alternatively, useFontsetSimpleClassRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol FontsetSimpleClassProtocol
-
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 thewidth
and thex_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:
- Assume the current point is (x, y)
- Render the current glyph at (x + x_offset, y + y_offset),
- Advance the current point to (x + width, y)
- Render the next glyph
The
See moreGlyphGeometryProtocol
protocol exposes the methods and properties of an underlyingPangoGlyphGeometry
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeGlyphGeometry
. Alternatively, useGlyphGeometryRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphGeometryProtocol
-
A
PangoGlyphInfo
structure represents a single glyph with positioning information and visual attributes.The
See moreGlyphInfoProtocol
protocol exposes the methods and properties of an underlyingPangoGlyphInfo
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeGlyphInfo
. Alternatively, useGlyphInfoRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphInfoProtocol
-
A
PangoGlyphItem
is a pair of aPangoItem
and the glyphs resulting from shaping the items text.As an example of the usage of
PangoGlyphItem
, the results of shaping text withPangoLayout
is a list ofPangoLayoutLine
, each of which contains a list ofPangoGlyphItem
.The
See moreGlyphItemProtocol
protocol exposes the methods and properties of an underlyingPangoGlyphItem
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeGlyphItem
. Alternatively, useGlyphItemRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphItemProtocol
-
A
PangoGlyphItemIter
is an iterator over the clusters in aPangoGlyphItem
.The forward direction of the iterator is the logical direction of text. That is, with increasing
start_index
andstart_char
values. Ifglyph_item
is right-to-left (that is, ifglyph_item->item->analysis.level
is odd), thenstart_glyph
decreases as the iterator moves forward. Moreover, in right-to-left cases,start_glyph
is greater thanend_glyph
.An iterator should be initialized using either
pango_glyph_item_iter_init_start()
orpango_glyph_item_iter_init_end()
, for forward and backward iteration respectively, and walked over using any desired mixture ofpango_glyph_item_iter_next_cluster()
andpango_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 byglyph_item->item->offset
to get to the text ofglyph_item
. Thestart_index
andend_index
values can directly index intotext
. Thestart_glyph
,end_glyph
,start_char
, andend_char
values however are zero-based for theglyph_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.The
See moreGlyphItemIterProtocol
protocol exposes the methods and properties of an underlyingPangoGlyphItemIter
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeGlyphItemIter
. Alternatively, useGlyphItemIterRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphItemIterProtocol
-
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.
The
See moreGlyphStringProtocol
protocol exposes the methods and properties of an underlyingPangoGlyphString
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeGlyphString
. Alternatively, useGlyphStringRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphStringProtocol
-
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.
The
See moreGlyphVisAttrProtocol
protocol exposes the methods and properties of an underlyingPangoGlyphVisAttr
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeGlyphVisAttr
. Alternatively, useGlyphVisAttrRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphVisAttrProtocol
-
The
PangoItem
structure stores information about a segment of text.You typically obtain
PangoItems
by itemizing a piece of text with [funcitemize
].The
See moreItemProtocol
protocol exposes the methods and properties of an underlyingPangoItem
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeItem
. Alternatively, useItemRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol ItemProtocol
-
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 aPangoContext
, 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.The
See moreLayoutProtocol
protocol exposes the methods and properties of an underlyingPangoLayout
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeLayout
. Alternatively, useLayoutRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol LayoutProtocol : ObjectProtocol
-
The
PangoLanguage
structure is used to represent a language.PangoLanguage
pointers can be efficiently copied and compared with each other.The
See moreLanguageProtocol
protocol exposes the methods and properties of an underlyingPangoLanguage
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeLanguage
. Alternatively, useLanguageRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol LanguageProtocol
-
The
See moreLayoutClassProtocol
protocol exposes the methods and properties of an underlyingPangoLayoutClass
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeLayoutClass
. Alternatively, useLayoutClassRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol LayoutClassProtocol
-
A
PangoLayoutIter
can be used to iterate over the visual extents of aPangoLayout
.To obtain a
PangoLayoutIter
, use [methodPango.Layout.get_iter
].The
PangoLayoutIter
structure is opaque, and has no user-visible fields.The
See moreLayoutIterProtocol
protocol exposes the methods and properties of an underlyingPangoLayoutIter
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeLayoutIter
. Alternatively, useLayoutIterRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol LayoutIterProtocol
-
A
PangoLayoutLine
represents one of the lines resulting from laying out a paragraph viaPangoLayout
.PangoLayoutLine
structures are obtained by calling [methodPango.Layout.get_line
] and are only valid until the text, attributes, or settings of the parentPangoLayout
are modified.The
See moreLayoutLineProtocol
protocol exposes the methods and properties of an underlyingPangoLayoutLine
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeLayoutLine
. Alternatively, useLayoutLineRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol LayoutLineProtocol
-
The
PangoLogAttr
structure stores information about the attributes of a single character.The
See moreLogAttrProtocol
protocol exposes the methods and properties of an underlyingPangoLogAttr
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeLogAttr
. Alternatively, useLogAttrRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol LogAttrProtocol
-
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;
The
See moreMatrixProtocol
protocol exposes the methods and properties of an underlyingPangoMatrix
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeMatrix
. Alternatively, useMatrixRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol MatrixProtocol
-
PangoRenderer
is a base class for objects that can render text provided asPangoGlyphString
orPangoLayout
.By subclassing
PangoRenderer
and overriding operations such asdraw_glyphs
anddraw_rectangle
, renderers for particular font backends and destinations can be created.The
See moreRendererProtocol
protocol exposes the methods and properties of an underlyingPangoRenderer
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeRenderer
. Alternatively, useRendererRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol RendererProtocol : ObjectProtocol
-
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, [methodPango.Font.get_glyph_extents
].)The
See moreRectangleProtocol
protocol exposes the methods and properties of an underlyingPangoRectangle
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeRectangle
. Alternatively, useRectangleRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol RectangleProtocol
-
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
The
See moreRendererClassProtocol
protocol exposes the methods and properties of an underlyingPangoRendererClass
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeRendererClass
. Alternatively, useRendererClassRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol RendererClassProtocol
-
A
PangoScriptIter
is used to iterate through a string and identify ranges in different scripts.The
See moreScriptIterProtocol
protocol exposes the methods and properties of an underlyingPangoScriptIter
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeScriptIter
. Alternatively, useScriptIterRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol ScriptIterProtocol
-
A
PangoTabArray
contains an array of tab stops.PangoTabArray
can be used to set tab stops in aPangoLayout
. Each tab stop has an alignment, a position, and optionally a character to use as decimal point.The
See moreTabArrayProtocol
protocol exposes the methods and properties of an underlyingPangoTabArray
instance. The default implementation of these can be found in the protocol extension below. For a concrete class that implements these methods and properties, seeTabArray
. Alternatively, useTabArrayRef
as a lighweight,unowned
reference if you already have an instance you just want to use.Declaration
Swift
public protocol TabArrayProtocol