delta = pos * offset;
/* If we are on rtl mode, change the delta to be negative on such changes */
if (elm_widget_mirrored_get(obj)) delta *= -1;
- if (_value_set(data, sd->drag_start_pos + delta)) _label_write(data);
+ if (_value_set(data, sd->drag_start_val + delta)) _label_write(data);
sd->dragging = 1;
}
{
ELM_SPINNER_DATA_GET(data, sd);
- sd->drag_start_pos = sd->val;
+ sd->drag_start_val = sd->val;
}
static void
ELM_SPINNER_DATA_GET(data, sd);
Elm_Widget_Smart_Data *wd = eo_data_get(data, ELM_OBJ_WIDGET_CLASS);
- sd->drag_start_pos = 0;
+ sd->drag_start_val = 0;
edje_object_part_drag_value_set
(wd->resize_obj, "elm.dragable.slider", 0.0, 0.0);
}
{
Evas_Object *ent;
const char *label;
- double val, val_min, val_max, orig_val, step, val_base;
- double drag_start_pos, spin_speed, interval, first_interval;
+ double val, val_min, val_max, orig_val, val_base;
+ double step; // step for the value change. 1 by default.
+ double drag_start_val; // spinner value on drag start.
+ // this is reset to 0 when drag stops.
+ double spin_speed, interval, first_interval;
int round;
Ecore_Timer *delay, *spin;
Eina_List *special_values;