初级会员
- 积分
- 85
- 金钱
- 85
- 注册时间
- 2020-12-24
- 在线时间
- 19 小时
|
发表于 2021-9-26 23:13:53
|
显示全部楼层
lv_port_indev.c的改动
1.添加函数:
//设置输入设备的响应区域。en=true:仅允许obj区域范围响应输入设备;en=false:仅允许obj区域范围之外响应输入设备。
void set_touch_rect(lv_obj_t * obj,bool en)
{
screen_rect.enabel=en;
screen_rect.x1=obj->coords.x1;
screen_rect.y1=obj->coords.y1;
screen_rect.x2=obj->coords.x2;
screen_rect.y2=obj->coords.y2;
}
2.lv_port_indev_init函数最后加入:
/*初始化时允许输入设备响应整个屏幕*/
set_touch_rect(lv_scr_act(),true);
3.touchpad_read函数前面加入语句:
if(screen_rect.enabel)
{
if((tp_dev.x[0]>=screen_rect.x1) && (tp_dev.x[0]<=screen_rect.x2) && (tp_dev.y[0]>=screen_rect.y1) && (tp_dev.y[0]<=screen_rect.y2))
{}else{return false;}
}else
{
if((tp_dev.x[0]>=screen_rect.x1) && (tp_dev.x[0]<=screen_rect.x2) && (tp_dev.y[0]>=screen_rect.y1) && (tp_dev.y[0]<=screen_rect.y2))
{return false;}
} |
|