commit 43dc1b4

Michael Forney  ·  2014-01-23 00:18:22 +0000 UTC
parent b8c441e
pointer: Center cursor in screen
1 files changed,  +8, -3
+8, -3
 1@@ -154,9 +154,14 @@ static void handle_view_event(struct wl_listener * listener, void * data)
 2 bool swc_pointer_initialize(struct swc_pointer * pointer)
 3 {
 4     struct wld_buffer * buffer;
 5-
 6-    pointer->x = wl_fixed_from_int(0);
 7-    pointer->y = wl_fixed_from_int(0);
 8+    struct swc_screen_internal * screen;
 9+
10+    /* Center cursor in the geometry of the first screen. */
11+    screen = CONTAINER_OF(swc.screens.next, typeof(*screen), link);
12+    pointer->x = wl_fixed_from_int
13+        (screen->base.geometry.x + screen->base.geometry.width / 2);
14+    pointer->y = wl_fixed_from_int
15+        (screen->base.geometry.y + screen->base.geometry.height / 2);
16 
17     pointer->focus_handler.enter = &enter;
18     pointer->focus_handler.leave = &leave;