annotate src/libmlk-core/core/window.h @ 402:d3fa956cdaf0

core: add alloc_sdupf
author David Demelier <markand@malikania.fr>
date Wed, 30 Mar 2022 15:06:55 +0200
parents 460c78706989
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * window.h -- basic window management
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
378
460c78706989 misc: update copyright years
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
4 * Copyright (c) 2020-2022 David Demelier <markand@malikania.fr>
0
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 *
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 * copyright notice and this permission notice appear in all copies.
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 *
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 */
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
366
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 320
diff changeset
19 #ifndef MLK_CORE_WINDOW_H
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 320
diff changeset
20 #define MLK_CORE_WINDOW_H
0
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
292
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
22 #include "core.h"
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
23
97
58133933ea17 window: expose some data to avoid functions
David Demelier <markand@malikania.fr>
parents: 72
diff changeset
24 struct window {
253
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
25 unsigned int w;
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
26 unsigned int h;
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
27 unsigned int framerate;
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
28 void *handle;
97
58133933ea17 window: expose some data to avoid functions
David Demelier <markand@malikania.fr>
parents: 72
diff changeset
29 };
58133933ea17 window: expose some data to avoid functions
David Demelier <markand@malikania.fr>
parents: 72
diff changeset
30
163
4bbfcd9180a8 core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents: 156
diff changeset
31 enum window_cursor {
253
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
32 WINDOW_CURSOR_ARROW,
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
33 WINDOW_CURSOR_EDIT,
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
34 WINDOW_CURSOR_WAIT,
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
35 WINDOW_CURSOR_CROSSHAIR,
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
36 WINDOW_CURSOR_SIZE,
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
37 WINDOW_CURSOR_NO,
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
38 WINDOW_CURSOR_HAND,
c4da052c0def core: goodbye doxygen
David Demelier <markand@malikania.fr>
parents: 248
diff changeset
39 WINDOW_CURSOR_LAST
163
4bbfcd9180a8 core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents: 156
diff changeset
40 };
4bbfcd9180a8 core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents: 156
diff changeset
41
97
58133933ea17 window: expose some data to avoid functions
David Demelier <markand@malikania.fr>
parents: 72
diff changeset
42 extern struct window window;
58133933ea17 window: expose some data to avoid functions
David Demelier <markand@malikania.fr>
parents: 72
diff changeset
43
292
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
44 CORE_BEGIN_DECLS
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
45
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
46 int
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
47 window_open(const char *, unsigned int, unsigned int);
1
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
48
163
4bbfcd9180a8 core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents: 156
diff changeset
49 void
298
196264679079 misc: remove usage of bool
David Demelier <markand@malikania.fr>
parents: 292
diff changeset
50 window_set_cursor(enum window_cursor);
163
4bbfcd9180a8 core: add window_set_cursor function, closes #2502
David Demelier <markand@malikania.fr>
parents: 156
diff changeset
51
0
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 void
97
58133933ea17 window: expose some data to avoid functions
David Demelier <markand@malikania.fr>
parents: 72
diff changeset
53 window_finish(void);
0
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
54
292
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
55 CORE_END_DECLS
08ab73b32832 misc: add extern "C" {} blocks for C++ friends
David Demelier <markand@malikania.fr>
parents: 253
diff changeset
56
366
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 320
diff changeset
57 #endif /* !MLK_CORE_WINDOW_H */