一种基于嵌入式Linux的桌面系统的实现方法

文档序号:6440703阅读:240来源:国知局
专利名称:一种基于嵌入式Linux的桌面系统的实现方法
技术领域
本发明涉及一种基于嵌入式Linux的桌面系统的实现方法,属于计算机嵌入式技术领域。
背景技术
随着嵌入式应用的日益普及,业界对嵌入式操作系统用户界面美观性等诸多方面提出了更高的要求,而桌面环境为操作系统提供一个更加完善的界面以及大量各类整合工具和应用程序,由于嵌入式系统软硬资源的局限性,台式机上成熟、庞大的桌面系统不适合应用到嵌入式设备上。在嵌入式设备上研究与实现轻量级的桌面环境具有十分重要的现实意义。如专利号为CN01141429. 4、发明名称为“在实时多任务操作系统中建立嵌入式图形化用户界面的方法”的专利即属于此列。
目前嵌入式Linux平台的主流GUI (Graphical User hterface,简称GUI,又称图形用户接口 )主要包括 MiniGUI、Microwindows、OpenGUI、Qt/Embedded,这些接口在接口定义、体系结构、功能特性存在很大差别,采取的技术路线也有所不同。
Mini⑶I是建立在比较成熟的图形引擎之上,开发的重点在于窗口系统,其小巧精致并且尽量与Win32兼容。MicroWindows目前开发的重点在底层的图形引擎,窗口系统和图形接口方面功能比较欠缺,与Win32和XWindows窗口系统保持兼容,提供了相对完善的图形功能。Open⑶I基于一个用汇编实现的x86图形内核,提供了一个高层的C、C++图形窗口接口,它的资源消耗小,可移植性差,不支持多进程。
Qt/Embedded是一个多平台的C++图形用户界面应用程序框架,其对象容易扩展, 可移植性好,支持多个⑶I平台的交互开发。现在,Qt/Embedded被广泛地应用于各种嵌入式产品和设备中,从消费电器(如智能手机、机顶盒)到工业控制设备(如医学成像设备、 移动信息等)。
传统的GUI虽然对桌面环境所有特性都支持的比较好,但是所带来的系统开销非常大,开发周期太长,界面风格不太容易被用户接受。发明内容
针对现有技术存在的缺陷和不足,本发明提供了一种基于嵌入式Linux的桌面系统的实现方法。
本发明的技术方案如下
一种基于嵌入式Linux的桌面系统的实现方法,桌面系统用C++语言编写,包括窗口管理器模块和桌面管理器模块两大功能模块;窗口管理器模块包括窗口管理模块、窗口堆栈维护模块和窗口主题风格变换模块,窗口管理模块需要处理的事件包括鼠标左键按下事件、鼠标左键放开事件、窗口变化事件;桌面管理器模块分为桌面快捷图标模块和系统托盘模块;嵌入式Linux的桌面系统的实现方法如下
所述的鼠标左键按下事件处理流程如下1、开始;2、检测到鼠标左键按下;3、设置所点击的窗口属性为活动窗口;4、保存鼠标相对于活动窗口的位置;5、结束ο所述的鼠标左键放开事件处理流程如下1、开始;2、检测到鼠标左键放开;3、判断点击的窗口属性是否为活动窗口,如果是则转入步骤4,如果不是则转入步4、判断鼠标点击区域,如果是关闭按钮区域则转入步骤5,如果是最小化按钮区域入步骤6,如果是最大化按钮区域则转入步骤7 ;5、关闭窗口;6、最小化窗口;7、最大化窗口;8、结束ο所述的窗口变化事件处理流程如下1、开始;2、检测到窗口变化;3、判断窗口属性是否是活动窗口,如果是则转入步骤4,如果不是则转入步骤10;4、判断是否是窗口移动,如果是则转入步骤5,如果不是则转入步骤7;5、根据鼠标移动的大小计算窗口的x、y坐标的位移;6、根据计算值移动窗口;7、判断是否是窗口改变大小,如果是则转入步骤8,如果不是则转入步骤10;8、根据鼠标所在的位置以及鼠标移动的大小计算窗口宽度和高度的位移;9、根据计算值改变窗口大小;10、结束。所述的窗口堆栈维护模块运行步骤如下1、开始;2、用户选择窗口切换;3、判断是否是全屏窗口,如果是则转入步骤4,如果不是则转入步骤5;4、隐藏其它窗口;5、将该窗口提升到最顶端;6、结束ο所述的窗口主题风格变换模块运行步骤如下1、开始;2、用户选择切换窗口主题风格,触发窗口主题风格变化事件;3、把用户选择的窗口主题风格映射成字符串;4、窗口主题风格模块根据接收到的字符串查找对应在风格文件中的风格名字,如果没有查找到则转入步骤8,如果查找到则转入步骤5 ;
5、根据风格名字查找该类风格需要的图标;
6、查找对应的数据结构;
7、根据数据结构查找图标文件,如果没有查找到则转入步骤8,如果查找到则转入步骤9 ;
8、加载默认主题风格;
9、加载用户选择的主题风格;
10、切换窗口主题风格;
11、结束。
所述的桌面快捷图标模块运行步骤如下
1、开始;
2、读取配置文件;
3、创建窗口;
4、根据配置文件中应用程序类型显示图标和文字到桌面;
5、用户点击鼠标,进入事件处理;
6、释放用到的资源;
7、结束。
所述的系统托盘模块运行步骤如下
1、开始;
2、获取管理程序选择区域;
3、设置窗口属性独占屏幕区域;
4、读取应用程序,启动配置文件;
5、接收事件;
6、判断是否是操作码消息,如果是则转入步骤7,如果不是则转入步骤9 ;
7、读取操作码;
8、开始显示消息菜单;
9、判断是否改变图标显示,如果是则转入步骤10,如果不是则转入步骤11 ;
10、改变图标显示顺序;
11、结束。
本发明实现了一种基于嵌入式Linux的桌面系统,本系统开销较小,系统稳定,易于维护且提供良好的用户操作界面。


图1是桌面系统的整体结构框图。
图2是鼠标左键按下事件处理流程图。
图3是鼠标左键放开事件处理流程图。
图4是窗口变化事件处理流程图。
图5是窗口堆栈维护模块处理流程图。
图6是窗口主题风格变换模块处理流程图。
图7是桌面快捷图标模块处理流程图。
图8是系统托盘模块处理流程图。
其中,1、应用程序,2、桌面快捷图标模块,3、桌面管理器模块,4、系统托盘模块,5、 窗口管理模块,6、窗口堆栈维护模块,7、窗口主题风格变换模块,8、窗口管理器模块。
具体实施例方式
下面结合附图和实施例对本发明做进一步说明,但不限于此。
实施例
一种基于嵌入式Linux的桌面系统的实现方法,桌面系统的整体结构如图1所示, 实现方法流程图如图2-图8所示,桌面系统用C++语言编写,包括窗口管理器模块(8)和桌面管理器模块⑶两大功能模块;窗口管理器模块⑶包括窗口管理模块(5)、窗口堆栈维护模块(6)和窗口主题风格变换模块(7),窗口管理模块( 需要处理的事件包括鼠标左键按下事件、鼠标左键放开事件、窗口变化事件;桌面管理器模块C3)分为桌面快捷图标模块(2)和系统托盘模块;嵌入式Linux的桌面系统的实现方法如下
所述的鼠标左键按下事件处理流程如下
1、开始;
2、检测到鼠标左键按下;
3、设置所点击的窗口属性为活动窗口 ;
4、保存鼠标相对于活动窗口的位置;
5、结束。
所述的鼠标左键放开事件处理流程如下
1、开始;
2、检测到鼠标左键放开;
3、判断点击的窗口属性是否为活动窗口,如果是则转入步骤4,如果不是则转入步骤8 ;
4、判断鼠标点击区域,如果是关闭按钮区域则转入步骤5,如果是最小化按钮区域则转入步骤6,如果是最大化按钮区域则转入步骤7 ;0099]5、关闭窗口 ;0100]6、最小化窗口 ;0101]7、最大化窗口 ;0102]8、结束ο0103]所述的窗口变化事件处理流程如下0104]1、开始;0105]2、检测到窗口变化;0106]3、判断窗口属性是否是活动窗口,如果是则转入步骤4,如果不是则转入步骤100107]4、判断是否是窗口移动,如果是则转入步骤5,如果不是则转入步骤7 ;0108]5、根据鼠标移动的大小计算窗口的x、y坐标的位移;0109]6、根据计算值移动窗口 ;0110]7、判断是否是窗口改变大小,如果是则转入步骤8,如果不是则转入步骤10 ;
8、根据鼠标所在的位置以及鼠标移动的大小计算窗口宽度和高度的位移;
9、根据计算值改变窗口大小;
10、结束。
所述的窗口堆栈维护模块运行步骤如下
1、开始;
2、用户选择窗口切换;
3、判断是否是全屏窗口,如果是则转入步骤4,如果不是则转入步骤5 ;
4、隐藏其它窗口 ;
5、将该窗口提升到最顶端;
6、结束。
所述的窗口主题风格变换模块运行步骤如下
1、开始;
2、用户选择切换窗口主题风格,触发窗口主题风格变化事件;
3、把用户选择的窗口主题风格映射成字符串;
4、窗口主题风格模块根据接收到的字符串查找对应在风格文件中的风格名字,如果没有查找到则转入步骤8,如果查找到则转入步骤5 ;
5、根据风格名字查找该类风格需要的图标;
6、查找对应的数据结构;
7、根据数据结构查找图标文件,如果没有查找到则转入步骤8,如果查找到则转入步骤9 ;
8、加载默认主题风格;
9、加载用户选择的主题风格;
10、切换窗口主题风格;
11、结束。
所述的桌面快捷图标模块运行步骤如下
1、开始;
2、读取配置文件;
3、创建窗口 ;
4、根据配置文件中应用程序类型显示图标和文字到桌面;
5、用户点击鼠标,进入事件处理;
6、释放用到的资源;
7、结束。
所述的系统托盘模块运行步骤如下
1、开始;
2、获取管理程序选择区域;
3、设置窗口属性独占屏幕区域;
4、读取应用程序,启动配置文件;
5、接收事件;
6、判断是否是操作码消息,如果是则转入步骤7,如果不是则转入步骤9 ;
7、读取操作码;
8、开始显示消息菜单;
9、判断是否改变图标显示,如果是则转入步骤10,如果不是则转入步骤11 ;
10、改变图标显示顺序;
11、结束。
权利要求
1. 一种基于嵌入式Linux的桌面系统的实现方法,桌面系统用C++语言编写,包括窗口管理器模块和桌面管理器模块两大功能模块;窗口管理器模块包括窗口管理模块、窗口堆栈维护模块和窗口主题风格变换模块,窗口管理模块需要处理的事件包括鼠标左键按下事件、鼠标左键放开事件、窗口变化事件;桌面管理器模块分为桌面快捷图标模块和系统托盘模块;其特征在于,嵌入式Linux的桌面系统的实现方法如下 所述的鼠标左键按下事件处理流程如下\1、开始;\2、检测到鼠标左键按下;\3、设置所点击的窗口属性为活动窗口;\4、保存鼠标相对于活动窗口的位置;\5、结束ο所述的鼠标左键放开事件处理流程如下\1、开始;\2、检测到鼠标左键放开;\3、判断点击的窗口属性是否为活动窗口,如果是则转入步骤4,如果不是则转入步骤\8 \4、判断鼠标点击区域,如果是关闭按钮区域则转入步骤5,如果是最小化按钮区域则转入步骤6,如果是最大化按钮区域则转入步骤7 ;\5、关闭窗口;\6、最小化窗口;\7、最大化窗口;\8、结束ο所述的窗口变化事件处理流程如下\1、开始;\2、检测到窗口变化;\3、判断窗口属性是否是活动窗口,如果是则转入步骤4,如果不是则转入步骤10;\4、判断是否是窗口移动,如果是则转入步骤5,如果不是则转入步骤7;\\5、根据鼠标移动的大小计算窗口的x、y坐标的位移;\6、根据计算值移动窗口;\7、判断是否是窗口改变大小,如果是则转入步骤8,如果不是则转入步骤10;\8、根据鼠标所在的位置以及鼠标移动的大小计算窗口宽度和高度的位移;\9、根据计算值改变窗口大小;\10、结束。所述的窗口堆栈维护模块运行步骤如下\1、开始;\2、用户选择窗口切换;\3、判断是否是全屏窗口,如果是则转入步骤4,如果不是则转入步骤5;\4、隐藏其它窗口;\5、将该窗口提升到最顶端;·6、结束所述的窗口主题风格变换模块运行步骤如下·1、开始;·2、用户选择切换窗口主题风格,触发窗口主题风格变化事件;·3、把用户选择的窗口主题风格映射成字符串;·4、窗口主题风格模块根据接收到的字符串查找对应在风格文件中的风格名字,如果没有查找到则转入步骤8,如果查找到则转入步骤5 ;·5、根据风格名字查找该类风格需要的图标;·6、查找对应的数据结构;·7、根据数据结构查找图标文件,如果没有查找到则转入步骤8,如果查找到则转入步骤·9 ;·8、加载默认主题风格;·9、加载用户选择的主题风格;·10、切换窗口主题风格;·11、结束ο所述的桌面快捷图标模块运行步骤如下·1、开始;·2、读取配置文件;·3、创建窗口;·4、根据配置文件中应用程序类型显示图标和文字到桌面;·5、用户点击鼠标,进入事件处理;·6、释放用到的资源;·7、结束ο所述的系统托盘模块运行步骤如下·1、开始;·2、获取管理程序选择区域;·3、设置窗口属性独占屏幕区域;·4、读取应用程序,启动配置文件;·5、接收事件;·6、判断是否是操作码消息,如果是则转入步骤7,如果不是则转入步骤9;·7、读取操作码;·8、开始显示消息菜单;·9、判断是否改变图标显示,如果是则转入步骤10,如果不是则转入步骤11;·10、改变图标显示顺序;·11、结束ο
全文摘要
一种基于嵌入式Linux的桌面系统及其实现方法,属于计算机嵌入式技术领域。桌面系统分为窗口管理器和桌面管理器两大功能模块。窗口管理器模块分为窗口管理、窗口堆栈维护和窗口主题风格变换模块,它的主要功能包括管理应用程序创建的顶层窗口,维护顶层窗口堆栈顺序,对顶层窗口进行外观修饰等。桌面管理器模块分为桌面快捷图标、系统托盘模块,可以设计扩展控件来支持多个桌面显示;显示指示特定状态的瞬时图标以及一些消息菜单。它具备以下特点系统结构层次清晰,能对桌面环境的特性进行比较好的支持;系统开销较小,系统稳定;实现窗口透明效果和动画效果,提供良好的用户操作界面。
文档编号G06F9/44GK102520946SQ20111040896
公开日2012年6月27日 申请日期2011年12月9日 优先权日2011年12月9日
发明者孙志猛, 孙文, 徐伟涛, 徐加利, 李宗璋, 纪洪亮, 翟庆羽, 赫明哲 申请人:山东大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1