LVGL chart控件删除曲线上的点
修改lv_chart.c 文件
找到函数 draw_series_line
static void draw_series_line(lv_obj_t * obj, lv_draw_ctx_t * draw_ctx) { ... 此处省略一堆代码 if(ser->y_points[p_prev] != LV_CHART_POINT_NONE && ser->y_points[p_act] != LV_CHART_POINT_NONE) { lv_draw_line(draw_ctx, &line_dsc_default, &p1, &p2); } //注释掉下面的 // if(point_w && point_h && ser->y_points[p_prev] != LV_CHART_POINT_NONE) { // lv_draw_rect(draw_ctx, &point_dsc_default, &point_area); // } lv_event_send(obj, LV_EVENT_DRAW_PART_END, &part_draw_dsc); } } p_prev = p_act; } /*Draw the last point*/ if(!crowded_mode && i == chart->point_cnt) { if(ser->y_points[p_act] != LV_CHART_POINT_NONE) { lv_area_t point_area; point_area.x1 = p2.x - point_w; point_area.x2 = p2.x + point_w; point_area.y1 = p2.y - point_h; point_area.y2 = p2.y + point_h; part_draw_dsc.id = i - 1; part_draw_dsc.p1 = NULL; part_draw_dsc.p2 = NULL; part_draw_dsc.draw_area = &point_area; part_draw_dsc.value = ser->y_points[p_act]; lv_event_send(obj, LV_EVENT_DRAW_PART_BEGIN, &part_draw_dsc); //注释掉下面的 //lv_draw_rect(draw_ctx, &point_dsc_default, &point_area); lv_event_send(obj, LV_EVENT_DRAW_PART_END, &part_draw_dsc); } } } draw_ctx->clip_area = clip_area_ori; }
- 随机文章
- 热门文章
- 热评文章
- 树莓花生壳内网映射官方教程失败解决
- ESP8266在Eclipse下设置编译模式(有boot和无boot)
- 物联网 WIFI 一键配置原理(smartconfig) ESP8266/QCA4004
- 乐高EV3与单片机蓝牙通讯
- 电脑微信双开,多开
- c# 全局鼠标事件
- FAT、NTFS、ExFAT文件系统详解
- FAT32文件格式详解