电子书项目分析

 

三个重要底层的结构体:

1.T_DispOpr

记录了LCD的相关信息

 1 typedef struct DispOpr {
 2     char *name;
 3     int iXres;  /* X分辨率 */
 4     int iYres;  /* Y分辨率 */
 5     int iBpp;   /* BPP */
 6     int (*DeviceInit)(void);   /* 设备初始化,设置显示器的相关参数 */
 7     int (*ShowPixel)(int iPenX, int iPenY, unsigned int dwColor);/* 像素显示函数 */
 8     int (*CleanScreen)(unsigned int dwBackColor);/* 清屏幕函数 */
 9     struct DispOpr *ptNext;/* 指向下一个结构 (链表)*/
10 }T_DispOpr, *PT_DispOpr;/* 一个结构体,一个结构体指针 */

2.T_FontOpr

记录了字体位图的相关信息

1 typedef struct FontOpr {
2     char *name;
3     int (*FontInit)(char *pcFontFile, unsigned int dwFontSize);/* 字体初始化 */
4     int (*GetFontBitmap)(unsigned int dwCode, PT_FontBitMap ptFontBitMap);/* 获得字体的位图 */
5     struct FontOpr *ptNext;/* 指向下一个结构体(链表) */
6 }T_FontOpr, *PT_FontOpr;/* 一个结构体,一个指向结构体的指针 */

3.T_EncodingOpr

 记录了文件内容的编码的相关信息

1 typedef struct EncodingOpr {
2     char *name;
3     int iHeadLen;/* 文件头部的长度,支持这种编码的点阵图像 */
4     PT_FontOpr ptFontOprSupportedHead;
5     int (*isSupport)(unsigned char *pucBufHead);/* 是否支持这种编码 */
6     int (*GetCodeFrmBuf)(unsigned char *pucBufStart, unsigned char *pucBufEnd, unsigned int *pdwCode);/* 获取这个文件的编码 */
7     struct EncodingOpr *ptNext;/* 指向下一个结构体 */
8 }T_EncodingOpr, *PT_EncodingOpr;

函数的调用关系

目录结构:

.
├── display
│   ├── disp_manager.c
│   ├── disp_manager.c~
│   ├── fb.c
│   └── fb.c~
├── draw
│   ├── draw.c
│   └── draw.c~
├── encoding
│   ├── ascii.c
│   ├── ascii.c~
│   ├── encoding_manager.c
│   ├── utf-16be.c
│   ├── utf-16be.c~
│   ├── utf-16le.c
│   ├── utf-16le.c~
│   ├── utf-8.c
│   └── utf-8.c~
├── fonts
│   ├── ascii.c
│   ├── fonts_manager.c
│   ├── fonts_manager.c~
│   ├── freetype.c
│   ├── freetype.c~
│   ├── gbk.c
│   └── gbk.c~
├── include
│   ├── config.h
│   ├── disp_manager.h
│   ├── draw.h
│   ├── encoding_manager.h
│   └── fonts_manager.h
├── main.c
├── main.c~
├── Makefile
└── 测试文件
    ├── HZK16
    ├── MSYH.TTF
    ├── utf16be.txt
    ├── utf16le.txt
    ├── utf8.txt
    ├── zhutaoansi.txt
    ├── zhutaounicode.txt
    ├── zhutaoutf-8.txt
    ├── 使用方法
    └── 使用方法~

end

posted @ 2014-10-20 21:00  chrispauls  阅读(284)  评论(0编辑  收藏  举报