Protocols
The following protocols are available globally.
-
The
PangoAnalysisstructure stores information about the properties of a segment of text.The
See moreAnalysisProtocolprotocol exposes the methods and properties of an underlyingPangoAnalysisinstance. 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, useAnalysisRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AnalysisProtocol
-
The
PangoAttrClassstructure 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 moreAttrClassProtocolprotocol exposes the methods and properties of an underlyingPangoAttrClassinstance. 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, useAttrClassRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrClassProtocol
-
The
PangoAttrColorstructure is used to represent attributes that are colors.The
See moreAttrColorProtocolprotocol exposes the methods and properties of an underlyingPangoAttrColorinstance. 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, useAttrColorRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrColorProtocol
-
The
PangoAttrFloatstructure is used to represent attributes with a float or double value.The
See moreAttrFloatProtocolprotocol exposes the methods and properties of an underlyingPangoAttrFloatinstance. 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, useAttrFloatRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrFloatProtocol
-
The
PangoAttrFontDescstructure is used to store an attribute that sets all aspects of the font description at once.The
See moreAttrFontDescProtocolprotocol exposes the methods and properties of an underlyingPangoAttrFontDescinstance. 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, useAttrFontDescRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrFontDescProtocol
-
The
PangoAttrFontFeaturesstructure is used to represent OpenType font features as an attribute.The
See moreAttrFontFeaturesProtocolprotocol exposes the methods and properties of an underlyingPangoAttrFontFeaturesinstance. 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, useAttrFontFeaturesRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrFontFeaturesProtocol
-
The
PangoAttrIntstructure is used to represent attributes with an integer or enumeration value.The
See moreAttrIntProtocolprotocol exposes the methods and properties of an underlyingPangoAttrIntinstance. 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, useAttrIntRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrIntProtocol
-
A
PangoAttrIteratoris 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 moreAttrIteratorProtocolprotocol exposes the methods and properties of an underlyingPangoAttrIteratorinstance. 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, useAttrIteratorRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrIteratorProtocol
-
The
PangoAttrLanguagestructure is used to represent attributes that are languages.The
See moreAttrLanguageProtocolprotocol exposes the methods and properties of an underlyingPangoAttrLanguageinstance. 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, useAttrLanguageRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrLanguageProtocol
-
A
PangoAttrListrepresents a list of attributes that apply to a section of text.The attributes in a
PangoAttrListare, 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
PangoAttrListstructure 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 singlePangoAttrListfor more than one paragraph of text.The
See moreAttrListProtocolprotocol exposes the methods and properties of an underlyingPangoAttrListinstance. 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, useAttrListRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrListProtocol
-
The
PangoAttrShapestructure is used to represent attributes which impose shape restrictions.The
See moreAttrShapeProtocolprotocol exposes the methods and properties of an underlyingPangoAttrShapeinstance. 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, useAttrShapeRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrShapeProtocol
-
The
PangoAttrSizestructure is used to represent attributes which set font size.The
See moreAttrSizeProtocolprotocol exposes the methods and properties of an underlyingPangoAttrSizeinstance. 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, useAttrSizeRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrSizeProtocol
-
The
PangoAttrStringstructure is used to represent attributes with a string value.The
See moreAttrStringProtocolprotocol exposes the methods and properties of an underlyingPangoAttrStringinstance. 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, useAttrStringRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttrStringProtocol
-
The
PangoAttributestructure 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 moreAttributeProtocolprotocol exposes the methods and properties of an underlyingPangoAttributeinstance. 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, useAttributeRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol AttributeProtocol
-
A
PangoContextstores global information used to control the itemization process.The information stored by
PangoContextincludes 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 moreContextProtocolprotocol exposes the methods and properties of an underlyingPangoContextinstance. 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, useContextRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol ContextProtocol : ObjectProtocol
-
A
PangoCoveragestructure 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
PangoCoverageis a data structure that is used to represent that information. It is an opaque structure with no public fields.The
See moreCoverageProtocolprotocol exposes the methods and properties of an underlyingPangoCoverageinstance. 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, useCoverageRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol CoverageProtocol : ObjectProtocol
-
The
PangoColorstructure is used to represent a color in an uncalibrated RGB color-space.The
See moreColorProtocolprotocol exposes the methods and properties of an underlyingPangoColorinstance. 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, useColorRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol ColorProtocol
-
The
See moreContextClassProtocolprotocol exposes the methods and properties of an underlyingPangoContextClassinstance. 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, useContextClassRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol ContextClassProtocol
-
A
PangoFontis used to represent a font in a rendering-system-independent manner.The
See moreFontProtocolprotocol exposes the methods and properties of an underlyingPangoFontinstance. 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, useFontRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontProtocol : ObjectProtocol
-
A
PangoFontFaceis used to represent a group of fonts with the same family, slant, weight, and width, but varying sizes.The
See moreFontFaceProtocolprotocol exposes the methods and properties of an underlyingPangoFontFaceinstance. 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, useFontFaceRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontFaceProtocol : ObjectProtocol
-
The
See moreFontClassProtocolprotocol exposes the methods and properties of an underlyingPangoFontClassinstance. 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, useFontClassRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontClassProtocol
-
A
PangoFontFamilyis 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 moreFontFamilyProtocolprotocol exposes the methods and properties of an underlyingPangoFontFamilyinstance. 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, useFontFamilyRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontFamilyProtocol : ObjectProtocol
-
A
PangoFontMaprepresents 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 moreFontMapProtocolprotocol exposes the methods and properties of an underlyingPangoFontMapinstance. 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, useFontMapRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontMapProtocol : ObjectProtocol
-
A
PangoFontsetrepresents a set ofPangoFontto use when rendering text.A
PangoFontsetis the result of resolving aPangoFontDescriptionagainst 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 moreFontsetProtocolprotocol exposes the methods and properties of an underlyingPangoFontsetinstance. 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, useFontsetRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontsetProtocol : ObjectProtocol
-
PangoFontsetSimpleis a implementation of the abstractPangoFontsetbase 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 moreFontsetSimpleProtocolprotocol exposes the methods and properties of an underlyingPangoFontsetSimpleinstance. 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, useFontsetSimpleRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontsetSimpleProtocol : FontsetProtocol
-
A
PangoFontDescriptiondescribes a font in an implementation-independent manner.PangoFontDescriptionstructures 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 moreFontDescriptionProtocolprotocol exposes the methods and properties of an underlyingPangoFontDescriptioninstance. 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, useFontDescriptionRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontDescriptionProtocol
-
The
See moreFontFaceClassProtocolprotocol exposes the methods and properties of an underlyingPangoFontFaceClassinstance. 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, useFontFaceClassRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontFaceClassProtocol
-
The
See moreFontFamilyClassProtocolprotocol exposes the methods and properties of an underlyingPangoFontFamilyClassinstance. 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, useFontFamilyClassRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontFamilyClassProtocol
-
The
PangoFontMapClassstructure holds the virtual functions for a particularPangoFontMapimplementation.The
See moreFontMapClassProtocolprotocol exposes the methods and properties of an underlyingPangoFontMapClassinstance. 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, useFontMapClassRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontMapClassProtocol
-
A
PangoFontMetricsstructure holds the overall metric information for a font.The information in a
PangoFontMetricsstructure 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 moreFontMetricsProtocolprotocol exposes the methods and properties of an underlyingPangoFontMetricsinstance. 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, useFontMetricsRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontMetricsProtocol
-
The
PangoFontsetClassstructure holds the virtual functions for a particularPangoFontsetimplementation.The
See moreFontsetClassProtocolprotocol exposes the methods and properties of an underlyingPangoFontsetClassinstance. 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, useFontsetClassRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontsetClassProtocol
-
The
See moreFontsetSimpleClassProtocolprotocol exposes the methods and properties of an underlyingPangoFontsetSimpleClassinstance. 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, useFontsetSimpleClassRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol FontsetSimpleClassProtocol
-
The
PangoGlyphGeometrystructure contains width and positioning information for a single glyph.Note that
widthis not guaranteed to be the same as the glyph extents. Kerning and other positioning applied during shaping will affect both thewidthand thex_offsetfor 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 moreGlyphGeometryProtocolprotocol exposes the methods and properties of an underlyingPangoGlyphGeometryinstance. 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, useGlyphGeometryRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphGeometryProtocol
-
A
PangoGlyphInfostructure represents a single glyph with positioning information and visual attributes.The
See moreGlyphInfoProtocolprotocol exposes the methods and properties of an underlyingPangoGlyphInfoinstance. 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, useGlyphInfoRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphInfoProtocol
-
A
PangoGlyphItemis a pair of aPangoItemand the glyphs resulting from shaping the items text.As an example of the usage of
PangoGlyphItem, the results of shaping text withPangoLayoutis a list ofPangoLayoutLine, each of which contains a list ofPangoGlyphItem.The
See moreGlyphItemProtocolprotocol exposes the methods and properties of an underlyingPangoGlyphIteminstance. 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, useGlyphItemRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphItemProtocol
-
A
PangoGlyphItemIteris an iterator over the clusters in aPangoGlyphItem.The forward direction of the iterator is the logical direction of text. That is, with increasing
start_indexandstart_charvalues. Ifglyph_itemis right-to-left (that is, ifglyph_item->item->analysis.levelis odd), thenstart_glyphdecreases as the iterator moves forward. Moreover, in right-to-left cases,start_glyphis 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
textis the start of the text for layout, which is then indexed byglyph_item->item->offsetto get to the text ofglyph_item. Thestart_indexandend_indexvalues can directly index intotext. Thestart_glyph,end_glyph,start_char, andend_charvalues 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
PangoGlyphItemItershould be modified manually.The
See moreGlyphItemIterProtocolprotocol exposes the methods and properties of an underlyingPangoGlyphItemIterinstance. 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, useGlyphItemIterRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphItemIterProtocol
-
A
PangoGlyphStringis 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 moreGlyphStringProtocolprotocol exposes the methods and properties of an underlyingPangoGlyphStringinstance. 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, useGlyphStringRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphStringProtocol
-
A
PangoGlyphVisAttrstructure 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 moreGlyphVisAttrProtocolprotocol exposes the methods and properties of an underlyingPangoGlyphVisAttrinstance. 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, useGlyphVisAttrRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol GlyphVisAttrProtocol
-
The
PangoItemstructure stores information about a segment of text.You typically obtain
PangoItemsby itemizing a piece of text with [funcitemize].The
See moreItemProtocolprotocol exposes the methods and properties of an underlyingPangoIteminstance. 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, useItemRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol ItemProtocol
-
A
PangoLayoutstructure 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.
PangoLayoutprovides 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
PangoLayoutis 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
PangoLayoutas a list of lines.The
See moreLayoutProtocolprotocol exposes the methods and properties of an underlyingPangoLayoutinstance. 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, useLayoutRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol LayoutProtocol : ObjectProtocol
-
The
PangoLanguagestructure is used to represent a language.PangoLanguagepointers can be efficiently copied and compared with each other.The
See moreLanguageProtocolprotocol exposes the methods and properties of an underlyingPangoLanguageinstance. 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, useLanguageRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol LanguageProtocol
-
The
See moreLayoutClassProtocolprotocol exposes the methods and properties of an underlyingPangoLayoutClassinstance. 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, useLayoutClassRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol LayoutClassProtocol
-
A
PangoLayoutItercan be used to iterate over the visual extents of aPangoLayout.To obtain a
PangoLayoutIter, use [methodPango.Layout.get_iter].The
PangoLayoutIterstructure is opaque, and has no user-visible fields.The
See moreLayoutIterProtocolprotocol exposes the methods and properties of an underlyingPangoLayoutIterinstance. 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, useLayoutIterRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol LayoutIterProtocol
-
A
PangoLayoutLinerepresents one of the lines resulting from laying out a paragraph viaPangoLayout.PangoLayoutLinestructures are obtained by calling [methodPango.Layout.get_line] and are only valid until the text, attributes, or settings of the parentPangoLayoutare modified.The
See moreLayoutLineProtocolprotocol exposes the methods and properties of an underlyingPangoLayoutLineinstance. 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, useLayoutLineRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol LayoutLineProtocol
-
The
PangoLogAttrstructure stores information about the attributes of a single character.The
See moreLogAttrProtocolprotocol exposes the methods and properties of an underlyingPangoLogAttrinstance. 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, useLogAttrRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol LogAttrProtocol
-
A
PangoMatrixspecifies 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 moreMatrixProtocolprotocol exposes the methods and properties of an underlyingPangoMatrixinstance. 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, useMatrixRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol MatrixProtocol
-
PangoRendereris a base class for objects that can render text provided asPangoGlyphStringorPangoLayout.By subclassing
PangoRendererand overriding operations such asdraw_glyphsanddraw_rectangle, renderers for particular font backends and destinations can be created.The
See moreRendererProtocolprotocol exposes the methods and properties of an underlyingPangoRendererinstance. 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, useRendererRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol RendererProtocol : ObjectProtocol
-
The
PangoRectanglestructure represents a rectangle.PangoRectangleis 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 moreRectangleProtocolprotocol exposes the methods and properties of an underlyingPangoRectangleinstance. 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, useRectangleRefas a lighweight,unownedreference 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 moreRendererClassProtocolprotocol exposes the methods and properties of an underlyingPangoRendererClassinstance. 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, useRendererClassRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol RendererClassProtocol
-
A
PangoScriptIteris used to iterate through a string and identify ranges in different scripts.The
See moreScriptIterProtocolprotocol exposes the methods and properties of an underlyingPangoScriptIterinstance. 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, useScriptIterRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol ScriptIterProtocol
-
A
PangoTabArraycontains an array of tab stops.PangoTabArraycan 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 moreTabArrayProtocolprotocol exposes the methods and properties of an underlyingPangoTabArrayinstance. 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, useTabArrayRefas a lighweight,unownedreference if you already have an instance you just want to use.Declaration
Swift
public protocol TabArrayProtocol
View on GitHub
Install in Dash
Protocols Reference