本发明属于图像显示技术领域,尤其是涉及一种基于oled屏幕的显示设置方法、系统及图形用户界面。
背景技术:
oled小屏幕lcd现在已经开始慢慢普及,由于其具有响应速度快、外观轻薄、耐摔抗震、低温特性好、可视角度大、功耗低、制造工艺简单、发光效率高等特点,从智能穿戴设备的显示到仪器仪表的显示,都有oled的身影。但是对于小屏幕oled,由于其尺寸较小,整屏显示的内容有限,如果想在没有操作系统如linux、wince、android的强大支持,而只在mcu或arm裸机程序下或者是只运行简单rtos无gui图形库支持的系统下,要实现比较良好的功能显示和参数设置界面,具有一定难度。
现在普遍的做法是采用gui方案,比如ucgui、emwin、touchgfx等,但是现有公开的gui方案主要都是收费的。ucgui源码虽然是开源的,但发布产品时任然需要购买license;emwin主要针对恩智浦的arm微控制器用户提供免费的图形库,但对于其它厂家的arm平台是需要收取一定费用的;touchgfx虽然有试用版,但显示时是有水印的,只有付费购买正版后才能正常显示。而且上述这些图形库均考虑到了普遍性,对于应用所不需要的功能也会被加载进来,浪费了内存和flash非常有限的cpu资源。
为了解决现有技术存在的问题,人们进行了长期的探索,提出了各式各样的解决方案。例如,中国专利文献公开了一种基于vxworks的ucgui系统[201610513612.x],包括vxworks系统,所述vxworks系统包括图形界面开发模块;还包括ucgui系统、windml库及ucgui系统与windml库结合的驱动层;所述驱动层包括初始化模块、绘制点模块、绘制线模块、设置点像素模块、时间延时模块、系统时间获取模块、创建信号量模块、信号量获取模块、信号释放模块,分别用于调用windml库初始化函数、windml库点绘制函数、windml库线绘制函数、windml库像素设置函数、vxworks系统任务延时函数、vxworks系统时隙获取函数、vxworks系统二进制信号量创建函数、vxworks系统信号量获取函数、vxworks系统信号量释放函数。
上述方案虽然在一定程度上解决了现有技术存在的问题,但是却需要vxworks的支持并且使用了需要收费的ucgui方案,成本较高,如果应用于oled小屏幕,会浪费内存和flash非常有限的cpu资源。
技术实现要素:
本发明的目的是针对上述问题,提供一种操作简单,能够节约中央处理器资源的基于oled屏幕的显示设置方法。
本发明的另一目的是针对上述问题,提供一种硬件架构简单,能够节约中央处理器资源的基于oled屏幕的显示设置系统。
本发明的另一目的是针对上述问题,提供一种便于跨平台移植的基于oled屏幕的显示设置图形用户界面。
为达到上述目的,本发明采用了下列技术方案:
基于oled屏幕的显示设置方法,包括:
a:通过第一输入在同级功能显示界面之间和同级设置菜单界面之间切换;
b:通过第二输入在上下级功能显示界面之间切换;
c:通过第三输入在第一级功能显示界面和第一级设置菜单界面之间切换;
d:通过第四输入在上下级设置菜单界面之间和最后一级设置菜单界面与参数设置界面之间切换;
e:通过第五输入在参数设置界面改变参数。
在上述的基于oled屏幕的显示设置方法中,所述的第一输入包括沿相对方向的滑动从而实现同级功能显示界面之间和同级设置菜单界面之间的循环切换;所述的第二输入包括沿与第一输入不同的相对方向的滑动;所述的第三输入包括沿与第一输入不同的相对方向的滑动。
在上述的基于oled屏幕的显示设置方法中,所述的第一输入为上下滑动;所述的第二输入为左右滑动,功能显示界面通过向右滑动切换至下一级功能显示界面,非第一级的功能显示界面通过向左滑动切换至上一级功能显示界面;所述的第三输入为左右滑动,第一级功能显示界面通过向左滑动切换至第一级设置菜单界面,第一级设置菜单界面通过向右滑动切换至第一级功能显示界面,且在第一级设置菜单界面中屏蔽向左滑动命令。
在上述的基于oled屏幕的显示设置方法中,所述的第四输入包括单击和向右滑动,通过单击设置菜单界面中的设置标记切换至相应下一级菜单界面或者相应参数设置界面,通过单击参数设置界面中的确定标记切换至最后一级设置菜单界面;通过在非第一级的设置菜单界面中向右滑动切换至上一级设置菜单界面。
在上述的基于oled屏幕的显示设置方法中,当需要改变参数设置界面中的数值类型参数时,所述的第五输入包括上下滑动,通过向上滑动来进行数值递加,通过向下滑动来进行数值递减;当需要改变参数设置界面中的布尔类型参数时,所述的第五输入包括单击,通过单击布尔标记来完成是与非之间的循环切换。
在上述的基于oled屏幕的显示设置方法中,本方法还包括:
f:通过第六输入在任意一个界面中返回第一级功能显示界面。
在上述的基于oled屏幕的显示设置方法中,所述的第六输入为双击,通过在任意一个界面中双击该界面中的任意一个位置返回第一级功能显示界面。
本基于oled屏幕的显示设置系统,包括oled触摸屏、中央处理器和存储器,所述的oled触摸屏和存储器均与中央处理器相连;
其中,oled触摸屏用于显示界面且用于接收输入;
中央处理器用于对oled触摸屏的输入进行分析处理从而切换界面或者改变参数并在oled触摸屏中显示;
存储器用于存储数据。
本基于oled屏幕的显示设置图形用户界面,包括若干级功能显示界面、至少一级设置菜单界面和参数设置界面,所述的设置菜单界面中设有至少一个设置标记,每一个非最后一级的设置菜单界面中的设置标记能够连接至下一级设置菜单界面,每一个最后一级的设置菜单界面中的设置标记能够连接至参数设置界面。
在上述的基于oled屏幕的显示设置图形用户界面中,还包括根界面,所述的功能显示界面的级数为两级,所述的第一级功能显示界面、第二级功能显示界面、第一级设置菜单界面均与根界面相互连接。
本发明没有利用现有公开的gui方案,也没有利用操作系统的支持,因此不必缴纳任何商用费用;代码算法简单,冗余代码较少,能够有效减少对内存和flash非常有限的cpu资源的浪费;只需传入触摸事件的类型或者是外部按键状态,以及移植图形显示控制器的相关图形绘制api即可直接使用,跨平台移植性好;用户可重写界面显示算法及输入处理算法,界面自定义扩展性好;通过上滑、下滑、左滑、右滑、单击和双击六种输入来实现多页面显示界面及多级参数设置菜单的功能,操作简单。
附图说明
图1提供了本发明实施例一的工作流程图。
图2提供了本发明实施例二的工作流程图。
图3提供了本发明实施例三的系统框图。
图4提供了本发明实施例四的结构示意图。
图中,oled触摸屏1、中央处理器2、存储器3、功能显示界面4、设置菜单界面5、参数设置界面6、根界面7。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,下面结合附图和具体实施例对本发明做进一步的说明,但本发明不限于所描述的实施例,相反,本发明包括落入所附权利要求的范围内的全部修改、变型以及等同物。
实施例一
如图1所示,本实施例基于oled屏幕的显示设置方法,包括如下步骤:
a:通过第一输入在同级功能显示界面4之间和同级设置菜单界面5之间切换;
b:通过第二输入在上下级功能显示界面4之间切换;
c:通过第三输入在第一级功能显示界面4和第一级设置菜单界面5之间切换;
d:通过第四输入在上下级设置菜单界面5之间和最后一级设置菜单界面5与参数设置界面6之间切换;
e:通过第五输入在参数设置界面6改变参数。
具体地,第一输入包括沿相对方向的滑动从而实现同级功能显示界面4之间和同级设置菜单界面5之间的循环切换;第二输入包括沿与第一输入不同的相对方向的滑动;第三输入包括沿与第一输入不同的相对方向的滑动。
进一步地:
第一输入为上下滑动;
第二输入为左右滑动,功能显示界面4通过向右滑动切换至下一级功能显示界面4,非第一级的功能显示界面4通过向左滑动切换至上一级功能显示界面4,优选地,在最后一级功能显示界面4中屏蔽向右滑动命令;
第三输入为左右滑动,第一级功能显示界面4通过向左滑动切换至第一级设置菜单界面5,第一级设置菜单界面5通过向右滑动切换至第一级功能显示界面4,优选地,在第一级设置菜单界面5中屏蔽向左滑动命令;
第四输入包括单击和向右滑动,通过单击设置菜单界面5中的设置标记切换至相应下一级菜单界面或者相应参数设置界面6,通过单击参数设置界面6中的确定标记切换至最后一级设置菜单界面5;通过在非第一级的设置菜单界面5中向右滑动切换至上一级设置菜单界面5;
当需要改变参数设置界面6中的数值类型参数时,第五输入包括上下滑动,通过向上滑动来进行数值递加,通过向下滑动来进行数值递减;当需要改变参数设置界面6中的布尔类型参数时,第五输入包括单击,通过单击布尔标记来完成是与非之间的循环切换;当需要改变参数设置界面6中的枚举类型参数时,既可以使用上下滑动从而使枚举值前后变化,也可以使用单击从而使枚举值向后变化。
当然,本方法中的上下左右的滑动方向完全可以调换,如将向上滑动与向左滑动或者向右滑动调换,同时将向下滑动与向右滑动或者向左滑动调换,均能够实现上述方法。
实施例二
本实施例的结构、原理以及实施步骤与实施例一类似,不同的地方在于:
如图2所示,本基于oled屏幕的显示设置方法还包括:
f:通过第六输入在任意一个界面中返回第一级功能显示界面4。
具体地,第六输入为双击,通过在任意一个界面中双击该界面中的任意一个位置返回第一级功能显示界面4。
设置了一个可以随时在任意一个界面直接返回第一级功能显示界面4的快捷键,快捷方便。
实施例三
本实施例的结构、原理以及实施步骤与实施例一或二类似,不同的地方在于:
如图3所示,本基于oled屏幕的显示设置系统,包括oled触摸屏1、中央处理器2和存储器3,oled触摸屏1和存储器3均与中央处理器2相连;
其中,oled触摸屏1用于显示界面且用于接收输入;
中央处理器2用于对oled触摸屏1的输入进行分析处理从而切换界面或者改变参数并在oled触摸屏1中显示;
存储器3用于存储数据。
本基于oled屏幕的显示设置系统,不但具备了oled屏幕的许多优点,而且能够在内存和flash非常有限的中央处理器2资源下完成多页面显示界面及多级参数设置菜单的功能。
实施例四
本实施例的结构、原理以及实施步骤与实施例一或二类似,不同的地方在于:
如图4所示,本基于oled屏幕的显示设置图像用户界面,包括若干级功能显示界面4、至少一级设置菜单界面5和参数设置界面6,设置菜单界面5中设有至少一个设置标记,每一个非最后一级的设置菜单界面5中的设置标记能够连接至下一级设置菜单界面5,每一个最后一级的设置菜单界面5中的设置标记能够连接至参数设置界面6。
具体地,图像用户界面还包括根界面7,功能显示界面4的级数为两级,第一级功能显示界面4、第二级功能显示界面4、第一级设置菜单界面5均与根界面7相互连接。
图4中每个结点代表oled屏幕一屏的显示内容,功能显示界面4、设置菜单界面5和参数设置界面6的数量可以按需求定制,不同节点间可根据上滑和下滑输入任意切换。
节点间显示页面切换时具有动态效果,动态效果可以在drawpage方法中实现,默认已实现一种效果,而开发者也可以根据实际需要自定义动态效果。
主要数据结构如下:
typedefstructnode_tag
{
intlevel_index;
intlevel_depth;
uint8node_type;
intnode_num;
structnode_tag*next;
structnode_tag*pre;
structnode_tag*parent;
void*drawpage(intx,inty,intwidth,intheight);
void*pageeventprocess(msg_type_ttype,void*param);
此数据结构是单界面的结点显示内容,节点与界面相互对应。level_index表示节点位于这一级界面的第几项;level_depth表示节点位于第几级界面;node_type表示节点的类型,其中节点类型包括有子节点、终级节点和设置节点,终级节点为最后一级节点或者第一级节点,设置节点与设置菜单界面5或者参数设置界面6相互对应;node_num表示当前节点含有的子节点数量,即下一级界面的数量;next表示下一节点,即同级菜单的下一屏界面;pre表示同级菜单的上一屏界面;parent指向根结点,以方便节点管理,即方便界面显示管理;drawpage方法主要完成当前界面的绘制;pageeventprocess方法主要完成当前显示的界面上所有输入的处理。
typedefstructui_root_tag
{
ppage_node*root;
ppage_nodenodemanager[max_node_level];
boolui_init(ppage_node*parent,ppagepagemanager);
}*pui_root,ui_root;
此数据结构主要是界面显示的根结点,主要完成对所有结点的管理和创建,即完成对所有的界面的管理和创建。root为所有界面的根节点;nodemanager记录每一个节点的地址,方便软件控制和管理;ui_init完成所有节点的创建。
每一个节点的初始化及功能实现都在ui_init方法中的第二个参数page_manager所指向的节点列表中完成,page_manager节点列表详细定义了每个节点所代表的界面的绘制方法的具体实现,即前一数据结构中drawpage方法的具体实现;page_manager节点同时定义了每一个节点所代表界面的输入处理方法的具体实现,即前一数据结构中的pageeventprocess方法的具体实现,主要处理触摸屏传递过来的上滑、下滑、左滑、右滑、单击、双击、抬起7种输入。
drawpage方法默认定义了一套绘制显示界面的策略实现,其能够根据当前节点类型是设置节点还是功能显示节点来自动绘制界面。开发者也可以自定义drawpage方法的策略实现,支持图片绘制功能。
pageeventprocess方法也默认定义了一套输入处理的策略实现。开发者也可以自定义输入的处理机制。
本发明没有利用现有公开的gui方案,也没有利用操作系统的支持,因此不必缴纳任何商用费用;代码算法简单,冗余代码较少,能够有效减少对内存和flash非常有限的cpu资源的浪费;只需传入触摸事件的类型或者是外部按键状态,以及移植图形显示控制器的相关图形绘制api即可直接使用,跨平台移植性好;用户可重写界面显示算法及输入处理算法,界面自定义扩展性好;通过上滑、下滑、左滑、右滑、单击和双击六种输入来实现多页面显示界面及多级参数设置菜单的功能,操作简单。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
尽管本文较多地使用了oled触摸屏1、中央处理器2、存储器3、功能显示界面4、设置菜单界面5、参数设置界面6、根界面7等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。