forked from enlightenment/efl
Add a new API(ecore_evas_request_geometry_get)
The reson why I add this is for communicate with X in async mode. For example, If applications call elm_win_rotation_with_resize_set API when they start run and rotation mode is set. ecore size doesn't changed yet, so it make elm window size to 1 becaues elm window's resize function use ecore_evas_geometry_get API. so I add new api help upperside get info related with recently request geometry SVN revision: 64492
This commit is contained in:
parent
a3a5a85d92
commit
f627a72047
|
@ -278,6 +278,29 @@ EAPI Eina_Bool ecore_evas_transparent_get(const Ecore_Evas *ee);
|
|||
* @see ecore_evas_move_resize()
|
||||
*/
|
||||
EAPI void ecore_evas_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int *h);
|
||||
/**
|
||||
* @brief Get the geometry which an Ecore_Evas was latest recently requested.
|
||||
*
|
||||
* @param ee The Ecore_Evas whose geometry y
|
||||
* @param x A pointer to an int to place the x coordinate in
|
||||
* @param y A pointer to an int to place the y coordinate in
|
||||
* @param w A pointer to an int to place the w size in
|
||||
* @param h A pointer to an int to place the h size in
|
||||
*
|
||||
* This function takes four pointers to (already allocated) ints, and places
|
||||
* the geometry which @p ee was latest recently requested . If any of the parameters is not desired you
|
||||
* may pass NULL on them.
|
||||
* This function can represent recently requested geomety.
|
||||
* ecore_evas_geometry_get function returns the value is updated after engine finished request.
|
||||
* By comparison, ecore_evas_request_geometry_get returns recently requested value.
|
||||
*
|
||||
* @code
|
||||
* int x, y, w, h;
|
||||
* ecore_evas_request_geometry_get(ee, &x, &y, &w, &h);
|
||||
* @endcode
|
||||
*
|
||||
*/
|
||||
EAPI void ecore_evas_request_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int *h);
|
||||
/**
|
||||
* @brief Set the focus of an Ecore_Evas' window.
|
||||
*
|
||||
|
|
|
@ -1185,6 +1185,31 @@ ecore_evas_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int *h)
|
|||
}
|
||||
}
|
||||
|
||||
EAPI void
|
||||
ecore_evas_request_geometry_get(const Ecore_Evas *ee, int *x, int *y, int *w, int *h)
|
||||
{
|
||||
if (!ECORE_MAGIC_CHECK(ee, ECORE_MAGIC_EVAS))
|
||||
{
|
||||
ECORE_MAGIC_FAIL(ee, ECORE_MAGIC_EVAS,
|
||||
"ecore_evas_request_geometry_get");
|
||||
return;
|
||||
}
|
||||
if ((ee->rotation == 90) || (ee->rotation == 270))
|
||||
{
|
||||
if (x) *x = ee->req.x;
|
||||
if (y) *y = ee->req.y;
|
||||
if (w) *w = ee->req.h;
|
||||
if (h) *h = ee->req.w;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (x) *x = ee->req.x;
|
||||
if (y) *y = ee->req.y;
|
||||
if (w) *w = ee->req.w;
|
||||
if (h) *h = ee->req.h;
|
||||
}
|
||||
}
|
||||
|
||||
EAPI void
|
||||
ecore_evas_rotation_set(Ecore_Evas *ee, int rot)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue