Elm glayer: Made tap timeout a config.

SVN revision: 71258
This commit is contained in:
Tom Hacohen 2012-05-20 14:56:35 +00:00
parent 0bbb0a43ef
commit ce02820a26
6 changed files with 12 additions and 3 deletions

View File

@ -55,6 +55,7 @@ group "Elm_Config" struct {
value "glayer_line_angular_tolerance" double: 20.0;
value "glayer_flick_time_limit_ms" uint: 120; /* ms to finish flick */
value "glayer_long_tap_start_timeout" double: 1.2; /* sec to start long-tap */
value "glayer_double_tap_timeout" double: 0.2; /* Timeout between two mouse dows when doing double click (and more). */
value "glayer_continues_enable" uchar: 1; /* Continues gesture enabled */
value "week_start" int: 1;
value "weekend_start" int: 6;

View File

@ -55,6 +55,7 @@ group "Elm_Config" struct {
value "glayer_line_angular_tolerance" double: 20.0
value "glayer_flick_time_limit_ms" uint: 100; /* ms to finish flick */
value "glayer_long_tap_start_timeout" double: 1.2; /* sec to start long-tap */
value "glayer_double_tap_timeout" double: 0.2; /* Timeout between two mouse dows when doing double click (and more). */
value "glayer_continues_enable" uchar: 1; /* Continues gesture enabled */
value "week_start" int: 1;
value "weekend_start" int: 6;

View File

@ -55,6 +55,7 @@ group "Elm_Config" struct {
value "glayer_line_angular_tolerance" double: 20.0;
value "glayer_flick_time_limit_ms" uint: 120; /* ms to finish flick */
value "glayer_long_tap_start_timeout" double: 1.2; /* sec to start long-tap */
value "glayer_double_tap_timeout" double: 0.2; /* Timeout between two mouse dows when doing double click (and more). */
value "glayer_continues_enable" uchar: 1; /* Continues gesture enabled */
value "week_start" int: 1;
value "weekend_start" int: 6;

View File

@ -377,6 +377,7 @@ _desc_init(void)
ELM_CONFIG_VAL(D, T, glayer_line_angular_tolerance, T_DOUBLE);
ELM_CONFIG_VAL(D, T, glayer_flick_time_limit_ms, T_INT);
ELM_CONFIG_VAL(D, T, glayer_long_tap_start_timeout, T_DOUBLE);
ELM_CONFIG_VAL(D, T, glayer_double_tap_timeout, T_DOUBLE);
ELM_CONFIG_VAL(D, T, access_mode, T_INT);
ELM_CONFIG_VAL(D, T, glayer_continues_enable, T_UCHAR);
ELM_CONFIG_VAL(D, T, week_start, T_INT);
@ -1032,6 +1033,7 @@ _config_load(void)
_elm_config->glayer_line_angular_tolerance = 20.0; /* 20 DEG */
_elm_config->glayer_flick_time_limit_ms = 120; /* ms to finish flick */
_elm_config->glayer_long_tap_start_timeout = 1.2; /* 1.2 second to start long-tap */
_elm_config->glayer_double_tap_timeout = 0.2; /* 0.2 seconds between 2 mouse downs of a tap. */
_elm_config->glayer_continues_enable = EINA_TRUE; /* Continue gestures default */
_elm_config->week_start = 1; /* monday */
_elm_config->weekend_start = 6; /* saturday */

View File

@ -11,8 +11,6 @@
#define ELM_GESTURE_MULTI_TIMEOUT 50
#define ELM_GESTURE_MINIMUM_MOMENTUM 0.001
#define ELM_GESTURE_TAP_TIMEOUT 0.2
/* Some Trigo values */
#define RAD_90DEG M_PI_2
#define RAD_180DEG M_PI
@ -1384,7 +1382,8 @@ _tap_gesture_test(Evas_Object *obj, Pointer_Event *pe,
pe_list = _record_pointer_event(st, pe_list, pe, wd, event_info, event_type);
if (!wd->gest_taps_timeout)
{
wd->gest_taps_timeout = ecore_timer_add(ELM_GESTURE_TAP_TIMEOUT,
wd->gest_taps_timeout =
ecore_timer_add(_elm_config->glayer_double_tap_timeout,
_multi_tap_timeout, gesture->obj);
}
else
@ -3502,6 +3501,10 @@ elm_gesture_layer_add(Evas_Object *parent)
wd->repeat_events = EINA_TRUE;
wd->glayer_continues_enable = _elm_config->glayer_continues_enable;
/* FIXME: Hack to get around old configs - if too small, enlarge. */
if (_elm_config->glayer_double_tap_timeout < 0.00001)
_elm_config->glayer_double_tap_timeout = 0.2;
memset(wd->gesture, 0, sizeof(wd->gesture));
return obj;

View File

@ -167,6 +167,7 @@ struct _Elm_Config
double glayer_line_angular_tolerance;
unsigned int glayer_flick_time_limit_ms;
double glayer_long_tap_start_timeout;
double glayer_double_tap_timeout;
int access_mode;
Eina_Bool glayer_continues_enable;
int week_start;