ecomorph hookes from <hannes.janetzek@googlemail.com>

SVN revision: 42203
This commit is contained in:
Carsten Haitzler 2009-09-03 12:37:10 +00:00
parent 33e754e63e
commit fb4208b4a3
5 changed files with 222 additions and 170 deletions

View File

@ -245,8 +245,10 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map, int internal)
if (bd->client.argb) if (bd->client.argb)
bd->win = ecore_x_window_manager_argb_new(con->win, 0, 0, bd->w, bd->h); bd->win = ecore_x_window_manager_argb_new(con->win, 0, 0, bd->w, bd->h);
else else
bd->win = ecore_x_window_override_new(con->win, 0, 0, bd->w, bd->h); {
ecore_x_window_shape_events_select(bd->win, 1); bd->win = ecore_x_window_override_new(con->win, 0, 0, bd->w, bd->h);
ecore_x_window_shape_events_select(bd->win, 1);
}
e_bindings_mouse_grab(E_BINDING_CONTEXT_BORDER, bd->win); e_bindings_mouse_grab(E_BINDING_CONTEXT_BORDER, bd->win);
e_bindings_wheel_grab(E_BINDING_CONTEXT_BORDER, bd->win); e_bindings_wheel_grab(E_BINDING_CONTEXT_BORDER, bd->win);
e_focus_setup(bd); e_focus_setup(bd);
@ -281,6 +283,28 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map, int internal)
return NULL; return NULL;
} }
/* printf("##- ON MAP CLIENT 0x%x SIZE %ix%i %i:%i\n",
* bd->client.win, bd->client.w, bd->client.h, att->x, att->y); */
/* FIXME: if first_map is 1 then we should ignore the first hide event
* or ensure the window is alreayd hidden and events flushed before we
* create a border for it */
if (first_map)
{
// printf("##- FIRST MAP\n");
bd->x = att->x;
bd->y = att->y;
bd->changes.pos = 1;
bd->re_manage = 1;
// needed to be 1 for internal windw and on restart.
// bd->ignore_first_unmap = 2;
}
bd->client.win = win;
bd->zone = e_zone_current_get(con);
_e_border_hook_call(E_BORDER_HOOK_NEW_BORDER, bd);
bd->handlers = eina_list_append(bd->handlers, ecore_event_handler_add(ECORE_X_EVENT_MOUSE_IN, _e_border_cb_mouse_in, bd)); bd->handlers = eina_list_append(bd->handlers, ecore_event_handler_add(ECORE_X_EVENT_MOUSE_IN, _e_border_cb_mouse_in, bd));
bd->handlers = eina_list_append(bd->handlers, ecore_event_handler_add(ECORE_X_EVENT_MOUSE_OUT, _e_border_cb_mouse_out, bd)); bd->handlers = eina_list_append(bd->handlers, ecore_event_handler_add(ECORE_X_EVENT_MOUSE_OUT, _e_border_cb_mouse_out, bd));
bd->handlers = eina_list_append(bd->handlers, ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, _e_border_cb_mouse_down, bd)); bd->handlers = eina_list_append(bd->handlers, ecore_event_handler_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, _e_border_cb_mouse_down, bd));
@ -288,8 +312,6 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map, int internal)
bd->handlers = eina_list_append(bd->handlers, ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE, _e_border_cb_mouse_move, bd)); bd->handlers = eina_list_append(bd->handlers, ecore_event_handler_add(ECORE_EVENT_MOUSE_MOVE, _e_border_cb_mouse_move, bd));
bd->handlers = eina_list_append(bd->handlers, ecore_event_handler_add(ECORE_EVENT_MOUSE_WHEEL, _e_border_cb_mouse_wheel, bd)); bd->handlers = eina_list_append(bd->handlers, ecore_event_handler_add(ECORE_EVENT_MOUSE_WHEEL, _e_border_cb_mouse_wheel, bd));
bd->client.win = win;
bd->client.icccm.title = NULL; bd->client.icccm.title = NULL;
bd->client.icccm.name = NULL; bd->client.icccm.name = NULL;
bd->client.icccm.class = NULL; bd->client.icccm.class = NULL;
@ -455,23 +477,6 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map, int internal)
bd->changes.size = 1; bd->changes.size = 1;
bd->changes.shape = 1; bd->changes.shape = 1;
// printf("##- ON MAP CLIENT 0x%x SIZE %ix%i\n",
// bd->client.win, bd->client.w, bd->client.h);
/* FIXME: if first_map is 1 then we should ignore the first hide event
* or ensure the window is alreayd hidden and events flushed before we
* create a border for it */
if (first_map)
{
// printf("##- FIRST MAP\n");
bd->x = att->x;
bd->y = att->y;
bd->changes.pos = 1;
bd->re_manage = 1;
// needed to be 1 for internal windw and on restart.
// bd->ignore_first_unmap = 2;
}
/* just to friggin make java happy - we're DELAYING the reparent until /* just to friggin make java happy - we're DELAYING the reparent until
* eval time... * eval time...
*/ */
@ -683,6 +688,7 @@ e_border_desk_set(E_Border *bd, E_Desk *desk)
bd->desk = desk; bd->desk = desk;
e_border_zone_set(bd, desk->zone); e_border_zone_set(bd, desk->zone);
_e_border_hook_call(E_BORDER_HOOK_SET_DESK, bd);
e_hints_window_desktop_set(bd); e_hints_window_desktop_set(bd);
ev = calloc(1, sizeof(E_Event_Border_Desk_Set)); ev = calloc(1, sizeof(E_Event_Border_Desk_Set));
@ -7920,8 +7926,6 @@ _e_border_zone_update(E_Border *bd)
static int static int
_e_border_resize_begin(E_Border *bd) _e_border_resize_begin(E_Border *bd)
{ {
int w, h;
if (!bd->lock_user_stacking) if (!bd->lock_user_stacking)
{ {
if (e_config->border_raise_on_mouse_action) if (e_config->border_raise_on_mouse_action)
@ -7932,29 +7936,6 @@ _e_border_resize_begin(E_Border *bd)
(bd->fullscreen) || (bd->lock_user_size)) (bd->fullscreen) || (bd->lock_user_size))
return 0; return 0;
if ((bd->client.icccm.base_w >= 0) &&
(bd->client.icccm.base_h >= 0))
{
if (bd->client.icccm.step_w > 0)
w = (bd->client.w - bd->client.icccm.base_w) / bd->client.icccm.step_w;
else
w = bd->client.w;
if (bd->client.icccm.step_h > 0)
h = (bd->client.h - bd->client.icccm.base_h) / bd->client.icccm.step_h;
else
h = bd->client.h;
}
else
{
if (bd->client.icccm.step_w > 0)
w = (bd->client.w - bd->client.icccm.min_w) / bd->client.icccm.step_w;
else
w = bd->client.w;
if (bd->client.icccm.step_h > 0)
h = (bd->client.h - bd->client.icccm.min_h) / bd->client.icccm.step_h;
else
h = bd->client.h;
}
if (grabbed) if (grabbed)
e_grabinput_get(bd->win, 0, bd->win); e_grabinput_get(bd->win, 0, bd->win);
if (bd->client.netwm.sync.request) if (bd->client.netwm.sync.request)
@ -7964,11 +7945,9 @@ _e_border_resize_begin(E_Border *bd)
bd->client.netwm.sync.wait = 0; bd->client.netwm.sync.wait = 0;
bd->client.netwm.sync.send_time = ecore_loop_time_get(); bd->client.netwm.sync.send_time = ecore_loop_time_get();
} }
if (e_config->resize_info_follows)
e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h); _e_border_hook_call(E_BORDER_HOOK_RESIZE_BEGIN, bd);
else
e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h);
e_resize_begin(bd->zone, w, h);
resize = bd; resize = bd;
return 1; return 1;
} }
@ -7984,7 +7963,8 @@ _e_border_resize_end(E_Border *bd)
ecore_x_sync_alarm_free(bd->client.netwm.sync.alarm); ecore_x_sync_alarm_free(bd->client.netwm.sync.alarm);
bd->client.netwm.sync.alarm = 0; bd->client.netwm.sync.alarm = 0;
} }
e_resize_end(); _e_border_hook_call(E_BORDER_HOOK_RESIZE_END, bd);
resize = NULL; resize = NULL;
/* If this border was maximized, we need to unset Maximized state or /* If this border was maximized, we need to unset Maximized state or
@ -7998,36 +7978,7 @@ _e_border_resize_end(E_Border *bd)
static void static void
_e_border_resize_update(E_Border *bd) _e_border_resize_update(E_Border *bd)
{ {
int w, h; _e_border_hook_call(E_BORDER_HOOK_RESIZE_UPDATE, bd);
if ((bd->client.icccm.base_w >= 0) &&
(bd->client.icccm.base_h >= 0))
{
if (bd->client.icccm.step_w > 0)
w = (bd->client.w - bd->client.icccm.base_w) / bd->client.icccm.step_w;
else
w = bd->client.w;
if (bd->client.icccm.step_h > 0)
h = (bd->client.h - bd->client.icccm.base_h) / bd->client.icccm.step_h;
else
h = bd->client.h;
}
else
{
if (bd->client.icccm.step_w > 0)
w = (bd->client.w - bd->client.icccm.min_w) / bd->client.icccm.step_w;
else
w = bd->client.w;
if (bd->client.icccm.step_h > 0)
h = (bd->client.h - bd->client.icccm.min_h) / bd->client.icccm.step_h;
else
h = bd->client.h;
}
if (e_config->resize_info_follows)
e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h);
else
e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h);
e_resize_update(w, h);
} }
static int static int
@ -8053,11 +8004,8 @@ _e_border_move_begin(E_Border *bd)
bd->client.netwm.sync.time = ecore_loop_time_get(); bd->client.netwm.sync.time = ecore_loop_time_get();
} }
#endif #endif
if (e_config->move_info_follows) _e_border_hook_call(E_BORDER_HOOK_MOVE_BEGIN, bd);
e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h);
else
e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h);
e_move_begin(bd->zone, bd->x, bd->y);
move = bd; move = bd;
return 1; return 1;
} }
@ -8075,7 +8023,8 @@ _e_border_move_end(E_Border *bd)
bd->client.netwm.sync.alarm = 0; bd->client.netwm.sync.alarm = 0;
} }
#endif #endif
e_move_end(); _e_border_hook_call(E_BORDER_HOOK_MOVE_END, bd);
move = NULL; move = NULL;
return 1; return 1;
} }
@ -8083,11 +8032,7 @@ _e_border_move_end(E_Border *bd)
static void static void
_e_border_move_update(E_Border *bd) _e_border_move_update(E_Border *bd)
{ {
if (e_config->move_info_follows) _e_border_hook_call(E_BORDER_HOOK_MOVE_UPDATE, bd);
e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h);
else
e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h);
e_move_update(bd->x, bd->y);
} }
static int static int

View File

@ -88,7 +88,15 @@ typedef enum _E_Border_Hook_Point
E_BORDER_HOOK_EVAL_PRE_NEW_BORDER, E_BORDER_HOOK_EVAL_PRE_NEW_BORDER,
E_BORDER_HOOK_EVAL_POST_NEW_BORDER, E_BORDER_HOOK_EVAL_POST_NEW_BORDER,
E_BORDER_HOOK_EVAL_END, E_BORDER_HOOK_EVAL_END,
E_BORDER_HOOK_CONTAINER_LAYOUT E_BORDER_HOOK_CONTAINER_LAYOUT,
E_BORDER_HOOK_NEW_BORDER,
E_BORDER_HOOK_SET_DESK,
E_BORDER_HOOK_MOVE_BEGIN,
E_BORDER_HOOK_MOVE_UPDATE,
E_BORDER_HOOK_MOVE_END,
E_BORDER_HOOK_RESIZE_BEGIN,
E_BORDER_HOOK_RESIZE_UPDATE,
E_BORDER_HOOK_RESIZE_END
} E_Border_Hook_Point; } E_Border_Hook_Point;
typedef struct _E_Border E_Border; typedef struct _E_Border E_Border;
@ -666,5 +674,7 @@ extern EAPI int E_EVENT_BORDER_FOCUS_IN;
extern EAPI int E_EVENT_BORDER_FOCUS_OUT; extern EAPI int E_EVENT_BORDER_FOCUS_OUT;
extern EAPI int E_EVENT_BORDER_PROPERTY; extern EAPI int E_EVENT_BORDER_PROPERTY;
extern EAPI Ecore_X_Atom ECOMORPH_ATOM_MANAGED;
#endif #endif
#endif #endif

View File

@ -650,6 +650,11 @@ main(int argc, char **argv)
} }
_e_main_shutdown_push(e_intl_post_shutdown); _e_main_shutdown_push(e_intl_post_shutdown);
TS("move/resize info");
/* init move resize popup */
e_moveresize_init();
_e_main_shutdown_push(e_moveresize_shutdown);
TS("splash"); TS("splash");
if (!((!e_config->show_splash) || (after_restart))) if (!((!e_config->show_splash) || (after_restart)))
{ {

View File

@ -3,60 +3,113 @@
*/ */
#include "e.h" #include "e.h"
static void _e_resize_begin(void *data, E_Border *bd);
static void _e_resize_update(void *data, E_Border *bd);
static void _e_resize_end(void *data, E_Border *bd);
static void _e_resize_border_extents(E_Border *bd, int *w, int *h);
static void _e_move_begin(void *data, E_Border *bd);
static void _e_move_update(void *data, E_Border *bd);
static void _e_move_end(void *data, E_Border *bd);
static void _e_move_resize_object_coords_set(int x, int y, int w, int h);
static E_Popup *_disp_pop = NULL; static E_Popup *_disp_pop = NULL;
static Evas_Object *_obj = NULL; static Evas_Object *_obj = NULL;
static Eina_List *hooks = NULL;
static int visible = 0; static int visible = 0;
static int obj_x = 0; static int obj_x = 0;
static int obj_y = 0; static int obj_y = 0;
static int obj_w = 0; static int obj_w = 0;
static int obj_h = 0; static int obj_h = 0;
EAPI void EAPI int
e_resize_begin(E_Zone *zone, int w, int h) e_moveresize_init(void)
{
E_Border_Hook *h;
h = e_border_hook_add(E_BORDER_HOOK_RESIZE_BEGIN, _e_resize_begin, NULL);
if (h) hooks = eina_list_append(hooks, h);
h = e_border_hook_add(E_BORDER_HOOK_RESIZE_UPDATE, _e_resize_update, NULL);
if (h) hooks = eina_list_append(hooks, h);
h = e_border_hook_add(E_BORDER_HOOK_RESIZE_END, _e_resize_end, NULL);
if (h) hooks = eina_list_append(hooks, h);
h = e_border_hook_add(E_BORDER_HOOK_MOVE_BEGIN, _e_move_begin, NULL);
if (h) hooks = eina_list_append(hooks, h);
h = e_border_hook_add(E_BORDER_HOOK_MOVE_UPDATE, _e_move_update, NULL);
if (h) hooks = eina_list_append(hooks, h);
h = e_border_hook_add(E_BORDER_HOOK_MOVE_END, _e_move_end, NULL);
if (h) hooks = eina_list_append(hooks, h);
return 1;
}
EAPI int
e_moveresize_shutdown(void)
{
E_Border_Hook *h;
EINA_LIST_FREE(hooks, h)
e_border_hook_del(h);
}
static void
_e_resize_begin(void *data, E_Border *bd)
{ {
Evas_Coord ew, eh; Evas_Coord ew, eh;
char buf[40]; char buf[40];
int w, h;
_obj = NULL;
if (_disp_pop) e_object_del(E_OBJECT(_disp_pop)); if (_disp_pop) e_object_del(E_OBJECT(_disp_pop));
_disp_pop = NULL;
_obj = NULL;
if (e_config->resize_info_visible) if (!e_config->resize_info_visible)
return;
if (e_config->resize_info_follows)
_e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h);
else
_e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h);
_e_resize_border_extents(bd, &w, &h);
_disp_pop = e_popup_new(bd->zone, 0, 0, 1, 1);
if (!_disp_pop) return;
e_popup_layer_set(_disp_pop, 255);
_obj = edje_object_add(_disp_pop->evas);
e_theme_edje_object_set(_obj, "base/theme/borders",
"e/widgets/border/default/resize");
snprintf(buf, sizeof(buf), "9999x9999");
edje_object_part_text_set(_obj, "e.text.label", buf);
edje_object_size_min_calc(_obj, &ew, &eh);
evas_object_move(_obj, 0, 0);
evas_object_resize(_obj, ew, eh);
evas_object_show(_obj);
e_popup_edje_bg_object_set(_disp_pop, _obj);
if (!visible)
{ {
_disp_pop = e_popup_new(zone, 0, 0, 1, 1);
if (!_disp_pop) return;
e_popup_layer_set(_disp_pop, 255);
_obj = edje_object_add(_disp_pop->evas);
e_theme_edje_object_set(_obj, "base/theme/borders",
"e/widgets/border/default/resize");
snprintf(buf, sizeof(buf), "9999x9999");
edje_object_part_text_set(_obj, "e.text.label", buf);
edje_object_size_min_calc(_obj, &ew, &eh);
evas_object_move(_obj, 0, 0);
evas_object_resize(_obj, ew, eh);
evas_object_show(_obj); evas_object_show(_obj);
e_popup_edje_bg_object_set(_disp_pop, _obj);
}
e_resize_update(w, h);
if (e_config->resize_info_visible)
{
e_popup_move_resize(_disp_pop,
(obj_x - _disp_pop->zone->x) +
((obj_w - ew) / 2),
(obj_y - _disp_pop->zone->y) +
((obj_h - eh) / 2),
ew, eh);
e_popup_show(_disp_pop); e_popup_show(_disp_pop);
visible = 1;
} }
snprintf(buf, sizeof(buf), "%ix%i", w, h);
edje_object_part_text_set(_obj, "e.text.label", buf);
e_popup_move_resize(_disp_pop,
(obj_x - _disp_pop->zone->x) +
((obj_w - ew) / 2),
(obj_y - _disp_pop->zone->y) +
((obj_h - eh) / 2),
ew, eh);
e_popup_show(_disp_pop);
visible = 1; visible = 1;
} }
EAPI void static void
e_resize_end(void) _e_resize_end(void *data, E_Border *bd)
{ {
if (e_config->resize_info_visible) if (e_config->resize_info_visible)
{ {
@ -75,12 +128,21 @@ e_resize_end(void)
visible = 0; visible = 0;
} }
EAPI void static void
e_resize_update(int w, int h) _e_resize_update(void *data, E_Border *bd)
{ {
char buf[40]; char buf[40];
int w, h;
if (!_disp_pop) return; if (!_disp_pop) return;
if (e_config->resize_info_follows)
_e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h);
else
_e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h);
_e_resize_border_extents(bd, &w, &h);
if (!visible) if (!visible)
{ {
evas_object_show(_obj); evas_object_show(_obj);
@ -91,44 +153,75 @@ e_resize_update(int w, int h)
edje_object_part_text_set(_obj, "e.text.label", buf); edje_object_part_text_set(_obj, "e.text.label", buf);
} }
EAPI void static void
e_move_begin(E_Zone *zone, int x, int y) _e_resize_border_extents(E_Border *bd, int *w, int *h)
{
if ((bd->client.icccm.base_w >= 0) &&
(bd->client.icccm.base_h >= 0))
{
if (bd->client.icccm.step_w > 0)
*w = (bd->client.w - bd->client.icccm.base_w) / bd->client.icccm.step_w;
else
*w = bd->client.w;
if (bd->client.icccm.step_h > 0)
*h = (bd->client.h - bd->client.icccm.base_h) / bd->client.icccm.step_h;
else
*h = bd->client.h;
}
else
{
if (bd->client.icccm.step_w > 0)
*w = (bd->client.w - bd->client.icccm.min_w) / bd->client.icccm.step_w;
else
*w = bd->client.w;
if (bd->client.icccm.step_h > 0)
*h = (bd->client.h - bd->client.icccm.min_h) / bd->client.icccm.step_h;
else
*h = bd->client.h;
}
}
static void
_e_move_begin(void *data, E_Border *bd)
{ {
Evas_Coord ew, eh; Evas_Coord ew, eh;
char buf[40]; char buf[40];
_obj = NULL;
if (_disp_pop) e_object_del(E_OBJECT(_disp_pop)); if (_disp_pop) e_object_del(E_OBJECT(_disp_pop));
_disp_pop = NULL;
_obj = NULL;
if (e_config->move_info_visible) if (!e_config->move_info_visible)
{ return;
_disp_pop = e_popup_new(zone, 0, 0, 1, 1);
_obj = edje_object_add(_disp_pop->evas);
e_theme_edje_object_set(_obj, "base/theme/borders",
"e/widgets/border/default/move");
snprintf(buf, sizeof(buf), "9999 9999");
edje_object_part_text_set(_obj, "e.text.label", buf);
edje_object_size_min_calc(_obj, &ew, &eh); if (e_config->move_info_follows)
evas_object_move(_obj, 0, 0); _e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h);
evas_object_resize(_obj, ew, eh); else
evas_object_show(_obj); _e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h);
e_popup_edje_bg_object_set(_disp_pop, _obj);
}
if (e_config->move_info_visible) _disp_pop = e_popup_new(bd->zone, 0, 0, 1, 1);
{ _obj = edje_object_add(_disp_pop->evas);
e_popup_move_resize(_disp_pop, e_theme_edje_object_set(_obj, "base/theme/borders",
(obj_x - _disp_pop->zone->x) + "e/widgets/border/default/move");
((obj_w - ew) / 2), snprintf(buf, sizeof(buf), "9999 9999");
(obj_y - _disp_pop->zone->y) + edje_object_part_text_set(_obj, "e.text.label", buf);
((obj_h - eh) / 2),
ew, eh); edje_object_size_min_calc(_obj, &ew, &eh);
} evas_object_move(_obj, 0, 0);
evas_object_resize(_obj, ew, eh);
evas_object_show(_obj);
e_popup_edje_bg_object_set(_disp_pop, _obj);
e_popup_move_resize(_disp_pop,
(obj_x - _disp_pop->zone->x) +
((obj_w - ew) / 2),
(obj_y - _disp_pop->zone->y) +
((obj_h - eh) / 2),
ew, eh);
} }
EAPI void static void
e_move_end(void) _e_move_end(void *data, E_Border *bd)
{ {
if (e_config->move_info_visible) if (e_config->move_info_visible)
{ {
@ -147,24 +240,30 @@ e_move_end(void)
visible = 0; visible = 0;
} }
EAPI void static void
e_move_update(int x, int y) _e_move_update(void *data, E_Border *bd)
{ {
char buf[40]; char buf[40];
if (!_disp_pop) return; if (!_disp_pop) return;
if (e_config->move_info_follows)
_e_move_resize_object_coords_set(bd->x + bd->fx.x, bd->y + bd->fx.y, bd->w, bd->h);
else
_e_move_resize_object_coords_set(bd->zone->x, bd->zone->y, bd->zone->w, bd->zone->h);
if (!visible) if (!visible)
{ {
evas_object_show(_obj); evas_object_show(_obj);
e_popup_show(_disp_pop); e_popup_show(_disp_pop);
visible = 1; visible = 1;
} }
snprintf(buf, sizeof(buf), "%i %i", x, y); snprintf(buf, sizeof(buf), "%i %i", bd->x, bd->y);
edje_object_part_text_set(_obj, "e.text.label", buf); edje_object_part_text_set(_obj, "e.text.label", buf);
} }
EAPI void static void
e_move_resize_object_coords_set(int x, int y, int w, int h) _e_move_resize_object_coords_set(int x, int y, int w, int h)
{ {
obj_x = x; obj_x = x;
obj_y = y; obj_y = y;

View File

@ -7,15 +7,8 @@
#ifndef E_MOVERESIZE_H #ifndef E_MOVERESIZE_H
#define E_MOVERESIZE_H #define E_MOVERESIZE_H
EAPI void e_resize_begin(E_Zone *zone, int w, int h); EAPI int e_moveresize_init(void);
EAPI void e_resize_end(void); EAPI int e_moveresize_shutdown(void);
EAPI void e_resize_update(int w, int h);
EAPI void e_move_begin(E_Zone *zone, int x, int y);
EAPI void e_move_end(void);
EAPI void e_move_update(int x, int y);
EAPI void e_move_resize_object_coords_set(int x, int y, int w, int h);
#endif #endif
#endif #endif