Tizen 2.1 release
[platform/core/uifw/e17.git] / src / modules / comp / e_mod_comp_wl_region.c
1 #include "e.h"
2 #include "e_mod_main.h"
3 #ifdef HAVE_WAYLAND_CLIENTS
4 # include "e_mod_comp_wl.h"
5 # include "e_mod_comp_wl_comp.h"
6 # include "e_mod_comp_wl_region.h"
7 #endif
8
9 void
10 e_mod_comp_wl_region_destroy(struct wl_client *client __UNUSED__, struct wl_resource *resource)
11 {
12    wl_resource_destroy(resource);
13 }
14
15 void
16 e_mod_comp_wl_region_add(struct wl_client *client __UNUSED__, struct wl_resource *resource, int x, int y, int w, int h)
17 {
18    Wayland_Region *region;
19
20    region = resource->data;
21    pixman_region32_union_rect(&region->region, &region->region, x, y, w, h);
22 }
23
24 void
25 e_mod_comp_wl_region_subtract(struct wl_client *client __UNUSED__, struct wl_resource *resource, int x, int y, int w, int h)
26 {
27    Wayland_Region *region;
28    pixman_region32_t rect;
29
30    region = resource->data;
31    pixman_region32_init_rect(&rect, x, y, w, h);
32    pixman_region32_subtract(&region->region, &region->region, &rect);
33    pixman_region32_fini(&rect);
34 }
35