• 从main函数开始

    1. int main(int argc, char **argv)
    2. {
    3. // 注册调试通道
    4. DebugInit();
    5. // 注册显示设备
    6. DisplayInit();
    7. // 分配显示内存
    8. AllocVideoMem(5);
    9. // 注册输入设备
    10. InputInit();
    11. // 注册字库模块
    12. FontsInit();
    13. // 注册图片解析模块
    14. PicFmtsInit();
    15. // 注册页面
    16. PagesInit();
    17. }
  • 在”debug”目录下为调试模块

    涉及文件: debug_manager.c netprint.c stdprint.c

image.png

  • 显示模块在”display”目录下

    包含文件: disp_manager.c fb.c

image.png

  • 输入模块在”input”目录下

    文件: input_manager.c touchscreen.c stdin.c

image.png

  • 字库模块在”fonts”目录下

    文件: fonts_manager.c ascii.c freetype.c gbk.c

image.png
根据某个字节的编码去获得字库、位图

  • 图片解析模块在”rander/format”目录下

    rander rander.c format bmp.c jpg.c picfmt_manager.c operation zoom.c merge.c

image.png

  • 页面管理模块在”page”目录下

    page page_manager.c main_page.c browse_page.c auto_page.c setting_page.c interval_page.c manual_page.c

image.png

各个模块是怎么组织起来的呢? 程序框架

image.pngimage.png