]>
Commit | Line | Data |
---|---|---|
d8e32c47 LP |
1 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ |
2 | #pragma once | |
3 | ||
4 | #include <errno.h> | |
5 | #include <stdbool.h> | |
6 | ||
7 | #include "macro.h" | |
8 | ||
9 | typedef enum SpecialGlyph { | |
10 | SPECIAL_GLYPH_TREE_VERTICAL, | |
11 | SPECIAL_GLYPH_TREE_BRANCH, | |
12 | SPECIAL_GLYPH_TREE_RIGHT, | |
13 | SPECIAL_GLYPH_TREE_SPACE, | |
fc03e80c | 14 | SPECIAL_GLYPH_TREE_TOP, |
9117d94b | 15 | SPECIAL_GLYPH_VERTICAL_DOTTED, |
71cb203a LP |
16 | SPECIAL_GLYPH_HORIZONTAL_DOTTED, |
17 | SPECIAL_GLYPH_HORIZONTAL_FAT, | |
d8e32c47 LP |
18 | SPECIAL_GLYPH_TRIANGULAR_BULLET, |
19 | SPECIAL_GLYPH_BLACK_CIRCLE, | |
20 | SPECIAL_GLYPH_WHITE_CIRCLE, | |
21 | SPECIAL_GLYPH_MULTIPLICATION_SIGN, | |
22 | SPECIAL_GLYPH_CIRCLE_ARROW, | |
23 | SPECIAL_GLYPH_BULLET, | |
24 | SPECIAL_GLYPH_MU, | |
25 | SPECIAL_GLYPH_CHECK_MARK, | |
26 | SPECIAL_GLYPH_CROSS_MARK, | |
d8e32c47 LP |
27 | SPECIAL_GLYPH_LIGHT_SHADE, |
28 | SPECIAL_GLYPH_DARK_SHADE, | |
24aeaf4e | 29 | SPECIAL_GLYPH_FULL_BLOCK, |
d8e32c47 | 30 | SPECIAL_GLYPH_SIGMA, |
c27465d7 LP |
31 | SPECIAL_GLYPH_ARROW_UP, |
32 | SPECIAL_GLYPH_ARROW_DOWN, | |
33 | SPECIAL_GLYPH_ARROW_LEFT, | |
34 | SPECIAL_GLYPH_ARROW_RIGHT, | |
35 | SPECIAL_GLYPH_ELLIPSIS, | |
d8e32c47 LP |
36 | SPECIAL_GLYPH_EXTERNAL_LINK, |
37 | _SPECIAL_GLYPH_FIRST_EMOJI, | |
38 | SPECIAL_GLYPH_ECSTATIC_SMILEY = _SPECIAL_GLYPH_FIRST_EMOJI, | |
39 | SPECIAL_GLYPH_HAPPY_SMILEY, | |
40 | SPECIAL_GLYPH_SLIGHTLY_HAPPY_SMILEY, | |
41 | SPECIAL_GLYPH_NEUTRAL_SMILEY, | |
42 | SPECIAL_GLYPH_SLIGHTLY_UNHAPPY_SMILEY, | |
43 | SPECIAL_GLYPH_UNHAPPY_SMILEY, | |
44 | SPECIAL_GLYPH_DEPRESSED_SMILEY, | |
45 | SPECIAL_GLYPH_LOCK_AND_KEY, | |
46 | SPECIAL_GLYPH_TOUCH, | |
47 | SPECIAL_GLYPH_RECYCLING, | |
48 | SPECIAL_GLYPH_DOWNLOAD, | |
49 | SPECIAL_GLYPH_SPARKLES, | |
e3d4148d | 50 | SPECIAL_GLYPH_LOW_BATTERY, |
03c16b97 | 51 | SPECIAL_GLYPH_WARNING_SIGN, |
3b516db7 LP |
52 | SPECIAL_GLYPH_COMPUTER_DISK, |
53 | SPECIAL_GLYPH_WORLD, | |
c80139f0 LP |
54 | SPECIAL_GLYPH_RED_CIRCLE, |
55 | SPECIAL_GLYPH_YELLOW_CIRCLE, | |
56 | SPECIAL_GLYPH_BLUE_CIRCLE, | |
795ec90c | 57 | SPECIAL_GLYPH_GREEN_CIRCLE, |
d8e32c47 LP |
58 | _SPECIAL_GLYPH_MAX, |
59 | _SPECIAL_GLYPH_INVALID = -EINVAL, | |
60 | } SpecialGlyph; | |
61 | ||
d8e32c47 LP |
62 | bool emoji_enabled(void); |
63 | ||
bfd5a068 | 64 | const char* special_glyph_full(SpecialGlyph code, bool force_utf) _const_; |
be994c26 | 65 | |
bfd5a068 | 66 | static inline const char* special_glyph(SpecialGlyph code) { |
e3d4148d OJ |
67 | return special_glyph_full(code, false); |
68 | } | |
69 | ||
bfd5a068 | 70 | static inline const char* special_glyph_check_mark(bool b) { |
d8e32c47 LP |
71 | return b ? special_glyph(SPECIAL_GLYPH_CHECK_MARK) : special_glyph(SPECIAL_GLYPH_CROSS_MARK); |
72 | } | |
73 | ||
bfd5a068 | 74 | static inline const char* special_glyph_check_mark_space(bool b) { |
d8e32c47 LP |
75 | return b ? special_glyph(SPECIAL_GLYPH_CHECK_MARK) : " "; |
76 | } |