return res;
}
+E_API Eina_Bool
+e_desk_zoom_get_center_coordinate(E_Desk *desk, double zoomx, double zoomy, int rectx, int recty, int *cx, int *cy)
+{
+ E_Zone *zone = NULL;
+ E_Output *eout = NULL;
+ int w, h;
+ int zoomw, zoomh;
+
+ E_OBJECT_CHECK_RETURN(desk, EINA_FALSE);
+ E_OBJECT_TYPE_CHECK_RETURN(desk, E_DESK_TYPE, EINA_FALSE);
+
+ zone = desk->zone;
+ eout = e_output_find(zone->output_id);
+
+ e_output_size_get(eout, &w, &h);
+
+ zoomw = w / zoomx;
+ zoomh = h / zoomy;
+
+ if (e_config->use_pp_zoom)
+ {
+ if (zoomx == 1 || rectx < 0 || zoomw + rectx >= w)
+ return EINA_FALSE;
+
+ if (zoomy == 1 || recty < 0 || zoomh + recty >= h)
+ return EINA_FALSE;
+ }
+ else
+ {
+ if (zoomx == 1 || zoomy == 1)
+ return EINA_FALSE;
+ }
+
+ if (rectx == 0)
+ *cx = 0;
+ else
+ *cx = (int)((zoomx * (double)rectx) / (zoomx - 1.0));
+
+ if (recty == 0)
+ *cy = 0;
+ else
+ *cy = (int)((zoomy * (double)recty) / (zoomy - 1.0));
+
+ return EINA_TRUE;
+}
+
E_API void
e_desk_zoom_unset(E_Desk *desk)
{
E_API void e_desk_geometry_set(E_Desk *desk, int x, int y, int w, int h);
E_API void e_desk_zoom_set(E_Desk *desk, double zoomx, double zoomy, int cx, int cy);
E_API Eina_Bool e_desk_zoom_get(E_Desk *desk, double *zoomx, double *zoomy, int *cx, int *cy);
+E_API Eina_Bool e_desk_zoom_get_center_coordinate(E_Desk *desk, double zoomx, double zoomy, int rectx, int recty, int *cx, int *cy);
E_API void e_desk_zoom_unset(E_Desk *desk);
E_API void e_desk_smart_member_add(E_Desk *desk, Evas_Object *obj);