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,
51 LOGFN(__FILE__, __LINE__, __FUNCTION__);
52 return XSetRegion(_ecore_x_disp, gc, (Region)region) ? EINA_TRUE : EINA_FALSE;
56 ecore_x_xregion_translate(Ecore_X_XRegion *region,
60 LOGFN(__FILE__, __LINE__, __FUNCTION__);
64 /* return value not used */
65 XOffsetRegion((Region)region, x, y);
69 ecore_x_xregion_intersect(Ecore_X_XRegion *dst,
73 LOGFN(__FILE__, __LINE__, __FUNCTION__);
74 return XIntersectRegion((Region)r1, (Region)r2, (Region)dst) ? EINA_TRUE : EINA_FALSE;
78 ecore_x_xregion_union(Ecore_X_XRegion *dst,
82 LOGFN(__FILE__, __LINE__, __FUNCTION__);
83 return XUnionRegion((Region)r1, (Region)r2, (Region)dst) ? EINA_TRUE : EINA_FALSE;
87 ecore_x_xregion_union_rect(Ecore_X_XRegion *dst,
89 Ecore_X_Rectangle *rect)
93 LOGFN(__FILE__, __LINE__, __FUNCTION__);
96 xr.width = rect->width;
97 xr.height = rect->height;
99 return XUnionRectWithRegion(&xr, (Region)src, (Region)dst) ? EINA_TRUE : EINA_FALSE;
103 ecore_x_xregion_subtract(Ecore_X_XRegion *dst,
107 LOGFN(__FILE__, __LINE__, __FUNCTION__);
108 return XSubtractRegion((Region)rm, (Region)rs, (Region)dst) ? EINA_TRUE : EINA_FALSE;
112 ecore_x_xregion_is_empty(Ecore_X_XRegion *region)
117 LOGFN(__FILE__, __LINE__, __FUNCTION__);
118 return XEmptyRegion((Region)region) ? EINA_TRUE : EINA_FALSE;
122 ecore_x_xregion_is_equal(Ecore_X_XRegion *r1,
128 LOGFN(__FILE__, __LINE__, __FUNCTION__);
129 return XEqualRegion((Region)r1, (Region)r1) ? EINA_TRUE : EINA_FALSE;
133 ecore_x_xregion_point_contain(Ecore_X_XRegion *region,
140 LOGFN(__FILE__, __LINE__, __FUNCTION__);
141 return XPointInRegion((Region)region, x, y) ? EINA_TRUE : EINA_FALSE;
145 ecore_x_xregion_rect_contain(Ecore_X_XRegion *region,
146 Ecore_X_Rectangle *rect)
148 if (!region || !rect)
151 LOGFN(__FILE__, __LINE__, __FUNCTION__);
152 return XRectInRegion((Region)region,
156 rect->height) ? EINA_TRUE : EINA_FALSE;