Sophie

Sophie

distrib > PLD > ra > i686 > by-pkgid > a28dba11387ef6050e1adc2f54554790 > files > 48

pango-devel-1.0.4-2.i686.rpm

<HTML
><HEAD
><TITLE
>Layout Objects</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="Pango Reference Manual"
HREF="index.html"><LINK
REL="UP"
TITLE="Basic Pango Interfaces"
HREF="pango.html"><LINK
REL="PREVIOUS"
TITLE="Pango Text Attribute Markup"
HREF="pangomarkupformat.html"><LINK
REL="NEXT"
TITLE="Rendering with Pango"
HREF="rendering.html"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TH
COLSPAN="4"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="5"
>Pango Reference Manual</FONT
></TH
></TR
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="pangomarkupformat.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="index.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="pango.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="rendering.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
></TABLE
></DIV
><H1
><A
NAME="PANGO-LAYOUT-OBJECTS"
></A
>Layout Objects</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN5734"
></A
><H2
>Name</H2
>Layout Objects&nbsp;--&nbsp;Highlevel layout driver objects</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN5737"
></A
><H2
>Synopsis</H2
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="SYNOPSIS"
>&#13;

struct      <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>;
struct      <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
>;
<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>* <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-NEW"
>pango_layout_new</A
>               (<A
HREF="pango-text-processing.html#PANGOCONTEXT"
>PangoContext</A
> *context);
<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>* <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-COPY"
>pango_layout_copy</A
>              (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *src);
<A
HREF="pango-text-processing.html#PANGOCONTEXT"
>PangoContext</A
>* <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-CONTEXT"
>pango_layout_get_context</A
>      (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-CONTEXT-CHANGED"
>pango_layout_context_changed</A
>    (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-TEXT"
>pango_layout_set_text</A
>           (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             const char *text,
                                             int length);
const char* <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-TEXT"
>pango_layout_get_text</A
>           (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-MARKUP"
>pango_layout_set_markup</A
>         (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             const char *markup,
                                             int length);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-MARKUP-WITH-ACCEL"
>pango_layout_set_markup_with_accel</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             const char *markup,
                                             int length,
                                             gunichar accel_marker,
                                             gunichar *accel_char);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-ATTRIBUTES"
>pango_layout_set_attributes</A
>     (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-text-attributes.html#PANGOATTRLIST"
>PangoAttrList</A
> *attrs);
<A
HREF="pango-text-attributes.html#PANGOATTRLIST"
>PangoAttrList</A
>* <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-ATTRIBUTES"
>pango_layout_get_attributes</A
>  (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-FONT-DESCRIPTION"
>pango_layout_set_font_description</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             const <A
HREF="pango-fonts.html#PANGOFONTDESCRIPTION"
>PangoFontDescription</A
> *desc);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-WIDTH"
>pango_layout_set_width</A
>          (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int width);
int         <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-WIDTH"
>pango_layout_get_width</A
>          (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-WRAP"
>pango_layout_set_wrap</A
>           (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-layout-objects.html#PANGOWRAPMODE"
>PangoWrapMode</A
> wrap);
<A
HREF="pango-layout-objects.html#PANGOWRAPMODE"
>PangoWrapMode</A
> <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-WRAP"
>pango_layout_get_wrap</A
>         (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
enum        <A
HREF="pango-layout-objects.html#PANGOWRAPMODE"
>PangoWrapMode</A
>;
#define     <A
HREF="pango-layout-objects.html#PANGO-TYPE-WRAP-MODE-CAPS"
>PANGO_TYPE_WRAP_MODE</A
>
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-INDENT"
>pango_layout_set_indent</A
>         (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int indent);
int         <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-INDENT"
>pango_layout_get_indent</A
>         (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
int         <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-SPACING"
>pango_layout_get_spacing</A
>        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-SPACING"
>pango_layout_set_spacing</A
>        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int spacing);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-JUSTIFY"
>pango_layout_set_justify</A
>        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             gboolean justify);
gboolean    <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-JUSTIFY"
>pango_layout_get_justify</A
>        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-ALIGNMENT"
>pango_layout_set_alignment</A
>      (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-layout-objects.html#PANGOALIGNMENT"
>PangoAlignment</A
> alignment);
<A
HREF="pango-layout-objects.html#PANGOALIGNMENT"
>PangoAlignment</A
> <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-ALIGNMENT"
>pango_layout_get_alignment</A
>   (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-TABS"
>pango_layout_set_tabs</A
>           (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-tab-stops.html#PANGOTABARRAY"
>PangoTabArray</A
> *tabs);
<A
HREF="pango-tab-stops.html#PANGOTABARRAY"
>PangoTabArray</A
>* <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-TABS"
>pango_layout_get_tabs</A
>        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-SINGLE-PARAGRAPH-MODE"
>pango_layout_set_single_paragraph_mode</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             gboolean setting);
gboolean    <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-SINGLE-PARAGRAPH-MODE"
>pango_layout_get_single_paragraph_mode</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
enum        <A
HREF="pango-layout-objects.html#PANGOALIGNMENT"
>PangoAlignment</A
>;
#define     <A
HREF="pango-layout-objects.html#PANGO-TYPE-ALIGNMENT-CAPS"
>PANGO_TYPE_ALIGNMENT</A
>
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-LOG-ATTRS"
>pango_layout_get_log_attrs</A
>      (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-text-processing.html#PANGOLOGATTR"
>PangoLogAttr</A
> **attrs,
                                             gint *n_attrs);
gboolean    <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-XY-TO-INDEX"
>pango_layout_xy_to_index</A
>        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int x,
                                             int y,
                                             int *index,
                                             int *trailing);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-INDEX-TO-POS"
>pango_layout_index_to_pos</A
>       (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int index,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *pos);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-CURSOR-POS"
>pango_layout_get_cursor_pos</A
>     (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int index,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *strong_pos,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *weak_pos);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-MOVE-CURSOR-VISUALLY"
>pango_layout_move_cursor_visually</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             gboolean strong,
                                             int old_index,
                                             int old_trailing,
                                             int direction,
                                             int *new_index,
                                             int *new_trailing);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-EXTENTS"
>pango_layout_get_extents</A
>        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-PIXEL-EXTENTS"
>pango_layout_get_pixel_extents</A
>  (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-SIZE"
>pango_layout_get_size</A
>           (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int *width,
                                             int *height);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-PIXEL-SIZE"
>pango_layout_get_pixel_size</A
>     (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int *width,
                                             int *height);
int         <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-LINE-COUNT"
>pango_layout_get_line_count</A
>     (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
>* <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-LINE"
>pango_layout_get_line</A
>      (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int line);
GSList*     <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-LINES"
>pango_layout_get_lines</A
>          (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
>* <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-ITER"
>pango_layout_get_iter</A
>      (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-FREE"
>pango_layout_iter_free</A
>          (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);
gboolean    <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-NEXT-RUN"
>pango_layout_iter_next_run</A
>      (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);
gboolean    <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-NEXT-CHAR"
>pango_layout_iter_next_char</A
>     (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);
gboolean    <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-NEXT-CLUSTER"
>pango_layout_iter_next_cluster</A
>  (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);
gboolean    <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-NEXT-LINE"
>pango_layout_iter_next_line</A
>     (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);
gboolean    <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-AT-LAST-LINE"
>pango_layout_iter_at_last_line</A
>  (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);
int         <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-GET-INDEX"
>pango_layout_iter_get_index</A
>     (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);
int         <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-GET-BASELINE"
>pango_layout_iter_get_baseline</A
>  (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);
<A
HREF="pango-layout-objects.html#PANGOLAYOUTRUN"
>PangoLayoutRun</A
>* <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-GET-RUN"
>pango_layout_iter_get_run</A
>   (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);
<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
>* <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-GET-LINE"
>pango_layout_iter_get_line</A
> (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-GET-CHAR-EXTENTS"
>pango_layout_iter_get_char_extents</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-GET-CLUSTER-EXTENTS"
>pango_layout_iter_get_cluster_extents</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-GET-RUN-EXTENTS"
>pango_layout_iter_get_run_extents</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-GET-LINE-YRANGE"
>pango_layout_iter_get_line_yrange</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             int *y0,
                                             int *y1);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-GET-LINE-EXTENTS"
>pango_layout_iter_get_line_extents</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-GET-LAYOUT-EXTENTS"
>pango_layout_iter_get_layout_extents</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);

struct      <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
>;
struct      <A
HREF="pango-layout-objects.html#PANGOLAYOUTRUN"
>PangoLayoutRun</A
>;
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-LINE-REF"
>pango_layout_line_ref</A
>           (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-LINE-UNREF"
>pango_layout_line_unref</A
>         (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-LINE-GET-EXTENTS"
>pango_layout_line_get_extents</A
>   (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-LINE-GET-PIXEL-EXTENTS"
>pango_layout_line_get_pixel_extents</A
>
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *layout_line,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-LINE-INDEX-TO-X"
>pango_layout_line_index_to_x</A
>    (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line,
                                             int index,
                                             gboolean trailing,
                                             int *x_pos);
gboolean    <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-LINE-X-TO-INDEX"
>pango_layout_line_x_to_index</A
>    (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line,
                                             int x_pos,
                                             int *index,
                                             int *trailing);
void        <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-LINE-GET-X-RANGES"
>pango_layout_line_get_x_ranges</A
>  (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line,
                                             int start_index,
                                             int end_index,
                                             int **ranges,
                                             int *n_ranges);
&#13;</PRE
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5928"
></A
><H2
>Description</H2
><P
>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. The objects and functions in this structure provide a
high-level driver for formatting entire paragraphs of text
at once.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN5931"
></A
><H2
>Details</H2
><DIV
CLASS="REFSECT2"
><A
NAME="AEN5933"
></A
><H3
><A
NAME="PANGOLAYOUT"
></A
>struct PangoLayout</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct PangoLayout;</PRE
></TD
></TR
></TABLE
><P
>The <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> structure represents and entire paragraph
of text. It is initialized with a <A
HREF="pango-text-processing.html#PANGOCONTEXT"
>PangoContext</A
>, 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.</P
><P
>There are also a number of parameters to adjust the formatting
of a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>, which are illustrated in <A
HREF="pango-layout-objects.html#PARAMETERS"
>Figure 1</A
>.
It is possible, as well, to ignore the 2-D setup, and simply
treat the results of a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> as a list of lines.</P
><DIV
CLASS="FIGURE"
><A
NAME="PARAMETERS"
></A
><P
><B
>Figure 1. Adjustable parameters for a PangoLayout</B
></P
><P
><IMG
SRC="layout.gif"></P
></DIV
><P
>The <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> structure is opaque, and has no user-visible
fields.</P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5949"
></A
><H3
><A
NAME="PANGOLAYOUTITER"
></A
>struct PangoLayoutIter</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct PangoLayoutIter;</PRE
></TD
></TR
></TABLE
><P
>A <SPAN
CLASS="STRUCTNAME"
>PangoLayoutIter</SPAN
> structure can be used to
iterate over the visual extents of a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>. </P
><P
>The <SPAN
CLASS="STRUCTNAME"
>PangoLayoutIter</SPAN
> structure is opaque, and 
has no user-visible fields.</P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5958"
></A
><H3
><A
NAME="PANGO-LAYOUT-NEW"
></A
>pango_layout_new ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>* pango_layout_new               (<A
HREF="pango-text-processing.html#PANGOCONTEXT"
>PangoContext</A
> *context);</PRE
></TD
></TR
></TABLE
><P
>Create a new <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> object with attributes initialized to
default values for a particular <A
HREF="pango-text-processing.html#PANGOCONTEXT"
>PangoContext</A
>.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5968"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>context</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-text-processing.html#PANGOCONTEXT"
>PangoContext</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a new <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>, with a reference count of one.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN5983"
></A
><H3
><A
NAME="PANGO-LAYOUT-COPY"
></A
>pango_layout_copy ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>* pango_layout_copy              (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *src);</PRE
></TD
></TR
></TABLE
><P
>Does a deep copy-by-value of the <TT
CLASS="PARAMETER"
><I
>src</I
></TT
> layout. The attribute list,
tab array, and text from the original layout are all copied by
value.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN5992"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>src</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a new <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> identical to <TT
CLASS="PARAMETER"
><I
>src</I
></TT
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6008"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-CONTEXT"
></A
>pango_layout_get_context ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="pango-text-processing.html#PANGOCONTEXT"
>PangoContext</A
>* pango_layout_get_context      (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Retrieves the <A
HREF="pango-text-processing.html#PANGOCONTEXT"
>PangoContext</A
> used for this layout.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6017"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The <A
HREF="pango-text-processing.html#PANGOCONTEXT"
>PangoContext</A
> for the layout. This does not
have an additional refcount added, so if you want to keep
a copy of this around, you must reference it yourself.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6032"
></A
><H3
><A
NAME="PANGO-LAYOUT-CONTEXT-CHANGED"
></A
>pango_layout_context_changed ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_context_changed    (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Forces recomputation of any state in the <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> 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.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6040"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6050"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-TEXT"
></A
>pango_layout_set_text ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_text           (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             const char *text,
                                             int length);</PRE
></TD
></TR
></TABLE
><P
>Set the text of the layout.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6057"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>text</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a UTF8-string</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>length</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the length of <TT
CLASS="PARAMETER"
><I
>text</I
></TT
>, in bytes. -1 indicates that
         the string is null terminated and the length should be
         calculated.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6076"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-TEXT"
></A
>pango_layout_get_text ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>const char* pango_layout_get_text           (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Gets the text in the layout. The returned text should not
be freed or modified.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6083"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the text in the <TT
CLASS="PARAMETER"
><I
>layout</I
></TT
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6098"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-MARKUP"
></A
>pango_layout_set_markup ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_markup         (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             const char *markup,
                                             int length);</PRE
></TD
></TR
></TABLE
><P
>Same as <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-MARKUP-WITH-ACCEL"
>pango_layout_set_markup_with_accel</A
>(), but
the markup text isn't scanned for accelerators.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6106"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>markup</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> marked-up text</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>length</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> length of marked-up text in bytes, or -1</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6124"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-MARKUP-WITH-ACCEL"
></A
>pango_layout_set_markup_with_accel ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_markup_with_accel
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             const char *markup,
                                             int length,
                                             gunichar accel_marker,
                                             gunichar *accel_char);</PRE
></TD
></TR
></TABLE
><P
>Sets the layout text and attribute list from marked-up text (see
<A
HREF="pangomarkupformat.html"
>markup format</A
>). Replaces
the current text and attribute list.</P
><P
>If <TT
CLASS="PARAMETER"
><I
>accel_marker</I
></TT
> is nonzero, the given character will mark the
character following it as an accelerator. For example, the accel
marker might be an ampersand or underscore. All characters marked
as an accelerator will receive a <TT
CLASS="LITERAL"
>PANGO_UNDERLINE_LOW</TT
> attribute,
and the first character so marked will be returned in <TT
CLASS="PARAMETER"
><I
>accel_char</I
></TT
>.
Two <TT
CLASS="PARAMETER"
><I
>accel_marker</I
></TT
> characters following each other produce a single
literal <TT
CLASS="PARAMETER"
><I
>accel_marker</I
></TT
> character.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6140"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>markup</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> some marked-up text 
(see <A
HREF="pangomarkupformat.html"
>markup format</A
>)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>length</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> length of <TT
CLASS="PARAMETER"
><I
>markup</I
></TT
> in bytes</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>accel_marker</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> marker for accelerators in the text</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>accel_char</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> return location for any located accelerators</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6168"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-ATTRIBUTES"
></A
>pango_layout_set_attributes ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_attributes     (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-text-attributes.html#PANGOATTRLIST"
>PangoAttrList</A
> *attrs);</PRE
></TD
></TR
></TABLE
><P
>Sets the text attributes for a layout object</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6176"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>attrs</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-text-attributes.html#PANGOATTRLIST"
>PangoAttrList</A
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6191"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-ATTRIBUTES"
></A
>pango_layout_get_attributes ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="pango-text-attributes.html#PANGOATTRLIST"
>PangoAttrList</A
>* pango_layout_get_attributes  (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Gets the attribute list for the layout, if any</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6199"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-text-attributes.html#PANGOATTRLIST"
>PangoAttrList</A
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6214"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-FONT-DESCRIPTION"
></A
>pango_layout_set_font_description ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_font_description
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             const <A
HREF="pango-fonts.html#PANGOFONTDESCRIPTION"
>PangoFontDescription</A
> *desc);</PRE
></TD
></TR
></TABLE
><P
>Set 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.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6222"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>desc</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the new pango font description, or <TT
CLASS="LITERAL"
>NULL</TT
> to unset the
       current font description.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6237"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-WIDTH"
></A
>pango_layout_set_width ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_width          (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int width);</PRE
></TD
></TR
></TABLE
><P
>Sets the width to which the lines of the <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> should be wrapped.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6245"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>width</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the desired width, or -1 to indicate that no wrapping should be
        performed.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6259"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-WIDTH"
></A
>pango_layout_get_width ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         pango_layout_get_width          (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Gets the width to which the lines of the <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> should be wrapped.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6267"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the width</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6281"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-WRAP"
></A
>pango_layout_set_wrap ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_wrap           (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-layout-objects.html#PANGOWRAPMODE"
>PangoWrapMode</A
> wrap);</PRE
></TD
></TR
></TABLE
><P
>Sets the wrap style; the wrap style only has an effect if a width
is set on the layout with <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-WIDTH"
>pango_layout_set_width</A
>(). To turn off wrapping,
set the width to -1.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6290"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>wrap</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> wrap mode</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6304"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-WRAP"
></A
>pango_layout_get_wrap ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="pango-layout-objects.html#PANGOWRAPMODE"
>PangoWrapMode</A
> pango_layout_get_wrap         (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Get the wrap mode for the layout.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6312"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> Active wrap mode.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6326"
></A
><H3
><A
NAME="PANGOWRAPMODE"
></A
>enum PangoWrapMode</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef enum {
  PANGO_WRAP_WORD,
  PANGO_WRAP_CHAR
} PangoWrapMode;</PRE
></TD
></TR
></TABLE
><P
>describes how to wrap the lines of a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> to the desired width.</P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6332"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#F0F0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="LEFT"
VALIGN="TOP"
><TT
CLASS="LITERAL"
>PANGO_WRAP_WORD</TT
></TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>wrap lines at word boundaries.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="LEFT"
VALIGN="TOP"
><TT
CLASS="LITERAL"
>PANGO_WRAP_CHAR</TT
></TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>wrap lines at character boundaries.&#13;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6345"
></A
><H3
><A
NAME="PANGO-TYPE-WRAP-MODE-CAPS"
></A
>PANGO_TYPE_WRAP_MODE</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define PANGO_TYPE_WRAP_MODE (pango_wrap_mode_get_type())</PRE
></TD
></TR
></TABLE
><P
>The GObject type for <A
HREF="pango-layout-objects.html#PANGOWRAPMODE"
>PangoWrapMode</A
>.</P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6351"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-INDENT"
></A
>pango_layout_set_indent ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_indent         (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int indent);</PRE
></TD
></TR
></TABLE
><P
>Sets the amount by which the first line should be shorter than the
rest of the lines. This may be negative, in which case
the subsequent lines will be shorter than the first line. (However,
in either case, the entire width of the layout will be given by
the value</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6358"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>indent</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the amount by which to indent</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6372"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-INDENT"
></A
>pango_layout_get_indent ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         pango_layout_get_indent         (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Gets the amount by which the first line should be shorter than the
rest of the lines.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6379"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the indent</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6393"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-SPACING"
></A
>pango_layout_get_spacing ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         pango_layout_get_spacing        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Gets the amount of spacing between the lines of the layout.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6400"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the spacing (in thousandths of a device unit)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6414"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-SPACING"
></A
>pango_layout_set_spacing ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_spacing        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int spacing);</PRE
></TD
></TR
></TABLE
><P
>Sets the amount of spacing between the lines of the layout.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6421"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>spacing</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the amount of spacing</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6435"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-JUSTIFY"
></A
>pango_layout_set_justify ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_justify        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             gboolean justify);</PRE
></TD
></TR
></TABLE
><P
>Sets whether or not each complete line should be stretched to
fill the entire width of the layout. This stretching is typically
done by adding whitespace, but for some scripts (such as Arabic),
the justification is done by extending the characters.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6443"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>justify</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> whether the lines in the layout should be justified.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6457"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-JUSTIFY"
></A
>pango_layout_get_justify ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>gboolean    pango_layout_get_justify        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Gets whether or not each complete line should be stretched to
fill the entire width of the layout.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6465"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the justify</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6479"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-ALIGNMENT"
></A
>pango_layout_set_alignment ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_alignment      (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-layout-objects.html#PANGOALIGNMENT"
>PangoAlignment</A
> alignment);</PRE
></TD
></TR
></TABLE
><P
>Sets the alignment for the layout (how partial lines are
positioned within the horizontal space available.)</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6487"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>alignment</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the new alignment</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6501"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-ALIGNMENT"
></A
>pango_layout_get_alignment ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="pango-layout-objects.html#PANGOALIGNMENT"
>PangoAlignment</A
> pango_layout_get_alignment   (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Sets the alignment for the layout (how partial lines are
positioned within the horizontal space available.)</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6509"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the alignment value</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6523"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-TABS"
></A
>pango_layout_set_tabs ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_tabs           (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-tab-stops.html#PANGOTABARRAY"
>PangoTabArray</A
> *tabs);</PRE
></TD
></TR
></TABLE
><P
>Sets the tabs to use for <TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>, overriding the default tabs
(by default, tabs are every 8 spaces). If <TT
CLASS="PARAMETER"
><I
>tabs</I
></TT
> is <TT
CLASS="LITERAL"
>NULL</TT
>, the default
tabs are reinstated. <TT
CLASS="PARAMETER"
><I
>tabs</I
></TT
> is copied into the layout; you must
free your copy of <TT
CLASS="PARAMETER"
><I
>tabs</I
></TT
> yourself.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6536"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> </TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>tabs</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-tab-stops.html#PANGOTABARRAY"
>PangoTabArray</A
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6551"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-TABS"
></A
>pango_layout_get_tabs ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="pango-tab-stops.html#PANGOTABARRAY"
>PangoTabArray</A
>* pango_layout_get_tabs        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Get the current <A
HREF="pango-tab-stops.html#PANGOTABARRAY"
>PangoTabArray</A
> used by this layout. If no
<A
HREF="pango-tab-stops.html#PANGOTABARRAY"
>PangoTabArray</A
> has been set, then the default tabs are in use
and <TT
CLASS="LITERAL"
>NULL</TT
> is returned. Default tabs are every 8 spaces.
The return value should be freed with <A
HREF="pango-tab-stops.html#PANGO-TAB-ARRAY-FREE"
>pango_tab_array_free</A
>().</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6563"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a copy of the tabs for this layout, or <TT
CLASS="LITERAL"
>NULL</TT
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6578"
></A
><H3
><A
NAME="PANGO-LAYOUT-SET-SINGLE-PARAGRAPH-MODE"
></A
>pango_layout_set_single_paragraph_mode ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_set_single_paragraph_mode
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             gboolean setting);</PRE
></TD
></TR
></TABLE
><P
>If <TT
CLASS="PARAMETER"
><I
>setting</I
></TT
> is <TT
CLASS="LITERAL"
>TRUE</TT
>, 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.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6588"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>setting</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> new setting</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6602"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-SINGLE-PARAGRAPH-MODE"
></A
>pango_layout_get_single_paragraph_mode ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>gboolean    pango_layout_get_single_paragraph_mode
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Obtains the value set by <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-SINGLE-PARAGRAPH-MODE"
>pango_layout_set_single_paragraph_mode</A
>().</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6611"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <TT
CLASS="LITERAL"
>TRUE</TT
> if the layout does not break paragraphs at 
paragraph separator characters</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6626"
></A
><H3
><A
NAME="PANGOALIGNMENT"
></A
>enum PangoAlignment</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>typedef enum {
  PANGO_ALIGN_LEFT,
  PANGO_ALIGN_CENTER,
  PANGO_ALIGN_RIGHT
} PangoAlignment;</PRE
></TD
></TR
></TABLE
><P
>describes how to align the lines of a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> within the
available space. If the <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> is set to justify
using <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-JUSTIFY"
>pango_layout_set_justify</A
>(), then this only has an effect
for partial lines.</P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6634"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#F0F0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="LEFT"
VALIGN="TOP"
><TT
CLASS="LITERAL"
>PANGO_ALIGN_LEFT</TT
></TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>Put all available space on the right</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="LEFT"
VALIGN="TOP"
><TT
CLASS="LITERAL"
>PANGO_ALIGN_CENTER</TT
></TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>Center the line within the available space</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="LEFT"
VALIGN="TOP"
><TT
CLASS="LITERAL"
>PANGO_ALIGN_RIGHT</TT
></TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>Put all available space on the left&#13;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6651"
></A
><H3
><A
NAME="PANGO-TYPE-ALIGNMENT-CAPS"
></A
>PANGO_TYPE_ALIGNMENT</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>#define PANGO_TYPE_ALIGNMENT (pango_alignment_get_type())</PRE
></TD
></TR
></TABLE
><P
>The GObject type for <A
HREF="pango-layout-objects.html#PANGOALIGNMENT"
>PangoAlignment</A
>.</P
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6657"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-LOG-ATTRS"
></A
>pango_layout_get_log_attrs ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_get_log_attrs      (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-text-processing.html#PANGOLOGATTR"
>PangoLogAttr</A
> **attrs,
                                             gint *n_attrs);</PRE
></TD
></TR
></TABLE
><P
>Retrieve an array of logical attributes for each character in
the <TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6667"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>attrs</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> location to store a pointer to an array of logical attributes
        This value must be freed with g_free().</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>n_attrs</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> location to store the number of the attributes in the
          array. (The stored value will be equal to the total number
          of characters in the layout.)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6686"
></A
><H3
><A
NAME="PANGO-LAYOUT-XY-TO-INDEX"
></A
>pango_layout_xy_to_index ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>gboolean    pango_layout_xy_to_index        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int x,
                                             int y,
                                             int *index,
                                             int *trailing);</PRE
></TD
></TR
></TABLE
><P
>Convert from X and Y position within a layout to the byte 
index to the character at that logical position. If the
position is not inside the layout, the closest position is chosen
(the x/y position will be clamped inside the layout).
If a closest position is chosen, then the function returns <TT
CLASS="LITERAL"
>FALSE</TT
>;
on an exact hit, it returns <TT
CLASS="LITERAL"
>TRUE</TT
>.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6696"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>    a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>x</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>         the X offset (in thousandths of a device unit)
            from the left edge of the layout.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>y</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>         the Y offset (in thousandths of a device unit)
            from the top edge of the layout</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>index</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>     location to store calculated byte index</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>trailing</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  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 trailing edge of the grapheme.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <TT
CLASS="LITERAL"
>TRUE</TT
> if the coordinates were inside text</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6727"
></A
><H3
><A
NAME="PANGO-LAYOUT-INDEX-TO-POS"
></A
>pango_layout_index_to_pos ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_index_to_pos       (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int index,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *pos);</PRE
></TD
></TR
></TABLE
><P
>Convert from an index within a PangoLayout to the onscreen position
corresponding to the grapheme at that index, which is represented
as rectangle.  Note that pos-&#62;x is always the leading edge of the
grapheme and pos-&#62;x + pos-&#62;width the trailing edge of the
grapheme. If the directionality of the grapheme is right-to-left,
then pos-&#62;width will be negative.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6735"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>index</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> byte index within <TT
CLASS="PARAMETER"
><I
>layout</I
></TT
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>pos</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle in which to store the position of the grapheme</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6754"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-CURSOR-POS"
></A
>pango_layout_get_cursor_pos ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_get_cursor_pos     (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int index,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *strong_pos,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *weak_pos);</PRE
></TD
></TR
></TABLE
><P
>Given an index within a layout, determine 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. 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.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6763"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>index</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the byte index of the cursor</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>strong_pos</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> location to store the strong cursor position (may be <TT
CLASS="LITERAL"
>NULL</TT
>)</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>weak_pos</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> location to store the weak cursor position (may be <TT
CLASS="LITERAL"
>NULL</TT
>)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6787"
></A
><H3
><A
NAME="PANGO-LAYOUT-MOVE-CURSOR-VISUALLY"
></A
>pango_layout_move_cursor_visually ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_move_cursor_visually
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             gboolean strong,
                                             int old_index,
                                             int old_trailing,
                                             int direction,
                                             int *new_index,
                                             int *new_trailing);</PRE
></TD
></TR
></TABLE
><P
>Computes a new cursor position from an old position and
a count of positions to move visually. If <TT
CLASS="PARAMETER"
><I
>count</I
></TT
> is positive,
then the new strong cursor position will be one position
to the right of the old cursor position. If <TT
CLASS="PARAMETER"
><I
>count</I
></TT
> is position
then the new strong cursor position will be one position
to the left of the old cursor position. </P
><P
>In the presence of bidirection 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.</P
><P
>Motion here is in cursor positions, not in characters, so a
single call to <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-MOVE-CURSOR-VISUALLY"
>pango_layout_move_cursor_visually</A
>() may move the
cursor over multiple characters when multiple characters combine
to form a single grapheme.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6800"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>       a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>strong</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>       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.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>old_index</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>    the byte index of the grapheme for the old index</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>old_trailing</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> if 0, the cursor was at the trailing edge of the 
               grapheme indicated by <TT
CLASS="PARAMETER"
><I
>old_index</I
></TT
>, if &#62; 0, the cursor
               was at the leading edge.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>direction</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>    direction to move cursor. A negative
               value indicates motion to the left.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>new_index</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>    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.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>new_trailing</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> number of characters to move forward from the location returned
               for <TT
CLASS="PARAMETER"
><I
>new_index</I
></TT
> 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. <TT
CLASS="PARAMETER"
><I
>new_index</I
></TT
> is always on the line
               where the cursor should be displayed. </TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6837"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-EXTENTS"
></A
>pango_layout_get_extents ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_get_extents        (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);</PRE
></TD
></TR
></TABLE
><P
>Compute the logical and ink extents of <TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>. Logical extents
are usually what you want for positioning things. The extents
are given in layout coordinates; layout coordinates begin at the
top left corner of the layout.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6847"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>   a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ink_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle used to store the extents of the layout as drawn
           or <TT
CLASS="LITERAL"
>NULL</TT
> to indicate that the result is not needed.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>logical_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle used to store the logical extents of the layout 
                 or <TT
CLASS="LITERAL"
>NULL</TT
> to indicate that the result is not needed.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6867"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-PIXEL-EXTENTS"
></A
>pango_layout_get_pixel_extents ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_get_pixel_extents  (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);</PRE
></TD
></TR
></TABLE
><P
>Compute the logical and ink extents of <TT
CLASS="PARAMETER"
><I
>layout</I
></TT
> in device units.
See <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-EXTENTS"
>pango_layout_get_extents</A
>(); this function just calls
<A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-EXTENTS"
>pango_layout_get_extents</A
>() and then converts the extents to
pixels using the <A
HREF="pango-glyph-storage.html#PANGO-SCALE-CAPS"
>PANGO_SCALE</A
> factor.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6880"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>   a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ink_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle used to store the extents of the layout as drawn
           or <TT
CLASS="LITERAL"
>NULL</TT
> to indicate that the result is not needed.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>logical_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle used to store the logical extents of the 
             layout or <TT
CLASS="LITERAL"
>NULL</TT
> to indicate that the result is not needed.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6900"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-SIZE"
></A
>pango_layout_get_size ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_get_size           (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int *width,
                                             int *height);</PRE
></TD
></TR
></TABLE
><P
>Determine the logical width and height of a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>
in Pango units. (device units divided by PANGO_SCALE). This
is simply a convenience function around pango_layout_get_extents.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6908"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>width</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> location to store the logical width, or <TT
CLASS="LITERAL"
>NULL</TT
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>height</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> location to store the logical height, or <TT
CLASS="LITERAL"
>NULL</TT
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6928"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-PIXEL-SIZE"
></A
>pango_layout_get_pixel_size ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_get_pixel_size     (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int *width,
                                             int *height);</PRE
></TD
></TR
></TABLE
><P
>Determine the logical width and height of a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>
in device units. (<A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-SIZE"
>pango_layout_get_size</A
>() returns the width
and height in thousandths of a device unit.) This
is simply a convenience function around pango_layout_get_extents.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6937"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>width</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> location to store the logical width, or <TT
CLASS="LITERAL"
>NULL</TT
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>height</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> location to store the logical height, or <TT
CLASS="LITERAL"
>NULL</TT
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6957"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-LINE-COUNT"
></A
>pango_layout_get_line_count ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         pango_layout_get_line_count     (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Retrieve the count of lines for the <TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6965"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the line count</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN6979"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-LINE"
></A
>pango_layout_get_line ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
>* pango_layout_get_line      (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout,
                                             int line);</PRE
></TD
></TR
></TABLE
><P
>Retrieves a particular line from a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN6988"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>line</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the index of a line, which must be between 0 and
       pango_layout_get_line_count(layout) - 1, inclusive.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the requested <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
>, or <TT
CLASS="LITERAL"
>NULL</TT
> 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 <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7009"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-LINES"
></A
>pango_layout_get_lines ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>GSList*     pango_layout_get_lines          (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Return the lines of the <TT
CLASS="PARAMETER"
><I
>layout</I
></TT
> as a list.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7018"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a GSList containing the lines in the layout. This
points to internal data of the <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> and must be used with
care. It will become invalid on any change to the layout's
text or properties.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7034"
></A
><H3
><A
NAME="PANGO-LAYOUT-GET-ITER"
></A
>pango_layout_get_iter ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
>* pango_layout_get_iter      (<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *layout);</PRE
></TD
></TR
></TABLE
><P
>Returns an iterator to iterate over the visual extents of the layout.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7042"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a new <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7057"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-FREE"
></A
>pango_layout_iter_free ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_iter_free          (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);</PRE
></TD
></TR
></TABLE
><P
>Frees an iterator that's no longer in use.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7064"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7074"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-NEXT-RUN"
></A
>pango_layout_iter_next_run ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>gboolean    pango_layout_iter_next_run      (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);</PRE
></TD
></TR
></TABLE
><P
>Moves <TT
CLASS="PARAMETER"
><I
>iter</I
></TT
> forward to the next run in visual order. If <TT
CLASS="PARAMETER"
><I
>iter</I
></TT
> was
already at the end of the layout, returns <TT
CLASS="LITERAL"
>FALSE</TT
>.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7085"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> whether motion was possible</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7099"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-NEXT-CHAR"
></A
>pango_layout_iter_next_char ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>gboolean    pango_layout_iter_next_char     (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);</PRE
></TD
></TR
></TABLE
><P
>Moves <TT
CLASS="PARAMETER"
><I
>iter</I
></TT
> forward to the next character in visual order. If <TT
CLASS="PARAMETER"
><I
>iter</I
></TT
> was already at
the end of the layout, returns <TT
CLASS="LITERAL"
>FALSE</TT
>.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7110"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> whether motion was possible</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7124"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-NEXT-CLUSTER"
></A
>pango_layout_iter_next_cluster ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>gboolean    pango_layout_iter_next_cluster  (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);</PRE
></TD
></TR
></TABLE
><P
>Moves <TT
CLASS="PARAMETER"
><I
>iter</I
></TT
> forward to the next cluster in visual order. If <TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>
was already at the end of the layout, returns <TT
CLASS="LITERAL"
>FALSE</TT
>.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7135"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> whether motion was possible</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7149"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-NEXT-LINE"
></A
>pango_layout_iter_next_line ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>gboolean    pango_layout_iter_next_line     (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);</PRE
></TD
></TR
></TABLE
><P
>Moves <TT
CLASS="PARAMETER"
><I
>iter</I
></TT
> forward to the start of the next line. If <TT
CLASS="PARAMETER"
><I
>iter</I
></TT
> is
already on the last line, returns <TT
CLASS="LITERAL"
>FALSE</TT
>.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7160"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> whether motion was possible</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7174"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-AT-LAST-LINE"
></A
>pango_layout_iter_at_last_line ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>gboolean    pango_layout_iter_at_last_line  (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);</PRE
></TD
></TR
></TABLE
><P
>Determines whether <TT
CLASS="PARAMETER"
><I
>iter</I
></TT
> is on the last line of the layout.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7183"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <TT
CLASS="LITERAL"
>TRUE</TT
> if <TT
CLASS="PARAMETER"
><I
>iter</I
></TT
> is on the last line</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7199"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-GET-INDEX"
></A
>pango_layout_iter_get_index ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         pango_layout_iter_get_index     (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);</PRE
></TD
></TR
></TABLE
><P
>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 <TT
CLASS="LITERAL"
>NULL</TT
> run (see <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-ITER-GET-RUN"
>pango_layout_iter_get_run</A
>()).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7208"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> current byte index</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7222"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-GET-BASELINE"
></A
>pango_layout_iter_get_baseline ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>int         pango_layout_iter_get_baseline  (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);</PRE
></TD
></TR
></TABLE
><P
>Gets the y position of the current line's baseline, in layout
coordinates (origin at top left of the entire layout).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7229"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> baseline of current line</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7243"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-GET-RUN"
></A
>pango_layout_iter_get_run ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="pango-layout-objects.html#PANGOLAYOUTRUN"
>PangoLayoutRun</A
>* pango_layout_iter_get_run   (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);</PRE
></TD
></TR
></TABLE
><P
>Gets the current run. When iterating by run, at the end of each
line, there's a position with a <TT
CLASS="LITERAL"
>NULL</TT
> run, so this function can return
<TT
CLASS="LITERAL"
>NULL</TT
>. The <TT
CLASS="LITERAL"
>NULL</TT
> run at the end of each line ensures that all lines have
at least one run, even lines consisting of only a newline.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7254"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the current run</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7268"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-GET-LINE"
></A
>pango_layout_iter_get_line ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
><A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
>* pango_layout_iter_get_line (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter);</PRE
></TD
></TR
></TABLE
><P
>Gets the current line.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7276"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> the current line</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7290"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-GET-CHAR-EXTENTS"
></A
>pango_layout_iter_get_char_extents ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_iter_get_char_extents
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);</PRE
></TD
></TR
></TABLE
><P
>Gets the extents of the current character, in layout coordinates
(origin is 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.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7298"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>logical_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle to fill with logical extents</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7312"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-GET-CLUSTER-EXTENTS"
></A
>pango_layout_iter_get_cluster_extents ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_iter_get_cluster_extents
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);</PRE
></TD
></TR
></TABLE
><P
>Gets the extents of the current cluster, in layout coordinates
(origin is the top left of the entire layout).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7321"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ink_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle to fill with ink extents</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>logical_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle to fill with logical extents</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7339"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-GET-RUN-EXTENTS"
></A
>pango_layout_iter_get_run_extents ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_iter_get_run_extents
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);</PRE
></TD
></TR
></TABLE
><P
>Gets the extents of the current run in layout coordinates
(origin is the top left of the entire layout).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7348"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ink_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle to fill with ink extents</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>logical_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle to fill with logical extents</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7366"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-GET-LINE-YRANGE"
></A
>pango_layout_iter_get_line_yrange ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_iter_get_line_yrange
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             int *y0,
                                             int *y1);</PRE
></TD
></TR
></TABLE
><P
>Divides the vertical space in the <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> 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
<A
HREF="pango-layout-objects.html#PANGO-LAYOUT-SET-SPACING"
>pango_layout_set_spacing</A
>() has been called to set layout spacing.
The y positions are in layout coordinates (origin at top left of the
entire layout).</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7375"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>y0</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> start of line </TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>y1</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> end of line</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7393"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-GET-LINE-EXTENTS"
></A
>pango_layout_iter_get_line_extents ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_iter_get_line_extents
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);</PRE
></TD
></TR
></TABLE
><P
>Obtains the extents of the current line. <TT
CLASS="PARAMETER"
><I
>ink_rect</I
></TT
> or <TT
CLASS="PARAMETER"
><I
>logical_rect</I
></TT
>
can be NULL if you aren't interested in them. Extents are in layout
coordinates (origin is the top-left corner of the entire
<A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>).  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 <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-LINE-GET-EXTENTS"
>pango_layout_line_get_extents</A
>().</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7406"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ink_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle to fill with ink extents</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>logical_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle to fill with logical extents</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7424"
></A
><H3
><A
NAME="PANGO-LAYOUT-ITER-GET-LAYOUT-EXTENTS"
></A
>pango_layout_iter_get_layout_extents ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_iter_get_layout_extents
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
> *iter,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);</PRE
></TD
></TR
></TABLE
><P
>Obtains the extents of the <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> being iterated
over. <TT
CLASS="PARAMETER"
><I
>ink_rect</I
></TT
> or <TT
CLASS="PARAMETER"
><I
>logical_rect</I
></TT
> can be NULL if you
aren't interested in them.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7436"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>iter</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTITER"
>PangoLayoutIter</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ink_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle to fill with ink extents</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>logical_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle to fill with logical extents</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7454"
></A
><H3
><A
NAME="PANGOLAYOUTLINE"
></A
>struct PangoLayoutLine</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct PangoLayoutLine
{
  PangoLayout *layout;
  gint         start_index;     /* start of line as byte index into layout-&gt;text */
  gint         length;		/* length of line in bytes */
  GSList      *runs;
};</PRE
></TD
></TR
></TABLE
><P
>The <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> structure represents one of the lines resulting
from laying out a paragraph via <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
>. <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
>
structures are obtained by calling <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-GET-LINE"
>pango_layout_get_line</A
>() and
are only valid until the text, attributes, or settings of the
parent <A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> are modified.</P
><P
>Routines for rendering PangoLayout objects are provided in
code specific to each rendering system.</P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7465"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFF0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="LEFT"
VALIGN="TOP"
><A
HREF="pango-layout-objects.html#PANGOLAYOUT"
>PangoLayout</A
> *<TT
CLASS="STRUCTFIELD"
><I
>layout</I
></TT
></TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the parent layout for this line.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="LEFT"
VALIGN="TOP"
>gint <TT
CLASS="STRUCTFIELD"
><I
>start_index</I
></TT
></TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="LEFT"
VALIGN="TOP"
>gint <TT
CLASS="STRUCTFIELD"
><I
>length</I
></TT
></TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the length of the line in bytes.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="LEFT"
VALIGN="TOP"
>GSList *<TT
CLASS="STRUCTFIELD"
><I
>runs</I
></TT
></TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a list containing the runs of the line in visual order.&#13;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7490"
></A
><H3
><A
NAME="PANGOLAYOUTRUN"
></A
>struct PangoLayoutRun</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>struct PangoLayoutRun
{
  PangoItem        *item;
  PangoGlyphString *glyphs;
};</PRE
></TD
></TR
></TABLE
><P
>The <A
HREF="pango-layout-objects.html#PANGOLAYOUTRUN"
>PangoLayoutRun</A
> structure represents a single run within
a <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
>.</P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7497"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFF0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="LEFT"
VALIGN="TOP"
><A
HREF="pango-text-processing.html#PANGOITEM"
>PangoItem</A
> *<TT
CLASS="STRUCTFIELD"
><I
>item</I
></TT
></TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>a <A
HREF="pango-text-processing.html#PANGOITEM"
>PangoItem</A
> structure that provides information
       about the segment of text in this run.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="LEFT"
VALIGN="TOP"
><A
HREF="pango-glyph-storage.html#PANGOGLYPHSTRING"
>PangoGlyphString</A
> *<TT
CLASS="STRUCTFIELD"
><I
>glyphs</I
></TT
></TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>the glyphs obtained by shaping the text for this item.&#13;</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7513"
></A
><H3
><A
NAME="PANGO-LAYOUT-LINE-REF"
></A
>pango_layout_line_ref ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_line_ref           (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line);</PRE
></TD
></TR
></TABLE
><P
>Increase the reference count of a <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> by one.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7521"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>line</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7531"
></A
><H3
><A
NAME="PANGO-LAYOUT-LINE-UNREF"
></A
>pango_layout_line_unref ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_line_unref         (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line);</PRE
></TD
></TR
></TABLE
><P
>Decrease the reference count of a <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> by one.
if the result is zero, the line and all associated memory
will be freed.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7539"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>line</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
></TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7549"
></A
><H3
><A
NAME="PANGO-LAYOUT-LINE-GET-EXTENTS"
></A
>pango_layout_line_get_extents ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_line_get_extents   (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);</PRE
></TD
></TR
></TABLE
><P
>Compute the logical and ink extents of a layout line. See the documentation
for <A
HREF="pango-fonts.html#PANGO-FONT-GET-GLYPH-EXTENTS"
>pango_font_get_glyph_extents</A
>() for details about the interpretation
of the rectangles.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7559"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>line</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>     a <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ink_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle used to store the extents of the glyph string as drawn
           or <TT
CLASS="LITERAL"
>NULL</TT
> to indicate that the result is not needed.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>logical_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle used to store the logical extents of the glyph string
           or <TT
CLASS="LITERAL"
>NULL</TT
> to indicate that the result is not needed.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7579"
></A
><H3
><A
NAME="PANGO-LAYOUT-LINE-GET-PIXEL-EXTENTS"
></A
>pango_layout_line_get_pixel_extents ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_line_get_pixel_extents
                                            (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *layout_line,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *ink_rect,
                                             <A
HREF="pango-glyph-storage.html#PANGORECTANGLE"
>PangoRectangle</A
> *logical_rect);</PRE
></TD
></TR
></TABLE
><P
>Compute the logical and ink extents of a layout line. See the documentation
for <A
HREF="pango-fonts.html#PANGO-FONT-GET-GLYPH-EXTENTS"
>pango_font_get_glyph_extents</A
>() for details about the interpretation
of the rectangles. The returned rectangles are in device units, as
opposed to <A
HREF="pango-layout-objects.html#PANGO-LAYOUT-LINE-GET-EXTENTS"
>pango_layout_line_get_extents</A
>(), which returns the extents in
units of device unit / PANGO_SCALE.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7590"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>layout_line</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> a <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ink_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>    rectangle used to store the extents of the glyph string as drawn
              or <TT
CLASS="LITERAL"
>NULL</TT
> to indicate that the result is not needed.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>logical_rect</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> rectangle used to store the logical extents of the glyph string
              or <TT
CLASS="LITERAL"
>NULL</TT
> to indicate that the result is not needed.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7610"
></A
><H3
><A
NAME="PANGO-LAYOUT-LINE-INDEX-TO-X"
></A
>pango_layout_line_index_to_x ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_line_index_to_x    (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line,
                                             int index,
                                             gboolean trailing,
                                             int *x_pos);</PRE
></TD
></TR
></TABLE
><P
>Converts an index within a line to a X position.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7618"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>line</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>     a <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>index</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>    byte offset of a grapheme within the layout</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>trailing</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> an integer indicating the edge of the grapheme to retrieve 
           the position of. If 0, the trailing edge of the grapheme, 
           if &#62; 0, the leading of the grapheme.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>x_pos</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> location to store the x_offset (in thousandths of a device unit)</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7640"
></A
><H3
><A
NAME="PANGO-LAYOUT-LINE-X-TO-INDEX"
></A
>pango_layout_line_x_to_index ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>gboolean    pango_layout_line_x_to_index    (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line,
                                             int x_pos,
                                             int *index,
                                             int *trailing);</PRE
></TD
></TR
></TABLE
><P
>Convert from x offset to the byte index of the corresponding
character within the text of the layout. If <TT
CLASS="PARAMETER"
><I
>x_pos</I
></TT
> is outside the line,
the start or end of the line will be stored at <TT
CLASS="PARAMETER"
><I
>index</I
></TT
>.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7650"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>line</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>      a <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>x_pos</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>     the x offset (in thousands of a device unit)
            from the left edge of the line.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>index</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>     location to store calculated byte offset for
            the grapheme in which the user clicked.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>trailing</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>  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 trailing edge of the cluster.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><SPAN
CLASS="emphasis"
><I
CLASS="EMPHASIS"
>Returns</I
></SPAN
> :</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> <TT
CLASS="LITERAL"
>FALSE</TT
> if <TT
CLASS="PARAMETER"
><I
>x_pos</I
></TT
> was outside the line, <TT
CLASS="LITERAL"
>TRUE</TT
> if inside</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
><HR><DIV
CLASS="REFSECT2"
><A
NAME="AEN7679"
></A
><H3
><A
NAME="PANGO-LAYOUT-LINE-GET-X-RANGES"
></A
>pango_layout_line_get_x_ranges ()</H3
><TABLE
BORDER="0"
BGCOLOR="#D6E8FF"
WIDTH="100%"
CELLPADDING="6"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>void        pango_layout_line_get_x_ranges  (<A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
> *line,
                                             int start_index,
                                             int end_index,
                                             int **ranges,
                                             int *n_ranges);</PRE
></TD
></TR
></TABLE
><P
>Get 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.</P
><P
></P
><DIV
CLASS="INFORMALTABLE"
><A
NAME="AEN7686"
></A
><P
></P
><TABLE
BORDER="0"
WIDTH="100%"
BGCOLOR="#FFD0D0"
CELLSPACING="0"
CELLPADDING="4"
CLASS="CALSTABLE"
><TBODY
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>line</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>        a <A
HREF="pango-layout-objects.html#PANGOLAYOUTLINE"
>PangoLayoutLine</A
></TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>start_index</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> 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.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>end_index</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>   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.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>ranges</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
>      location to store a pointer to an array of arranges.
              The array will be of length 2*<TT
CLASS="PARAMETER"
><I
>n_ranges</I
></TT
>, with each
              range including the pixels from (*ranges)[2*n] to
              (*ranges)[2*n + 1] - 1. This array must be freed
              with g_free. The pixels are in layout coordinates.</TD
></TR
><TR
><TD
WIDTH="20%"
ALIGN="RIGHT"
VALIGN="TOP"
><TT
CLASS="PARAMETER"
><I
>n_ranges</I
></TT
>&nbsp;:</TD
><TD
WIDTH="80%"
ALIGN="LEFT"
VALIGN="TOP"
> The number of ranges stored in <TT
CLASS="PARAMETER"
><I
>ranges</I
></TT
>.</TD
></TR
></TBODY
></TABLE
><P
></P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><BR
CLEAR="all"><BR><TABLE
WIDTH="100%"
BORDER="0"
BGCOLOR="#000000"
CELLPADDING="1"
CELLSPACING="0"
><TR
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="left"
><A
HREF="pangomarkupformat.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>&#60;&#60;&#60; Previous Page</B
></FONT
></A
></TD
><TD
WIDTH="25%"
BGCOLOR="#0000C0"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="index.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Home</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#00C000"
ALIGN="center"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
><A
HREF="pango.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Up</B
></FONT
></A
></B
></FONT
></TD
><TD
WIDTH="25%"
BGCOLOR="#C00000"
ALIGN="right"
><A
HREF="rendering.html"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Next Page &#62;&#62;&#62;</B
></FONT
></A
></TD
></TR
><TR
><TD
COLSPAN="2"
ALIGN="left"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Pango Text Attribute Markup</B
></FONT
></TD
><TD
COLSPAN="2"
ALIGN="right"
><FONT
COLOR="#FFFFFF"
SIZE="3"
><B
>Rendering with Pango</B
></FONT
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>