http://home.lupaworld.com/home-space-uid-279800-do-blog-id-123330.htmlLWEGUI(轻量级嵌入式图形用户接口)是基于GPL的开源嵌入式GUI系统,采用线程模式和类WIN32 API,可以方便移值到大多数现有的主流嵌入式操作系统。
轻量级:根据不同的使用情况,大小最低可控制在几十K以内;
高可移值性:LWEGUI在设计时充分考虑了系统的可移值性,全部代码使用C语言完成,并且对跟操作系统相关部分进行了抽象,因些可以轻松移值到现有的大多数嵌入式操作系统,目前提供LINUX跟ECOS的移值。
为什么使用采用线程模式:目前基本所有实时嵌入式操作系统都采用多线程模式(如VXWORKS、ECOS等),而现有开源GUI(如MINIGUI、
MICROWINDOS等)多使用进程模式或进程加线程模式,使用C/S架构,要么体积庞大效率低下,要么无法进行移值。采用线程模式的GUI系统可以在
多线程实时操作系统以及LINUX等多进程操作系统上运行,同时避免C/S模式效率低下的缺点。作者在网站上见到有人抱怨ECOS这类实时操作系统缺少
GUI的支持,如果使用现有的GUI体积又过于庞大,作者对ECOS有比较深入的研究,决定为ECOS做一个小巧的GUI,这也是导致LWEGUI使用多
线程模式的主要原因。
为什么使用类WIN32 API:一是由于作者对WIN32
API有一定了解,另一方面作者认为设计一个GUI最繁重的工作是通用控件的编写,使用类WIN32 API可以方便地将其它使用类WIN32
API接口的GUI已完成的控件移值到本系统,当然这些移值要注意相关的知识产权问题。
LWEGUI最开始的设计目标主要是构建一个小巧的窗口系统,所以对控件的支持还比较贫乏,另一方面作者主要是完成系统的构建,所以对系统中的相关算法和
控件(比如窗口剪切、画线算法等)并没有太多的研究,相关的算法和控件如果是从其它遵循GPL协议的GUI移值过来则标明了出处,主要是为了保护原作者的
知识产权,所以您在使用本软件时也应该要遵循相关的协议,否则可能给您带来麻烦。
本软件只是作者在无聊之际的作品,同时由于时间仓促,代码质量不高,存在很多BUG,如果您对本软件有兴趣,欢迎对本软件进行更改或者提出宝贵意见,如果您发现了其中的问题,欢迎指正,作者将不胜感激。
最后申明,本软件是基于GPL的开源软件,所以并不保证软件的完全可靠性,对于使用本软件所造成的任何不良后果,作者不负任何法律责任。
流浪的狮子
Zhanbin98154@163.com
2009-2-19
下面是ECOS VNC下运行效果图,源码已经上传到。
阅读(3545) | 评论(0) | 转发(0) |