summaryrefslogtreecommitdiff
path: root/pango/pango-line.h
blob: d788e66f812ba7377b661d6f8e30c0481fd637c0 (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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#pragma once

#include <glib-object.h>

#include <pango/pango-types.h>
#include <pango/pango-layout-run.h>

G_BEGIN_DECLS

typedef PangoGlyphItem PangoLayoutRun;

#define PANGO_TYPE_LINE pango_line_get_type ()

PANGO_AVAILABLE_IN_ALL
G_DECLARE_FINAL_TYPE (PangoLine, pango_line, PANGO, LINE, GObject);

PANGO_AVAILABLE_IN_ALL
PangoLine *             pango_line_justify              (PangoLine             *line,
                                                         int                    width);

PANGO_AVAILABLE_IN_ALL
GSList *                pango_line_get_runs             (PangoLine             *line);

PANGO_AVAILABLE_IN_ALL
const char *            pango_line_get_text             (PangoLine             *line,
                                                         int                   *start_index,
                                                         int                   *length);

PANGO_AVAILABLE_IN_ALL
int                     pango_line_get_start_index      (PangoLine             *line);

PANGO_AVAILABLE_IN_ALL
int                     pango_line_get_length           (PangoLine             *line);

PANGO_AVAILABLE_IN_ALL
const PangoLogAttr *    pango_line_get_log_attrs        (PangoLine             *line,
                                                         int                   *start_offset,
                                                         int                   *n_attrs);

PANGO_AVAILABLE_IN_ALL
gboolean                pango_line_wrapped              (PangoLine             *line);

PANGO_AVAILABLE_IN_ALL
gboolean                pango_line_ellipsized           (PangoLine             *line);

PANGO_AVAILABLE_IN_ALL
gboolean                pango_line_hyphenated           (PangoLine             *line);

PANGO_AVAILABLE_IN_ALL
gboolean                pango_line_justified            (PangoLine             *line);

PANGO_AVAILABLE_IN_ALL
gboolean                pango_line_starts_paragraph     (PangoLine             *line);

PANGO_AVAILABLE_IN_ALL
gboolean                pango_line_ends_paragraph       (PangoLine             *line);

PANGO_AVAILABLE_IN_ALL
PangoDirection          pango_line_get_resolved_direction
                                                        (PangoLine             *line);

PANGO_AVAILABLE_IN_ALL
void                    pango_line_get_extents          (PangoLine             *line,
                                                         PangoRectangle        *ink_rect,
                                                         PangoRectangle        *logical_rect);

PANGO_AVAILABLE_IN_ALL
void                    pango_line_get_trimmed_extents  (PangoLine             *line,
                                                         PangoLeadingTrim       trim,
                                                         PangoRectangle        *logical_rect);

PANGO_AVAILABLE_IN_ALL
void                    pango_line_index_to_pos         (PangoLine             *line,
                                                         int                    idx,
                                                         PangoRectangle        *pos);

PANGO_AVAILABLE_IN_ALL
void                    pango_line_index_to_x           (PangoLine             *line,
                                                         int                    idx,
                                                         int                    trailing,
                                                         int                   *x_pos);

PANGO_AVAILABLE_IN_ALL
gboolean                pango_line_x_to_index           (PangoLine             *line,
                                                         int                    x,
                                                         int                   *idx,
                                                         int                   *trailing);

PANGO_AVAILABLE_IN_ALL
void                    pango_line_get_cursor_pos       (PangoLine             *line,
                                                         int                    idx,
                                                         PangoRectangle        *strong_pos,
                                                         PangoRectangle        *weak_pos);

PANGO_AVAILABLE_IN_ALL
void                    pango_line_get_caret_pos        (PangoLine             *line,
                                                         int                    idx,
                                                         PangoRectangle        *strong_pos,
                                                         PangoRectangle        *weak_pos);

G_END_DECLS