Dear all,

this patch is for enable / disable the default els_scroller's wheel control.

when I use elm_map, map's default wheel control means zoom in / out.
so enable / disable els_scroller's default wheel control feature is needed.

map is also needed enable / disable default wheel control.
if you review this patch, I'll apply elm_map at next time.

Thanks.
BR.
Index: elementary/src/lib/els_scroller.h
===================================================================
--- elementary/src/lib/els_scroller.h	(리비전 58940)
+++ elementary/src/lib/els_scroller.h	(작업 사본)
@@ -38,3 +38,5 @@ Eina_Bool elm_smart_scroller_momentum_animator_dis
 void elm_smart_scroller_momentum_animator_disabled_set             (Evas_Object *obj, Eina_Bool disabled);
 void elm_smart_scroller_bounce_animator_disabled_set               (Evas_Object *obj, Eina_Bool disabled);
 Eina_Bool elm_smart_scroller_bounce_animator_disabled_get     (Evas_Object *obj);
+void elm_smart_scroller_wheel_disabled_set      (Evas_Object *obj, Eina_Bool disabled);
+Eina_Bool elm_smart_scroller_wheel_disabled_get (const Evas_Object *obj);
Index: elementary/src/lib/els_scroller.c
===================================================================
--- elementary/src/lib/els_scroller.c	(리비전 58940)
+++ elementary/src/lib/els_scroller.c	(작업 사본)
@@ -104,6 +104,7 @@ struct _Smart_Data
    unsigned char bounce_vert : 1;
    unsigned char momentum_animator_disabled :1;
    unsigned char bounce_animator_disabled :1;
+   unsigned char wheel_disabled : 1;
    Eina_Bool is_mirrored : 1;
 };
 
@@ -335,6 +336,24 @@ elm_smart_scroller_bounce_animator_disabled_get(Ev
 }
 
 void
+elm_smart_scroller_wheel_disabled_set(Evas_Object *obj, Eina_Bool disabled)
+{
+   API_ENTRY return;
+   if ((!sd->wheel_disabled) && (disabled))
+     evas_object_event_callback_del_full(sd->event_obj, EVAS_CALLBACK_MOUSE_WHEEL, _smart_event_wheel, sd);
+   else if ((sd->wheel_disabled) && (!disabled))
+     evas_object_event_callback_add(sd->event_obj, EVAS_CALLBACK_MOUSE_WHEEL, _smart_event_wheel, sd);
+   sd->wheel_disabled = disabled;
+}
+
+Eina_Bool
+elm_smart_scroller_wheel_disabled_get(const Evas_Object *obj)
+{
+   API_ENTRY return EINA_FALSE;
+   return sd->wheel_disabled;
+}
+
+void
 elm_smart_scroller_bounce_animator_disabled_set(Evas_Object *obj, Eina_Bool disabled)
 {
    API_ENTRY return;
@@ -2551,6 +2570,7 @@ _smart_add(Evas_Object *obj)
    sd->one_dir_at_a_time = 1;
    sd->momentum_animator_disabled = 0;
    sd->bounce_animator_disabled = 0;
+   sd->wheel_disabled = 0;
 
    o = edje_object_add(evas_object_evas_get(obj));
    evas_object_propagate_events_set(o, 0);
------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to