commit 415910c

Michael Forney  ·  2013-06-21 08:38:07 +0000 UTC
parent 0e99fc7
surface: Handle opaque committing
1 files changed,  +10, -0
+10, -0
 1@@ -187,6 +187,7 @@ static void commit(struct wl_client * client, struct wl_resource * resource)
 2         wl_signal_emit(&surface->event_signal, &event);
 3     }
 4 
 5+    /* Damage */
 6     pixman_region32_union(&surface->state.damage, &surface->state.damage,
 7                           &surface->pending.state.damage);
 8     pixman_region32_intersect_rect(&surface->state.damage,
 9@@ -194,6 +195,14 @@ static void commit(struct wl_client * client, struct wl_resource * resource)
10                                    surface->geometry.width,
11                                    surface->geometry.height);
12 
13+    /* Opaque */
14+    pixman_region32_copy(&surface->state.opaque,
15+                         &surface->pending.state.opaque);
16+    pixman_region32_intersect_rect(&surface->state.opaque,
17+                                   &surface->state.opaque, 0, 0,
18+                                   surface->geometry.width,
19+                                   surface->geometry.height);
20+
21     /* Input */
22     pixman_region32_copy(&surface->state.input, &surface->pending.state.input);
23     pixman_region32_intersect_rect(&surface->state.input,
24@@ -201,6 +210,7 @@ static void commit(struct wl_client * client, struct wl_resource * resource)
25                                    surface->geometry.width,
26                                    surface->geometry.height);
27 
28+    /* Frame */
29     wl_list_insert_list(&surface->state.frame_callbacks,
30                         &surface->pending.state.frame_callbacks);
31