3 #endif /* ifdef HAVE_CONFIG_H */
5 #include "ecore_x_private.h"
17 * [x] XIntersectRegion
19 * [x] XUnionRectWithRegion
30 EAPI Ecore_X_XRegion *
33 LOGFN(__FILE__, __LINE__, __FUNCTION__);
34 return (Ecore_X_XRegion *)XCreateRegion();
38 ecore_x_xregion_free(Ecore_X_XRegion *region)
40 LOGFN(__FILE__, __LINE__, __FUNCTION__);
44 XDestroyRegion((Region)region);
48 ecore_x_xregion_set(Ecore_X_XRegion *region,
52 LOGFN(__FILE__, __LINE__, __FUNCTION__);
53 ret = !!XSetRegion(_ecore_x_disp, gc, (Region)region);
54 if (_ecore_xlib_sync) ecore_x_sync();
59 ecore_x_xregion_translate(Ecore_X_XRegion *region,
63 LOGFN(__FILE__, __LINE__, __FUNCTION__);
67 /* return value not used */
68 XOffsetRegion((Region)region, x, y);
72 ecore_x_xregion_intersect(Ecore_X_XRegion *dst,
76 LOGFN(__FILE__, __LINE__, __FUNCTION__);
77 return XIntersectRegion((Region)r1, (Region)r2, (Region)dst) ? EINA_TRUE : EINA_FALSE;
81 ecore_x_xregion_union(Ecore_X_XRegion *dst,
85 LOGFN(__FILE__, __LINE__, __FUNCTION__);
86 return XUnionRegion((Region)r1, (Region)r2, (Region)dst) ? EINA_TRUE : EINA_FALSE;
90 ecore_x_xregion_union_rect(Ecore_X_XRegion *dst,
92 Ecore_X_Rectangle *rect)
96 LOGFN(__FILE__, __LINE__, __FUNCTION__);
99 xr.width = rect->width;
100 xr.height = rect->height;
102 return XUnionRectWithRegion(&xr, (Region)src, (Region)dst) ? EINA_TRUE : EINA_FALSE;
106 ecore_x_xregion_subtract(Ecore_X_XRegion *dst,
110 LOGFN(__FILE__, __LINE__, __FUNCTION__);
111 return XSubtractRegion((Region)rm, (Region)rs, (Region)dst) ? EINA_TRUE : EINA_FALSE;
115 ecore_x_xregion_is_empty(Ecore_X_XRegion *region)
120 LOGFN(__FILE__, __LINE__, __FUNCTION__);
121 return XEmptyRegion((Region)region) ? EINA_TRUE : EINA_FALSE;
125 ecore_x_xregion_is_equal(Ecore_X_XRegion *r1,
131 LOGFN(__FILE__, __LINE__, __FUNCTION__);
132 return XEqualRegion((Region)r1, (Region)r1) ? EINA_TRUE : EINA_FALSE;
136 ecore_x_xregion_point_contain(Ecore_X_XRegion *region,
143 LOGFN(__FILE__, __LINE__, __FUNCTION__);
144 return XPointInRegion((Region)region, x, y) ? EINA_TRUE : EINA_FALSE;
148 ecore_x_xregion_rect_contain(Ecore_X_XRegion *region,
149 Ecore_X_Rectangle *rect)
151 if (!region || !rect)
154 LOGFN(__FILE__, __LINE__, __FUNCTION__);
155 return XRectInRegion((Region)region,
159 rect->height) ? EINA_TRUE : EINA_FALSE;