Keep cursor visible longer than hidden

This commit is contained in:
2026-08-01 00:29:43 +02:00
parent 9dea8657f1
commit 631d3a17b3
+9 -12
View File
@@ -46,10 +46,15 @@ static void draw_glyph(lv_obj_t *parent, char character, lv_coord_t x, lv_coord_
}
}
static void cursor_blink(void *object, int32_t visible) {
lv_obj_set_style_bg_opa((lv_obj_t *)object,
visible ? LV_OPA_COVER : LV_OPA_TRANSP,
static bool cursor_visible = true;
static void cursor_blink(lv_timer_t *timer) {
cursor_visible = !cursor_visible;
lv_obj_t *cursor = (lv_obj_t *)timer->user_data;
lv_obj_set_style_bg_opa(cursor,
cursor_visible ? LV_OPA_COVER : LV_OPA_TRANSP,
LV_PART_MAIN);
lv_timer_set_period(timer, cursor_visible ? 667 : 333);
}
void c64_ui_create(void) {
@@ -72,13 +77,5 @@ void c64_ui_create(void) {
lv_obj_set_style_bg_color(cursor, C64_LIGHT_BLUE, LV_PART_MAIN);
lv_obj_set_style_bg_opa(cursor, LV_OPA_COVER, LV_PART_MAIN);
lv_anim_t blink;
lv_anim_init(&blink);
lv_anim_set_var(&blink, cursor);
lv_anim_set_values(&blink, 1, 0);
lv_anim_set_time(&blink, 333);
lv_anim_set_playback_time(&blink, 333);
lv_anim_set_repeat_count(&blink, LV_ANIM_REPEAT_INFINITE);
lv_anim_set_exec_cb(&blink, cursor_blink);
lv_anim_start(&blink);
lv_timer_create(cursor_blink, 667, cursor);
}