嵌入式图形用户界面框架系统及其程序管理方法技术方案

技术编号:12487694 阅读:116 留言:0更新日期:2015-12-11 02:09
本发明专利技术提供一种嵌入式图形用户界面框架系统及其程序管理方法,上述方法包括以下步骤:通过鼠标控制模块获取外界输入的鼠标事件并传递给事件处理模块进行分析;所述事件处理模块通过信号回调模块和用户接口管理模块或者直接通过所述信号回调模块与控件集群进行信息交互,确定控件的状态变化;所述控件集群直接使用图形绘制模块或通过样式控制模块来使用图形绘制模块将控件绘制到屏幕上;通过鼠标控制模块和鼠标显示效果模块,使用非主线程控制鼠标在屏幕上绘制,显示出给定形状的鼠标,上述信号回调模块实现了一个信号关联多个回调、对控件集群中的目标控件发射的信号进行阻塞、让回调异步于信号执行,简化了用户编程的过程。

【技术实现步骤摘要】
嵌入式图形用户界面框架系统及其程序管理方法
本专利技术属于图形用户界面领域,尤其涉及一种嵌入式图形用户界面框架系统及其程序管理方法。
技术介绍
当给嵌入式设备开发程序时,在面对如何实现GUI(GraphicalUserInterface,图像用户界面)显示的问题时,对于简单的界面通过直接操作FrameBuffer(帧缓冲)就可以解决问题,但需要做比较复杂的界面和效果时,直接操作FrameBuffer就变得极其困难,再加上各个界面之间需要进行功能交互,这种方式就会失去控制。现有技术采用Qt框架来解决上述问题,但是采用Qt框架在嵌入平台上存在着各种瓶颈:编译后可执行程序的体积过大、内存消耗过大、CPU消耗过大、显示速度过慢、界面刷新时鼠标卡顿等等,上述任何一个问题发生,都将导致致命的结果。
技术实现思路
本专利技术提供一种嵌入式图形用户界面框架系统及其程序管理方法,以解决上述问题。本专利技术提供一种嵌入式图形用户界面框架系统,包括事件处理模块、图形绘制模块、控件集群;其中,所述事件处理模块、所述图形绘制模块分别与所述控件集群相连。本专利技术还提供一种基于嵌入式图形用户界面框架系统的程序管理方法,上述方法包括以下步骤:通过鼠标控制模块获取外界输入的鼠标事件并传递给事件处理模块进行分析;所述事件处理模块通过信号回调模块和用户接口管理模块或者直接通过所述信号回调模块与控件集群进行信息交互,确定控件的状态变化;所述控件集群直接使用图形绘制模块或通过样式控制模块来使用图形绘制模块将控件绘制到屏幕上;通过鼠标控制模块和鼠标显示效果模块,使用非主线程控制鼠标在屏幕上绘制,显示出给定形状的鼠标。通过以下方案:通过鼠标控制模块获取外界输入的鼠标事件并传递给事件处理模块进行分析;所述事件处理模块通过信号回调模块和用户接口管理模块或者直接通过所述信号回调模块与控件集群进行信息交互,确定控件的状态变化;所述控件集群直接使用图形绘制模块或通过样式控制模块来使用图形绘制模块将控件绘制到屏幕上;通过鼠标控制模块和鼠标显示效果模块,使用非主线程控制鼠标在屏幕上绘制,显示出给定形状的鼠标,上述信号回调模块实现了一个信号关联多个回调、对控件集群中的目标控件发射的信号进行阻塞、让回调异步于信号执行,简化了用户编程的过程。通过以下方案:所述鼠标控制模块和鼠标显示效果模块,使用彩色图片作为鼠标形状,使用非主线程控制鼠标在屏幕上进行绘制;使得鼠标的移动不再受主线程的影响而卡顿,大大提升用户的体验。通过以下方案:所述样式控制模块,不仅能实现控件间的样式继承和传递还能单独的为某一控件配置样式;既保证了类似控件显示效果的一致性也满足了特殊控件显示效果的多样性,同时还大大简化了控件样式配置。通过以下方案:所述用户接口管理模块,用于开放给编程用户实现自定义功能,和系统进行复杂的交互,简化了编程过程,提高了编程的灵活性。通过以下方案:使用setMask()接口,穿透单层窗口或单层窗口覆盖的所有窗口直到视频层,这为在窗口中播放视频提供了极大的便利。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1所示为本专利技术的嵌入式图形用户界面框架系统结构图;图2所示为本专利技术基于嵌入式图形用户界面框架系统的程序管理方法处理流程图。具体实施方式下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图1所示为本专利技术的嵌入式图形用户界面框架系统结构图,包括事件处理模块、图形绘制模块、信号回调模块、用户接口管理模块、鼠标控制模块、鼠标显示效果模块、样式控制模块、控件集群(包括:控件1、控件2、控件3…控件n);其中,所述事件处理模块、所述图形绘制模块分别与所述控件集群相连;其中,所述信号回调模块、所述用户接口管理模块、所述样式控制模块分别与所述控件集群相连;所述信号回调模块分别与所述事件处理模块、所述用户接口管理模块相连;所述样式控制模块还与所述图形绘制模块相连;所述鼠标控制模块与事件处理模块相连、所述鼠标显示效果模块与所述鼠标控制模块相连。进一步地,所述样式控制模块,用于修改控件集群中单个控件的样式;还用于控制控件集群中控件之间样式的传递与继承。其中,每个控件都有一个RSStyle实例,通过对RSStyle实例进行设置,从而获得对应控件的样式。RSApplication也有实例,它是一个全局实例,可以通过RSApplication::style()接口返回,设置它后,整个应用程序的默认样式都将随之改变。RSStyle中为每种控件都建立了属性类,都以指针的形式存在;获取RSFrame属性类的指针,如果从未给该控件设置这个属性,内部会创建一个初始化好的实例并返回。不同的控件支持的属性类型也会不一样,对于RSFrame控件,它支持的属性有:foreground、background、background_image、margin、border_image、border_width、border_color、border_radius、padding;对于RSPushButton控件,除了支持RSFrame控件的所有属性外还支持text_align;对于RadioButton和RSCheckBox控件,除了支持RSFrame控件的所有属性外还支持indicator_color、indicator_image、indicator_padding等等。每个属性类都是一个庞大的指针集,每种控件在各种不同状态下的属性值在对应Option中都留有一个指针位,如果该指针位为空,则表示属性未被设置,不为空表示该属性有值,可以使用,但并不意味着这个属性就是该控件显示设置的属性,它还可能是从其父控件甚至是RSApplication继承过来的,继承过来的属性会随着控件间的父子控件关系动态改变,达到继承的效果,而控件显示设置的属性值在样式的继承中不仅不会被覆盖掉,而且还会传递给子控件,实现了控件样式的多样性。通过以下方案:所述的样式控制模块,不仅能实现控件间的样式继承和传递还能单独的为某一控件配置样式;既保证了类似控件显示效果的一致性也满足了特殊控件显示效果的多样性,同时还大大简化了控件样式的配置。进一步地,所述图形绘制模块,用于绘制图形、绘制控件;还用于多窗口的叠加显示。进一步地,所述用户接口管理模块,用于编程用户进行自定义功能设置;还用于和嵌入式图形用户界面框架系统进行信息交互。进一步地,所述信号回调模块,实现信号定义、信号发射、信号-回调的连接和断开;还用于一个信号关联多个回调,让编程用户实现一个事件发送触发多个操作;还用于对控件集群中目标控件发射的信号进行阻塞;还用于让回调异步于信号执行。上述信号回调模块实现了一个信号关联多个回调、对控件集群中的目标控件发射的信号进行阻塞、让回调异步于信号执行,大大提升了用户体验。提供4个特别的宏来完成这一机制:1、define_signal(signalname)-—定义信号,定义名为signalname的信号,只支持定义无参信号。2、connect_signal(sender,signal,rec本文档来自技高网...
嵌入式图形用户界面框架系统及其程序管理方法

【技术保护点】
嵌入式图形用户界面框架系统,其特征在于,包括事件处理模块、图形绘制模块、控件集群;其中,所述事件处理模块、所述图形绘制模块分别与所述控件集群相连。

【技术特征摘要】
1.嵌入式图形用户界面框架系统,其特征在于,包括事件处理模块、图形绘制模块、控件集群;其中,所述事件处理模块、所述图形绘制模块分别与所述控件集群相连;还包括信号回调模块、用户接口管理模块、鼠标控制模块、鼠标显示效果模块、样式控制模块;其中,所述信号回调模块、所述用户接口管理模块、所述样式控制模块分别与所述控件集群相连;所述信号回调模块分别与所述事件处理模块、所述用户接口管理模块相连;所述样式控制模块还与所述图形绘制模块相连;所述鼠标控制模块与事件处理模块相连、所述鼠标显示效果模块与所述鼠标控制模块相连;所述鼠标控制模块,用于捕获外界鼠标的移动状态并传递给所述事件处理模块;所述鼠标显示效果模块,用于设置任意大小的彩色图片作为鼠标外观;所述信号回调模块,实现信号定义、信号发射、信号-回调的连接和断开;还用于一个信号关联多个回调,让编程用户实现一个事件发送触发多个操作;还用于对控件集群中目标控件发射的信号进行阻塞;还用于让回调异步于信号执行,4个特别的宏来完成这一机制:define_signal(signalname)-—定义信号,定义名为signalname的信号,只支持定义无参信号;connect_signal(sender,signal,receiver,slot)-—连接信号和回调,把sender的signal信号和receiver的slot回调关联起来;receiver和slot之间有归属关系,slot回调是receiver的静态成员函数,该静态成员函数为public类型或private类型,以这种方式连接的信号和回调,当信号发出时,slot回调会被立即调用;slot回调函数具备与typedefvoid(*RSSlot)(RSObject*sender,RSObject*receiver)相同的函数原型,slot回调函数的返回值为void,其参数列表为RSObject*sender,RSObject*receiver;connect_signal_queued(sender,signal,receiver,slot)-—连接异步信号回调,和connect_signal类似,只是回调的触发方式不一样,当信号发出后回调不会立即执行,需排队等到下次事件循环或更晚的时刻才开始执行回调;disconnect_signal(sender,signal,receiver,slot)-—断开信号回调,断开sender的signal信号和receiver的slot回调的关联。2.根据权利要求1所述的系统,其特征在于,所述样式控制模块,用于修改控件集群中单个控件的样式;还用于控制控件集群中控件之间样式的传递与继承。3...

【专利技术属性】
技术研发人员:胡江峰杨亮亮江发钦范小俊宋庆丰邹小蓉庞继锋
申请(专利权)人:珠海安联锐视科技股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1