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