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 }