gadcon: get right mouse position for efm gadcon..

SVN revision: 42540
This commit is contained in:
Hannes Janetzek 2009-09-17 05:41:23 +00:00
parent 5cee246020
commit 36bf931eda
1 changed files with 13 additions and 4 deletions

View File

@ -1968,7 +1968,10 @@ _e_gadcon_client_move_start(E_Gadcon_Client *gcc)
evas_object_raise(gcc->o_event);
evas_object_stack_below(gcc->o_control, gcc->o_event);
gcc->moving = 1;
ecore_x_pointer_xy_get(gcc->gadcon->zone->container->win, &gcc->dx, &gcc->dy);
if (gcc->gadcon->toolbar)
evas_pointer_canvas_xy_get(gcc->gadcon->evas, &gcc->dx, &gcc->dy);
else
ecore_x_pointer_xy_get(gcc->gadcon->zone->container->win, &gcc->dx, &gcc->dy);
e_gadcon_canvas_zone_geometry_get(gcc->gadcon, &gcx, &gcy, NULL, NULL);
evas_object_geometry_get(gcc->gadcon->o_container, &gx, &gy, NULL, NULL);
gcc->dx -= (gcx + gx);
@ -2001,7 +2004,7 @@ _e_gadcon_client_move_go(E_Gadcon_Client *gcc)
Evas_Coord x, y, w, h;
int cx, cy;
int gx, gy, gw, gh;
int gcx = 0, gcy = 0, gcw, gch;
int gcx = 0, gcy = 0;
@ -2010,8 +2013,14 @@ _e_gadcon_client_move_go(E_Gadcon_Client *gcc)
can reparent another window so we get no position here */
/* maybe we should better grab mouse while move resize is active...*/
//evas_pointer_canvas_xy_get(gcc->gadcon->evas, &cx, &cy);
ecore_x_pointer_xy_get(gcc->gadcon->zone->container->win, &cx, &cy);
e_gadcon_canvas_zone_geometry_get(gcc->gadcon, &gcx, &gcy, &gcw, &gch);
if (gcc->gadcon->toolbar)
evas_pointer_canvas_xy_get(gcc->gadcon->evas, &gcc->dx, &gcc->dy);
else
{
ecore_x_pointer_xy_get(gcc->gadcon->zone->container->win, &cx, &cy);
e_gadcon_canvas_zone_geometry_get(gcc->gadcon, &gcx, &gcy, NULL, NULL);
}
evas_object_geometry_get(gcc->gadcon->o_container, &gx, &gy, &gw, &gh);
cx -= (gx + gcx);