mirror of
https://github.com/encounter/SDL.git
synced 2025-12-20 18:29:22 +00:00
x11/wayland/mir: Make the dynamic loading macro salsa a little less messy.
This commit is contained in:
@@ -94,9 +94,6 @@ WAYLAND_GetSym(const char *fnname, int *pHasModule)
|
||||
#define SDL_WAYLAND_SYM(rc,fn,params) SDL_DYNWAYLANDFN_##fn WAYLAND_##fn = NULL;
|
||||
#define SDL_WAYLAND_INTERFACE(iface) const struct wl_interface *WAYLAND_##iface = NULL;
|
||||
#include "SDL_waylandsym.h"
|
||||
#undef SDL_WAYLAND_MODULE
|
||||
#undef SDL_WAYLAND_SYM
|
||||
#undef SDL_WAYLAND_INTERFACE
|
||||
|
||||
static int wayland_load_refcount = 0;
|
||||
|
||||
@@ -115,9 +112,6 @@ SDL_WAYLAND_UnloadSymbols(void)
|
||||
#define SDL_WAYLAND_SYM(rc,fn,params) WAYLAND_##fn = NULL;
|
||||
#define SDL_WAYLAND_INTERFACE(iface) WAYLAND_##iface = NULL;
|
||||
#include "SDL_waylandsym.h"
|
||||
#undef SDL_WAYLAND_MODULE
|
||||
#undef SDL_WAYLAND_SYM
|
||||
#undef SDL_WAYLAND_INTERFACE
|
||||
|
||||
|
||||
#ifdef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC
|
||||
@@ -150,20 +144,12 @@ SDL_WAYLAND_LoadSymbols(void)
|
||||
}
|
||||
|
||||
#define SDL_WAYLAND_MODULE(modname) SDL_WAYLAND_HAVE_##modname = 1; /* default yes */
|
||||
#define SDL_WAYLAND_SYM(rc,fn,params)
|
||||
#define SDL_WAYLAND_INTERFACE(iface)
|
||||
#include "SDL_waylandsym.h"
|
||||
#undef SDL_WAYLAND_MODULE
|
||||
#undef SDL_WAYLAND_SYM
|
||||
#undef SDL_WAYLAND_INTERFACE
|
||||
|
||||
#define SDL_WAYLAND_MODULE(modname) thismod = &SDL_WAYLAND_HAVE_##modname;
|
||||
#define SDL_WAYLAND_SYM(rc,fn,params) WAYLAND_##fn = (SDL_DYNWAYLANDFN_##fn) WAYLAND_GetSym(#fn,thismod);
|
||||
#define SDL_WAYLAND_INTERFACE(iface) WAYLAND_##iface = (struct wl_interface *) WAYLAND_GetSym(#iface,thismod);
|
||||
#include "SDL_waylandsym.h"
|
||||
#undef SDL_WAYLAND_MODULE
|
||||
#undef SDL_WAYLAND_SYM
|
||||
#undef SDL_WAYLAND_INTERFACE
|
||||
|
||||
if (SDL_WAYLAND_HAVE_WAYLAND_CLIENT) {
|
||||
/* all required symbols loaded. */
|
||||
@@ -180,9 +166,6 @@ SDL_WAYLAND_LoadSymbols(void)
|
||||
#define SDL_WAYLAND_SYM(rc,fn,params) WAYLAND_##fn = fn;
|
||||
#define SDL_WAYLAND_INTERFACE(iface) WAYLAND_##iface = &iface;
|
||||
#include "SDL_waylandsym.h"
|
||||
#undef SDL_WAYLAND_MODULE
|
||||
#undef SDL_WAYLAND_SYM
|
||||
#undef SDL_WAYLAND_INTERFACE
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -53,10 +53,7 @@ void SDL_WAYLAND_UnloadSymbols(void);
|
||||
extern SDL_DYNWAYLANDFN_##fn WAYLAND_##fn;
|
||||
#define SDL_WAYLAND_INTERFACE(iface) extern const struct wl_interface *WAYLAND_##iface;
|
||||
#include "SDL_waylandsym.h"
|
||||
#undef SDL_WAYLAND_MODULE
|
||||
#undef SDL_WAYLAND_SYM
|
||||
#undef SDL_WAYLAND_INTERFACE
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -21,6 +21,18 @@
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
|
||||
#ifndef SDL_WAYLAND_MODULE
|
||||
#define SDL_WAYLAND_MODULE(modname)
|
||||
#endif
|
||||
|
||||
#ifndef SDL_WAYLAND_SYM
|
||||
#define SDL_WAYLAND_SYM(rc,fn,params)
|
||||
#endif
|
||||
|
||||
#ifndef SDL_WAYLAND_INTERFACE
|
||||
#define SDL_WAYLAND_INTERFACE(iface)
|
||||
#endif
|
||||
|
||||
SDL_WAYLAND_MODULE(WAYLAND_CLIENT)
|
||||
SDL_WAYLAND_SYM(void, wl_proxy_marshal, (struct wl_proxy *, uint32_t, ...))
|
||||
SDL_WAYLAND_SYM(struct wl_proxy *, wl_proxy_create, (struct wl_proxy *, const struct wl_interface *))
|
||||
@@ -99,8 +111,10 @@ SDL_WAYLAND_SYM(enum xkb_state_component, xkb_state_update_mask, (struct xkb_sta
|
||||
xkb_layout_index_t latched_layout,\
|
||||
xkb_layout_index_t locked_layout) )
|
||||
|
||||
#undef SDL_WAYLAND_MODULE
|
||||
#undef SDL_WAYLAND_SYM
|
||||
#undef SDL_WAYLAND_INTERFACE
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
//SDL_WAYLAND_SYM(ret, fn, params)
|
||||
|
||||
Reference in New Issue
Block a user