decompose wl_backend.c: extract wl_stubs.c (noop stubs + vtable)

This commit is contained in:
Window Maker 2026-06-02 12:40:56 +02:00
parent dceb0cf55b
commit 5fd0eda8d2
4 changed files with 1641 additions and 1551 deletions

View File

@ -178,7 +178,8 @@ wmaker_SOURCES += \
backend/wayland/wl_screen.c \
backend/wayland/wl_shm.c \
backend/wayland/wl_wings.c \
backend/wayland/wl_xdisplay.c
backend/wayland/wl_xdisplay.c \
backend/wayland/wl_stubs.c
endif
if USE_NESTED_FUNC

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -555,3 +555,48 @@ void wm_shm_surface_destroy(struct wm_shm_surface *s);
WMScreen *wl_get_wmscreen(void);
void wl_wings_dispatch(int timeout_ms, void *ud);
Display *wl_get_x_display(void);
/* Declarations for functions still in wl_backend.c referenced by vtable */
void wl_button_grab(WNativeWindow win, unsigned int button, unsigned int modifier, unsigned int event_mask, int owner_events);
void wl_button_ungrab_all(WNativeWindow win);
void wl_display_close(void);
int wl_display_default_screen(void);
void wl_display_post_open(const char *display_name, int *multi_head_out);
int wl_display_screen_count(void);
void wl_key_grab(WNativeWindow win, unsigned int keycode, unsigned int modifier, int owner_events);
void wl_key_ungrab_all(WNativeWindow win);
int wl_keyboard_grab(WNativeWindow win);
void wl_keyboard_ungrab(void);
void wl_monitors_query(WScreen *scr, WHeadGeometry **heads_out, int *count_out);
void wl_monitors_select_events(WScreen *scr);
void wl_pointer_change_grab(unsigned int event_mask, int cursor_id, unsigned long timestamp);
int wl_pointer_query(WNativeWindow root, int *root_x, int *root_y);
int wl_pointer_query_full(WNativeWindow root, WNativeWindow *child_out, int *root_x, int *root_y, unsigned int *buttons_out);
void wl_pointer_ungrab(unsigned long timestamp);
void wl_pointer_warp(int dx, int dy);
void wl_refresh_desktop(WScreen *scr);
void wl_screen_alloc_gcs(WScreen *scr);
RImage *wl_screen_capture_area(WScreen *scr);
RImage *wl_screen_capture_window(WScreen *scr, WWindow *wwin);
void wl_screen_create_internals(WScreen *scr);
void wl_screen_create_pixmaps(WScreen *scr);
void wl_screen_load_tech_font(WScreen *scr);
int wl_screen_replace_wm(WScreen *scr);
int wl_screen_select_input(WScreen *scr, long mask);
void wl_screen_set_icon_sizes(WScreen *scr, int min_size, int max_size);
void wl_screen_set_root_cursor(WScreen *scr, int cursor_id);
void wl_screen_setup_noticeboard(WScreen *scr);
void wl_screen_show_mini_screenshot(WScreen *scr, RImage *img);
void wl_set_desktop_background(WScreen *scr, const char *texture_desc);
void *wl_display_open(const char *name);
const char *wl_display_get_name(const char *name);
RContext *wl_create_rcontext(int screen_number, RContextAttributes *attribs);
unsigned long wl_keysym_from_name(const char *name);
const char *wl_noop_keysym_to_string(unsigned long ks);
WPixmap *wl_noop_pixmap_create(unsigned long image, unsigned long mask);
WPixmap *wl_noop_pixmap_create_from_xbm(WScreen *scr, char *data, char *mask, int width, int height, unsigned long fg, unsigned long bg);
unsigned char *wl_noop_prop_get_check_property(WNativeWindow window, unsigned long hint, unsigned long type, int format, int count, int *ret_count);
WScreen *wl_noop_screen_for_window(WNativeWindow window);
unsigned long wl_noop_window_get_event_mask(WNativeWindow window);
void wl_pointer_warp_to(int x, int y);
int wl_pointer_grab(WNativeWindow grab_win, WNativeWindow confine_to, unsigned int event_mask, int cursor_id, int owner_events, unsigned long timestamp);