[digesting_libdecor] forward declare all of the vtables
parent
429ad60b74
commit
8467af0fd8
|
|
@ -62,6 +62,17 @@ exit 0
|
||||||
|
|
||||||
#include "digesting_libdecor.h"
|
#include "digesting_libdecor.h"
|
||||||
|
|
||||||
|
//@global vtables
|
||||||
|
const struct wl_registry_listener wl_registry_listener;
|
||||||
|
const struct xdg_surface_listener xdg_surface_listener;
|
||||||
|
const struct xdg_toplevel_listener xdg_toplevel_listener;
|
||||||
|
const struct zxdg_toplevel_decoration_v1_listener xdg_toplevel_decoration_listener;
|
||||||
|
const struct xdg_wm_base_listener xdg_wm_base_listener;
|
||||||
|
const struct wl_callback_listener init_wl_display_callback_listener;
|
||||||
|
const struct wl_buffer_listener buffer_listener;
|
||||||
|
const struct wl_callback_listener shm_callback_listener;
|
||||||
|
const struct wl_registry_listener registry_listener;
|
||||||
|
const struct wl_callback_listener globals_callback_listener;
|
||||||
|
|
||||||
// X(N:name,R:return,P:params)
|
// X(N:name,R:return,P:params)
|
||||||
#define GL_FUNCS_XLIST(X)\
|
#define GL_FUNCS_XLIST(X)\
|
||||||
|
|
@ -77,16 +88,6 @@ GL_FUNCS_XLIST(X)
|
||||||
static Ctx ctx = {0};
|
static Ctx ctx = {0};
|
||||||
|
|
||||||
|
|
||||||
typedef struct libdecor_plugin * (* libdecor_plugin_constructor)(void);
|
|
||||||
|
|
||||||
enum libdecor_plugin_capabilities {
|
|
||||||
LIBDECOR_PLUGIN_CAPABILITY_BASE = 1 << 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
const struct wl_registry_listener scrap__registry_listener;
|
|
||||||
const struct wl_callback_listener init_wl_display_callback_listener;
|
|
||||||
|
|
||||||
|
|
||||||
/* (1) Appendix A: wl_registry::global
|
/* (1) Appendix A: wl_registry::global
|
||||||
** " The event notifies the client that a global object with the given
|
** " The event notifies the client that a global object with the given
|
||||||
** name is now available "
|
** name is now available "
|
||||||
|
|
@ -205,10 +206,6 @@ libdecorevent__frame_bounds(struct libdecor_frame *frame,
|
||||||
void *user_data){
|
void *user_data){
|
||||||
}
|
}
|
||||||
|
|
||||||
struct libdecor_frame* libdecor_decorate(struct wl_surface *wl_surface, void *user_data);
|
|
||||||
int libdecor_dispatch(int timeout);
|
|
||||||
static struct libdecor_plugin * libdecor_plugin_new(void);
|
|
||||||
|
|
||||||
int main(){
|
int main(){
|
||||||
/*~ NOTE:
|
/*~ NOTE:
|
||||||
**~ initialize Wayland, Libdecor, & EGL
|
**~ initialize Wayland, Libdecor, & EGL
|
||||||
|
|
@ -772,7 +769,7 @@ xdg_surface_configure(void *user_data,
|
||||||
libdecor_configuration_free(configuration);
|
libdecor_configuration_free(configuration);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct xdg_surface_listener xdg_surface_listener = {
|
const struct xdg_surface_listener xdg_surface_listener = {
|
||||||
xdg_surface_configure,
|
xdg_surface_configure,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -927,7 +924,7 @@ xdg_toplevel_wm_capabilities(void *user_data,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const struct xdg_toplevel_listener xdg_toplevel_listener = {
|
const struct xdg_toplevel_listener xdg_toplevel_listener = {
|
||||||
xdg_toplevel_configure,
|
xdg_toplevel_configure,
|
||||||
xdg_toplevel_close,
|
xdg_toplevel_close,
|
||||||
#ifdef XDG_TOPLEVEL_CONFIGURE_BOUNDS_SINCE_VERSION
|
#ifdef XDG_TOPLEVEL_CONFIGURE_BOUNDS_SINCE_VERSION
|
||||||
|
|
@ -953,7 +950,7 @@ toplevel_decoration_configure(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct zxdg_toplevel_decoration_v1_listener
|
const struct zxdg_toplevel_decoration_v1_listener
|
||||||
xdg_toplevel_decoration_listener = {
|
xdg_toplevel_decoration_listener = {
|
||||||
toplevel_decoration_configure,
|
toplevel_decoration_configure,
|
||||||
};
|
};
|
||||||
|
|
@ -1742,7 +1739,7 @@ xdg_wm_base_ping(void *user_data,
|
||||||
xdg_wm_base_pong(xdg_wm_base, serial);
|
xdg_wm_base_pong(xdg_wm_base, serial);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct xdg_wm_base_listener xdg_wm_base_listener = {
|
const struct xdg_wm_base_listener xdg_wm_base_listener = {
|
||||||
xdg_wm_base_ping,
|
xdg_wm_base_ping,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -2750,7 +2747,7 @@ buffer_release(void *user_data,
|
||||||
buffer->in_use = false;
|
buffer->in_use = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct wl_buffer_listener buffer_listener = {
|
const struct wl_buffer_listener buffer_listener = {
|
||||||
buffer_release
|
buffer_release
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -4023,7 +4020,7 @@ shm_callback(void *user_data, struct wl_callback *callback, uint32_t time){
|
||||||
libdecor_notify_plugin_ready();
|
libdecor_notify_plugin_ready();
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct wl_callback_listener shm_callback_listener = {
|
const struct wl_callback_listener shm_callback_listener = {
|
||||||
shm_callback
|
shm_callback
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -5039,7 +5036,7 @@ registry_handle_global_remove(void *user_data,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct wl_registry_listener registry_listener = {
|
const struct wl_registry_listener registry_listener = {
|
||||||
registry_handle_global,
|
registry_handle_global,
|
||||||
registry_handle_global_remove
|
registry_handle_global_remove
|
||||||
};
|
};
|
||||||
|
|
@ -5068,7 +5065,7 @@ globals_callback(void *user_data,
|
||||||
plugin_gtk->globals_callback = NULL;
|
plugin_gtk->globals_callback = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct wl_callback_listener globals_callback_listener = {
|
const struct wl_callback_listener globals_callback_listener = {
|
||||||
globals_callback
|
globals_callback
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -550,6 +550,9 @@ bool libdecor_configuration_get_content_size(struct libdecor_configuration *conf
|
||||||
bool libdecor_configuration_get_window_state(struct libdecor_configuration *configuration,
|
bool libdecor_configuration_get_window_state(struct libdecor_configuration *configuration,
|
||||||
enum libdecor_window_state *window_state);
|
enum libdecor_window_state *window_state);
|
||||||
|
|
||||||
|
struct libdecor_frame* libdecor_decorate(struct wl_surface *wl_surface, void *user_data);
|
||||||
|
int libdecor_dispatch(int timeout);
|
||||||
|
|
||||||
// libdecor-plugin.h
|
// libdecor-plugin.h
|
||||||
|
|
||||||
struct wl_surface * libdecor_frame_get_wl_surface(struct libdecor_frame *frame);
|
struct wl_surface * libdecor_frame_get_wl_surface(struct libdecor_frame *frame);
|
||||||
|
|
@ -603,6 +606,10 @@ enum libdecor_color_scheme libdecor_get_color_scheme();
|
||||||
|
|
||||||
int libdecor_os_create_anonymous_file(off_t size);
|
int libdecor_os_create_anonymous_file(off_t size);
|
||||||
|
|
||||||
|
// #include "plugins/gtk/libdecor-gtk.c"
|
||||||
|
|
||||||
|
static struct libdecor_plugin * libdecor_plugin_new(void);
|
||||||
|
|
||||||
// digesting_libdecor
|
// digesting_libdecor
|
||||||
|
|
||||||
typedef struct Ctx{
|
typedef struct Ctx{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue