代码拉取完成,页面将自动刷新
#if LV_BUILD_TEST
#include "../lvgl.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include "lv_test_indev.h"
#include "lv_test_init.h"
static lv_coord_t x_act;
static lv_coord_t y_act;
static uint32_t key_act;
static int32_t diff_act;
static bool mouse_pressed;
static bool key_pressed;
static bool enc_pressed;
void lv_test_mouse_read_cb(lv_indev_drv_t * drv, lv_indev_data_t * data)
{
LV_UNUSED(drv);
data->point.x = x_act;
data->point.y = y_act;
data->state = mouse_pressed ? LV_INDEV_STATE_PRESSED : LV_INDEV_STATE_RELEASED;
}
void lv_test_mouse_move_to(lv_coord_t x, lv_coord_t y)
{
x_act = x;
y_act = y;
}
void lv_test_mouse_move_by(lv_coord_t x, lv_coord_t y)
{
x_act += x;
y_act += y;
}
void lv_test_mouse_press(void)
{
mouse_pressed = true;
}
void lv_test_mouse_release(void)
{
mouse_pressed = false;
}
void lv_test_mouse_click_at(lv_coord_t x, lv_coord_t y)
{
lv_test_mouse_release();
lv_test_indev_wait(50);
lv_test_mouse_move_to(x, y);
lv_test_mouse_press();
lv_test_indev_wait(50);
lv_test_mouse_release();
lv_test_indev_wait(50);
}
void lv_test_keypad_read_cb(lv_indev_drv_t * drv, lv_indev_data_t * data)
{
LV_UNUSED(drv);
data->key = key_act;
data->state = key_pressed ? LV_INDEV_STATE_PRESSED : LV_INDEV_STATE_RELEASED;
}
void lv_test_key_press(uint32_t k)
{
key_act = k;
key_pressed = true;
}
void lv_test_key_release(void)
{
key_pressed = false;
}
void lv_test_key_hit(uint32_t k)
{
lv_test_key_release();
lv_test_indev_wait(50);
lv_test_key_press(k);
lv_test_mouse_press();
lv_test_indev_wait(50);
lv_test_key_release();
lv_test_indev_wait(50);
}
void lv_test_encoder_read_cb(lv_indev_drv_t * drv, lv_indev_data_t * data)
{
LV_UNUSED(drv);
data->enc_diff = diff_act;
data->state = enc_pressed ? LV_INDEV_STATE_PRESSED : LV_INDEV_STATE_RELEASED;
diff_act = 0;
}
void lv_test_encoder_add_diff(int32_t d)
{
diff_act += d;
}
void lv_test_encoder_turn(int32_t d)
{
diff_act += d;
lv_test_indev_wait(50);
}
void lv_test_encoder_press(void)
{
enc_pressed = true;
}
void lv_test_encoder_release(void)
{
enc_pressed = false;
}
void lv_test_encoder_click(void)
{
lv_test_encoder_release();
lv_test_indev_wait(50);
lv_test_encoder_press();
lv_test_indev_wait(50);
lv_test_encoder_release();
lv_test_indev_wait(50);
}
void lv_test_indev_wait(uint32_t ms)
{
uint32_t t = lv_tick_get();
while(lv_tick_elaps(t) < ms) {
lv_timer_handler();
lv_tick_inc(1);
}
}
#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。