commit 971f2ec
Michael Forney
·
2013-11-24 05:13:14 +0000 UTC
parent eeb95f5
Expose internal struct for swc globals
3 files changed,
+26,
-18
+10,
-2
1@@ -24,11 +24,19 @@
2 #ifndef SWC_PRIVATE_H
3 #define SWC_PRIVATE_H
4
5+struct wl_display;
6 struct swc_manager;
7 struct swc_compositor;
8
9-extern const struct swc_manager * swc_manager;
10-extern struct swc_compositor * compositor;
11+struct swc
12+{
13+ struct wl_display * display;
14+ const struct swc_manager * manager;
15+
16+ struct swc_compositor * compositor;
17+};
18+
19+extern struct swc swc;
20
21 #endif
22
+13,
-13
1@@ -22,23 +22,22 @@
2 */
3
4 #include "swc.h"
5+#include "private.h"
6 #include "binding.h"
7 #include "compositor.h"
8 #include "shell.h"
9 #include "window.h"
10
11-static struct
12-{
13- struct swc_compositor compositor;
14-} swc;
15+static struct swc_compositor compositor;
16
17-struct swc_compositor * compositor = &swc.compositor;
18-const struct swc_manager * swc_manager;
19+struct swc swc = {
20+ .compositor = &compositor
21+};
22
23 static void setup_compositor()
24 {
25- swc.compositor.seat.keyboard.handler = swc_binding_handler;
26- wl_signal_add(&swc.compositor.seat.pointer.focus.event_signal,
27+ compositor.seat.keyboard.handler = swc_binding_handler;
28+ wl_signal_add(&compositor.seat.pointer.focus.event_signal,
29 swc_window_enter_listener);
30 }
31
32@@ -46,7 +45,8 @@ EXPORT
33 bool swc_initialize(struct wl_display * display,
34 const struct swc_manager * manager)
35 {
36- swc_manager = manager;
37+ swc.display = display;
38+ swc.manager = manager;
39
40 if (!swc_bindings_initialize())
41 {
42@@ -54,13 +54,13 @@ bool swc_initialize(struct wl_display * display,
43 goto error0;
44 }
45
46- if (!swc_compositor_initialize(&swc.compositor, display))
47+ if (!swc_compositor_initialize(&compositor, display))
48 {
49 fprintf(stderr, "Could not initialize compositor\n");
50 goto error1;
51 }
52
53- swc_compositor_add_globals(&swc.compositor, display);
54+ swc_compositor_add_globals(&compositor, display);
55
56 if (!swc_shell_initialize(display))
57 {
58@@ -73,7 +73,7 @@ bool swc_initialize(struct wl_display * display,
59 return true;
60
61 error2:
62- swc_compositor_finish(&swc.compositor);
63+ swc_compositor_finish(&compositor);
64 error1:
65 swc_bindings_finalize();
66 error0:
67@@ -84,7 +84,7 @@ EXPORT
68 void swc_finalize()
69 {
70 swc_shell_finalize();
71- swc_compositor_finish(&swc.compositor);
72+ swc_compositor_finish(&compositor);
73 swc_bindings_finalize();
74 }
75
+3,
-3
1@@ -69,7 +69,7 @@ void swc_window_focus(struct swc_window * window)
2 if (INTERNAL(window)->impl->focus)
3 INTERNAL(window)->impl->focus(window);
4
5- swc_keyboard_set_focus(&compositor->seat.keyboard,
6+ swc_keyboard_set_focus(&swc.compositor->seat.keyboard,
7 INTERNAL(window)->surface);
8 }
9
10@@ -117,9 +117,9 @@ bool swc_window_initialize(struct swc_window * window,
11
12 wl_resource_add_destroy_listener
13 (surface->resource, &INTERNAL(window)->surface_destroy_listener);
14- swc_surface_set_class(surface, &compositor->compositor_class);
15+ swc_surface_set_class(surface, &swc.compositor->compositor_class);
16
17- swc_manager->new_window(window);
18+ swc.manager->new_window(window);
19
20 return true;
21 }