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 /pango/pango-layout.h | |
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 'pango/pango-layout.h')
-rw-r--r-- | pango/pango-layout.h | 71 |
1 files changed, 40 insertions, 31 deletions
diff --git a/pango/pango-layout.h b/pango/pango-layout.h index b9c1ea6f..75e82bad 100644 --- a/pango/pango-layout.h +++ b/pango/pango-layout.h @@ -22,6 +22,10 @@ #ifndef __PANGO_LAYOUT_H__ #define __PANGO_LAYOUT_H__ +#include <pango-attributes.h> +#include <pango-context.h> +#include <pango-glyph.h> + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -33,7 +37,6 @@ typedef struct _PangoLayoutRun PangoLayoutRun; struct _PangoLayoutLine { PangoLayout *layout; - gint n_chars; /* length of line in characters */ gint length; /* length of line in bytes*/ GSList *runs; }; @@ -44,37 +47,43 @@ struct _PangoLayoutRun PangoGlyphString *glyphs; }; -PangoLayout * pango_layout_new (void); -void pango_layout_ref (PangoLayout *layout); -void pango_layout_unref (PangoLayout *layout); -void pango_layout_set_width (PangoLayout *layout, - int width); -void pango_layout_set_justify (PangoLayout *layout, - gboolean justify); -void pango_layout_set_first_line_width (PangoLayout *layout, - int width); -void pango_layout_set_attributes (PangoLayout *layout, - PangoAttrList *attrs); -void pango_layout_set_text (char *text, - int length); -int pango_layout_get_line_count (PangoLayout *layout); -PangoLayoutLine *pango_layout_get_line (PangoLayout *layout, - int line); -void pango_layout_cp_to_line_x (PangoLayout *layout, - gint char_pos, - gboolean trailing, - gint *line, - gint *x_pos); +PangoLayout * pango_layout_new (PangoContext *context); +void pango_layout_ref (PangoLayout *layout); +void pango_layout_unref (PangoLayout *layout); +void pango_layout_set_width (PangoLayout *layout, + int width); +void pango_layout_set_justify (PangoLayout *layout, + gboolean justify); +void pango_layout_set_first_line_width (PangoLayout *layout, + int width); +void pango_layout_set_attributes (PangoLayout *layout, + PangoAttrList *attrs); +void pango_layout_set_text (PangoLayout *layout, + char *text, + int length); +int pango_layout_get_line_count (PangoLayout *layout); +PangoLayoutLine * pango_layout_get_line (PangoLayout *layout, + int line); +GSList * pango_layout_get_lines (PangoLayout *layout); +void pango_layout_index_to_line_x (PangoLayout *layout, + int index, + gboolean trailing, + int *line, + int *x_pos); -void pango_layout_line_ref (PangoLayoutLine *line); -void pango_layout_line_unref (PangoLayoutLine *line); -void pango_layout_line_x_to_cp (PangoLayoutLine *line, - gint x_pos, - gint *char_pos, - gint *trailing); -void pango_layout_line_get_extents (PangoLayoutLine *line, - PangoRectangle *ink_rect, - PangoRectangle *logical_rect); +void pango_layout_line_ref (PangoLayoutLine *line); +void pango_layout_line_unref (PangoLayoutLine *line); +gboolean pango_layout_line_x_to_index (PangoLayoutLine *line, + int x_pos, + int *index, + int *trailing); +void pango_layout_line_index_to_x (PangoLayoutLine *line, + int index, + gboolean trailing, + int *x_pos); +void pango_layout_line_get_extents (PangoLayoutLine *line, + PangoRectangle *ink_rect, + PangoRectangle *logical_rect); #ifdef __cplusplus } |