summaryrefslogtreecommitdiff
path: root/pango/pango-layout.h
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2000-03-08 18:39:49 +0000
committerOwen Taylor <otaylor@src.gnome.org>2000-03-08 18:39:49 +0000
commit773bc55fc9e344f8040809ba8796b0ba2805e4c9 (patch)
tree89e900594294e87b4a4de8f71571762d6ccc8871 /pango/pango-layout.h
parentdd0b4a5064c6f60adcfd2ea02e2d61fb60254d20 (diff)
downloadpango-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.h71
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
}