MiniGUI源代码分析(2)--源码结构

MIniGU的目录结构如下

MiniGUI-- |----etc

               |----ext

               |----include

               |----vcongui

               |----src-----|----control

                                |----font

                                |----gui

                                |----ial

                                |----include

                                |----kernel

                                |----main

                                |----misc

                                |----mybmp

                                |----newgal

                                |----newgdi

                                |----sysres

1):etc目录包含的是配置文件,在make install的时候会被拷贝到/etc目录下名为MiniGUi.cfg目录的配置文件。

2):ext:目录是MiniGUI的扩展目录,主要是增加了一些定制MiniGUI窗口和控件界面的。Gif格式的支持也是在这个目录里面完成的。

3):include:目录是对外提供的头文件目录,在Make Install的时候,该目录会被复制到系统目录下。

4):vcongui:目录是控制台相关的,不过这里面的代码我没有详细看过,不便多少。不过根据我的理解,应该是用来提供控制台操作界面的代码。

5):src:目录是真正的MiniGUI的源代码目录。

6):src/control:目录是MiniGUI内置的控件目录,这里面的控件都是windows风格的控件,界面极丑,根本不适合做嵌入式的产品开发,不过可以作为我们定制控件的参考。

7):src/font:目录是MiniGUI的字体相关的目录,主要包含各种字符集的操作,转换的代码和各种字体的解析,渲染代码。如果我们需要增加新的字体支持,就需要在这个目录里面添加自己的支持。

8):src/gui:目录是一些针对窗口的代码,比如主窗口,对话框,目录等实现和操作的代码。

9):src/ial:输入抽象层代码。简单的说,在这个目录里面对鼠标,键盘,触摸屏等各种输入设备做了一个统一的抽象,然后把做成统一的格式发送给桌面进城。

10):src/include:目录是MiniGUI内部头文件的目录。该目录的头文件不会向外部提供,只是供内部使用的。

11):src/kernel:目录是MIniGUI的消息机制核心目录,该目录完成了消息的接受,处理,转发等裸机,是整个MiniGUI目录中最难看懂的地方。

12):src/main:这个目录基本可以不看,只有一个文件,里面的函数没多大意义。

13):src/misc:这个目录里面存放的是一些乱七八糟的代码,各种不好分类的都放在了这个地方。比如关于对话框,剪贴板,大小端转换,文件检测,数据函数,操作系统差异的一些函数,总之是太杂乱了,完全可以认为是一个杂货间。不过这个目录里面有个内存分配的算法,是值得我们以后写程序借鉴的。

14):src/mybmp:里面的代码是对各种图片格式支持的代码,MiniGUI设计得非常巧妙,将各种图片格式都做了一个统一的抽象,只要实现几个简单的函数就可以增加一种新的图片格式支持。

15):src/newgal:图形抽象接口层代码。在MiniGUI中,将所有的现实设备都做了一个抽象成为一个统一的模型个上层调用,在不同平台移植的时候只需要根据这个统一的抽象模型实现几个简单的函数就可以实现gal层的跨平台移植。

16):src/newgdi:就是实现了GDI的功能,一些基本的绘图算法,包含了各种图形,文字,图片等绘制,重叠区域处理等算法。

17):src/sysresMiniGUI使用的一些图标的加载。如果你是嵌入式中使用的话,最好是自己在源代码中把这部分干掉,因为你的工程中不可能会用到这些图标的。

 

作者:光脚脚 qq:1042077267(欢迎大家跟我联系一起讨论)

转载请注明出处。

你可能感兴趣的:(MiniGUI)