嵌入式桌面环境的研究与实现
发布时间:2020-05-12 07:53
【摘要】: 随着嵌入式应用的日益普及,业界对嵌入式操作系统用户界面美观性等诸多方面提出了更高的要求,而桌面环境为操作系统提供一个更加完善的界面以及大量各类整合工具和应用程序,由于嵌入式系统软硬资源的局限性,台式机上成熟、庞大的桌面系统不适合应用到嵌入式设备上。在嵌入式设备上研究与实现轻量级的桌面环境具有十分重要的现实意义。 基于图形系统clearX的嵌入式桌面环境JLEDE(Jinglun Embedded Desktop Environment),在遵循桌面环境协议的基础上,对嵌入式桌面环境进行总体设计,划分为窗口管理器和桌面管理器两大功能模块。 窗口管理器模块分为窗口管理、窗口堆栈维护和窗口主题风格变换模块:在窗口管理模块中负责对不同窗口类型设置不同的操作方法,处理用户事件,完成事件分发和处理;在窗口堆栈维护模块中对不同类型的窗口以及具有不同状态的窗口进行维护,并且实现活动窗口和焦点窗口的设置;在窗口主题风格变换模块中实现用户对窗口风格的定制,提供窗口主题风格变化功能。 桌面管理器模块分为桌面快捷图标、系统托盘、鼠标拖拽管理和剪贴板管理四个模块:在桌面快捷图标模块中设计扩展控件来支持多个桌面显示;在系统托盘模块中显示指示特定状态的瞬时图标,与长驻于系统托盘上的图标,以及一些消息菜单;在鼠标拖拽管理模块中遵循鼠标拖拽协议(X Drag And Drop),支持用户进行鼠标拖拽操作;在剪贴板管理模块中,基于对X窗口选择机制的分析,支持不同应用程序之间的剪贴板管理。
【图文】:
窗口在X窗口系统的堆栈顺序的客户程序,图3.1给出了窗口管理器在窗口系统中的地位。它的主要功能包括管理应用程序创建的顶层窗口(如移动客户窗口,改变客户窗口大小、关闭客户窗口等操作),维护顶层窗口堆栈顺序,对顶层窗口进行外观修饰等。图3.1窗口管理器在窗口系统中的地位
双向链表来记录活动窗口出现的的顺序,提升窗口并设置该窗口为活动窗口时,只需在该双向链表中把对应的容器窗口节点移动到链表的表头,同时改变容器窗口在窗口堆栈中的顺序。图3.4给出了ButtonPress事件处理流程图。图3.4 ButtonPress事件处理流程2.MotionNotify事件处理模块判断当前窗口是否为活动窗口,如果不是,结束对该事件的处理;如果是,判断鼠标位于容器窗口的位置,如果鼠标位置位于容器窗口的标题栏,则用户将移动窗口,记录下鼠标的坐标值,根据鼠标坐标值的偏移来移动窗口;如果鼠标位置位于容器窗口的边框和四周的边角,则用户将改变窗口的大小,记录下鼠标的坐标值,根据鼠标坐标值的偏移和鼠标位于容器窗口的位置来计算窗口要发生的宽度和高度的偏移。图3.5给出了MotionNotify事件处理流程图。3.ButtonRelease事件处理模块判断当前窗口是否为活动窗口,如果不是,结束对该事件的处理;如果是,判断鼠标位于容器窗口的位置,如果鼠标位于容器窗口的关闭按钮上,则应关闭客户窗口;如果位于容器窗口的最小化按钮上
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP368.12
【图文】:
窗口在X窗口系统的堆栈顺序的客户程序,图3.1给出了窗口管理器在窗口系统中的地位。它的主要功能包括管理应用程序创建的顶层窗口(如移动客户窗口,改变客户窗口大小、关闭客户窗口等操作),维护顶层窗口堆栈顺序,对顶层窗口进行外观修饰等。图3.1窗口管理器在窗口系统中的地位
双向链表来记录活动窗口出现的的顺序,提升窗口并设置该窗口为活动窗口时,只需在该双向链表中把对应的容器窗口节点移动到链表的表头,同时改变容器窗口在窗口堆栈中的顺序。图3.4给出了ButtonPress事件处理流程图。图3.4 ButtonPress事件处理流程2.MotionNotify事件处理模块判断当前窗口是否为活动窗口,如果不是,结束对该事件的处理;如果是,判断鼠标位于容器窗口的位置,如果鼠标位置位于容器窗口的标题栏,则用户将移动窗口,记录下鼠标的坐标值,根据鼠标坐标值的偏移来移动窗口;如果鼠标位置位于容器窗口的边框和四周的边角,则用户将改变窗口的大小,记录下鼠标的坐标值,根据鼠标坐标值的偏移和鼠标位于容器窗口的位置来计算窗口要发生的宽度和高度的偏移。图3.5给出了MotionNotify事件处理流程图。3.ButtonRelease事件处理模块判断当前窗口是否为活动窗口,如果不是,结束对该事件的处理;如果是,判断鼠标位于容器窗口的位置,如果鼠标位于容器窗口的关闭按钮上,则应关闭客户窗口;如果位于容器窗口的最小化按钮上
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP368.12
【参考文献】
相关期刊论文 前10条
1 曹毅;李德玉;;基于Qt/Embedded的嵌入式桌面环境的研究与实现[J];西南民族大学学报(自然科学版);2006年06期
2 夏琳,张光显,张丽娟;基于Linux操作系统的嵌入式GUI及其设计改进[J];现代电子技术;2004年21期
3 刘兴国,阳富民,胡贯荣;嵌入式Linux控件库的研究与改造[J];计算机工程与设计;2004年05期
4 陈l,
本文编号:2659897
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2659897.html