diff --git a/src/lv_widgets/lv_rotary.c b/src/lv_widgets/lv_rotary.c index 33a932377..149a41064 100644 --- a/src/lv_widgets/lv_rotary.c +++ b/src/lv_widgets/lv_rotary.c @@ -410,21 +410,14 @@ static lv_res_t lv_rotary_signal(lv_obj_t * rotary, lv_signal_t sign, void * par lv_indev_get_point(param, &p); lv_coord_t drag_diff; lv_coord_t drag_x_diff = p.x -ext->last_press_point.x; - lv_coord_t drag_y_diff = p.y -ext->last_press_point.y; if (LV_MATH_ABS(drag_x_diff) > ext->threshold) { if (drag_x_diff > 0) drag_x_diff = ext->threshold; else drag_x_diff = -ext->threshold; } - if (LV_MATH_ABS(drag_y_diff) > ext->threshold) { - if (drag_y_diff > 0) drag_x_diff = ext->threshold; - else drag_y_diff = -ext->threshold; - } + drag_diff = drag_x_diff; ext->last_press_point = p; - if (LV_MATH_ABS(drag_x_diff) > LV_MATH_ABS(drag_y_diff)) drag_diff = drag_x_diff; - else drag_diff = drag_y_diff; - if (ext->knob_area.y1 < p.y && p.y < ext->knob_area.y2) { if (drag_diff > 0 && p.x < ext->knob_area.x2) { if (lv_rotary_set_value(rotary, lv_rotary_get_value(rotary) + drag_diff * ext->sensitivity, LV_ANIM_ON)) {