blob: 0132401f88611ec8e84954ccf44f58422b3daefb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
#pragma once
#include "pango-layout-line.h"
#include "pango-break.h"
#include "pango-attributes.h"
#include "pango-glyph-item.h"
typedef struct _LineData LineData;
struct _LineData {
char *text;
int length;
int n_chars;
PangoDirection direction;
PangoAttrList *attrs;
PangoLogAttr *log_attrs;
};
LineData * line_data_new (void);
LineData * line_data_ref (LineData *data);
void line_data_unref (LineData *data);
void line_data_clear (LineData *data);
struct _PangoLayoutLine
{
GObject parent_instance;
PangoContext *context;
LineData *data;
int start_index;
int length;
int start_offset;
int n_chars;
GSList *runs;
guint wrapped : 1;
guint ellipsized : 1;
guint hyphenated : 1;
guint justified : 1;
guint starts_paragraph : 1;
guint ends_paragraph : 1;
guint has_extents : 1;
PangoDirection direction;
PangoRectangle ink_rect;
PangoRectangle logical_rect;
};
PangoLayoutLine * pango_layout_line_new (PangoContext *context,
LineData *data);
void pango_layout_line_ellipsize (PangoLayoutLine *line,
PangoContext *context,
PangoEllipsizeMode ellipsize,
int goal_width);
void pango_layout_line_index_to_run (PangoLayoutLine *line,
int idx,
PangoLayoutRun **run);
void pango_layout_line_get_empty_extents (PangoLayoutLine *line,
PangoLeadingTrim trim,
PangoRectangle *logical_rect);
void pango_layout_line_check_invariants (PangoLayoutLine *line);
|