计划用50天来学习和分析lvgl源码,这里做一下记录。
lvgl.h文件分析
用来包含lvgl库,使用lvgl库的话,必须要包含这个文件,这个文件里面包含了几乎所有的源码头文件,除了这个必须包含外,一个工程也必须包含lv_port_disp.h和lv_port_indev.h文件,这三个文件包含之后就可以使用lvgl库了,另外可以在这个文件里面看到lvgl的版本信息。
lv_conf_template.h文件分析
这是一个配置文件的模板,可以使用这个文件来做lv_conf.h文件,根据需要修改其中的宏定义即可使能相应的功能,具体功能见文件里面的注释。
lv_conf_kconfig.h文件分析
里面包含一些颜色 、主题、字体等的默认配置值,这些已经在lv_conf.h文件中定义了,所以这个文件可以不用管,也可以不用包含到项目工程中。
lv_conf_internal.h文件分析
里面所有的宏定义基本上和lv_conf.h文件中的对应,当lv_conf.h文件中没有设置相应宏定义的时候(看了很多,应该是都有的,所以这个文件可以不用包含进工程中,不用管),可以给对应的宏设置默认值。
lv_conf.h文件分析
里面所有的宏定义用来包含lvgl所有的配置,通过这些宏定义可以选择启不启用相应的功能,例如抗锯齿、屏幕尺寸、显示颜色深度、颜色转换、拖动效果、动画显示、是否启用lvgl内置的内存管理、内存大小等等,这个文件一般情况下必须包含,里面的配置需要根据情况进行调整。
lv_api_map.h文件分析
当lvgl版本为V6时,需要添加一些函数,还有就是对一些组件的函数的补充。
上述文件内容比较简单,所以只是说了一下文件和里面的函数的作用,后续遇到有难度的文件的话会按照文件里面的函数一个一个分析。文件里面的内容需要过一遍,理清楚代码和文件之间的逻辑之后才能下这样的结论,所以真正需要学习和提高的同学一定要一个文件一个文件看里面的内容,理清楚逻辑,不要好高骛远,踏踏实实推进,必定会有所收获!
这是在csdn上发的第一篇原创文章,mark一下!2023.09.14!