annotate src/window.h @ 49:a8c7db56ccb0

core: backed out changeset 55869b5e4761 We don't need properties because we will generate them in the map.
author David Demelier <markand@malikania.fr>
date Fri, 17 Jan 2020 12:09:30 +0100
parents b815621df3e3
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 *
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr>
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
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #ifndef MOLKO_WINDOW_H
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #define MOLKO_WINDOW_H
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
1
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
22 /**
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
23 * \file window.h
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
24 * \brief Basic window management.
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
25 */
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
26
0
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 #include <stdbool.h>
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
1
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
29 /**
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
30 * Initialize window.
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
31 *
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
32 * \pre title != NULL
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
33 * \param title the window title
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
34 * \param width the desired width
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
35 * \param height the desired height
2
832c20d6cce9 core: make window singleton for convenience (textures)
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
36 * \return true on success
1
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
37 */
2
832c20d6cce9 core: make window singleton for convenience (textures)
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
38 bool
46
b815621df3e3 core: remove all fixed width integers, closes #2460
David Demelier <markand@malikania.fr>
parents: 45
diff changeset
39 window_init(const char *title, unsigned int width, unsigned int height);
1
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
40
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
41 /**
45
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
42 * Get the current window's width.
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
43 *
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
44 * \return the width
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
45 */
46
b815621df3e3 core: remove all fixed width integers, closes #2460
David Demelier <markand@malikania.fr>
parents: 45
diff changeset
46 unsigned int
45
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
47 window_width(void);
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
48
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
49 /**
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
50 * Get the current window's height.
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
51 *
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
52 * \return the height
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
53 */
46
b815621df3e3 core: remove all fixed width integers, closes #2460
David Demelier <markand@malikania.fr>
parents: 45
diff changeset
54 unsigned int
45
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
55 window_height(void);
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
56
e10fd1b6323f core: implement splashscreen, closes #2458 @1h
David Demelier <markand@malikania.fr>
parents: 28
diff changeset
57 /**
21
63eaec5ceba9 misc: minor cleanups
David Demelier <markand@malikania.fr>
parents: 2
diff changeset
58 * Close the window and destroy associated resources.
1
03f6d572fd17 core: implement basic drawing, closes #2438
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
59 */
0
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 void
2
832c20d6cce9 core: make window singleton for convenience (textures)
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
61 window_close(void);
0
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
62
efcc908bca21 core: implement basic windowing, closes #2437
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 #endif /* !MOLKO_WINDOW_H */