From: Enlightenment S. <no-...@en...> - 2010-10-15 19:09:23
|
Log: replace old engage zoom function with one that i can understand :) - remove 'draw on desktop' mode. Author: jeffdameth Date: 2010-10-15 12:09:16 -0700 (Fri, 15 Oct 2010) New Revision: 53467 Modified: trunk/E-MODULES-EXTRA/itask-ng/src/e_mod_main.c trunk/E-MODULES-EXTRA/itask-ng/src/e_mod_main.h trunk/E-MODULES-EXTRA/itask-ng/src/ng_config.c trunk/E-MODULES-EXTRA/itask-ng/src/ng_launcher.c trunk/E-MODULES-EXTRA/itask-ng/src/ng_taskbar.c Modified: trunk/E-MODULES-EXTRA/itask-ng/src/e_mod_main.c =================================================================== --- trunk/E-MODULES-EXTRA/itask-ng/src/e_mod_main.c 2010-10-15 19:08:45 UTC (rev 53466) +++ trunk/E-MODULES-EXTRA/itask-ng/src/e_mod_main.c 2010-10-15 19:09:16 UTC (rev 53467) @@ -30,7 +30,6 @@ static void _ngi_item_appear(Ng *ng, Ngi_Item *it); static void _ngi_item_disappear(Ng *ng, Ngi_Item *it); static void _ngi_zoom_function(Ng *ng, double d, double *zoom, double *disp); -static int _ngi_zoom_function2(Ng *ng); static Eina_Bool _ngi_animator(void *data); static void _ngi_redraw(Ng *ng); static int _ngi_autohide(Ng *ng, int hide); @@ -578,45 +577,36 @@ win->ee = NULL; win->evas_win = 0; - if (ng->cfg->stacking != on_desk) + win->ee = e_canvas_new(e_config->evas_engine_popups, + ng->zone->container->win, + 0, 0, 0, 0, 1, 1, &(win->evas_win)); + + if (ngi_config->use_composite) { - win->ee = e_canvas_new(e_config->evas_engine_popups, - ng->zone->container->win, - 0, 0, 0, 0, 1, 1, &(win->evas_win)); + ecore_evas_alpha_set(win->ee, 1); + win->evas_win = ecore_evas_software_x11_window_get(win->ee); - if (ngi_config->use_composite) - { - ecore_evas_alpha_set(win->ee, 1); - win->evas_win = ecore_evas_software_x11_window_get(win->ee); - - XRectangle rect; - rect.x = 0; - rect.y = 0; - rect.width = 0; - rect.height = 0; - XShapeCombineRectangles - ((Display*)ecore_x_display_get(), - win->evas_win, ShapeInput, 0, 0, - &rect, 1, ShapeSet, Unsorted); - ecore_x_netwm_window_type_set - (win->evas_win, ECORE_X_WINDOW_TYPE_DOCK); - } - else - { - ecore_evas_shaped_set(win->ee, 1); - } - - ecore_evas_avoid_damage_set(win->ee, 1); - - e_canvas_add(win->ee); - - win->evas = ecore_evas_get(win->ee); + XRectangle rect; + rect.x = 0; + rect.y = 0; + rect.width = 0; + rect.height = 0; + XShapeCombineRectangles + ((Display*)ecore_x_display_get(), + win->evas_win, ShapeInput, 0, 0, + &rect, 1, ShapeSet, Unsorted); + ecore_x_netwm_window_type_set + (win->evas_win, ECORE_X_WINDOW_TYPE_DOCK); } else { - win->evas = win->ng->zone->container->bg_evas; + ecore_evas_shaped_set(win->ee, 1); } + ecore_evas_avoid_damage_set(win->ee, 1); + e_canvas_add(win->ee); + win->evas = ecore_evas_get(win->ee); + win->input = ecore_x_window_input_new(ng->zone->container->win, 0, 0, 1, 1); ecore_x_window_show(win->input); e_drop_xdnd_register_set(win->input, 1); @@ -658,14 +648,6 @@ e_container_window_raise(ng->zone->container, win->edge, 150); e_container_window_raise(ng->zone->container, win->input, 150); break; - case on_desk: - if (ng->cfg->lock_deskswitch) - e_container_window_raise(ng->zone->container, win->edge, 999); - else - e_container_window_raise(ng->zone->container, win->edge, 50); - - e_container_window_raise(ng->zone->container, win->input, 50); - break; case above_all: e_container_window_raise(ng->zone->container, win->evas_win, 250); e_container_window_raise(ng->zone->container, win->input, 999); @@ -811,13 +793,10 @@ if (ng->cfg->autohide && ng->hide_state != show) _ngi_autohide(ng, 0); - if (ng->cfg->stacking != on_desk) + if (!ng->dnd) { - if (!ng->dnd) - { - evas_event_feed_mouse_in(ng->win->evas, 0, NULL); - _ngi_item_activate(ng); - } + evas_event_feed_mouse_in(ng->win->evas, 0, NULL); + _ngi_item_activate(ng); } ng->mouse_in_timer = NULL; @@ -860,8 +839,7 @@ ng->mouse_out_timer = NULL; - if (ng->cfg->stacking != on_desk) /*XXX*/ - evas_event_feed_mouse_out(ng->win->evas, 0, NULL); + evas_event_feed_mouse_out(ng->win->evas, 0, NULL); ITEM_MOUSE_OUT(ng->item_active); edje_object_signal_emit(ng->label, "e,state,label_hide", "e"); @@ -929,8 +907,7 @@ ngi_mouse_out(ng); - if (ng->cfg->stacking != on_desk) - evas_event_feed_mouse_out(ng->win->evas, 0, NULL); + evas_event_feed_mouse_out(ng->win->evas, 0, NULL); return EINA_TRUE; } @@ -992,9 +969,8 @@ ITEM_MOUSE_DOWN(it, ev); - if (ng->cfg->stacking != on_desk) - evas_event_feed_mouse_down - (ng->win->evas, ev->buttons, 0, ev->timestamp, NULL); + evas_event_feed_mouse_down + (ng->win->evas, ev->buttons, 0, ev->timestamp, NULL); if (ng->menu_wait_timer) ecore_timer_del(ng->menu_wait_timer); @@ -1019,9 +995,8 @@ { ITEM_MOUSE_UP(ng->item_active, ev); - if (ng->cfg->stacking != on_desk) - evas_event_feed_mouse_up - (ng->win->evas, ev->buttons, 0, ev->timestamp, NULL); + evas_event_feed_mouse_up + (ng->win->evas, ev->buttons, 0, ev->timestamp, NULL); if (ng->item_drag) { @@ -1043,7 +1018,6 @@ (ev->event_window != ng->win->edge)) return EINA_TRUE; - if (ng->cfg->stacking != on_desk) evas_event_feed_mouse_wheel (ng->win->evas, 0, ev->z, ev->timestamp, NULL); @@ -1144,20 +1118,7 @@ /**************************************************************************/ -static int -_ngi_zoom_function2(Ng *ng) -{ - double f, ff, sqrt_ffxx, sqrt_ff_1; - f = 5.5; - ff = f * f; - sqrt_ffxx = sqrt(ff); - sqrt_ff_1 = sqrt(ff - 1.0); - - return (int)(((ng->cfg->zoomfactor) * - ((sqrt_ff_1 - sqrt_ffxx) / (sqrt_ff_1 - f)) + 1.0) * ng->size); -} - static void _ngi_netwm_icon_geometry_set(E_Border *bd, int x, int y, int w, int h) { @@ -1181,9 +1142,6 @@ int x, y, w, h; int wx, wy, ww, wh; - - - int hidden = 0; if (ng->hide_state == hiding || ng->hide_state == hidden) @@ -1191,7 +1149,7 @@ if (ng->state != unzoomed && !ng->zoom_out) { - item_zoomed = _ngi_zoom_function2(ng); + item_zoomed = ng->cfg->size * (1 + ng->cfg->zoomfactor/2.0); } else { @@ -1277,14 +1235,6 @@ e_container_window_raise(ng->zone->container, ng->win->edge, 150); e_container_window_raise(ng->zone->container, ng->win->input, 150); break; - case on_desk: - if (ng->cfg->lock_deskswitch) - e_container_window_raise(ng->zone->container, ng->win->edge, 999); - else - e_container_window_raise(ng->zone->container, ng->win->edge, 50); - - e_container_window_raise(ng->zone->container, ng->win->input, 50); - break; case above_all: e_container_window_raise(ng->zone->container, ng->win->input, 999); } @@ -1487,7 +1437,7 @@ Config_Item *cfg = ng->cfg; ng->zoom = ng->zoom + - (cfg->zoomfactor / (double)e_config->framerate) / cfg->zoom_duration; + (cfg->zoomfactor / (double)e_config->framerate) / (cfg->zoom_duration/2.0); if (ng->zoom < cfg->zoomfactor) { @@ -1796,65 +1746,22 @@ static void _ngi_zoom_function(Ng *ng, double d, double *zoom, double *disp) { - double range, f, x, ff, sqrt_ffxx, sqrt_ff_1; + float range = ng->cfg->size * ng->cfg->zoom_range; + float z = ng->zoom - 1.0; + float x = d/range; - Config_Item *cfg = ng->cfg; - - range = ng->cfg->zoom_one ? 1.0 : cfg->zoom_range; - f = 5.5; - x = d / range; - - ff = f * f; - sqrt_ffxx = sqrt(ff - x * x); - sqrt_ff_1 = sqrt(ff - 1.0); - - double z = cfg->zoomfactor * (double)ng->size; - double w = range * (double)ng->size; - if (d > -range && d < range) - { - *zoom = (ng->zoom - 1.0) * (cfg->zoomfactor - 1.0) * - ((sqrt_ff_1 - sqrt_ffxx) / (sqrt_ff_1 - f)) + 1.0; - - /// hack for tighter packing /// - float z = 0.0f; - if (ng->state != unzoomed ) - { - z = fabsf(((ng->zoom) - (*zoom)) / (ng->zoom - 1.0f) ); - if (z > 1.0f) - z = (double) ng->item_spacing; - else - z *= (double) ng->item_spacing; - } - else - { - z = (double) ng->item_spacing; - } - - *disp = (((double) ng->size) + z) - * ((ng->zoom - 1.0) * (cfg->zoomfactor - 1.0) * - (range * - (x * (2 * sqrt_ff_1 - sqrt_ffxx) - - ff * atan(x / sqrt_ffxx)) / - (2.0 * (sqrt_ff_1 - f))) + d); - } + if (abs(d) < range * ng->cfg->size) + *zoom = 1.0 + (expf(-(x*x))) * z; else - { - *zoom = 1.0; - *disp = (ng->size + ng->item_spacing) * - ((ng->zoom - 1.0) * (cfg->zoomfactor - 1.0) * - (range * (sqrt_ff_1 - ff * atan(1.0 / sqrt_ff_1)) / - (2.0 * (sqrt_ff_1 - f))) + - range + fabs(d) - range); - - if (d < 0.0) - *disp = -(*disp); - } + *zoom = 1.0; + + *disp = z * range * erf(x); } static void _ngi_redraw(Ng *ng) { - double zoom2, disp2, distance, pos; + double distance, pos; int end1, end2, size, size_spacing, spacing, hide_step, bg_dist1, bg_dist2; Ngi_Item *it; Ngi_Box *box; @@ -1899,9 +1806,9 @@ { if (cfg->zoomfactor > 1.0) { - distance = (double)(ng->start - ng->pos) / size_spacing; + distance = (double)(ng->start - ng->pos); _ngi_zoom_function(ng, distance, &zoom, &disp); - end1 = (int)(ng->pos + disp); + end1 = (int)(ng->start + disp); } else { @@ -1910,9 +1817,9 @@ if (cfg->zoomfactor > 1.0) { - distance = (double)(ng->start + ng->w - ng->pos) / size_spacing; + distance = (double)(ng->start + ng->w - ng->pos); _ngi_zoom_function(ng, distance, &zoom, &disp); - end2 = (int)(ng->pos + disp); + end2 = (int)(ng->start + ng->w + disp); } else { @@ -1972,11 +1879,11 @@ { if (cnt++ > 0) { - distance = (double)(box->pos + ng->separator_width + ng->item_spacing*3 - ng->pos) / size_spacing; + distance = (double)(box->pos + ng->separator_width + ng->item_spacing*3 - ng->pos); _ngi_zoom_function(ng, distance, &zoom, &disp); - pos = (ng->pos + disp); + pos = (box->pos + disp); switch (cfg->orient) { @@ -2010,22 +1917,24 @@ if (cfg->zoomfactor > 1.0) { - distance = (double)(it->pos - ng->pos) / (double)size_spacing; + distance = (double)(it->pos - ng->pos); _ngi_zoom_function(ng, distance, &zoom, &disp); size = ((it->scale * zoom * (double)ng->size)) + 0.5; - pos = (ng->pos + disp) - (size / 2); - if (it->pos < ng->pos) { - pos = ((double)ng->pos + disp) - (size / 2.0) - 0.5; + pos = ((double)it->pos + disp) - (size / 2.0) - 0.5; } else if (it->pos > ng->pos) { - pos = ((double)ng->pos + disp) - (size / 2.0) + 0.5; + pos = ((double)it->pos + disp) - (size / 2.0) + 0.5; } + else + { + pos = (it->pos + disp) - (size / 2); + } } else { Modified: trunk/E-MODULES-EXTRA/itask-ng/src/e_mod_main.h =================================================================== --- trunk/E-MODULES-EXTRA/itask-ng/src/e_mod_main.h 2010-10-15 19:08:45 UTC (rev 53466) +++ trunk/E-MODULES-EXTRA/itask-ng/src/e_mod_main.h 2010-10-15 19:09:16 UTC (rev 53467) @@ -88,7 +88,7 @@ int zoom_one; /* zoom only the icon under the pointer */ int mouse_over_anim; - enum { above_all, below_fullscreen, on_desk } stacking; + enum { above_all, below_fullscreen } stacking; int lock_deskswitch; int ecomorph_features; Modified: trunk/E-MODULES-EXTRA/itask-ng/src/ng_config.c =================================================================== --- trunk/E-MODULES-EXTRA/itask-ng/src/ng_config.c 2010-10-15 19:08:45 UTC (rev 53466) +++ trunk/E-MODULES-EXTRA/itask-ng/src/ng_config.c 2010-10-15 19:09:16 UTC (rev 53467) @@ -239,13 +239,7 @@ e_widget_framelist_object_append (of, ob); } else cfdata->alpha = 255; - /* - ob = e_widget_check_add(evas, D_("Below Fullscreen Windows"), &(cfdata->below_fullscreen)); - e_widget_framelist_object_append(of, ob); - ob = e_widget_check_add(evas, D_("Draw On Desk"), &(cfdata->on_desk)); - e_widget_framelist_object_append(of, ob); - */ ob = e_widget_label_add(evas, D_("Stacking")); e_widget_framelist_object_append(of, ob); rg = e_widget_radio_group_new(&cfdata->stacking); @@ -253,13 +247,9 @@ e_widget_framelist_object_append(of, ob); ob = e_widget_radio_add(evas, D_("Below Fullscreen"), 1, rg); e_widget_framelist_object_append(of, ob); - ob = e_widget_radio_add(evas, D_("On Desktop"), 2, rg); - e_widget_framelist_object_append(of, ob); - e_widget_list_object_append(o, of, 1, 1, 0.5); - of = e_widget_frametable_add(evas, D_("Orientation"), 1); rg = e_widget_radio_group_new(&(cfdata->orient)); ob = e_widget_radio_icon_add(evas, NULL, "enlightenment/shelf_position_left", 24, 24, E_GADCON_ORIENT_LEFT, rg); @@ -281,7 +271,7 @@ e_widget_framelist_object_append(of, ob); ob = e_widget_label_add (evas, D_("Factor:")); e_widget_framelist_object_append (of, ob); - ob = e_widget_slider_add (evas, 1, 0, "%1.2f", 1.0, 3.0, + ob = e_widget_slider_add (evas, 1, 0, "%1.2f", 1.0, 5.0, 0.01, 0, &(cfdata->zoomfactor), NULL, 100); e_widget_on_change_hook_set(ob, _cb_slider_change, cfdata); e_widget_framelist_object_append (of, ob); Modified: trunk/E-MODULES-EXTRA/itask-ng/src/ng_launcher.c =================================================================== --- trunk/E-MODULES-EXTRA/itask-ng/src/ng_launcher.c 2010-10-15 19:08:45 UTC (rev 53466) +++ trunk/E-MODULES-EXTRA/itask-ng/src/ng_launcher.c 2010-10-15 19:09:16 UTC (rev 53467) @@ -97,7 +97,7 @@ Ng *ng = box->ng; Ngi_Item *it = NULL; - Efreet_Desktop *app; + /* Efreet_Desktop *app; */ Eina_List *apps, *items; if (!box->apps) return; @@ -285,8 +285,6 @@ ngi_reposition(ng); ngi_input_extents_calc(ng, 1); - - printf("mouse_out drop leave\n"); ng->dnd = 0; ngi_mouse_out(ng); } @@ -359,10 +357,10 @@ } else if (fl) { - app = NULL; - for (l = fl; l ; l = l->next) + char *file; + app = NULL; + EINA_LIST_FOREACH(fl, l, file) { - char *file = (char*) l->data; if (!strncmp(file, "file:///", 8)) file = file + 7; @@ -424,13 +422,9 @@ _ngi_launcher_item_fill(it); if (after) - { - box->items = eina_list_prepend_relative(box->items, it, after); - } + box->items = eina_list_prepend_relative(box->items, it, after); else - { - box->items = eina_list_append(box->items, it); - } + box->items = eina_list_append(box->items, it); it->usable = 1; @@ -499,10 +493,7 @@ e_drag_resize(d, w, h); evas_object_event_callback_add(o, EVAS_CALLBACK_DEL, _ngi_launcher_item_cb_drag_del, ng); - if (ng->cfg->stacking == on_desk) - ecore_x_pointer_xy_get(ng->zone->container->win, &px, &py); - else - ecore_x_pointer_xy_get(ng->win->evas_win, &px, &py); + ecore_x_pointer_xy_get(ng->win->evas_win, &px, &py); e_drag_start(d, px, py); @@ -582,11 +573,8 @@ { evas_object_geometry_get(it->obj, &x, &y, &w, &h); - if (box->ng->cfg->stacking != on_desk) - { - x += box->ng->win->x + box->ng->zone->x;; - y += box->ng->win->y + box->ng->zone->y;; - } + x += box->ng->win->x + box->ng->zone->x;; + y += box->ng->win->y + box->ng->zone->y;; int dir = E_MENU_POP_DIRECTION_AUTO; @@ -665,160 +653,3 @@ it->mouse_down = 0; } -/* TODO */ -/* - static int - _ngi_launcher_cb_icon_theme_change(void *data, int ev_type, void *ev) - { - Eina_List *l, *l2; - Ng *ng; - Ngi_Item *it; - - for (l = ngi_config->instances; l; l = l->next) - { - if (!ng->cfg->launcher) continue; - - for (l2 = ng->box->items; l2; l2 = l2->next) - { - it = l2->data; - if (it) _ngi_launcher_item_fill(it); - } - } - return 1; - } -*/ - -/* - if (bd->desktop) efreet_desktop_ref(bd->desktop); !!!!!!!!! - - static int - _e_border_cb_efreet_desktop_change(void *data, int ev_type, void *ev) - { - Efreet_Event_Desktop_Change *event; - Eina_List *l; - - event = ev; - e_init_status_set(D_("Desktop file scan")); - switch (event->change) - { - case EFREET_DESKTOP_CHANGE_ADD: -*/ /* If a desktop is added, make the borders without icon retry */ -/*for (l = borders; l; l = l->next) - { - E_Border *bd; - - bd = l->data; - if (!bd->desktop) - { - bd->changes.icon = 1; - bd->changed = 1; - } - } - break; - case EFREET_DESKTOP_CHANGE_REMOVE:*/ -/* If a desktop is removed, drop the .desktop pointer */ -/*for (l = borders; l; l = l->next) - { - E_Border *bd; - - bd = l->data; - if (bd->desktop == event->current) - { - efreet_desktop_free(bd->desktop); - bd->desktop = NULL; - bd->changes.icon = 1; - bd->changed = 1; - } - } - break; - case EFREET_DESKTOP_CHANGE_UPDATE:*/ -/* If a desktop is updated, point to the new desktop and update the icon */ -/* for (l = borders; l; l = l->next) - { - E_Border *bd; - - bd = l->data; - - if (bd->desktop == event->previous) - { - efreet_desktop_free(bd->desktop); - efreet_desktop_ref(event->current); - bd->desktop = event->current; - bd->changes.icon = 1; - bd->changed = 1; - } - else if (bd->desktop == NULL) - { - bd->changes.icon = 1; - bd->changed = 1; - } - } - break; - } - return 1; - } -*/ -/* - static void - _ngi_launcher_menu(Ngi_Box *box, int timestamp) - { - E_Menu *m; - E_Menu_Item *mi; - - int dir = E_MENU_POP_DIRECTION_AUTO; - - ngi_freeze(box->ng); - ITEM_MOUSE_OUT(box->ng->item_active); - - switch(box->ng->cfg->orient) - { - case E_GADCON_ORIENT_TOP: - dir = E_MENU_POP_DIRECTION_DOWN; - y += h; - break; - case E_GADCON_ORIENT_BOTTOM: - dir = E_MENU_POP_DIRECTION_UP; - break; - case E_GADCON_ORIENT_LEFT: - dir = E_MENU_POP_DIRECTION_RIGHT; - x +=w; - break; - case E_GADCON_ORIENT_RIGHT: - dir = E_MENU_POP_DIRECTION_LEFT; - break; - } - - m = e_menu_new(); - - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, D_("Configure Bar")); - //e_menu_item_callback_set(mi, _ng_border_menu_cb_normal, bd); - - - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, D_("Configure Launcher")); - // e_menu_item_callback_set(mi, _ng_border_menu_cb_normal, bd); - - - mi = e_menu_item_new(m); - e_menu_item_separator_set(mi, 1); - - - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, D_("Lock Dragging")); - e_menu_item_toggle_set(mi, box->cfg->launcher_lock_dnd); - //e_menu_item_callback_set(mi, _ng_border_menu_cb_normal, bd); - - - mi = e_menu_item_new(m); - e_menu_item_label_set(mi, D_("Edit Icon")); - //e_menu_item_callback_set(mi, _ng_border_menu_cb_normal, bd); - - e_menu_activate_mouse(m, box->ng->zone, box.>ng->zone->x + x, box->ng->zone->y + y, 1, 1, - dir, timestamp); - - e_util_evas_fake_mouse_up_later(box->ng->win->evas, ev->button); - } - - -*/ Modified: trunk/E-MODULES-EXTRA/itask-ng/src/ng_taskbar.c =================================================================== --- trunk/E-MODULES-EXTRA/itask-ng/src/ng_taskbar.c 2010-10-15 19:08:45 UTC (rev 53466) +++ trunk/E-MODULES-EXTRA/itask-ng/src/ng_taskbar.c 2010-10-15 19:09:16 UTC (rev 53467) @@ -703,24 +703,6 @@ /* ************************** ITEM CALLBACKS ************************** */ static void -_ngi_taskbar_item_cb_free(Ngi_Item *it) -{ - it->box->items = eina_list_remove(it->box->items, it); - - if (it->border) e_object_unref(E_OBJECT(it->border)); - - ngi_item_del_icon(it); - evas_object_del(it->obj); - evas_object_del(it->over); - - if (it->label) eina_stringshare_del(it->label); - if (it->class) eina_stringshare_del(it->class); - if (it->overlay_signal_timer) ecore_timer_del(it->overlay_signal_timer); - - E_FREE(it); -} - -static void _ngi_taskbar_item_cb_mouse_down(Ngi_Item *it, Ecore_Event_Mouse_Button *ev) { Evas_Coord x, y, w, h; @@ -737,11 +719,8 @@ int dir = E_MENU_POP_DIRECTION_AUTO; evas_object_geometry_get(it->obj, &x, &y, &w, &h); - if (ng->cfg->stacking != on_desk) - { - x += ng->win->x + ng->zone->x; - y += ng->win->y + ng->zone->y; - } + x += ng->win->x + ng->zone->x; + y += ng->win->y + ng->zone->y; ITEM_MOUSE_OUT(it); @@ -877,10 +856,7 @@ evas_object_event_callback_add(o, EVAS_CALLBACK_DEL, _ngi_taskbar_item_cb_drag_del, ng); ng->show_bar++; - if (ng->cfg->stacking == on_desk) - ecore_x_pointer_xy_get(ng->zone->container->win, &px, &py); - else - ecore_x_pointer_xy_get(ng->win->evas_win, &px, &py); + ecore_x_pointer_xy_get(ng->win->evas_win, &px, &py); e_drag_start(d, px, py); } |