EAPI void ecore_x_region_set(Ecore_X_Region region, Ecore_X_Rectangle *rects, int num) { #ifdef ECORE_XFIXES XRectangle *xrect = _ecore_x_rectangle_ecore_to_x(rects, num); LOGFN(__FILE__, __LINE__, __FUNCTION__); XFixesSetRegion(_ecore_x_disp, region, xrect, num); #endif /* ifdef ECORE_XFIXES */ } /* ecore_x_region_set */
EAPI void ecore_x_region_invert(Ecore_X_Region dest, Ecore_X_Rectangle *bounds, Ecore_X_Region source) { #ifdef ECORE_XFIXES XRectangle *xbound; int num = 1; LOGFN(__FILE__, __LINE__, __FUNCTION__); xbound = _ecore_x_rectangle_ecore_to_x(bounds, num); XFixesInvertRegion(_ecore_x_disp, dest, xbound, source); if (_ecore_xlib_sync) ecore_x_sync(); #endif /* ifdef ECORE_XFIXES */ }
EAPI void ecore_x_region_invert(Ecore_X_Region dest, Ecore_X_Rectangle *bounds, Ecore_X_Region source) { #ifdef ECORE_XFIXES XRectangle *xbound; int num = 0; LOGFN(__FILE__, __LINE__, __FUNCTION__); while (bounds + num) num++; xbound = _ecore_x_rectangle_ecore_to_x(bounds, num); XFixesInvertRegion(_ecore_x_disp, dest, xbound, source); #endif /* ifdef ECORE_XFIXES */ } /* ecore_x_region_invert */
EAPI Ecore_X_Region ecore_x_region_new(Ecore_X_Rectangle *rects, int num) { #ifdef ECORE_XFIXES Ecore_X_Region region; XRectangle *xrect; LOGFN(__FILE__, __LINE__, __FUNCTION__); xrect = _ecore_x_rectangle_ecore_to_x(rects, num); region = XFixesCreateRegion(_ecore_x_disp, xrect, num); free(xrect); return region; #else /* ifdef ECORE_XFIXES */ return 0; #endif /* ifdef ECORE_XFIXES */ }