发明内容
本申请实施例的目的旨在能解决现有技术中控制终端界面显示的软件难以兼容多种硬件实现方式的问题。
第一方面,提供了一种终端界面显示方法,该方法包括:
接收针对目标终端的终端界面显示操作;目标终端中配置有至少两种类型的渲染引擎插件,不同类型的渲染引擎插件对应不同的界面元素显示类型;界面元素显示类型表征了界面元素对应的渲染方式;
确定终端界面显示操作对应的至少一个待显示界面元素的元素参数;
获取目标终端的渲染插件配置信息,根据渲染插件配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件;
通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据并显示。
在第一方面的可选实施例中,配置信息包括插件标识;
根据渲染插件配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件,包括:
根据插件标识,将至少两种类型的渲染引擎插件中与插件标识对应的渲染引擎插件确定为目标渲染引擎插件。
在第一方面的可选实施例中,获取目标终端的渲染插件配置信息,根据渲染插件配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件,包括:
确定目标终端的界面元素显示类型,配置信息包括标终端的界面元素显示类型;
将至少两种类型的渲染引擎插件中,目标终端的界面元素显示类型对应的渲染引擎插件确定为目标渲染引擎插件。
在第一方面的可选实施例中,通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据,包括:
通过渲染接口调用目标渲染引擎插件,由目标渲染引擎插件基于至少一个待显示元素的元素参数对待显示元素进行绘制,获取目标终端的终端界面数据;其中,渲染接口通过对至少两种类型的渲染引擎插件进行封装得到的。
在第一方面的可选实施例中,终端界面显示操作为界面更新操作或目标终端启动时的界面显示操作;
若终端界面显示操作为界面更新操作,通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据,包括:
确定目标终端的终端界面的当前界面显示数据;
基于至少一个待显示元素的元素参数,确定待显示元素在终端界面中的第一显示区域;
通过目标渲染引擎插件基于元素参数更新当前界面显示数据中第一显示区域中的数据,得到目标终端的终端界面数据。
在第一方面的可选实施例中,通过目标渲染引擎插件基于元素参数更新当前界面数据中第一显示区域中的数据,包括:
通过目标渲染引擎基于至少一个待显示元素的元素参数生成待显示元素,并根据待显示元素更新当前界面显示数据中的第一显示区域的数据。
在第一方面的可选实施例中,界面更新操作包括针对终端界面的界面参数显示调整操作,至少一个待显示元素为当前终端界面显示的界面元素,至少一个待显示界面元素的元素参数为界面显示参数调整操作针对的界面显示参数:
通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据并显示,包括:
基于界面显示参数调整操作确定目标界面显示参数;
在当前界面显示数据中确定界面显示参数调整操对应的对应的当前界面显示参数;
通过目标渲染引擎将当前界面显示数据中的当前界面显示参数更新为目标界面显示参数,渲染得到目标终端的终端界面数据并显示。
第二方面,提供了一种终端界面显示装置,该装置包括:
显示操作接收模块,用于接收针对目标终端的终端界面显示操作;目标终端中配置有至少两种类型的渲染引擎插件,不同类型的渲染引擎插件对应不同的界面元素显示类型;界面元素显示类型表征了界面元素对应的渲染方式;
元素参数确定模块,用于确定终端界面显示操作对应的至少一个待显示界面元素的元素参数;
目标渲染引擎插件确定模块,用于获取目标终端的渲染插件配置信息,根据配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件;
终端界面渲染模块,用于通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据并显示。
在第二方面的可选实施例中,配置信息包括插件标识;
目标渲染引擎插件确定模块在根据渲染插件配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件时,具体用于:
根据插件标识,将至少两种类型的渲染引擎插件中与插件标识对应的渲染引擎插件确定为目标渲染引擎插件。
在第二方面的可选实施例中,目标渲染引擎插件确定模块在获取目标终端的渲染插件配置信息,根据渲染插件配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件时,具体用于:
确定目标终端的界面元素显示类型,配置信息包括标终端的界面元素显示类型;
将至少两种类型的渲染引擎插件中,目标终端的界面元素显示类型对应的渲染引擎插件确定为目标渲染引擎插件。
在第二方面的可选实施例中,终端界面渲染模块在通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据时,具体用于:
通过渲染接口调用目标渲染引擎插件,由目标渲染引擎插件基于至少一个待显示元素的元素参数对待显示元素进行绘制,获取目标终端的终端界面数据;其中,渲染接口通过对至少两种类型的渲染引擎插件进行封装得到的。
在第二方面的可选实施例中,终端界面显示操作为界面更新操作或目标终端启动时的界面显示操作;若终端界面显示操作为界面更新操作,终端界面渲染模块在通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据时,具体用于:
确定目标终端的终端界面的当前界面显示数据;
基于至少一个待显示元素的元素参数,确定待显示元素在终端界面中的第一显示区域;
通过目标渲染引擎插件基于元素参数更新当前界面显示数据中第一显示区域中的数据,得到目标终端的终端界面数据。
在第二方面的可选实施例中,终端界面渲染模块在通过目标渲染引擎插件基于元素参数更新当前界面数据中第一显示区域中的数据时,具体用于:
通过目标渲染引擎基于至少一个待显示元素的元素参数生成待显示元素,并根据待显示元素更新当前界面显示数据中的第一显示区域的数据。
在第二方面的可选实施例中,界面更新操作包括针对终端界面的界面参数显示调整操作,至少一个待显示元素为当前终端界面显示的界面元素,至少一个待显示界面元素的元素参数为界面显示参数调整操作针对的界面显示参数:
终端界面渲染模块通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据并显示时,具体用于:
基于界面显示参数调整操作确定目标界面显示参数;
在当前界面显示数据中确定界面显示参数调整操对应的对应的当前界面显示参数;
通过目标渲染引擎将当前界面显示数据中的当前界面显示参数更新为目标界面显示参数,渲染得到目标终端的终端界面数据并显示。
第三方面,提供了一种电子设备,该电子设备包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例的终端界面显示方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述任一实施例的终端界面显示方法。
第五方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现第一方面实施例中所提供的方法。
上述的终端界面显示方法,通过接收针对目标终端的终端界面显示操作,确定终端界面显示操作对应的至少一个待显示界面元素的元素参数,再获取目标终端的渲染插件配置信息,并根据渲染插件配置信息从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件,通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据并显示。通过在目标终端中配置至少两种类型的渲染引擎插件,并根据目标终端的渲染插件配置信息从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件,实现可以根据目标终端的渲染插件配置信息灵活确定目标渲染引擎插件,并使用目标渲染引擎插件进行界面渲染,使本申请所提供的终端界面显示方法可以适用于多种机型的终端设备,提高了代码复用率,缩短产品迭代周期,能够更好的满足应用需求。
具体实施方式
下面结合本申请中的附图描述本申请的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本申请实施例的技术方案的示例性描述,对本申请实施例的技术方案不构成限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或插件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、插件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”可以实现为“A”,或者实现为“B”,或者实现为“A和B”。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着人民生活质量水平的提高,对消费电子行业的发展起到了很大地促进作用,同时也增加了消费电子厂商快速迭代产品来满足不同用户需求的压力;尤其在显示器领域,近年来不断涌现出新的产品构思,例如曲面屏、带鱼屏等各种机型,来满足消费者的各种需求。
消费者可以通过基于OSD(on-screen display,屏幕菜单式调节方式)技术研发的OSD软件来对显示器各项工作指标包括色彩、模式、几何形状等进行调整,从而达到消费者想要的使用状态。
目前,用于显示器的OSD软件具有字符型(Font-Based)和位图型(Bit-Map)两种类型,其中字符型可以节约缓存,但显示信息和颜色编码方式不够直观,适用于一些中低端机型;而位图型在显示效果上相比字符型有质的改变却同时也增加了成本,当前大多存在于一些高端机型上。
目前,两种类型的OSD软件对应于不同的硬件实现方式,只有在终端设备的硬件结构与OSD软件对应的硬件实现方式相匹配的情况下,OSD软件才能成功在终端设备上运行。
具体的,两种类型的OSD软件分别对应的硬件实现方式如下:
(1)字符型OSD软件对应的硬件实现方式:一般是通过字符型OSD发生器进行实现,字符型OSD发生器的原理是将字符型OSD软件中的显示内容按照特定的格式(12×18、12×16等)进行分割成块,例如数字0-9、字母a-z、常用的亮度、对比度符号等,并把这些内容固化在只读存储器或闪存中,在显示缓存中仅存放对应的索引号,这样的“字典”结构可以大幅度减少显示缓存的需求;同时,为了提供对每个字符的颜色等属性的控制,通常还具有一个与显示缓存一样大小的属性缓存,其属性(前景颜色、背景颜色、闪烁等)对整个字符中的每个像素有效,为了解决这种实现方式不能为每个像素指定颜色的缺点,OSD发生器的设计者提供了采用多个显示缓存合并的方式呈现多色字符的方案,其原理是每个显示缓存确定一种颜色方案,当两个甚至更多个显示缓存合并以后就可以“拼凑”出超过两种颜色的多色字符。
(2)位图型OSD软件对应的硬件实现方式:通过对最终显示内容上特定区域的每个像素点进行改变,直接将基于OSD软件获取的界面显示信息叠加到最终的显示画面上,其按像素进行控制的方式可以保证具有多色及足够的表现能力。
由于字符型和位图型的OSD软件上之间硬件实现方式的差异,以及每种硬件实现方式都会再衍生很多机型,需要进一步针对每种机型研发相应的OSD软件,大大增加了开发OSD软件的工作量,并且,软件移植效率也很低,不得不开发多套OSD软件来满足这种现状。
同时,针对同一套OSD软件而言,难以同时兼容两种硬件实现方式,当终端设备硬件更新时,可能会出现OSD软件与终端设备不适配的情况,使代码复用率较低、终端界面显示效率较低。
本申请提供的终端界面显示方法、装置、电子设备及可读存储介质,旨在解决现有技术的如上技术问题。
本申请所提供的终端界面显示方法包括一套用于开发OSD软件的架构以及基于该架构研发的OSD软件应用于显示器时的终端界面显示方法。
其中,本申请所提供的OSD软件架构可以兼容字符型和位图型两种实现方式,基于该OSD软件架构开发的OSD软件可以直接、或者在进行少量代码更改后兼容两种硬件实现方式,可以解决现有技术中由于终端设备硬件架构差异导致OSD软件无法通用的问题。
下面通过对几个示例性实施方式的描述,对本申请实施例的技术方案以及本申请的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
本申请实施例中提供的终端界面显示方法,该方法可以应用于终端。
本技术领域技术人员可以理解,这里所使用的“终端”可以是个人计算机、手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、MID(Mobile InternetDevice,移动互联网设备)等。
图1为本申请实施例提供的本申请所提供的一种终端的界面渲染有关的架构的示意图,可以包括应用层、渲染层、硬件抽象层以及驱动层。
其中,驱动层负责管理硬件资源,并对硬件抽象层定义功能接口进行实现,本文涉及的驱动层表示的是可能涉及到的所有平台的硬件模块,而不是仅指字符型或位图型的某一硬件型号。具体的,驱动层可以与硬件资源直接交互,向下调动硬件资源,向上实现硬件抽象层的接口。需要说明的是,由于硬件抽象层是一个集合,所以驱动层只需要实现符合当前硬件平台的功能接口即可,因此在满足以上要求的前提下不同类型和不同型号的平台驱动层代码可以完全不一样,在本框架中不需要统一。
硬件抽象层是一个抽象接口层,其作用是将不同硬件平台的接口整理并抽象出来;在本申请所提供的OSD软件框架中,字符型和位图型的OSD发生器及相关硬件因硬件设计理论的不同,并不需要遵守同一套接口,但同为字符型的不同衍生硬件型号或者同为位图型的不用衍生硬件型号需要抽象出同一套接口,即硬件抽象层是字符型和位图型两种OSD发生器以及其他相关硬件的接口集合。
渲染层是本框架的关键,其作用是将位图型和字符型的渲染功能插件化,并抽象出一套来将这些插件的应用流程统一。具体的,可以通过设置渲染接口的作用将这若干个渲染引擎组件进行统一化,例如,设计一套绘制基础用户界面元素的接口,包括DrawBar、DrawSwitch、DrawTex、DrawIcon和DrawCursor等,以及动画效果的实现和窗口管理等功能,每个渲染引擎插件都需要实现这些接口,而OSD应用层可以使用这些接口来进行应用层的开发。
应用层可以负责管理可视化和交互逻辑,具体的,用户界面布局、对不同屏幕大小的适配、对物理键值的映射逻辑,以及对位图信息或者字符数据的存取都可以应用层处理。
本申请实施例中提供了一种终端界面显示方法,如图2所示,该方法包括:
步骤S201,接收针对目标终端的终端界面显示操作;目标终端中配置有至少两种类型的渲染引擎插件,不同类型的渲染引擎插件对应不同的界面元素显示类型。其中,界面元素显示类型表征了界面元素对应的渲染方式。
在本申请实施例中,终端界面显示操作可以包括所有与终端界面显示内容有关的操作,具体可以包括界面更新操作和目标终端启动时的界面显示操作。其中,界面显示操作可以是针对目标终端的开机或者重启操作,界面更新操作可以是任何可以触发目标终端的终端界面发生变化的操作,例如,点击菜单栏、打开或关闭在终端界面上显示的窗口以及对显示器色彩、模式、几何形状等各项工作指标的调整操作等,本申请不做限制。
本申请所提供的终端界面显示方法可以实现为一个OSD应用程序或者OSD插件,可以在目标终端中安装该OSD应用,用户可以通过OSD应用对终端界面的显示方式和显示内容进行控制。
在本申请实施例中,目标终端配置有至少两种类型的渲染引擎插件可以是安装于目标终端的OSD应用包括至少两种类型的渲染引擎插件,不同类型的渲染引擎插件对应于不同的界面元素显示类型。
具体的,本申请的OSD应用中的渲染引擎插件可以包括字符型渲染引擎插件和位图型渲染引擎插件,对应于不同两种硬件实现方法,具体的,字符型渲染引擎插件的渲染功能可以由字符型OSD发生器以及其他相关硬件实现,位图型渲染引擎插件的渲染功能可以由位图型OSD发生器以及其他相关硬件实现。
目标终端的界面元素显示类型同样可以分为字符型和位图型,可以根据目标终端内的硬件结构决定。若目标终端的硬件结构包含字符型OSD发生器以及其他相关硬件,则目标终端的界面元素显示类型可以为字符型;若目标终端的硬件结构包含位图型OSD发生器以及其他相关硬件,则目标终端的界面元素显示类型可以为位图型。除此之外,目标终端的界面元素显示类型也可以根据项目需求由研发人员设置,比如,在一些高端机型上,其硬件结构同时支持字符型和位图型OSD软件的硬件实现方式,则可以由研发人员设置该高端机型的界面元素显示类型是字符型还是位图型。
在一些实施例中,OSD应用的渲染引擎插件类型、终端设备的界面元素显示类型以及终端设备所支持的硬件实现方式之间的关系可以如图3所示。
具体的,可以根据终端设备的硬件结构确定终端设备的界面元素显示类型,例如,当终端设备为支持字符型OSD软件的硬件结构时(即包含字符型OSD发生器以及其他相关硬件),可以将该终端设备的界面元素显示类型设置为字符型;当终端设备为支持位图型OSD软件的硬件结构时(即包含位图型OSD发生器以及其他相关硬件),可以将该终端设备的界面元素显示类型设置为位图型。这里的字符型OSD软件和位图型OSD软件指的是现有技术中只适用于单一类型的OSD软件,而图3中的第三部分中目标OSD软件可以是基于本申请所提供的OSD软件框架开发的、可以兼容字符型和位图型两种硬件实现方式的软件。
可以用目标OSD软件中的字符型渲染引擎插件对界面元素显示类型为字符型的终端设备的终端界面进行渲染;可以用OSD软件中的位图型渲染引擎插件对界面元素显示类型为位图型的终端设备的终端界面进行渲染。
步骤S202,确定终端界面显示操作对应的至少一个待显示界面元素的元素参数。
在本申请实施例中,终端界面显示操作可以包括所有与终端界面显示内容有关的操作,具体可以包括界面更新操作和目标终端启动时的界面显示操作,至少一个待显示界面元素可以为终端界面显示操作对应的、显示效果发生变化的元素。
例如,当终端界面显示操作为针对目标终端的开机或者重启操作时,待显示界面元素可以为目标终端开机或者重启后显示的初始终端界面对应的元素;
当终端界面显示操作为触发目标终端的终端界面发生变化的操作时,待显示界面元素可以为终端界面中显示效果发生变化的元素,例如,点击菜单栏按钮,下一步响应于点击操作,需要显示菜单栏,则待显示界面元素可以为菜单栏相关的元素;除此之外,终端界面显示操作为对显示器色彩、模式、几何形状等各项工作指标的调整操作时,工作指标被调整了的区域中的所有元素均可以作为待显示界面元素。
在本申请实施例中,待显示界面元素可以包括但不限于区域、标签、图标、文字、进度条、动画、数字、可选图标、导航信息以及背景等,待显示界面元素的元素参数可以包括元素的属性,例如位置、颜色、闪烁特性、语言类别、大小写、对齐方式等。不同样式的元素的元素参数种类及表现形式可能不同,本申请不做限制。
上述针对待显示元素的具体描述仅做举例作用,待显示元素可以是任何需要显示在目标终端终端界面上的元素,本申请不做限制。待显示元素的元素参数可以包括但不限于待显示元素的
步骤S203,获取目标终端的渲染插件配置信息,根据渲染插件配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件。
在本申请实施例中,目标终端中配置有至少两种类型的渲染引擎插件,需要从两种类型的渲染引擎插件中确定出与目标终端适配的渲染引擎插件。具体的,可以获取目标终端的渲染插件配置信息,并根据渲染插件配置信息从至少两种类型的渲染引擎插件中确定出目标终端所适配的目标渲染引擎插件,用目标渲染引擎插件进行界面渲染。
在本申请实施例中,渲染插件配置信息可以包括插件标识。
根据渲染插件配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件,可以包括:根据插件标识,将至少两种类型的渲染引擎插件中与插件标识对应的渲染引擎插件确定为目标渲染引擎插件。
其中,插件标识可以包括但不限于插件ID(Identity document,身份标识号)或者插件序号,至少两种类型的渲染引擎插件中的每个渲染引擎插件与插件标识存在一一对应关系,可以根据插件标识,将至少两种类型的渲染引擎插件中与插件标识对应的渲染引擎插件确定为目标渲染引擎插件。
在一种可能的应用场景中,目标终端中的插件标识可以为目标终端这一终端设备的出厂属性之一,由目标终端的研发人员进行设置,可以根据目标终端测试运行OSD软件时各渲染引擎插件的渲染效果,将渲染效果最优的渲染引擎插件对应的插件标识作为目标终端的插件标识。以实现在目标终端运行OSD软件时,根据插件标识从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件。
在另一种可能的应用场景中,目标终端中的插件标识可以为OSD软件的研发人员进行设置,当OSD软件的研发人员已知OSD软件应用对象(即目标终端)的机型时,可以直接将OSD软件中与应用对象的机型相适配的渲染引擎插件的插件标识作为在目标终端中运行OSD软件时获取到的插件标识,根据该插件标识确定目标终端的终端界面由插件标识对应的目标渲染引擎插件进行渲染。
步骤S204,通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据并显示。
在本申请实施例中,可以通过目标渲染引擎插件基于至少一个带显示元素的元素参数生成待显示元素的显示数据,基于待显示元素的显示数据得到目标终端的终端界面数据,并将终端界面数据写入硬件的缓冲区,使显示器可以根据终端界面显示数据进行显示。
上述的终端界面显示方法,通过接收针对目标终端的终端界面显示操作,确定终端界面显示操作对应的至少一个待显示界面元素的元素参数,再获取目标终端的渲染插件配置信息,并根据渲染插件配置信息从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件,通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据并显示。通过在目标终端中配置至少两种类型的渲染引擎插件,并根据目标终端的渲染插件配置信息从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件,实现可以根据目标终端的渲染插件配置信息灵活确定用于渲染的目标渲染引擎插件,提高代码复用率,缩短产品迭代周期。
在本申请实施例中,可以通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据,可以包括如下步骤:通过渲染接口调用目标渲染引擎插件,由目标渲染引擎插件基于至少一个待显示元素的元素参数对待显示元素进行绘制,获取目标终端的终端界面数据。其中,渲染接口可以通过对至少两种类型的渲染引擎插件进行封装得到。
具体的,渲染接口可以理解为将渲染引擎插件所提供的渲染功能抽象后得到的一套接口。至少两种类型的渲染引擎插件中的每个渲染引擎插件均可以实现渲染接口所提供的功能,渲染接口起到了对渲染引擎插件进行统一化的目的。
在本申请所提供的OSD软件开发框架中,渲染接口和至少两种类型的渲染引擎插件之间的关系可以如图4所示,渲染接口与渲染引擎插件的类型无关,所有渲染引擎插件均可以实现渲染接口向上层所提供的渲染功能。例如,图4的N个渲染引擎插件中,渲染引擎插件1可以对应于一种类型,渲染引擎2到N可以对应于另一种类型,它们均可以实现渲染接口向上层所提供的渲染功能。
具体的,可以设计一套绘制基础UI(User Interface,用户界面)元素的渲染接口,可以包括DrawBar,DrawSwitch,DrawText,DrawIcon,DrawCursor等通用接口,以及动画效果的实现和窗口管理等功能,每个渲染引擎插件都需要实现这些接口,OSD软件的应用层可以使用这些渲染接口来进行应用层的开发。
本申请实施例中提供了一种可能的实现方式,终端界面显示操作可以为目标终端启动时的界面显示操作或界面更新操作。
若终端界面显示操作为界面更新操作,通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据,可以包括如下步骤:
(1)确定目标终端的终端界面的当前界面显示数据;其中,当前界面显示数据是指预先存储的目标终端的当前终端界面的数据,包含了整个屏幕区域的显示数据,后续将根据当前界面显示数据以及至少一个带显示元素的元素参数生成目标终端的终端界面数据。
(2)基于至少一个待显示元素的元素参数,确定待显示元素在终端界面中的第一显示区域。
其中,可以基于待显示元素的元素参数中的元素坐标、元素尺寸大小进行计算,确定出待显示元素在终端界面中的第一显示区域。
(3)通过目标渲染引擎插件基于元素参数更新当前界面显示数据中第一显示区域中的数据,得到目标终端的终端界面数据。
其中,通过目标渲染引擎插件基于元素参数更新当前界面数据中第一显示区域中的数据,可以包括:通过目标渲染引擎基于至少一个待显示元素的元素参数生成待显示元素,并根据待显示元素更新当前界面显示数据中的第一显示区域的数据。
目标渲染引擎可以将至少一个待显示元素的元素参数填入相应的元素模板,生成待显示元素,可以根据待显示元素将当前界面显示数据中第一显示区域的数据替换为待显示元素的数据,得到目标终端的终端界面数据。目标渲染引擎可以将终端界面数据写入硬件的缓冲区,由显示器从缓冲区读取后终端界面数据后,将待显示元素显示在终端界面上。
本申请实施例中提供了一种可能的实现方式,界面更新操作可以包括针对终端界面的界面显示参数调整操作。界面显示参数调整操作是一种针对终端界面的全屏显示参数进行调整的操作,此时,待显示元素可以为当前终端界面显示的所有界面元素,待显示元素的元素参数可以为界面显示参数调整操作针对的界面显示参数,例如亮度、颜色对比度和分辨率等。这里的界面显示参数可以是指全屏共享的参数,调整界面显示参数可以一键修改全屏的显示效果。
在本申请实施例中,当界面更新操作为针对终端界面的界面显示参数调整操作时,通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据并显示可以包括如下步骤:
(1)基于界面显示参数调整操作确定目标界面显示参数;其中,界面显示参数调整操作可以包括但不限于用户通过遥控设备、其他终端设备、外设设备对目标终端的终端界面的全屏显示参数进行调整的操作,可以根据界面显示参数调整操作确定目标界面显示参数,目标界面显示参数为界面显示参数调整后的数值。例如,用户可以通过终端界面的亮度调节按钮对终端界面的亮度进行调整,可以选择调整后的终端界面的亮度值为25,则目标界面显示参数为亮度值25。
(2)在当前界面显示数据中确定界面显示参数调整操对应的对应的当前界面显示参数。例如,若当前界面显示数据中终端界面的亮度值为30,则当前界面显示参数为亮度值30。
(3)通过目标渲染引擎将当前界面显示数据中的当前界面显示参数更新为目标界面显示参数,渲染得到目标终端的终端界面数据并显示。
在本申请实施例中,获取目标终端的渲染插件配置信息,根据渲染插件配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件可以包括如下步骤:
确定目标终端的界面元素显示类型,渲染插件配置信息包括界面元素显示类型;
将至少两种类型的渲染引擎插件中,目标终端的界面元素显示类型对应的渲染引擎插件确定为目标渲染引擎插件。
在本申请实施例中,若至少两种类型的渲染引擎插件中每种类型的渲染引擎为1个,则目标终端的渲染插件配置信息可以是目标终端的界面元素显示类型,可以先获取目标终端的界面元素显示类型,将界面元素显示类型对应的渲染引擎插件确定为目标渲染引擎插件。
具体的,目标终端的界面元素显示类型可以分为字符型和位图型,可以根据目标终端内的硬件结构决定。若目标终端的硬件结构包含字符型OSD发生器以及其他相关硬件,则目标终端的界面元素显示类型可以为字符型;若目标终端的硬件结构包含位图型OSD发生器以及其他相关硬件,则目标终端的界面元素显示类型可以为位图型。除此之外,目标终端的界面元素显示类型也可以根据项目需求由研发人员设置,比如,在一些高端机型上,其硬件结构同时支持字符型和位图型OSD软件的硬件实现方式,则可以由研发人员设置该高端机型的界面元素显示类型是字符型还是位图型。
渲染引擎插件可以包括字符型渲染引擎插件和位图型渲染引擎插件,对应于不同两种硬件实现方法。
在本申请实施例中,可以设置字符型界面元素显示类型对应于字符型渲染引擎插件,位图型界面元素显示类型对应于位图型渲染引擎插件。根据界面元素显示类型和渲染引擎插件之间的对应关系,可以将目标终端的界面元素显示类型对应的渲染引擎插件确定为目标渲染引擎插件。
在一些实施例中,目标终端的渲染插件配置信息可以包括界面元素显示类型和插件标识,至少两种类型的渲染引擎插件中每种类型的渲染引擎插件可以有多个。可以先根据目标终端的界面元素显示类型确定出目标终端对应的渲染引擎插件的类型,再根据插件标识从该类型的渲染引擎插件中确定出目标渲染引擎插件,提高目标渲染引擎的确定效率。
为了更清楚阐释本申请的终端界面显示方法,以下将结合具体的可选实施例对终端界面显示方法进行进一步说明。
本可选实施例提供的终端界面显示方法,如图5所示,可以包括如下步骤:
步骤S501,接收针对目标终端的终端界面显示操作;其中,目标终端中配置有至少两种类型的渲染引擎插件,不同类型的渲染引擎插件对应不同的界面元素显示类型,界面元素显示类型表征了所述目标终端对应的渲染方式;
步骤S502,确定所述终端界面显示操作对应的至少一个待显示界面元素的元素参数;
步骤S503,获取所述目标终端的渲染插件配置信息,配置信息可以包括插件标识;
步骤S504,根据所述插件标识,将所述至少两种类型的渲染引擎插件中与所述插件标识对应的渲染引擎插件确定为所述目标渲染引擎插件;
步骤S505,确定所述目标终端的所述终端界面的当前界面显示数据;
步骤S506,基于至少一个待显示元素的元素参数,确定待显示元素在所述终端界面中的第一显示区域;
步骤S507,通过目标渲染引擎插件基于元素参数更新当前界面显示数据中第一显示区域中的数据,得到目标终端的终端界面数据;
步骤S508,将终端界面数据写入硬件的缓冲区,使显示器可以读取终端界面数据并显示。
本申请实施例提供了一种终端界面显示装置,如图6所示,该终端界面显示装置60可以包括:显示操作接收模块601、元素参数确定模块602、目标渲染引擎插件确定模块603以及终端界面渲染模块604,其中,
显示操作接收模块601,用于接收针对目标终端的终端界面显示操作;目标终端中配置有至少两种类型的渲染引擎插件,不同类型的渲染引擎插件对应不同的界面元素显示类型;
元素参数确定模块602,用于确定终端界面显示操作对应的至少一个待显示界面元素的元素参数;
目标渲染引擎插件确定模块603,用于获取目标终端的渲染插件配置信息,根据配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件;
终端界面渲染模块604,用于通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据并显示。
上述的终端界面显示装置,通过接收针对目标终端的终端界面显示操作,确定终端界面显示操作对应的至少一个待显示界面元素的元素参数,再获取目标终端的渲染插件配置信息,并根据渲染插件配置信息从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件,通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据并显示。通过在目标终端中配置至少两种类型的渲染引擎插件,并根据目标终端的渲染插件配置信息从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件,实现可以根据目标终端的渲染插件配置信息灵活确定用于渲染的目标渲染引擎插件,提高了代码复用率,缩短产品迭代周期。
在本申请实施例中,配置信息包括插件标识;
目标渲染引擎插件确定模块603在根据渲染插件配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件时,具体用于:
根据插件标识,将至少两种类型的渲染引擎插件中与插件标识对应的渲染引擎插件确定为目标渲染引擎插件。
在本申请实施例中,目标终端的渲染插件配置信息包括界面元素显示类型,目标渲染引擎插件确定模块603在获取目标终端的渲染插件配置信息,根据渲染插件配置信息,从至少两种类型的渲染引擎插件中确定出目标终端对应的目标渲染引擎插件时,具体用于:
确定目标终端的界面元素显示类型,配置信息包括标终端的界面元素显示类型;
将至少两种类型的渲染引擎插件中,目标终端的界面元素显示类型对应的渲染引擎插件确定为目标渲染引擎插件。
在本申请实施例中,终端界面渲染模块604在通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据时,具体用于:
通过渲染接口调用目标渲染引擎插件,由目标渲染引擎插件基于至少一个待显示元素的元素参数对待显示元素进行绘制,获取目标终端的终端界面数据;其中,渲染接口通过对至少两种类型的渲染引擎插件进行封装得到的。
在本申请实施例中,终端界面显示操作为界面更新操作或目标终端启动时的界面显示操作;若终端界面显示操作为界面更新操作,终端界面渲染模块604在通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据时,具体用于:
确定目标终端的终端界面的当前界面显示数据;
基于至少一个待显示元素的元素参数,确定待显示元素在终端界面中的第一显示区域;
通过目标渲染引擎插件基于元素参数更新当前界面显示数据中第一显示区域中的数据,得到目标终端的终端界面数据。
在本申请实施例中,终端界面渲染模块604在通过目标渲染引擎插件基于元素参数更新当前界面数据中第一显示区域中的数据时,具体用于:
通过目标渲染引擎基于至少一个待显示元素的元素参数生成待显示元素,并根据待显示元素更新当前界面显示数据中的第一显示区域的数据。
在本申请实施例中,界面更新操作包括针对终端界面的界面参数显示调整操作,至少一个待显示元素为当前终端界面显示的界面元素,至少一个待显示界面元素的元素参数为界面显示参数调整操作针对的界面显示参数:
终端界面渲染模块604通过目标渲染引擎插件基于至少一个待显示元素的元素参数进行界面渲染,得到目标终端的终端界面数据并显示时,具体用于:
接收用户针对终端界面的目标显示功能的界面显示调整操作,并基于界面显示调整操作确定第一显示参数;第一显示参数用于对目标显示功能进行调整;
确定目标显示功能在当前界面显示数据中对应的第二显示参数;
通过目标渲染引擎将当前界面显示数据中的第二显示参数更新为第一显示参数,得到第二显示数据;
基于第二显示数据,显示目标显示功能调整后的终端界面。
本申请实施例的装置可执行本申请实施例所提供的方法,其实现原理相类似,本申请各实施例的装置中的各模块所执行的动作是与本申请各实施例的方法中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
本申请实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行上述计算机程序以实现终端界面显示方法的步骤,与相关技术相比可实现:提高代码复用率,缩短产品迭代周期。
在一个可选实施例中提供了一种电子设备,如图7所示,图7所示的电子设备7000包括:处理器7001和存储器7003。其中,处理器7001和存储器7003相连,如通过总线7002相连。可选地,电子设备7000还可以包括收发器7004,收发器7004可以用于该电子设备与其他电子设备之间的数据交互,如数据的发送和/或数据的接收等。需要说明的是,实际应用中收发器7004不限于一个,该电子设备7000的结构并不构成对本申请实施例的限定。
处理器7001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器7001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线7002可包括一通路,在上述组件之间传送信息。总线7002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线7002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器7003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质、其他磁存储设备、或者能够用于携带或存储计算机程序并能够由计算机读取的任何其他介质,在此不做限定。
存储器7003用于存储执行本申请实施例的计算机程序,并由处理器7001来控制执行。处理器7001用于执行存储器7003中存储的计算机程序,以实现前述方法实施例所示的步骤。
其中,电子设备包括但不限于:诸如移动电话、笔记本电脑、PAD等等移动终端以及诸如数字TV、台式计算机等等固定终端。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时可实现前述方法实施例的步骤及相应内容。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除图示或文字描述以外的顺序实施。
应该理解的是,虽然本申请实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本申请实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本申请实施例对此不限制。
以上所述仅是本申请部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请的方案技术构思的前提下,采用基于本申请技术思想的其他类似实施手段,同样属于本申请实施例的保护范畴。