From aec23ab9188d4e588f5edae123001d940ff4ddb4 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 11 Feb 2015 22:57:44 -0500 Subject: [PATCH] make pip crop reset if user shift+clicks without moving --- src/pip.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/pip.c b/src/pip.c index 4b815ab..9acb055 100644 --- a/src/pip.c +++ b/src/pip.c @@ -176,14 +176,24 @@ _pip_mouse_wheel(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, } static void -_pip_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +_pip_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info) { Pip *pip = data; + Evas_Event_Mouse_Up *ev = event_info; if (pip->crop) { - evas_object_color_set(pip->clip, 255, 255, 255, 255); - evas_object_clip_set(pip->pip, pip->clip); + int x, y; + + evas_object_geometry_get(obj, &x, &y, NULL, NULL); + if ((abs((x + pip->down.x) - ev->output.x) < 3) && + (abs((y + pip->down.y) - ev->output.y) < 3)) + evas_object_del(pip->clip); + else + { + evas_object_color_set(pip->clip, 255, 255, 255, 255); + evas_object_clip_set(pip->pip, pip->clip); + } } pip->down.x = pip->down.y = 0; pip->move = pip->resize = pip->crop = 0;