57
57
\code{\link{pangoLayoutGetPixelExtents}(object)}\cr
58
58
\code{\link{pangoLayoutGetSize}(object)}\cr
59
59
\code{\link{pangoLayoutGetPixelSize}(object)}\cr
60
\code{\link{pangoLayoutGetBaseline}(object)}\cr
60
61
\code{\link{pangoLayoutGetLineCount}(object)}\cr
61
62
\code{\link{pangoLayoutGetLine}(object, line)}\cr
62
63
\code{\link{pangoLayoutGetLineReadonly}(object, line)}\cr
99
100
\section{Structures}{\describe{
100
101
\item{\verb{PangoLayout}}{
101
The \verb{\link{PangoLayout}} structure represents an entire paragraph
102
of text. It is initialized with a \verb{\link{PangoContext}}, UTF-8 string
102
The \code{\link{PangoLayout}} structure represents an entire paragraph
103
of text. It is initialized with a \code{\link{PangoContext}}, UTF-8 string
103
104
and set of attributes for that string. Once that is done, the
104
105
set of formatted lines can be extracted from the object,
105
106
the layout can be rendered, and conversion between logical
107
108
position of the resulting glyphs can be made.
109
110
There are also a number of parameters to adjust the formatting
110
of a \verb{\link{PangoLayout}}, which are illustrated in .
111
of a \code{\link{PangoLayout}}, which are illustrated in .
111
112
It is possible, as well, to ignore the 2-D setup, and simply
112
treat the results of a \verb{\link{PangoLayout}} as a list of lines.
113
treat the results of a \code{\link{PangoLayout}} as a list of lines.
114
The \verb{\link{PangoLayout}} structure is opaque, and has no user-visible
115
The \code{\link{PangoLayout}} structure is opaque, and has no user-visible
118
119
\item{\verb{PangoLayoutIter}}{
119
A \verb{\link{PangoLayoutIter}} structure can be used to
120
iterate over the visual extents of a \verb{\link{PangoLayout}}.
120
A \code{\link{PangoLayoutIter}} structure can be used to
121
iterate over the visual extents of a \code{\link{PangoLayout}}.
122
The \verb{\link{PangoLayoutIter}} structure is opaque, and
123
The \code{\link{PangoLayoutIter}} structure is opaque, and
123
124
has no user-visible fields.
126
127
\item{\verb{PangoLayoutLine}}{
127
The \verb{\link{PangoLayoutLine}} structure represents one of the lines resulting
128
from laying out a paragraph via \verb{\link{PangoLayout}}. \verb{\link{PangoLayoutLine}}
128
The \code{\link{PangoLayoutLine}} structure represents one of the lines resulting
129
from laying out a paragraph via \code{\link{PangoLayout}}. \code{\link{PangoLayoutLine}}
129
130
structures are obtained by calling \code{\link{pangoLayoutGetLine}} and
130
131
are only valid until the text, attributes, or settings of the
131
parent \verb{\link{PangoLayout}} are modified.
132
parent \code{\link{PangoLayout}} are modified.
133
134
Routines for rendering PangoLayout objects are provided in
134
135
code specific to each rendering system.
137
\item{\verb{layout}}{[\verb{\link{PangoLayout}}] the parent layout for this line}
138
\item{\verb{layout}}{[\code{\link{PangoLayout}}] the parent layout for this line}
138
139
\item{\verb{startIndex}}{[integer] the start of the line as byte index into \code{layout->text}}
139
140
\item{\verb{length}}{[integer] the length of the line in bytes}
140
141
\item{\verb{runs}}{[list] a list containing the runs of the line in visual order}
147
148
\section{Convenient Construction}{\code{pangoLayout} is the equivalent of \code{\link{pangoLayoutNew}}.}
148
149
\section{Enums and Flags}{\describe{
149
150
\item{\verb{PangoWrapMode}}{
150
A \code{\link{PangoWrapMode}} describes how to wrap the lines of a \verb{\link{PangoLayout}} to the desired width.
151
A \code{\link{PangoWrapMode}} describes how to wrap the lines of a \code{\link{PangoLayout}} to the desired width.
153
154
\item{\verb{word}}{wrap lines at word boundaries.}
160
161
ellipsization should be applied to a line of text. In
161
162
the ellipsization process characters are removed from the
162
163
text in order to make it fit to a given width and replaced
166
\item{\verb{none}}{ No ellipsization}
167
\item{\verb{start}}{ Omit characters at the start of the text}
168
\item{\verb{middle}}{ Omit characters in the middle of the text}
169
\item{\verb{end}}{ Omit characters at the end of the text}
167
\item{\verb{none}}{No ellipsization}
168
\item{\verb{start}}{Omit characters at the start of the text}
169
\item{\verb{middle}}{Omit characters in the middle of the text}
170
\item{\verb{end}}{Omit characters at the end of the text}
173
174
\item{\verb{PangoAlignment}}{
174
A \code{\link{PangoAlignment}} describes how to align the lines of a \verb{\link{PangoLayout}} within the
175
available space. If the \verb{\link{PangoLayout}} is set to justify
175
A \code{\link{PangoAlignment}} describes how to align the lines of a \code{\link{PangoLayout}} within the
176
available space. If the \code{\link{PangoLayout}} is set to justify
176
177
using \code{\link{pangoLayoutSetJustify}}, this only has effect for partial lines.