From 8ad593594b3a98b525f57c7ca52429ef035167f6 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Mon, 26 Sep 2022 01:53:08 +0200 Subject: [PATCH] rotary encoder velocity: use a custom LVGL flag to signal support (#66) --- radio/src/thirdparty/libopenui/src/libopenui_defines.h | 1 + radio/src/thirdparty/libopenui/src/menu.cpp | 3 +++ radio/src/thirdparty/libopenui/src/numberedit.cpp | 3 +++ 3 files changed, 7 insertions(+) diff --git a/radio/src/thirdparty/libopenui/src/libopenui_defines.h b/radio/src/thirdparty/libopenui/src/libopenui_defines.h index 94ddacdd5..e81dad983 100644 --- a/radio/src/thirdparty/libopenui/src/libopenui_defines.h +++ b/radio/src/thirdparty/libopenui/src/libopenui_defines.h @@ -86,3 +86,4 @@ #define COLOR_VAL(flags) ((flags) >> 16u) #define COLOR_MASK(flags) ((flags) & 0xFFFF0000u) +#define LV_OBJ_FLAG_ENCODER_ACCEL LV_OBJ_FLAG_USER_1 diff --git a/radio/src/thirdparty/libopenui/src/menu.cpp b/radio/src/thirdparty/libopenui/src/menu.cpp index 0d9098671..a8dadf402 100644 --- a/radio/src/thirdparty/libopenui/src/menu.cpp +++ b/radio/src/thirdparty/libopenui/src/menu.cpp @@ -73,6 +73,9 @@ void MenuBody::onDrawEnd(uint16_t row, uint16_t col, lv_obj_draw_part_dsc_t* dsc MenuBody::MenuBody(Window * parent, const rect_t & rect): TableField(parent, rect) { + // Allow encoder acceleration + lv_obj_add_flag(lvobj, LV_OBJ_FLAG_ENCODER_ACCEL); + setColumnCount(1); setColumnWidth(0, rect.w); diff --git a/radio/src/thirdparty/libopenui/src/numberedit.cpp b/radio/src/thirdparty/libopenui/src/numberedit.cpp index 7b1452af6..0f4507c11 100644 --- a/radio/src/thirdparty/libopenui/src/numberedit.cpp +++ b/radio/src/thirdparty/libopenui/src/numberedit.cpp @@ -45,6 +45,9 @@ NumberEdit::NumberEdit(Window* parent, const rect_t& rect, int vmin, int vmax, std::move(setValue), windowFlags, textFlags, field_edit_create) { + // Allow encoder acceleration + lv_obj_add_flag(lvobj, LV_OBJ_FLAG_ENCODER_ACCEL); + // properties lv_obj_set_scrollbar_mode(lvobj, LV_SCROLLBAR_MODE_OFF); lv_textarea_set_password_mode(lvobj, false);