swc

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.nihaljere.xyz/swc
Log | Files | Refs | README | LICENSE

commit 971f2ecf426f343a835bf69c90565c4205e21ed1
parent eeb95f5d0c302670f849795f546685b60bd9d722
Author: Michael Forney <mforney@mforney.org>
Date:   Sat, 23 Nov 2013 21:13:14 -0800

Expose internal struct for swc globals

Diffstat:
Mlibswc/private.h | 12++++++++++--
Mlibswc/swc.c | 26+++++++++++++-------------
Mlibswc/window.c | 6+++---
3 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/libswc/private.h b/libswc/private.h @@ -24,11 +24,19 @@ #ifndef SWC_PRIVATE_H #define SWC_PRIVATE_H +struct wl_display; struct swc_manager; struct swc_compositor; -extern const struct swc_manager * swc_manager; -extern struct swc_compositor * compositor; +struct swc +{ + struct wl_display * display; + const struct swc_manager * manager; + + struct swc_compositor * compositor; +}; + +extern struct swc swc; #endif diff --git a/libswc/swc.c b/libswc/swc.c @@ -22,23 +22,22 @@ */ #include "swc.h" +#include "private.h" #include "binding.h" #include "compositor.h" #include "shell.h" #include "window.h" -static struct -{ - struct swc_compositor compositor; -} swc; +static struct swc_compositor compositor; -struct swc_compositor * compositor = &swc.compositor; -const struct swc_manager * swc_manager; +struct swc swc = { + .compositor = &compositor +}; static void setup_compositor() { - swc.compositor.seat.keyboard.handler = swc_binding_handler; - wl_signal_add(&swc.compositor.seat.pointer.focus.event_signal, + compositor.seat.keyboard.handler = swc_binding_handler; + wl_signal_add(&compositor.seat.pointer.focus.event_signal, swc_window_enter_listener); } @@ -46,7 +45,8 @@ EXPORT bool swc_initialize(struct wl_display * display, const struct swc_manager * manager) { - swc_manager = manager; + swc.display = display; + swc.manager = manager; if (!swc_bindings_initialize()) { @@ -54,13 +54,13 @@ bool swc_initialize(struct wl_display * display, goto error0; } - if (!swc_compositor_initialize(&swc.compositor, display)) + if (!swc_compositor_initialize(&compositor, display)) { fprintf(stderr, "Could not initialize compositor\n"); goto error1; } - swc_compositor_add_globals(&swc.compositor, display); + swc_compositor_add_globals(&compositor, display); if (!swc_shell_initialize(display)) { @@ -73,7 +73,7 @@ bool swc_initialize(struct wl_display * display, return true; error2: - swc_compositor_finish(&swc.compositor); + swc_compositor_finish(&compositor); error1: swc_bindings_finalize(); error0: @@ -84,7 +84,7 @@ EXPORT void swc_finalize() { swc_shell_finalize(); - swc_compositor_finish(&swc.compositor); + swc_compositor_finish(&compositor); swc_bindings_finalize(); } diff --git a/libswc/window.c b/libswc/window.c @@ -69,7 +69,7 @@ void swc_window_focus(struct swc_window * window) if (INTERNAL(window)->impl->focus) INTERNAL(window)->impl->focus(window); - swc_keyboard_set_focus(&compositor->seat.keyboard, + swc_keyboard_set_focus(&swc.compositor->seat.keyboard, INTERNAL(window)->surface); } @@ -117,9 +117,9 @@ bool swc_window_initialize(struct swc_window * window, wl_resource_add_destroy_listener (surface->resource, &INTERNAL(window)->surface_destroy_listener); - swc_surface_set_class(surface, &compositor->compositor_class); + swc_surface_set_class(surface, &swc.compositor->compositor_class); - swc_manager->new_window(window); + swc.manager->new_window(window); return true; }