Mercurial > molko
annotate examples/example-cursor.c @ 186:f37b8e95aaaa
core: add blend routines in texture
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 06 Nov 2020 11:30:29 +0100 |
parents | 4bbfcd9180a8 |
children | 133926e08d6e |
rev | line source |
---|---|
163
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * example-cursor.c -- example on how to change cursor |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 #include <stdio.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 #include <core/clock.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 #include <core/core.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 #include <core/event.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 #include <core/key.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 #include <core/painter.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 #include <core/panic.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 #include <core/sys.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 #include <core/util.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 #include <core/window.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 #include <ui/label.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 #include <ui/ui.h> |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 #define W 1280 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 #define H 720 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 static char help_text[128]; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 static struct label help = { |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 .x = 10, |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 .y = 10, |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 .text = help_text, |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 .flags = LABEL_FLAGS_SHADOW |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 }; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 static void |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 init(void) |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 { |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 if (!core_init() || !ui_init()) |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 panic(); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 if (!window_open("Example - Cursor", W, H)) |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 panic(); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 } |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 static void |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 change(enum window_cursor cursor) |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 { |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 static const char *names[] = { |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 [WINDOW_CURSOR_ARROW] = "WINDOW_CURSOR_ARROW", |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 [WINDOW_CURSOR_EDIT] = "WINDOW_CURSOR_EDIT", |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 [WINDOW_CURSOR_WAIT] = "WINDOW_CURSOR_WAIT", |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 [WINDOW_CURSOR_CROSSHAIR] = "WINDOW_CURSOR_CROSSHAIR", |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 [WINDOW_CURSOR_SIZE] = "WINDOW_CURSOR_SIZE", |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 [WINDOW_CURSOR_NO] = "WINDOW_CURSOR_NO", |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 [WINDOW_CURSOR_HAND] = "WINDOW_CURSOR_HAND" |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 }; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 snprintf(help_text, sizeof (help_text), "Keys: <Left>/<Right> to change cursor. Current: %s", names[cursor]); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 window_set_cursor(cursor); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 } |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 static void |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 run(void) |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 { |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 struct clock clock = {0}; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 enum window_cursor cursor = WINDOW_CURSOR_ARROW; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 clock_start(&clock); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 change(cursor); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 for (;;) { |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 union event ev; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 unsigned int elapsed = clock_elapsed(&clock); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 clock_start(&clock); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 while (event_poll(&ev)) { |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 switch (ev.type) { |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 case EVENT_KEYDOWN: |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 switch (ev.key.key) { |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 case KEY_LEFT: |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 if (cursor > 0) |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 change(--cursor); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 break; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 case KEY_RIGHT: |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 if (cursor + 1 < WINDOW_CURSOR_LAST) |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 change(++cursor); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 break; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
99 default: |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 break; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 } |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
103 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 break; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
105 case EVENT_QUIT: |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
106 return; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 default: |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 break; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 } |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 } |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 painter_set_color(0xebede9ff); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
113 painter_clear(); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 label_draw(&help); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 painter_present(); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
117 if ((elapsed = clock_elapsed(&clock)) < 20) |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 delay(20 - elapsed); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 } |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
120 } |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 static void |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
123 quit(void) |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
124 { |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
125 window_finish(); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
126 ui_finish(); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 core_finish(); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 } |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
129 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
130 int |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
131 main(int argc, char **argv) |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
132 { |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
133 (void)argc; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
134 (void)argv; |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
135 |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
136 init(); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
137 run(); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
138 quit(); |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
139 } |
4bbfcd9180a8
core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
140 |