本发明涉及图像绘制领域,尤其涉及使用OpenGL绘制用户交互界面时的方法、装置和移动终端。
背景技术:
OpenGL全称Open Graphics Library,即开放图形库,是一种定义了跨编程语言、跨平台的编程接口规格的专业图形接口程序,其独立于视窗操作系统或其他操作系统,可实现在PC、工作站、超级计算机、手机等硬件设备上高性能、极具冲击力的高视觉表现力图形处理软件的开发。
使用OpenGL绘制用户界面时,基本绘图过程分为:清楚缓冲区,设置当前颜色、绘制几何单元(绘制模型)、输出图形。OpenGL的变换实际上是通过矩阵乘法来实现。无论是移动、旋转还是缩放大小,都是通过在当前矩阵的基础上乘以一个新的矩阵来达到目的,绘制模型时,需要首先确定绘画元素相对于坐标原点的坐标,再通过矩阵变换计算出每个绘画元素相对于坐标原点的位移、旋转角度、裁剪、窗口变换等位置信息,而上述位置信息需要通过矩阵运算的方式进行确定,变换矩阵类型多样,例如:旋转矩阵、平移矩阵、投影矩阵、透视除法矩阵、窗口变换矩阵等,在进行多种变换时,不仅需要进行多个矩阵的运算,还需要考虑矩阵的运算顺序,这样复杂的矩阵运算大大增加了程序开发的难度。
另外,如果多个绘画元素间具有层级关系,也无法通过矩阵运算建立起对应关系,而需要通过多个矩阵相乘的方式来计算嵌套后最终位置,使OpenGL的变换更加复杂。
技术实现要素:
鉴于上述至少一方面的问题,本发明的目的在于通过调取矩阵运算接口降低开发难度,提供一种使用OpenGL绘制用户界面的方法及其相应装置。
相应的,本发明的又一目的在于提供一种具有OpenGL绘制功能的移动终端,以用于实施前述的方法或运行所述的装置。
为实现该目的,本发明采用如下技术方案:
第一方面的一种实施例中,使用OpenGL绘制用户界面的方法,包括如下步骤:
调取矩阵运算接口;
获取所述矩阵运算接口的绘画元素的位置参数;
根据所述矩阵运算接口得到所述绘画元素的位置信息;
根据所述绘画元素的位置信息绘制用户界面;
其中,所述矩阵运算接口为预设的把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。
结合第一方面的一种实施例中,调取矩阵运算接口的步骤之后,还包括:
获取所述矩阵运算接口的绘画元素的父元素参数;
根据父元素参数获取父元素内的坐标原点;
把父元素内的坐标原点作为参考坐标原点。
进一步,所述把父元素内的坐标原点作为参考坐标原点之后,还包括,以所述父元素内的坐标原点为基础建立父元素的内部坐标系。
优选的,所述父元素参数为所述父元素在其上级元素的内部坐标系中的位置参数。
具体的,所述绘画元素为根元素时,其上级元素的内部坐标系为原始坐标系。
进一步,所述根据所述绘画元素的位置信息绘制用户界面,还包括,根据所述绘画元素的位置信息在用户界面中绘制绘画元素的所有下级元素。
详细的,所述调取矩阵运算接口之前,还包括,建立所述绘画元素间的层级关系。
具体的,所述调取矩阵运算接口之前,还包括,预设把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。
可选的,所述位置参数包括绘画元素相对于参考坐标原点的坐标和法向方向;所述位置信息包括绘画元素相对于参考坐标原点的位移和旋转信息。
结合第一方面的另一种实施例中,所述调取矩阵运算接口,包括:确定绘画元素进行两项以上的位移和/或旋转变换;根据移和/或旋转变换的矩阵运算顺序依次调取相应的矩阵运算接口。
第二方面的一种实施例中,使用OpenGL绘制用户界面的装置,包括:
调取单元,用于调取矩阵运算接口;
位置参数获取单元,用于获取所述矩阵运算接口的绘画元素的位置参数;
运算单元,根据所述矩阵运算接口得到所述绘画元素的位置信息;
绘制单元,根据所述绘画元素的位置信息绘制用户界面;
其中,所述矩阵运算接口为预设的把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。
结合第二方面的一种实施例中,还包括:
父元素参数获取单元,用于获取所述矩阵运算接口的绘画元素的父元素参数;
参考坐标原点获取单元,用于根据父元素参数获取父元素内的坐标原点;
把父元素内的坐标原点作为参考坐标原点。
进一步,还包括坐标系定义单元,用于在所述父元素内以所述父元素内的坐标原点为基础建立父元素的内部坐标系。
优选的,所述父元素参数为所述父元素在其上级元素的内部坐标系中的位置参数。
具体的,所述绘画元素为根元素时,其上级元素的内部坐标系为原始坐标系。
进一步,还包括,位置信息获取单元,用于获取绘制元素的位置信息,而后由绘制单元根据所述绘画元素的位置信息在用户界面中绘制绘画元素的所有下级元素。
详细的,还包括划分单元,用于建立所述绘画元素间的层级关系。
进一步,还包括,判断单元,用于判断所述绘画元素的级别,当所述绘画元素为根元素时,则以原始坐标系的坐标原点作为参考坐标原点。
具体的,还包括:封装单元,用于预设把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。
可选的,所述位置参数包括绘画元素相对于参考坐标原点的坐标和法向方向;所述位置信息包括绘画元素相对于参考坐标原点的位移和旋转信息。
结合第二方面的另一种实施例中,所述调取单元调取矩阵运算接口时包括,确定绘画元素进行两项以上的位移和/或旋转变换;根据移和/或旋转变换的矩阵运算顺序依次调取相应的矩阵运算接口。
第三方面的一种实施例中,本发明提供一种移动终端,其包括:
显示器,用于显示视图和控件界面;
存储器;
一个或多个处理器,用于执行所述存储器中存储的程序;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并由所述一个或多个处理器执行;
所述一个或多个应用程序用于执行上述实施例中任一项所述的方法。
与现有技术相比,本发明所提供的技术方案具备如下优点:
通过调取矩阵运算接口,利用矩阵运算接口直接运算绘画元素的位置信息,并基于位置信息对绘画元素进行绘制,从而使原来的矩阵运算简化成对接口的调用,使得开发者不用进行复杂的矩阵运算,降低开发难度。
获取绘画元素父元素参数,并基于所述父元素参数获取所述父元素内部的坐标原点,并以所述父元素内部的坐标原点作为参考原点,继而获取绘画元素在其父元素内的位置参数。从而将绘画元素的位置变化的参考对象由原始坐标原点转变为父元素内的坐标原点,使绘画元素的位置变换与其父元素产生关联,实现与父元素产生共同位移和共同旋转等协同的位置变换。同时,绘画元素再需要计算自己在原始坐标系中的位置,而只用计算自己在父元素绘画元素的坐标系中的相对位置。比如:根绘画元素所在的坐标系为以根绘画元素中心为原点的原始坐标系,根绘画元素的孩子节点所看到的为根绘画元素所在的坐标系,孩子绘画元素所做的任何位移、旋转是在根绘画元素所在的坐标系中进行的。子孙绘画元素所能看到的是孩子绘画元素的中心为原点,经过变化后的坐标系,以此类推。
本发明所提供的技术方案,将绘画元素间建立层级关系,并对其变换关系进行关联,实现了有层级关系的绘画元素之间的共同位移和共同旋转等位置变换,大大减少了在进行复杂变换时的运算量,在降低了程序开发难度的同时,也降低了绘制过程中处理器的负载。
【附图说明】
图1为本发明使用OpenGL绘制用户界面方法的第一实施例流程示意图,其示出了调取矩阵运算接口进行绘制绘画元素的步骤。
图2为本发明使用OpenGL绘制用户界面方法的第二实施例流程示意图,其示出了具有利用层级关系进行绘制绘画元素的步骤。
图3为本发明使用OpenGL绘制用户界面方法的第三实施例流程示意图,其示出了具有层级关系的绘画元素其子元素具有相同的位置变换时的绘制步骤。
图4为本发明使用OpenGL绘制用户界面方法的第五实施例流程示意图
图5为本发明使用OpenGL绘制用户界面方法的第六实施例流程示意图,
其示出了判断具有层级结构的绘画元素层级的步骤。
图6为本发明使用OpenGL绘制用户界面方法的第六实施例的另一流程示意图,其示出了判断具有层级结构的绘画元素层级的步骤。
图7为本发明使用OpenGL绘制用户界面方法的第七实施例流程示意图,其示出了绘画元素和其子元素均发生变换时的步骤。
图8为本发明使用OpenGL绘制用户界面方法的第八实施例流程示意图,其示出了矩阵运算接口的使用步骤。
图9为本发明使用OpenGL绘制用户界面装置的第十实施例的原理示意图。
图10为本发明使用OpenGL绘制用户界面装置的第十一实施例的原理示意图。
图11为本发明使用OpenGL绘制用户界面装置的第十二实施例的原理示意图。
图12为本发明使用OpenGL绘制用户界面装置的第十四实施例的原理示意图。
图13为本发明使用OpenGL绘制用户界面装置的第十五实施例的原理示意图。
图14为本发明使用OpenGL绘制用户界面装置的第十五实施例的原理示意图。
图15为本发明使用OpenGL绘制用户界面装置的第十六实施例的原理示意图。
图16为本发明使用OpenGL绘制用户界面装置的第十七实施例的原理示意图。
图17为本发明提供的移动终端相关的手机的结构示意图。
【具体实施方式】
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如S11、S12等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中所涉及的名词解释如下:
用户界面,本发明所述的用户界面是指人机交互界面,包括手机界面,电脑界面,POS机界面,取款机界面等,可以说,所有带有显示屏,能够显示若干个图标的界面都在本发明所说的界面之内。
绘画元素,OpenGL的基本图形绘画有点、线、矩形、多边形、圆锥和球形等。OpenGL中,用glBegin(...)和glEnd()这一对函数进行绘画,分别表示绘画的开始与结束。其绘制举例如下:
glBegin()内的参数就是要绘画图形的类型,画点的参数GL_POINTS。以此类推,画线的参数GL_LINES。线段是由两个顶点连线形成的,所以知道两个顶点就能画出线段。
知道矩形的两个对角顶点就能确定一个矩形,所以绘画矩形的四个参数就是两个顶点的坐标。
glRectf(x1,y1,x2,y2);
多边形是由几个顶点按顺序连接,首尾顶点相连,从而成为封闭的矩形。
本发明主要应用于移动终端,该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备。
本发明中所称的矩阵运算中的矩阵,为使用OpenGL绘制用户界面时对OpenGL所建立的几何图形、模型、视角等进行位置变换的矩阵,包括:旋转矩阵、平移矩阵、投影矩阵、透视除法矩阵、窗口变换矩阵、纹理矩阵、颜色矩阵等。
本发明中所称的父元素参数为绘画元素层级关系中的直接上级元素;本发明中所称的子元素参数为绘画元素层级关系中的直接下级元素;本发明所称的层级关系,为绘画元素之间具有树形结构的上下级关系。所述层级关系中,每个绘画元素唯一对应一个父元素,但可同时有多个子元素,绘画元素的子元素又可同时对应一个或多个孙元素,如此往复,其中,可追溯至某一绘画元素的较低级的绘画元素均称为其下级元素。在具有树形结构的所述层级关系中,隶属于不同分支的绘画元素间不具有上下级关系。绘画元素层级关系的划分可根据绘制用户界面的需要而采用不同的依据,例如,可根据各绘画元素间距离的远近进行划分,亦可在根据绘画元素距离远近的基础上同时考虑绘画元素在用户界面中所占区域大小进行划分,同样也可根据体现各绘画元素交互使用时其功能的从属关系或关联性进行划分同时。
本发明中所称的位置参数是指绘画元素在其所参照的坐标系中的坐标、法向向量、视角位置、视角朝向、光源位置等。本发明中所称的位置信息是指绘画元素进行变换所需要进行的位移和旋转角度等。本发明中所称的矩阵运算接口的绘画元素的位置参数,是指调取所述矩阵运算接口的绘画元素的位置参数。
本发明中所称的绘画元素内部的坐标系,不限制坐标系覆盖范围,坐标系的作用范围并不限于所述绘画元素的范围大小,而应当理解为坐标系在空间范围内无限延伸。
本发明的第一实施例提供了一种使用OpenGL绘制用户界面的方法,如图1所示,包括以下步骤:
S20,调取矩阵运算接口;
S30,获取所述矩阵运算接口的绘画元素的位置参数;
S40,根据所述矩阵运算接口得到所述绘画元素的位置信息;
S50,根据所述绘画元素的位置信息绘制用户界面。
调取所述矩阵运算接口后,需要获取绘画元素的位置参数。绘画元素的位置参数可根据位置变换前绘画元素所在界面中坐标系中的位置而确定。进一步,绘画元素的位置参数首先是基于绘画元素本身的种类,再次根据相对应的坐标系种类而确定其具体代表之物;例如,点、线、面等几何图形元素,其对应的坐标系为物体空间坐标系,其位置参数即指在物体空间坐标系中的坐标、向量(朝向)等参数。绘画元素的位置信息表示绘画元素在经过矩阵运算后产生变换所需要作出的变动幅度,如位移、旋转角度等信息。基于变动后的绘画元素的位置信息,OpenGL将绘画元素绘制至用户界面,完成绘制。
相比于现有技术,本发明所提供的方案将绘画元素进行位移和旋转等位置变换时所需进行的矩阵运算过程简化为接口的直接调取,使开发者不用进行复杂的矩阵运算,大大降低了开发难度。
请参阅图2,本发明的第二实施例,对S30获取所述矩阵运算接口的绘画元素的位置参数,在绘画元素具有父元素参数时获取所述绘画元素位置参数的替换步骤。S30的替换步骤包括:
S311,获取所述矩阵运算接口的绘画元素的父元素参数;
S312,根据父元素参数获取父元素内的坐标原点;
S313,以父元素内的坐标原点作为参考坐标原点建立父元素内的坐标系;
S314,获取绘画元素在所述父元素内的坐标系中的位置参数。
依据用户界面中的绘画元素间的相互关系,对绘画元素进行划分,使用户界面中的所有绘画元素形成一种具有树形结构的层级关系,其中,每个绘画元素只可对应一个父元素,而可以同时对应一个或多个子元素,每个绘画元素亦只有一个可追溯的最上级元素。当具有父元素的绘画元素进行变换时,其变换的参考坐标系不再是原始坐标系,而是通过其父元素而确定的位于父元素内部的坐标系,所述绘画元素的位置变换亦在所述父元素内部的坐标系中进行,其绘制至用户界面时亦以此坐标系作为参考。
具体的,绘制具有父元素的绘画参数的具体方法为:
调取矩阵运算接口;
获取所述矩阵运算接口的绘画元素的父元素参数;
根据父元素参数获取父元素内的坐标原点;
以父元素内的坐标原点作为参考坐标原点建立父元素内的坐标系;
获取绘画元素在所述父元素内的坐标系中的位置参数;
根据所述矩阵运算接口得到所述绘画元素在所述父元素内的坐标系中的位置信息;
根据所述绘画元素在所述父元素内的坐标系中的位置信息绘制用户界面。
相对于现有技术,本发明所提供的技术方案中,将所有的绘画元素通过具有树状结构的层级关系进行关联,子元素的参考坐标原点由父元素参数所确定,因此子元素的位置参数依赖于父元素而确定,其变换关系和变换过程均在父元素内的坐标系中进行,从而不再需要对子元素在原始坐标系中的变换进行计算。
请参阅图3,本发明的第三实施例,是对第一实施例中S50根据所述绘画元素的位置信息绘制用户界面的替换步骤,绘画元素与其下级元素产生同样的位置变换时,其具体实现方法包括如下步骤:
S32,获取所述绘画元素的位置信息
S51,根据所述绘画元素的位置信息在用户桌面中绘制所述绘画元素的所有下级元素。
具有层级关系的绘画元素间,时常需要进行同样的位置变换。本方案仅计算绘画元素的位置信息,所述绘画元素的所有下级元素均通过获取所述绘画元素的位置信息而进行相同的位置变换。
具体的,当具有层级关系的绘画元素发生相同的位置变换时,其步骤为:
调取矩阵运算接口;
获取所述矩阵运算接口的绘画元素的位置参数;
根据所述矩阵运算接口得到所述父元素的位置信息;
根据所述绘画元素的位置信息绘制所述绘画元素及其所有下级元素至用户界面。
与现有技术相比,本发明所提供的技术方案中,在将绘画元素建立起层级关系的前提下,将具有相同位置变换的绘画元素相互关联,实现了绘画元素间的共同位移和共同旋转等变换,不再需要计算每一个绘画元素的位置信息,而只需计算上级元素的位置信息,并使下级元素获取上级元素的位置信息,而后根据相同的位置信息进行位置变换,从而大大降低了绘制过程中的计算量。
相对于第三实施例中绘制具有相同位置变换信息的所述绘画元素的子元素至用户界面的方法,本发明的第四实施例,提供了另一种使具有层级关系的绘画元素间发生共同变换的方法,其包括如下步骤:
调取矩阵运算接口;
获取所述矩阵运算接口的绘画元素的位置参数;
根据所述绘画元素的位置参数获取所述绘画元素内的坐标原点;
根据所述坐标原点建立所述绘画元素内部的坐标系;
获取所述绘画元素的子元素在所述绘画元素内部的坐标系中的位置参数;
根据所述矩阵运算接口得到所述绘画元素的位置信息;
根据所述绘画元素的位置信息对所述绘画元素内部的坐标系进行变换;
根据变换后的所述绘画元素内部的坐标系和所述子元素在其内部的位置参数绘制所述子元素至用户界面。
与现有技术相比,本方案中,绘画元素的子元素的绘制是基于所述绘画元素内部的坐标系进行;变换前,子元素在所述绘画元素的内部具有确定的位置参数;变换后,所述绘画元素内部的坐标系基于所述绘画元素的变换发生同样的变换;绘制时,子元素仅以子元素在所述绘画元素内部的坐标系的位置参数进行绘制;从而实现绘画元素和其子元素变换的同步。本方案在具有层级关系的绘画元素发生共同变换时,仅需计算上级元素的位置信息,下级元素的位置参数基于所述上级元素内部的坐标系所确定,通过使所述上级元素内部的坐标系与所述上级元素发生同等变换,实现了上级元素和下级元素的共同变换,从而降低了多个绘画元素发生同样的位置变换时的运算量。
请参阅图4,在本发明的第五实施例中,上述第二、第三和第四实施例中,在S20调取矩阵运算接口前,还包括预设步骤,其包括:
S01,划分绘画元素间的层级关系;
S20,调取矩阵运算接口;
请参阅图5和图6,本发明的第六实施例中,将所有绘画元素划分层级关系后,必然有根元素的存在,根元素不存在父元素,因此绘制根元素的绘制需要以原始坐标系为基础,并不存在获取父元素参数的过程,所以绘制具有层级结构的绘画元素时,还应该包括如下步骤:
S10,判断绘画元素的级别;
S11,当所述绘画元素是绘画元素时,直接获取所述绘画元素在原始坐标系中位置参数;
或S12,当所述绘画元素不是根元素时,获取所述绘画元素的父元素参数;
本方案的具体步骤应为:
划分绘画元素的层级关系;
调取矩阵运算接口;
判断所述绘画元素的级别;
当所述绘画元素不是根元素时,获取所述绘画元素的父元素参数;
根据所述父元素参数获取所述父元素的坐标原点,并基于所述父元素内的坐标原点建立坐标系;
获取所述绘画元素在所述父元素内的坐标系中的位置参数;
根据所述矩阵运算接口得到所述绘画元素在所述父元素内的坐标系中的位置信息;
根据所述位置信息并以所述父元素内的坐标系为基础绘制所述绘画元素。
又或者
划分绘画元素的层级关系;
调取矩阵运算接口;
判断所述绘画元素的级别;
当所述绘画元素不是根元素时,直接获取所述绘画元素在原始坐标系中的位置参数;
根据所述矩阵运算接口得到所述绘画信息的位置信息;
根据所述绘画元素的位置信息绘制用户界面。
请参阅图7,在第五实施例的基础上,本发明的第七实施例中,提供了在绘画元素和其父元素发生不同步的变换时的绘制步骤,包括:
划分绘画元素间的层级关系;
调取矩阵运算接口;
获取所述矩阵运算接口的绘制元素的父元素参数;
根据所述矩阵运算接口得到所述父元素的位置信息;
获取根据位置信息变换后的父元素的新参数;
根据所述父元素的新参数获取所述父元素内的坐标原点;
以所述父元素内的坐标原点为参考坐标原点建立父元素内的新坐标系;
获取绘画元素在所述新坐标系中的位置参数;
具体的,本方案完整的步骤包括:
划分绘画元素间的层级关系;
调取矩阵运算接口;
获取所述矩阵运算接口的绘制元素的父元素参数;
根据所述矩阵运算接口得到所述父元素的位置信息;
获取根据位置信息变换后的父元素的新参数;
根据所述父元素的新参数获取所述父元素内的坐标原点;
以所述父元素内的坐标原点为参考坐标原点建立父元素内的新坐标系;
获取绘画元素在所述新坐标系中的位置参数;
根据所述矩阵运算接口得到所述绘画元素在所述新坐标系中的位置信息;
根据所述绘画元素在所述新坐标系中的位置信息绘制所述绘制元素之用户界面。
绘画元素以其父元素内部的坐标系为参考,因此当父元素和所述绘画元素本身均发生变换时,父元素的位置变换会导致其内部的坐标系发生同样的变换,在对绘画元素进行矩阵运算前需要获取的所述绘画元素的位置信息应当在其父元素变换后内部的坐标系中的位置参数,故而需要采用本方案中的步骤进行绘制。
请参阅图8,本发明的第八实施例中,在上述实施例中,步骤S22调取矩阵运算接口之前,还应包括步骤:
S21,预设把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口;
S22,调取矩阵运算接口
预设把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口,可通过将底层图形库接口和矩阵运算进行封装的方式实现。显然的,预设矩阵运算接口的方式不限于本实施例中所提出的方式。
本发明的第九实施例为利用第一实施例进行绘画元素的多种位置变换的方法。例如,一绘画元素先平移后旋转的位置变换,其具体实施步骤为:
调取平移矩阵运算接口;
获取所述平移矩阵运算接口的绘画元素的位置参数;
根据所述平移运算接口得到所述绘画元素的平移位置信息;
调取旋转矩阵运算接口;
根据所述绘画元素的平移位置信息获取所述绘画元素平移后的位置参数;
根据所述旋转运算接口得到所述绘画元素在平移后的旋转位置信息;
根据所述平移位置信息和所述旋转位置信息绘制所述绘画元素至用户界面。
需要指出的是,矩阵运算接口的调取遵循的是OpenGL的矩阵运算顺序。
本发明的第十实施例提供了一种使用OpenGL绘制用户界面的装置,如图9所示,包括以下单元:
调取单元20,用于调取矩阵运算接口;
位置参数获取单元30,用于获取所述矩阵运算接口的绘画元素的位置参数;
运算单元40,用于根据所述矩阵运算接口得到所述绘画元素的位置信息;
绘制单元50,用于根据所述绘画元素的位置信息绘制用户界面。
调取所述矩阵运算接口后,需要获取绘画元素的位置参数。绘画元素的位置参数可根据位置变换前绘画元素所在界面中坐标系中的位置而确定。进一步,绘画元素的位置参数首先是基于绘画元素本身的种类,再次根据相对应的坐标系种类而确定其具体代表之物;例如,点、线、面等几何图形元素,其对应的坐标系为物体空间坐标系,其位置参数即指在物体空间坐标系中的坐标、向量(朝向)等参数。绘画元素的位置信息表示绘画元素在经过矩阵运算后产生变换所需要作出的变动幅度,如位移、旋转角度等信息。基于变动后的绘画元素的位置信息,OpenGL将绘画元素绘制至用户界面,完成绘制。
相比于现有技术,本发明所提供的方案将绘画元素进行位移和旋转等位置变换时所需进行的矩阵运算过程简化为接口的直接调取,使开发者不用进行复杂的矩阵运算,大大降低了开发难度。
请参阅图10,本发明的第十一实施例,对位置参数获取单元30获取所述矩阵运算接口的绘画元素的位置参数,在绘画元素具有父元素参数时获取所述绘画元素位置参数的替换单元,包括:
父元素获取单元311,用于获取所述矩阵运算接口的绘画元素的父元素参数;
参考原点获取单元312,用于根据父元素参数获取父元素内的坐标原点;
坐标系定义单元313,用于以父元素内的坐标原点作为参考坐标原点建立父元素内的坐标系;
第二位置参数获取单元314,获取绘画元素在所述父元素内的坐标系中的位置参数。
依据用户界面中的绘画元素间的相互关系,对绘画元素进行划分,使用户界面中的所有绘画元素形成一种具有树形结构的层级关系,其中,每个绘画元素只可对应一个父元素,而可以同时对应一个或多个子元素,每个绘画元素亦只有一个可追溯的最上级元素。当具有父元素的绘画元素进行变换时,其变换的参考坐标系不再是原始坐标系,而是通过其父元素而确定的位于父元素内部的坐标系,所述绘画元素的位置变换亦在所述父元素内部的坐标系中进行,其绘制至用户界面时亦以此坐标系作为参考。
具体的,绘制具有父元素的绘画参数的具体装置为:
调取单元20,用于调取矩阵运算接口;
父元素获取单元311,用于获取所述矩阵运算接口的绘画元素的父元素参数;
坐标原点获取单元312,用于根据父元素参数获取父元素内的坐标原点;
坐标系定义单元313,用于以父元素内的坐标原点作为参考坐标原点建立父元素内的坐标系;
第二位置参数获取单元314,用于获取绘画元素在所述父元素内的坐标系中的位置参数;
绘制单元50,用于根据所述矩阵运算接口得到所述绘画元素在所述父元素内的坐标系中的位置信息以及根据所述绘画元素在所述父元素内的坐标系中的位置信息绘制用户界面。
相对于现有技术,本发明所提供的技术方案中,将所有的绘画元素通过具有树状结构的层级关系进行关联,子元素的参考坐标原点由父元素参数所确定,因此子元素的位置参数依赖于父元素而确定,其变换关系和变换过程均在父元素内的坐标系中进行,从而不再需要对子元素在原始坐标系中的变换进行计算。
请参阅图11,本发明的第十二实施例,是对第十实施例中S50根据所述绘画元素的位置信息绘制用户界面的替换单元,绘画元素与其下级元素产生同样的位置变换时,其具体实现装置包括如下单元:
位置信息获取单元32,用于获取所述绘画元素的位置信息
第二绘制单元51,根据所述绘画元素的位置信息在用户桌面中绘制所述绘画元素的所有下级元素。
具有层级关系的绘画元素间,时常需要进行同样的位置变换。本方案仅计算绘画元素的位置信息,所述绘画元素的所有下级元素均通过获取所述绘画元素的位置信息而进行相同的位置变换。
具体的,当具有层级关系的绘画元素发生相同的位置变换时,其包括:
调取单元20,用于调取矩阵运算接口;
位置参数获取单元30,获取所述矩阵运算接口的绘画元素的位置参数;
运算单元40,根据所述矩阵运算接口得到所述父元素的位置信息;
第二绘制单元51,根据所述绘画元素的位置信息绘制所述绘画元素及其所有下级元素至用户界面。
与现有技术相比,本发明所提供的技术方案中,在将绘画元素建立起层级关系的前提下,将具有相同位置变换的绘画元素相互关联,实现了绘画元素间的共同位移和共同旋转等变换,不再需要计算每一个绘画元素的位置信息,而只需计算上级元素的位置信息,并使下级元素获取上级元素的位置信息,而后根据相同的位置信息进行位置变换,从而大大降低了绘制过程中的计算量。
相对于第十二实施例中绘制具有相同位置变换信息的所述绘画元素的子元素至用户界面的装置,本发明的第十三实施例,提供了另一种使具有层级关系的绘画元素间发生共同变换的装置,其包括如下单元:
调取单元,用于调取矩阵运算接口;
父元素参数获取单元,用于获取所述矩阵运算接口的绘画元素的位置参数;
坐标原点获取单元,用于根据所述绘画元素的位置参数获取所述绘画元素内的坐标原点;
坐标系定义单元,用于根据所述坐标原点建立所述绘画元素内部的坐标系;
第二位置参数获取单元,用于获取所述绘画元素的子元素在所述绘画元素内部的坐标系中的位置参数;
位置信息获取单元,根据所述矩阵运算接口得到所述绘画元素的位置信息;
坐标系变换单元,根据所述绘画元素的位置信息对所述绘画元素内部的坐标系进行变换;
第三绘制单元,根据变换后的所述绘画元素内部的坐标系和所述子元素在其内部的位置参数绘制所述子元素至用户界面。
与现有技术相比,本方案中,绘画元素的子元素的绘制是基于所述绘画元素内部的坐标系进行;变换前,子元素在所述绘画元素的内部具有确定的位置参数;变换后,所述绘画元素内部的坐标系基于所述绘画元素的变换发生同样的变换;绘制时,子元素仅以子元素在所述绘画元素内部的坐标系的位置参数进行绘制;从而实现绘画元素和其子元素变换的同步。本方案在具有层级关系的绘画元素发生共同变换时,仅需计算上级元素的位置信息,下级元素的位置参数基于所述上级元素内部的坐标系所确定,通过使所述上级元素内部的坐标系与所述上级元素发生同等变换,实现了上级元素和下级元素的共同变换,从而降低了多个绘画元素发生同样的位置变换时的运算量。
请参阅图12,在本发明的第十四实施例中,上述第十一、第十二和第十三实施例中,所述装置中还包括:
划分单元01,用于划分绘画元素间的层级关系;
请参阅图13和图14,本发明的第十五实施例中,将所有绘画元素划分层级关系后,必然有根元素的存在,根元素不存在父元素,因此绘制根元素的绘制需要以原始坐标系为基础,并不存在获取父元素参数的过程,所以绘制具有层级结构的绘画元素时,还应该包括如下单元:
判断单元10,用于判断绘画元素的级别;
本方案的具体包括如下单元:
划分单元01,用于划分绘画元素的层级关系;
调取单元20,用于调取矩阵运算接口;
判断单元10,用于判断所述绘画元素的级别;
当所述绘画元素不是根元素时,父元素参数获取单元311,用于获取所述绘画元素的父元素参数;
参考原点获取单元312,用于根据所述父元素参数获取所述父元素的坐标原点,并基于所述父元素内的坐标原点建立坐标系;
第二位置参数获取单元314,获取所述绘画元素在所述父元素内的坐标系中的位置参数;
绘制单元50根据所述矩阵运算接口得到所述绘画元素在所述父元素内的坐标系中的位置信息;
第三绘制单元,根据所述位置信息并以所述父元素内的坐标系为基础绘制所述绘画元素。
又或者
划分单元01,用于划分绘画元素的层级关系;
调取单元20,用于调取矩阵运算接口;
判断单元10,用于判断所述绘画元素的级别;
当所述绘画元素不是根元素时,位置参数获取单元30,用于获取所述绘画元素在原始坐标系中的位置参数;
运算单元40,用于根据所述矩阵运算接口得到所述绘画信息的位置信息;
绘制单元50,用于根据所述绘画元素的位置信息绘制用户界面。
请参阅图15,在第十四实施例的基础上,本发明的第十六实施例中,提供了在绘画元素和其父元素发生不同步的变换时的绘制装置,包括:
划分单元01,用于划分绘画元素间的层级关系;
调取单元20,用于调取矩阵运算接口;
父元素参数获取单元311,用于获取所述矩阵运算接口的绘制元素的父元素参数;
运算单元40,用于根据所述矩阵运算接口得到所述父元素的位置信息;
利用父元素参数获取单元311,获取根据位置信息变换后的父元素的新参数;
坐标原点获取单元312,根据所述父元素的新参数获取所述父元素内的坐标原点;
坐标系定义单元313,以所述父元素内的坐标原点为参考坐标原点建立父元素内的新坐标系;
第二位置参数获取单元314,获取绘画元素在所述新坐标系中的位置参数;
具体的,本方案具体包括:
划分单元01,划分绘画元素间的层级关系;
调取单元20,调取矩阵运算接口;
父元素参数获取单元311,获取所述矩阵运算接口的绘制元素的父元素参数;
运算单元40,根据所述矩阵运算接口得到所述父元素的位置信息;
利用父元素参数获取单元311,获取根据位置信息变换后的父元素的新参数;
坐标原点获取单元312,根据所述父元素的新参数获取所述父元素内的坐标原点;
以所述父元素内的坐标原点为参考坐标原点建立父元素内的新坐标系;
坐标系定义单元313,获取绘画元素在所述新坐标系中的位置参数;
第二位置参数获取单元314,根据所述矩阵运算接口得到所述绘画元素在所述新坐标系中的位置信息;
第三绘制单元,根据所述绘画元素在所述新坐标系中的位置信息绘制所述绘制元素之用户界面。
绘画元素以其父元素内部的坐标系为参考,因此当父元素和所述绘画元素本身均发生变换时,父元素的位置变换会导致其内部的坐标系发生同样的变换,在对绘画元素进行矩阵运算前需要获取的所述绘画元素的位置信息应当在其父元素变换后内部的坐标系中的位置参数,故而需要采用本方案中的步骤进行绘制。
请参阅图16,本发明的第十七实施例中,在上述实施例中,本发明所提供的装置中还包括:
封装单元21,预设把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口;
预设把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口,可通过将底层图形库接口和矩阵运算进行封装的方式实现。显然的,预设矩阵运算接口的方式不限于本实施例中所提出的方式。
本发明的第十八实施例为第十实施例中绘画元素进行的多种位置变换的装置。例如,一绘画元素先平移后旋转的位置变换,其包括单元:
调取单元,调取平移矩阵运算接口;
位置参数获取单元,获取所述平移矩阵运算接口的绘画元素的位置参数;
平移运算单元,根据所述平移运算接口得到所述绘画元素的平移位置信息;
利用调取单元调取旋转矩阵运算接口;
利用位置参数获取单元根据所述绘画元素的平移位置信息获取所述绘画元素平移后的位置参数;
旋转运算单元,根据所述旋转运算接口得到所述绘画元素在平移后的旋转位置信息;
绘制单元,根据所述平移位置信息和所述旋转位置信息绘制所述绘画元素至用户界面。
需要指出的是,矩阵运算接口的调取遵循的是OpenGL的矩阵运算顺序。
本发明实施例还提供了一种使用OpenGL绘制用户界面的移动终端,具有诸如参照本发明后续的介绍的结构。如图17所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图17示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图17,手机包括:射频(Radio Frequency,RF)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(wireless fidelity,WiFi)模块1570(也即WiFi芯片模组)、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图17中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图17对手机的各个构成部件进行具体的介绍:
RF电路1510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设计上行的数据发送给基站。通常,RF电路1510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路1510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1530可包括触控面板1531以及其他输入设备1532。触控面板1531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1531上或在触控面板1531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1580,并能接收处理器1580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1531。除了触控面板1531,输入单元1530还可以包括其他输入设备1532。具体地,其他输入设备1532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1540可包括显示面板1541,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1541。进一步的,触控面板1531可覆盖显示面板1541,当触控面板1531检测到在其上或附近的触摸操作后,传送给处理器1580以确定触摸事件的类型,随后处理器1580根据触摸事件的类型在显示面板1541上提供相应的视觉输出。虽然在图17中,触控面板1531与显示面板1541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1531与显示面板1541集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器1550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1560、扬声器1561,传声器1562可提供用户与手机之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出;另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出处理器1580处理后,经RF电路1510以发送给比如另一手机,或者将音频数据输出至存储器1520以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图17示出了WiFi模块1570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器1580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调取存储在存储器1520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1580可包括一个或多个处理单元;优选的,处理器1580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1580中。
手机还包括给各个部件供电的电源1590(比如电池),优选的,电源可以通过电源管理系统与处理器1580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
适应于所述的便携式控制端设备,在本发明实施例中,该终端所包括的处理器1580还具有如前述绘制用户界面的方法/装置的多种不同实施例所实现的功能。
适应于所述的便携式接入端设备,在本发明的实施例中,该终端包括的处理器1580还具有如前述具有绘制用户界面的方法/装置的多种不同实施例所实现的功能。
本领域领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的系列方案进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
综上所述,本发明所提供的技术方案如下所述:
A1、使用OpenGL绘制用户界面的方法,其中,包括如下步骤:
调取矩阵运算接口;
获取所述矩阵运算接口的绘画元素的位置参数;
根据所述矩阵运算接口得到所述绘画元素的位置信息;
根据所述绘画元素的位置信息绘制用户界面;
其中,所述矩阵运算接口为预设的把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。
A2、根据A1所述的方法,其中,所述调取矩阵运算接口的步骤之后,还包括:
获取所述矩阵运算接口的绘画元素的父元素参数;
根据父元素参数获取父元素内的坐标原点;
把父元素内的坐标原点作为参考坐标原点。
A3、根据A2所述的方法,其中,所述把父元素内的坐标原点作为参考坐标原点之后,还包括,以所述父元素内的坐标原点为基础建立父元素的内部坐标系。
A4、根据A2所述的方法,其中,所述父元素参数为所述父元素在其上级元素的内部坐标系中的位置参数。
A5、根据A4所述的方法,其中,所述绘画元素为根元素时,其上级元素的内部坐标系为原始坐标系。
A6、根据A1所述的方法,其中,所述根据所述绘画元素的位置信息绘制用户界面,还包括,根据所述绘画元素的位置信息在用户界面中绘制绘画元素的所有下级元素。
A7、根据A2~A6任一所述的方法,其中,所述调取矩阵运算接口之前,还包括,建立所述绘画元素间的层级关系。
A8、根据A1所述的方法,其中,所述调取矩阵运算接口之前,还包括,预设把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。
A9、根据A1所述的方法,其中:
所述位置参数包括绘画元素相对于参考坐标原点的坐标和法向方向;
所述位置信息包括绘画元素相对于参考坐标原点的位移和旋转信息。
A10、根据A1所述的方法,其中,所述调取矩阵运算接口,包括:
确定绘画元素进行两项以上的位移和/或旋转变换;
根据移和/或旋转变换的矩阵运算顺序依次调取相应的矩阵运算接口。
A11、使用OpenGL绘制用户界面的装置,其中,包括:
调取单元,用于调取矩阵运算接口;
位置参数获取单元,用于获取所述矩阵运算接口的绘画元素的位置参数;
运算单元,根据所述矩阵运算接口得到所述绘画元素的位置信息;
绘制单元,根据所述绘画元素的位置信息绘制用户界面;
其中,所述矩阵运算接口为预设的把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。
A12、根据A11所述的装置,其中,还包括:
父元素参数获取单元,用于获取所述矩阵运算接口的绘画元素的父元素参数;
参考坐标原点获取单元,用于根据父元素参数获取父元素内的坐标原点;
把父元素内的坐标原点作为参考坐标原点。
A13、根据A12所述的装置,其中,还包括坐标系定义单元,用于在所述父元素内以所述父元素内的坐标原点为基础建立父元素的内部坐标系。
A14、根据A12所述的装置,其中,所述父元素参数为所述父元素在其上级元素的内部坐标系中的位置参数。
A15、根据A14所述的装置,其中,所述绘画元素为根元素时,其上级元素的内部坐标系为原始坐标系。
A16、根据A11所述的装置,其中,还包括,位置信息获取单元,用于获取绘制元素的位置信息,而后由绘制单元根据所述绘画元素的位置信息在用户界面中绘制绘画元素的所有下级元素。
A17、根据A12~A16任一所述的装置,其中,还包括,划分单元,用于建立所述绘画元素间的层级关系。
A18、根据A11所述的装置,其中,还包括:封装单元,用于预设把位置参数代入矩阵变换计算绘画元素相对于参考坐标原点的位置信息的接口。
A19、根据A11所述的装置,其中:
所述位置参数包括绘画元素相对于参考坐标原点的坐标和法向方向;
所述位置信息包括绘画元素相对于参考坐标原点的位移和旋转信息。
A20、根据A11所述的装置,其中,所述调取单元调取矩阵运算接口时包括,确定绘画元素进行两项以上的位移和/或旋转变换;根据移和/或旋转变换的矩阵运算顺序依次调取相应的矩阵运算接口。
A21、一种移动终端,其中,其包括:
显示器,用于显示视图和控件界面;
存储器;
一个或多个处理器,用于执行所述存储器中存储的程序;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并由所述一个或多个处理器执行;
所述一个或多个应用程序用于执行A1至A10任一项所述的方法。