diff options
author | Owen Taylor <otaylor@redhat.com> | 2000-03-08 18:39:49 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2000-03-08 18:39:49 +0000 |
commit | 773bc55fc9e344f8040809ba8796b0ba2805e4c9 (patch) | |
tree | 89e900594294e87b4a4de8f71571762d6ccc8871 /docs | |
parent | dd0b4a5064c6f60adcfd2ea02e2d61fb60254d20 (diff) | |
download | pango-773bc55fc9e344f8040809ba8796b0ba2805e4c9.tar.gz |
First draft of highlevel driver. It currently only handles a paragraph as
Wed Mar 8 13:34:57 2000 Owen Taylor <otaylor@redhat.com>
* libpango/pango-layout.[ch]: First draft of highlevel
driver. It currently only handles a paragraph as a list
of lines, but it is probably necessary to make it handle
2D layout for a paragraph as well
* examples/viewer.c: Move over to new layout driver
(much of the code moved into pango-layout.c)
* libpango/glyphs.c libpango/pango-glyphs.h: Fixes to get_extents(),
add pango_glyph_string_get_logical_widths.
* libpango/pango-itemize.c: Handle 0-length text properly.
* libpango/pangox.c: When loading particular sized fonts,
use the original XLFD, since XFree86 doesn't handle wildcards
in aliases properly.
* libpango/pangox.[ch] (pango_x_render_layout_line): Add function
to render an entire PangoLayoutLine.
* libpango/reorder-items.c: Add a note to the effect
that pango_reorder_items() is basically replaced by a
similar function in PangoLayout.
Wed Mar 8 10:58:56 2000 Owen Taylor <otaylor@redhat.com>
* modules/arabic/arconv.c (shapecount): Fix from Karl
Koehler to joining behavior.
* modules/Makefile.am modules/arabic/*: Added arabic
shaper from Karl Koehler <koehler@or.uni-bonn.de>
* modules/basic/tables-{small,big}.i: Remove arabic
from the ranges that the basic shaper marks as "exact".
* examples/HELLO.utf8: Partially alphabetize, add arabic.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/tmpl/layout.sgml | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/docs/tmpl/layout.sgml b/docs/tmpl/layout.sgml new file mode 100644 index 00000000..aa44fd98 --- /dev/null +++ b/docs/tmpl/layout.sgml @@ -0,0 +1,195 @@ +<!-- ##### SECTION Title ##### --> +Layout Objects + +<!-- ##### SECTION Short_Description ##### --> +Layout driver objects for entire paragraphs. + +<!-- ##### SECTION Long_Description ##### --> +<para> +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. +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + +</para> + +<!-- ##### STRUCT PangoLayout ##### --> +<para> +The #PangoLayout structure represents and entire paragraph +of text. It is initialized with a #PangoContext, UTF-8 string +and set of attirbutes for that string. Once that is done, the +set of formatted lines can be extracted from the object. +</para> + + +<!-- ##### STRUCT PangoLayoutLine ##### --> +<para> +The #PangoLayoutLine structure represents one of the lines resulting +from laying out a paragraph via #PangoLayout. #PangoLayoutLine +structures are obtained by calling pango_layout_get_line() and +are only valid until the text, attributes, or settings of the +parent #PangoLayout are modified. +</para> +<para> +Routines for rendering PangoLayout objects are provided in +code specific to each rendering system. +</para> + +@layout: the parent layout for this line. +@n_chars: the total number of characters in the line. +@length: the length of the line in bytes. +@runs: a list containing the runs of the line in visual order. + +<!-- ##### STRUCT PangoLayoutRun ##### --> +<para> +The #PangoLayoutRun structure represents a single run within +a #PangoLayoutLine. +</para> + +@item: a #PangoItem structure that provides information + about the segment of text in this run. +@glyphs: the glyphs obtained by shaping the text for this item. + +<!-- ##### FUNCTION pango_layout_new ##### --> +<para> + +</para> + +@Returns: + + +<!-- ##### FUNCTION pango_layout_ref ##### --> +<para> + +</para> + +@layout: + + +<!-- ##### FUNCTION pango_layout_unref ##### --> +<para> + +</para> + +@layout: + + +<!-- ##### FUNCTION pango_layout_set_text ##### --> +<para> + +</para> + +@text: +@length: + + +<!-- ##### FUNCTION pango_layout_set_attributes ##### --> +<para> + +</para> + +@layout: +@attrs: + + +<!-- ##### FUNCTION pango_layout_set_width ##### --> +<para> + +</para> + +@layout: +@width: + + +<!-- ##### FUNCTION pango_layout_set_first_line_width ##### --> +<para> + +</para> + +@layout: +@width: + + +<!-- ##### FUNCTION pango_layout_set_justify ##### --> +<para> + +</para> + +@layout: +@justify: + + +<!-- ##### FUNCTION pango_layout_cp_to_line_x ##### --> +<para> + +</para> + +@layout: +@char_pos: +@trailing: +@line: +@x_pos: + + +<!-- ##### FUNCTION pango_layout_get_line_count ##### --> +<para> + +</para> + +@layout: +@Returns: + + +<!-- ##### FUNCTION pango_layout_get_line ##### --> +<para> + +</para> + +@layout: +@line: +@Returns: + + +<!-- ##### FUNCTION pango_layout_line_ref ##### --> +<para> + +</para> + +@line: + + +<!-- ##### FUNCTION pango_layout_line_unref ##### --> +<para> + +</para> + +@line: + + +<!-- ##### FUNCTION pango_layout_line_x_to_cp ##### --> +<para> + +</para> + +@line: +@x_pos: +@char_pos: +@trailing: + + +<!-- ##### FUNCTION pango_layout_line_get_extents ##### --> +<para> + +</para> + +@line: +@ink_rect: +@logical_rect: + + |