]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/basic/glyph-util.h
man/systemd-sysext: list ephemeral/ephemeral-import in the list of options
[thirdparty/systemd.git] / src / basic / glyph-util.h
CommitLineData
d8e32c47
LP
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2#pragma once
3
0c15577a 4#include "forward.h"
d8e32c47 5
1ae9b0cf 6typedef enum Glyph {
75d51d77 7 GLYPH_SPACE,
1ae9b0cf
ZJS
8 GLYPH_TREE_VERTICAL,
9 GLYPH_TREE_BRANCH,
10 GLYPH_TREE_RIGHT,
11 GLYPH_TREE_SPACE,
12 GLYPH_TREE_TOP,
13 GLYPH_VERTICAL_DOTTED,
14 GLYPH_HORIZONTAL_DOTTED,
15 GLYPH_HORIZONTAL_FAT,
16 GLYPH_TRIANGULAR_BULLET,
17 GLYPH_BLACK_CIRCLE,
18 GLYPH_WHITE_CIRCLE,
19 GLYPH_MULTIPLICATION_SIGN,
20 GLYPH_CIRCLE_ARROW,
21 GLYPH_BULLET,
22 GLYPH_MU,
23 GLYPH_CHECK_MARK,
24 GLYPH_CROSS_MARK,
25 GLYPH_LIGHT_SHADE,
26 GLYPH_DARK_SHADE,
27 GLYPH_FULL_BLOCK,
28 GLYPH_SIGMA,
29 GLYPH_ARROW_UP,
30 GLYPH_ARROW_DOWN,
31 GLYPH_ARROW_LEFT,
32 GLYPH_ARROW_RIGHT,
33 GLYPH_ELLIPSIS,
34 GLYPH_EXTERNAL_LINK,
35 _GLYPH_FIRST_EMOJI,
36 GLYPH_ECSTATIC_SMILEY = _GLYPH_FIRST_EMOJI,
37 GLYPH_HAPPY_SMILEY,
38 GLYPH_SLIGHTLY_HAPPY_SMILEY,
39 GLYPH_NEUTRAL_SMILEY,
40 GLYPH_SLIGHTLY_UNHAPPY_SMILEY,
41 GLYPH_UNHAPPY_SMILEY,
42 GLYPH_DEPRESSED_SMILEY,
43 GLYPH_LOCK_AND_KEY,
44 GLYPH_TOUCH,
45 GLYPH_RECYCLING,
46 GLYPH_DOWNLOAD,
47 GLYPH_SPARKLES,
48 GLYPH_LOW_BATTERY,
49 GLYPH_WARNING_SIGN,
50 GLYPH_COMPUTER_DISK,
51 GLYPH_WORLD,
52 GLYPH_RED_CIRCLE,
53 GLYPH_YELLOW_CIRCLE,
54 GLYPH_BLUE_CIRCLE,
55 GLYPH_GREEN_CIRCLE,
56 GLYPH_SUPERHERO,
57 GLYPH_IDCARD,
58 GLYPH_HOME,
59 _GLYPH_MAX,
60 _GLYPH_INVALID = -EINVAL,
61} Glyph;
d8e32c47 62
d8e32c47
LP
63bool emoji_enabled(void);
64
1ae9b0cf 65const char* glyph_full(Glyph code, bool force_utf) _const_;
be994c26 66
1ae9b0cf
ZJS
67static inline const char* glyph(Glyph code) {
68 return glyph_full(code, false);
e3d4148d
OJ
69}
70
75d51d77
ZJS
71static inline const char* optional_glyph(Glyph code) {
72 return emoji_enabled() ? glyph(code) : "";
73}
74
1ae9b0cf
ZJS
75static inline const char* glyph_check_mark(bool b) {
76 return b ? glyph(GLYPH_CHECK_MARK) : glyph(GLYPH_CROSS_MARK);
d8e32c47
LP
77}
78
1ae9b0cf
ZJS
79static inline const char* glyph_check_mark_space(bool b) {
80 return b ? glyph(GLYPH_CHECK_MARK) : " ";
d8e32c47 81}