fennec
Loading...
Searching...
No Matches
sym.h
1// =====================================================================================================================
2// fennec, a free and open source game engine
3// Copyright © 2025 Medusa Slockbower
4//
5// This program is free software: you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// You should have received a copy of the GNU General Public License
16// along with this program. If not, see <https://www.gnu.org/licenses/>.
17// =====================================================================================================================
18
19#include <fennec/lang/types.h>
20
21#ifndef FENNEC_LIB
22#define FENNEC_LIB(...)
23#endif
24
25#ifndef FENNEC_SYMBOL
26#define FENNEC_SYMBOL(...)
27#endif
28
29#ifndef FENNEC_GLOBAL
30#define FENNEC_GLOBAL(...)
31#endif
32
33FENNEC_LIB(LIBDECOR)
34
35FENNEC_SYMBOL(void, libdecor_unref, struct libdecor*)
36FENNEC_SYMBOL(int, libdecor_dispatch, struct libdecor*, int)
37FENNEC_SYMBOL(struct libdecor*, libdecor_new, struct wl_display*, \
38 struct libdecor_interface*)
39FENNEC_SYMBOL(struct libdecor_frame*, libdecor_decorate, struct libdecor*, \
40 struct wl_surface*, \
41 struct libdecor_frame_interface*, void*)
42
43FENNEC_SYMBOL(void, libdecor_frame_unref, struct libdecor_frame*)
44FENNEC_SYMBOL(void, libdecor_frame_set_title, struct libdecor_frame*, const char*)
45FENNEC_SYMBOL(void, libdecor_frame_set_app_id, struct libdecor_frame*, const char*)
46FENNEC_SYMBOL(void, libdecor_frame_set_max_content_size, struct libdecor_frame*, int, int)
47FENNEC_SYMBOL(void, libdecor_frame_set_min_content_size, struct libdecor_frame*, int, int)
48FENNEC_SYMBOL(void, libdecor_frame_get_min_content_size, const struct libdecor_frame*, int*, int*)
49FENNEC_SYMBOL(void, libdecor_frame_get_max_content_size, const struct libdecor_frame*, int*, int*)
50FENNEC_SYMBOL(void, libdecor_frame_resize, struct libdecor_frame*, struct wl_seat*, uint32_t, \
51 enum libdecor_resize_edge)
52FENNEC_SYMBOL(void, libdecor_frame_move, struct libdecor_frame*, struct wl_seat*, uint32_t)
53FENNEC_SYMBOL(void, libdecor_frame_commit, struct libdecor_frame*, struct libdecor_state*,\
54 struct libdecor_configuration*)
55FENNEC_SYMBOL(void, libdecor_frame_set_minimized, struct libdecor_frame*)
56FENNEC_SYMBOL(void, libdecor_frame_set_maximized, struct libdecor_frame*)
57FENNEC_SYMBOL(void, libdecor_frame_unset_maximized, struct libdecor_frame*)
58FENNEC_SYMBOL(void, libdecor_frame_set_fullscreen, struct libdecor_frame*, struct wl_output*)
59FENNEC_SYMBOL(void, libdecor_frame_unset_fullscreen, struct libdecor_frame*)
60FENNEC_SYMBOL(void, libdecor_frame_set_capabilities, struct libdecor_frame*, enum libdecor_capabilities)
61FENNEC_SYMBOL(void, libdecor_frame_unset_capabilities, struct libdecor_frame*, enum libdecor_capabilities)
62FENNEC_SYMBOL(bool, libdecor_frame_has_capability, struct libdecor_frame*, enum libdecor_capabilities)
63FENNEC_SYMBOL(void, libdecor_frame_set_visibility, struct libdecor_frame*, bool)
64FENNEC_SYMBOL(bool, libdecor_frame_is_visible, struct libdecor_frame*)
65FENNEC_SYMBOL(bool, libdecor_frame_is_floating, struct libdecor_frame*)
66FENNEC_SYMBOL(void, libdecor_frame_set_parent, struct libdecor_frame*,\
67 struct libdecor_frame*)
68FENNEC_SYMBOL(void, libdecor_frame_show_window_menu, struct libdecor_frame*, struct wl_seat*, uint32_t, int, int)
69FENNEC_SYMBOL(void, libdecor_frame_translate_coordinate, struct libdecor_frame*, int, int, int*, int*)
70FENNEC_SYMBOL(void, libdecor_frame_map, struct libdecor_frame*)
71
72FENNEC_SYMBOL(struct xdg_surface*, libdecor_frame_get_xdg_surface, struct libdecor_frame*)
73FENNEC_SYMBOL(struct xdg_toplevel*, libdecor_frame_get_xdg_toplevel, struct libdecor_frame*)
74
75FENNEC_SYMBOL(struct libdecor_state*, libdecor_state_new, int, int)
76FENNEC_SYMBOL(void, libdecor_state_free, struct libdecor_state*)
77
78FENNEC_SYMBOL(bool, libdecor_configuration_get_content_size, struct libdecor_configuration*,\
79 struct libdecor_frame*,\
80 int*,\
81 int*)
82FENNEC_SYMBOL(bool, libdecor_configuration_get_window_state, struct libdecor_configuration*,\
83 enum libdecor_window_state*)
84
85
86#undef FENNEC_LIB
87#undef FENNEC_SYMBOL
88#undef FENNEC_GLOBAL
Types