Mercurial > molko
annotate examples/example-label.c @ 153:aa6e70e330a1
ui: make label less smart
It should not contain alignment because it should be handled by the user
tself.
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 15 Oct 2020 18:45:27 +0200 |
parents | 9733d379be89 |
children | c3a40062acc2 |
rev | line source |
---|---|
145
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * example-label.c -- show how to use label and alignments |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr> |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 #include <core/clock.h> |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 #include <core/event.h> |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 #include <core/painter.h> |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 #include <core/panic.h> |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 #include <core/sys.h> |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 #include <core/util.h> |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 #include <core/window.h> |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 |
153
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
27 #include <ui/align.h> |
148
c577c15df07f
misc: split libraries, closes #2496
David Demelier <markand@malikania.fr>
parents:
145
diff
changeset
|
28 #include <ui/label.h> |
c577c15df07f
misc: split libraries, closes #2496
David Demelier <markand@malikania.fr>
parents:
145
diff
changeset
|
29 #include <ui/theme.h> |
c577c15df07f
misc: split libraries, closes #2496
David Demelier <markand@malikania.fr>
parents:
145
diff
changeset
|
30 |
145
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 #define W (1280) |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 #define H (720) |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 |
153
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
34 struct { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
35 enum align align; |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
36 struct label label; |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
37 } table[] = { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
38 { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
39 .align = ALIGN_TOP_LEFT, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
40 .label = { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
41 .text = "Top left" |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
42 } |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
43 }, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
44 { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
45 .align = ALIGN_TOP, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
46 .label = { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
47 .text = "Top", |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
48 } |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
49 }, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
50 { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
51 .align = ALIGN_TOP_RIGHT, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
52 .label = { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
53 .text = "Top right", |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
54 } |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
55 }, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
56 { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
57 .align = ALIGN_RIGHT, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
58 .label = { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
59 .text = "Right", |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
60 } |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
61 }, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
62 { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
63 .align = ALIGN_BOTTOM_RIGHT, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
64 .label = { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
65 .text = "Bottom right", |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
66 } |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
67 }, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
68 { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
69 .align = ALIGN_BOTTOM, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
70 .label = { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
71 .text = "Bottom", |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
72 } |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
73 }, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
74 { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
75 .align = ALIGN_BOTTOM_LEFT, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
76 .label = { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
77 .text = "Bottom left", |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
78 } |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
79 }, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
80 { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
81 .align = ALIGN_LEFT, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
82 .label = { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
83 .text = "Left", |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
84 } |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
85 }, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
86 { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
87 .align = ALIGN_CENTER, |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
88 .label = { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
89 .text = "The world is Malikania.", |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
90 .flags = LABEL_FLAGS_SHADOW |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
91 } |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
92 } |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
93 }; |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
94 |
145
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 static void |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 init(void) |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 { |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 if (!sys_init() || |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
99 !window_init("Example - Label", W, H) || |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 !theme_init()) |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 panic(); |
153
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
102 |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
103 for (size_t i = 0; i < NELEM(table); ++i) { |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
104 struct label *l = &table[i].label; |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
105 |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
106 label_query(l); |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
107 align(table[i].align, &l->x, &l->y, l->w, l->h, 0, 0, W, H); |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
108 } |
145
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 } |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 static void |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 quit(void) |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
113 { |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 theme_finish(); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 window_finish(); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 sys_finish(); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
117 } |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 static void |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
120 run(void) |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 { |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 struct clock clock = {0}; |
149
a43e79d489ea
ui: allow custom position of labels
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
123 struct label mlabel = { |
a43e79d489ea
ui: allow custom position of labels
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
124 .text = "This one follows your mouse and is not aligned." |
a43e79d489ea
ui: allow custom position of labels
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
125 }; |
145
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
126 |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 clock_start(&clock); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
129 for (;;) { |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
130 union event ev; |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
131 unsigned int elapsed = clock_elapsed(&clock); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
132 |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
133 clock_start(&clock); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
134 |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
135 while (event_poll(&ev)) { |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
136 switch (ev.type) { |
149
a43e79d489ea
ui: allow custom position of labels
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
137 case EVENT_MOUSE: |
a43e79d489ea
ui: allow custom position of labels
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
138 mlabel.x = ev.mouse.x; |
a43e79d489ea
ui: allow custom position of labels
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
139 mlabel.y = ev.mouse.y; |
a43e79d489ea
ui: allow custom position of labels
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
140 break; |
145
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
141 case EVENT_QUIT: |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
142 return; |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 default: |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
144 break; |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
145 } |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
146 } |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 painter_set_color(0x4f8fbaff); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 painter_clear(); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 |
153
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
151 for (size_t i = 0; i < NELEM(table); ++i) |
aa6e70e330a1
ui: make label less smart
David Demelier <markand@malikania.fr>
parents:
150
diff
changeset
|
152 label_draw(&table[i].label); |
145
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 |
149
a43e79d489ea
ui: allow custom position of labels
David Demelier <markand@malikania.fr>
parents:
148
diff
changeset
|
154 label_draw(&mlabel); |
145
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
155 painter_present(); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
156 |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
157 if ((elapsed = clock_elapsed(&clock)) < 20) |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
158 delay(20 - elapsed); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
159 } |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
160 } |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
161 |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
162 int |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
163 main(int argc, char **argv) |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
164 { |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
165 (void)argc; |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
166 (void)argv; |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
167 |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
168 init(); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
169 run(); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
170 quit(); |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
171 } |
7f1af54bb35a
core: rework label alignment, closes #2494 @1h
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
172 |