#ifndef __PANGO_ITEM_H__
23 #define __PANGO_ITEM_H__
24
25 #include <pango/pango-types.h>
26
27 G_BEGIN_DECLS
28
29 typedef struct _PangoAnalysis PangoAnalysis;
30 typedef struct _PangoItem PangoItem;
31
40 #define PANGO_ANALYSIS_FLAG_CENTERED_BASELINE (1 << 0)
41
50 #define PANGO_ANALYSIS_FLAG_IS_ELLIPSIS (1 << 1)
51
67 struct _PangoAnalysis
68 {
69 PangoEngineShape *shape_engine;
70 PangoEngineLang *lang_engine;
71 PangoFont *font;
72
73 guint8 level;
74 guint8 gravity; /* PangoGravity */
75 guint8 flags;
76
77 guint8 script; /* PangoScript */
78 PangoLanguage *language;
79
80 GSList *extra_attrs;
81 };
82
92 struct _PangoItem
93 {
94 gint offset;
95 gint length;
96 gint num_chars;
97 PangoAnalysis analysis;
98 };
99
100 #define PANGO_TYPE_ITEM (pango_item_get_type ())
101
102 PANGO_AVAILABLE_IN_ALL
103 GType pango_item_get_type (void) G_GNUC_CONST;
104
105 PANGO_AVAILABLE_IN_ALL
106 PangoItem *pango_item_new (void);
107 PANGO_AVAILABLE_IN_ALL
108 PangoItem *pango_item_copy (PangoItem *item);
109 PANGO_AVAILABLE_IN_ALL
110 void pango_item_free (PangoItem *item);
111 PANGO_AVAILABLE_IN_ALL
112 PangoItem *pango_item_split (PangoItem *orig,
113 int split_index,
114 int split_offset);
115
116 G_END_DECLS
117
118 #endif /* __PANGO_ITEM_H__ */