swc

Unnamed repository; edit this file 'description' to name the repository.
git clone git://git.nihaljere.xyz/swc
Log | Files | Refs | README | LICENSE

commit 415910cad2b7cfe198e70131266352785b37497b
parent 0e99fc7dd111eb8c6b931212c42370dfa0853ddc
Author: Michael Forney <mforney@mforney.org>
Date:   Fri, 21 Jun 2013 01:38:07 -0700

surface: Handle opaque committing

Diffstat:
Msurface.c | 10++++++++++
1 file changed, 10 insertions(+), 0 deletions(-)

diff --git a/surface.c b/surface.c @@ -187,6 +187,7 @@ static void commit(struct wl_client * client, struct wl_resource * resource) wl_signal_emit(&surface->event_signal, &event); } + /* Damage */ pixman_region32_union(&surface->state.damage, &surface->state.damage, &surface->pending.state.damage); pixman_region32_intersect_rect(&surface->state.damage, @@ -194,6 +195,14 @@ static void commit(struct wl_client * client, struct wl_resource * resource) surface->geometry.width, surface->geometry.height); + /* Opaque */ + pixman_region32_copy(&surface->state.opaque, + &surface->pending.state.opaque); + pixman_region32_intersect_rect(&surface->state.opaque, + &surface->state.opaque, 0, 0, + surface->geometry.width, + surface->geometry.height); + /* Input */ pixman_region32_copy(&surface->state.input, &surface->pending.state.input); pixman_region32_intersect_rect(&surface->state.input, @@ -201,6 +210,7 @@ static void commit(struct wl_client * client, struct wl_resource * resource) surface->geometry.width, surface->geometry.height); + /* Frame */ wl_list_insert_list(&surface->state.frame_callbacks, &surface->pending.state.frame_callbacks);