CN109074271A - 修改的ui元素树的生成 - Google Patents
修改的ui元素树的生成 Download PDFInfo
- Publication number
- CN109074271A CN109074271A CN201780021892.5A CN201780021892A CN109074271A CN 109074271 A CN109074271 A CN 109074271A CN 201780021892 A CN201780021892 A CN 201780021892A CN 109074271 A CN109074271 A CN 109074271A
- Authority
- CN
- China
- Prior art keywords
- tree
- application
- processor
- paper display
- electric paper
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/106—Display of layout of documents; Previewing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/169—Annotation, e.g. comment data or footnotes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/005—Adapting incoming signals to the display format of the display terminal
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2354/00—Aspects of interface with display user
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/02—Graphics controller able to handle multiple formats, e.g. input or output formats
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/121—Frame memory handling using a cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Controls And Circuits For Display Device (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
计算设备包括电子纸显示器、处理器和存储器。存储器被布置为存储平台软件和用于至少一个应用的应用软件,该至少一个应用不适于与电子纸显示器一起工作。平台软件包括UI转换模块,UI转换模块包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:访问用于应用的UI元素树;通过移除和/或重新设计至少一个UI元素来为应用生成修改的UI元素树;以及使用修改的UI元素树来渲染来自应用的数据以供在电子纸显示器上显示。
Description
背景技术
电子纸(或e-paper)被用于电子阅读器设备,因为它仅需要电力来改变所显示的图像,并且不需要持续的电力来维持其间的显示。因此,电子纸可以长时间(例如,在一些示例中,从几分钟到几小时甚至几天、几个月或几年)保持静态图像或文本,而不需要很大的电力(例如,没有任何电源或具有最小功耗)。相比之下,被用于大多数其他便携式计算设备(例如,智能电话、智能手表、平板计算机、手持游戏控制台、便携式音乐播放器、数码相机等)的屏幕的发射显示器需要大量的电力来维持显示器上的图像,并且因此该显示器可以是仅具有有限电池寿命的这种设备中的主要电力消耗者。
发明内容
以下呈现了本公开的简化概述,以便为读者提供基本的理解。本发明内容不旨在标识所要求保护的技术主题的关键特征或必要特征,也不旨在被用来限制所要求保护的技术主题的范围。其唯一目的是以简化形式呈现本文所公开的一些概念,以作为稍后被呈现的更详细描述的序言。
计算设备包括电子纸显示器、处理器和存储器。存储器被布置为存储平台软件和用于至少一个应用的应用软件,该至少一个应用不适于与电子纸显示器一起工作。平台软件包括UI转换模块,UI转换模块包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:访问用于应用的UI元素树;通过移除和/或重新设计至少一个UI元素来为应用生成修改的UI元素树;以及使用修改的UI元素树来渲染来自应用的数据以供在电子纸显示器上显示。
通过参考结合附图考虑的以下具体实施方式,许多伴随特征可以变得更容易地理解,因为这些特征将更容易领会。
附图说明
从以下鉴于附图来阅读的具体实施方式中,将更好地理解本说明书,其中:
图1是包括电子纸显示器和发射显示器或允许对发射显示器进行直接控制的接口的第一示例计算设备的示意图;
图2是包括电子纸显示器和发射显示器或允许对发射显示器进行直接控制的接口的第二示例计算设备的示意图;
图3是包括电子纸显示器的第三示例计算设备的示意图;
图4是包括电子纸显示器的第四示例计算设备的示意图;
图5是示出示例UI和对应的UI元素树的示意图;
图6是可以由图1至图4中的任何一个的计算设备实现的生成修改的UI元素树的示例方法的流程图;
图7示出了两种不同分页策略的示意图;
图8示出了实现图6的方法中的一些或全部的另一示例计算设备的示意图。
在附图中,相同的附图标记被用来表示相同的部分。
具体实施方式
以下结合附图而提供的具体实施方式旨在作为本示例的描述,而不旨在表示本示例被构造或利用的唯一形式。本说明书阐述了示例的功能和用于构造和操作示例的操作序列。然而,相同或等同的功能和序列可以通过不同的示例来实现。
术语“电子纸”在本文中被用来指代反射光(像纸那样)而不是像常规LCD显示器那样发射光的显示技术。由于它们是反射性的,电子纸显示器不需要大量的电力来维持显示器上的图像,并且因此可以被描述为持久显示器。许多电子纸显示器是多稳态显示器。在一些显示设备中,电子纸显示器可以与光生成一起被使用,以使得用户能够在环境光水平太低时(例如,当天黑时)更容易地阅读显示器。在这样的示例中,光生成被用来照亮电子纸显示器以改善其可视性而不是作为图像显示机制的一部分,并且电子纸不需要光被发射以便起作用。
术语“多稳态显示器”在本文中被用来描述包括可以在两个或更多个稳定状态(例如,黑色状态和白色状态和/或一系列灰色或彩色状态)之间移动的像素的显示器。因此,包括具有两个稳定状态的像素的双稳态显示器是多稳态显示器的示例。多稳态显示器在通电时可以被更新,但在未通电时可以保持静态图像,并且作为结果可以在最少或没有外部电源的情况下长时间显示静态图像。因此,多稳态显示器也可以被称为“持久显示器”或“持久稳定”显示器。电子墨水层是可以通过施加电场来改变(或控制)的多稳态层的示例。其他示例包括胆甾型液晶层或双稳态电润湿显示层,其使用经由该层的面上的电极而被施加的电场或电流来被控制。
作为被用来构建电子纸显示器的技术的结果,显示器的视觉属性与发射显示器的属性不同。除了显示器的物理尺寸的潜在差异之外,分辨率、更新速率、宽高比和动态范围(灰度/颜色保真度)可以是不同的。这意味着虽然当在发射显示器上被显示时视觉信息可能是清晰且易于阅读的,但是如果相同的视觉信息换为被显示在电子纸显示器上,则视觉信息可能不清楚或不可读。
附加地,虽然发射显示器通常是触敏的(并且因此是交互式的),但是电子纸显示器可能不提供输入感测机制,或者在其被提供的情况下,输入感测机制可能比通常为发射显示器提供的那些更具限制性(或以其他方式不同)。交互性的差异可能是不同输入机制被提供的结果(例如,有限数量的硬控件而不是触敏显示器)和/或是电子纸显示器本身的不同输出能力的结果(例如,由于较低的刷新率和/或通过减少刷新次数来节省电力)。例如,发射显示器可以呈现平滑滚动界面(由触摸控制),其中滚动可以在低至像素或甚至子像素级别下被实现,并且足够快地更新(例如以50Hz)以平滑地滚动到用户的角度。相比之下,在电子纸显示器上,这种界面可能很慢地更新(例如,2Hz)。交互性的差异或缺乏意味着如果包括交互式用户界面(UI)元素的视觉信息被显示在电子纸显示器上而不是发射显示器上,则这可能误导用户期望无法被实现的一定程度的交互性并因此提供较差的用户体验。
虽然一些应用(即一些应用软件)已经在知晓电子纸显示器的情况下被编写,但是存在非常多的应用不知晓电子纸显示器。随着电子纸显示器的使用变得更加普遍,期望开发人员修改每个现有应用并编写所有新应用以知晓电子纸显示器是不可行的。类似地,期望用户仅使用已经被编写或修改为知晓电子纸显示器的那些应用是不可行的。
下面所描述的实施例不限于解决已知计算设备和/或软件应用的任何或所有缺点的实施方式。
本文所描述的是一种计算设备,其包括电子纸显示器,并且还可以包括发射显示器或允许对发射显示器进行直接控制的接口。电子纸显示器可以被集成到计算设备的主要部分中,或者可以是可拆卸元件的一部分。计算设备运行应用软件在其上运行的平台软件(例如,操作系统)。生成图形用户界面(GUI)的应用中的至少一个不知晓电子纸显示器(即,应用软件不是以针对电子纸显示器而被优化的方式来编写的,或者尚未被修改为针对电子纸显示器来被优化,例如,应用的GUI和/或交互性未针对电子纸显示器而被优化)。在未知晓(例如,未修改的)应用底层的平台软件可以访问用于应用的UI元素树(例如,可视树结构和/或逻辑树结构),并且响应于在电子纸显示器上显示应用(或显示来自应用的信息)的触发,平台软件被配置为检查UI元素树,以移除、替换和/或重新设计UI元素树内的元素,并且然后使用被修改的UI元素树来渲染数据。然后,所渲染的内容准备好在电子纸显示器上显示,并且可以被立即显示或者高速缓存以供后续显示。
通过使用电子纸显示器而不是发射显示器在某些时间显示UI中的一些,计算设备的总功耗被降低。在计算设备由内部电池(或其他内部电源)供电的情况下,这在该设备需要再次被充电之前延长了该设备的使用寿命。在电子纸显示器是可拆卸元件的一部分的情况下,用户可以在非常低电力的设备上带走一些信息。
在各种示例中,使用电子纸显示器来显示已经被渲染的高速缓存的内容,而不是显示实况内容,可以导致较低的等待时间(例如,显示和导航信息可以更快),并且根据被显示的信息的类型,信息不是实况的这一事实可能并不重要(例如,信息不会快速改变的情况,诸如长期天气预报、列车时刻表等)。这可以允许应用被关闭(即,停止运行)并从存储器中被移除,由此减少计算设备的功耗和存储器使用。
计算设备可以是例如便携式或手持式计算设备(例如,智能电话、膝上型计算机、平板计算机、手持式游戏控制台、可穿戴设备等),并且电子纸显示器可以是设备的组成部分,或者可以是可拆卸模块的一部分(例如,用于智能电话或平板计算机的可拆卸盖)。备选地,计算设备102可以是非便携式计算设备,诸如台式计算机、智能电视或游戏控制台,并且电子纸显示器可以是可拆卸元件(或模块)的一部分,该可拆卸元件(或模块)是便携式的并且可以例如被放置在用户的口袋或钱包中或被穿戴(即,其可以是可穿戴设备)。
在电子纸显示器是可拆卸元件或模块的一部分的示例中,分离元件与计算设备的其余部分之间的通信链路可以具有有限带宽或者可能没有通信链路。通过特别为电子纸显示器重新渲染UI(如上所述),可拆卸元件与计算设备的其余部分之间的连接性(或其缺乏)可以被考虑(例如,如果分离后没有连接,则用户可能期望查看的所有应用的输出可以在分离之前作为封闭的信息集针对电子纸显示器而被高速缓存并被渲染;然而,如果在分离之后存在一些连接性,则初始信息集可以在分离之前被高速缓存并被重新渲染,并且进一步的信息可以随后被重新渲染并且通过通信链路被传送给可拆卸元件)。由于电子纸显示器不需要电力来维持静态图像的显示,所以可拆卸元件不一定需要电池(或其他电源)或者可以包括小电池(或其他电源)以启用与所显示的数据的有限的用户交互。
图1是包括发射显示器102(或允许对发射显示器进行直接控制的接口)和电子纸显示器104的示例计算设备100的示意图。计算设备100还包括一个或多个处理器106(例如,CPU和GPU)、存储器108和电源110。计算设备100还可以包括通信接口112。除了图1中所示的那些之外,计算设备100还可以包括附加功能元件(例如,输入/输出控制器、用户输入设备等)。
图2是包括发射显示器102(或允许对发射显示器进行直接控制的接口)和电子纸显示器104的第二示例计算设备200的示意图;然而,在该示例中,电子纸显示器104位于可拆卸模块202内(即,物理上可分离的模块,并且当物理上被分离时,没有数据连接或者数据连接与未被拆卸时的数据连接相比具有有限的带宽)。计算设备200还包括一个或多个处理器106(例如,CPU和GPU)、存储器108、电源110和通信接口112。如图2中所示,通信接口112提供到可拆卸模块202的通信链路(经由可拆卸模块中的通信接口212),并且这可以使用有线连接或无线连接。应当理解,另外,计算设备200的主要部分中的通信接口112还可以与其他计算设备通信(例如,直接地或经由网络)。
可拆卸模块202包括电子纸显示器104和通信接口212。另外,它可以包括以下中的一项或多项:电源210、处理器206(其可以远不及计算设备200的主要部分中的处理器106强大)、用户输入设备230和显示数据存储库220。
一旦物理上被分离,可拆卸模块202可以与计算设备200的其余部分没有数据连接,并且在这种实例中,电子纸显示器104上所显示的内容可以是固定的(例如,如果可拆卸模块202不包括电源210和/或显示数据存储库220)。备选地,该内容可以限于包括重新渲染的多个UI图像(如下面参考图7更详细被描述的)的固定数据集(被存储在显示数据存储库220中),并且响应于经由用户输入设备230的用户输入或者自主地(例如,处理器206可以顺序地显示重新渲染的UI图像而无需用户输入),不同的重新渲染的UI图像可以在处理器206的控制下被显示在电子纸显示器104上。
在各种示例中,当可拆卸模块202在物理上被分离时其可以具有到计算设备200的其余部分的有限带宽数据连接,并且在这样的示例中,有限带宽数据连接可以被用来接收触发信号(例如,以触发在固定数据集的存储内容之间切换)或接收进一步重新渲染的内容,该内容已经在知晓有限带宽数据连接的情况下被重新渲染。
除了图2中所示的那些之外,计算设备200还可以包括附加功能元件(例如,计算设备200的主要部分可以附加地包括输入/输出控制器、用户输入设备等)。
图3和图4是包括电子纸显示器104的第三示例计算设备300和第四示例计算设备400的示意图;然后,不同于在图1和图2中所示的示例,计算设备300、400不包括发射显示器102或允许对发射显示器进行直接控制的接口。图3中所示的计算设备300以其他方式对应于在图1中所示的并且如上所述的计算设备100,并且图4中所示的计算设备400以其他方式对应于在图2中所示的并且如上所述的计算设备200。
处理器106、206可以是微处理器、控制器或任何其他合适类型的处理器,用于处理计算机可执行指令以控制设备的操作以便执行本文所述的方法。在一些示例中,例如,在片上系统架构被使用的情况下,处理器106、206包括一个或多个固定功能块(也被称为加速器),其以硬件(而不是软件或固件)实现本文所述方法的一部分。备选地或附加地,本文所描述的功能至少部分地由一个或多个硬件逻辑组件执行。例如但不限于,可选地被使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)、图形处理单元(GPU)。
可拆卸模块202中的处理器206(如果提供)可以与图2中所示的计算设备200的主要部分中的处理器106不同,例如,可拆卸模块202中的处理器206可以是较低功率处理器和/或在比计算设备200的主要部分中的处理器106低的电压下操作,和/或计算设备200的主要部分中的处理器106可以具有比可拆卸模块202中的处理器206更多的功能(例如,更多的处理能力)。
由处理器106执行的计算机可执行指令使用由计算设备100、200可访问的任何计算机可读介质来被提供,并且这些计算机可执行指令可以包括平台软件114(例如,操作系统)和应用软件116。计算机可读介质包括例如计算机存储介质,诸如存储器108和通信介质。诸如存储器108之类的计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电子可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字通用光盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储器或其他磁存储设备、或被用来存储信息以供计算设备访问的任何其他非传输介质。相比之下,通信介质在诸如载波或其他传输机制的已调制数据信号中体现计算机可读指令、数据结构、程序模块等。如本文所定义的,计算机存储介质不包括通信介质。因此,计算机存储介质本身不应被解释为传播信号。尽管计算机存储介质(存储器108)被示出在计算设备内,但是应当理解,在一些示例中,存储的一部分可以被远程地分布或定位,并经由网络或其他通信链路(例如,使用通信接口112)来访问。
计算设备100、200中的电源110可以是任何合适的电源,包括但不限于,连接到主电源的电源、电池或电力收集系统(例如太阳能电池)。在可拆卸模块202还包括电源210的情况下,这也可以是包括上面所提供的任何示例的任何合适的电源。然而,在一些示例中,可拆卸模块202中的电源可以仅提供有限的电力供应,例如,它可以是更小的电池、电容器或超级电容器,或者可以使用电力收集,并且在各种示例中,当可拆卸模块被物理地连接到计算设备200的主要部分时(即,当它未被拆卸时),可拆卸模块202中的电源210可以由计算设备200的主要部分中的电源110充电。
用于被存储在计算设备100、200的存储器108中的应用的软件116包括UI元素树117。UI元素树117(其也可以被称为“可视树”和/或“逻辑树”)描述了形成应用的UI的所有元素以及元素之间的相互关系。UI的示例500和对应的UI元素树501在图5中被示出。UI树内所包含的针对每个元素的信息可以包括以下中的一个或多个:坐标(即,定义其在屏幕上的位置)、文本、颜色、字体、文本大小、在被渲染时定义元素外观或布局的其他参数(例如,到附近元素的空白、对准细节、对齐等)、对定义了元素应当如何被渲染的预先存在的样式表中的条目的引用、针对元素的子元素列表等。例如,对于文本框(例如,文本框516),该信息可以包括文本(或到文本的链接)、要使用的字体、字体大小、是否换行、文本是用户可编辑的还是只读的等。对于图像框(例如图像框514),该信息可以包括图像或到图像的链接。
应用中在平台软件114上运行(并且其应用软件116被存储在存储器108中)并且生成GUI的至少一个应用不被编写或修改,以特别地适应电子纸显示器104上的显示,并且这种应用被描述为不“知晓”电子纸显示器104。
被存储在计算设备100、200的存储器108中的平台软件114包括UI转换模块118。UI转换模块118包括设备可执行指令,该设备可执行指令当由处理器106执行时,使得处理器106检查UI元素树,移除、替换和/或重新设计UI元素树内的元素,并且由此生成修改的UI元素树(即,UI元素树117的修改版本)。术语“重新设计(re-style)”在本文中被用来指代编辑/修改UI元素树117内的元素的参数(例如,以改变字体大小、字体大小和/或显示颜色)。修改的UI元素树可以被存储在存储器108内以供稍后在渲染数据中使用,或者可以立即被用以渲染数据并且然后被丢弃。在修改的UI元素树被存储的情况下,其可以随后进一步被修改(例如,由UI转换模块118)。使用修改的UI元素树并且在电子纸显示器104的分辨率下对数据的渲染可以由UI转换模块118或由平台软件的其他部分(例如,由渲染模块,未在图1至图4中的任何一个中被示出)执行。所渲染的内容可以立即被显示在电子纸显示器104上,或者可以被存储(在显示数据存储库120、220中)以供稍后显示(例如,当可拆卸模块202与计算设备200的其余部分分离时,响应于可拆卸模块202上的用户输入)。
尽管如上所述,由UI转换模块118提供的功能(即,当执行设备可执行指令时由处理器106执行的操作)可以参考图6被描述,使用修改的UI元素树的渲染和所渲染的数据的输出可以由UI转换模块118或由平台软件114的另一部分执行。
该方法由接收到的与不知晓电子纸显示器104的应用116相关的触发来发起(框602)。该触发可以由平台软件114生成,并且可以响应于各种动作或事件而被生成。
在第一示例中,用户可以指示他们想要将一些数据从应用固定到电子纸显示器104,并且这可以被称为“显式固定(explicit pinning)”。由于应用不知晓电子纸显示器104,因此触发事件可以是例如当应用在发射显示器102上运行并可见时用户通过按下计算设备上的触摸按钮、在电子纸显示器104上轻敲(在这是触敏的情况下)或执行手势而与平台软件交互。备选地,触发事件可以是用户从应用进行屏幕捕获并且选择在电子纸显示器104上显示该屏幕捕获的选项。与使用发射显示器102相比,使用显式固定而被用来显示数据的能量消耗可以被减少,因为发射显示器102可以被关闭。
在第二示例中,平台软件114或在平台软件上运行的并且知晓电子纸显示器104的特定应用可以自主地生成该触发,例如,每当用户在应用(例如,任何应用或特定应用)之间切换时、每当用户关闭特定(未知晓)应用(例如日历应用)时、周期性地(例如每小时)、当屏幕内容显著变化时等,并且这可以被称为“隐式固定(implicit pinning)”。平台软件114(或特定应用)可以从用户的活动中学习他们经常参考什么内容和/或他们在特定时间阅读什么内容,并且可以先发制人地触发在电子纸显示器104上对该内容的渲染。这减少了计算设备的能量消耗(因为用户不使用发射显示器102来阅读内容),并且减少了用户所经历的等待时间(因为在他们需要数据之前该数据可用并且被渲染)。
在各种示例中,触发可以响应于计算设备100、200的状态上的改变或者响应于计算设备100、200的状态上的预期改变而自主地被生成。例如,触发可以响应于计算设备的电力水平下降到阈值以下(例如,使得电力丢失被预期)、对网络连接的丢失的预期(例如,如由信号强度低于阈值所检测到)、可拆卸模块202的拆卸等而被生成。
响应于触发(在框602中被接收),处理器106访问UI元素树117(框604)以用于相关应用116(或者用于多个应用116,其中数据同时从两个或更多个应用的集合中被固定),并且生成修改的UI元素树(框606)。修改的UI元素树(如框606中所生成的)特别针对电子纸显示器104的特性,尽管在各种示例中仅UI元素树117的与被固定的数据相关的部分可以被修改,并且UI元素树117的其他部分(例如,与未被固定的UI元素相关的部分)可以保持不被修改,即使它们不适合在电子纸显示器104上渲染。如果电子纸显示器104是可拆卸模块202的一部分,则对UI元素树的修改也可以基于在被拆卸时模块202与计算设备的其余部分之间的数据连接的可用带宽(例如,在可用带宽受限的情况下通过使用更多的普通表面和更少的图像和图标来简化图像压缩,和/或在可用带宽受限的情况下仅使用UI元素的显示特性的子集,诸如文本/数字而不是颜色、字体大小等)。
如上所述,被访问(在框604中)的UI元素树可以是用于应用的原始的、未修改的UI元素树,或者可以是先前修改的UI元素树(例如,如在图6的方法的先前迭代中所生成的)。
修改的UI元素树的生成(在框606中)可以包括多个阶段:UI元素的移除(框606a)、UI元素的重新设计(框606b)并将UI(其为GUI)适配到一个或多个屏幕(框606c)。在任何实施方式中,这些阶段606a至606c中的一个或多个阶段可以被使用或者所有阶段可以不被使用,并且它们可以以不同的顺序被实现(例如,在移除之前重新设计),尽管向一个或多个屏幕的适配(在框606c中)总是在UI元素的移除(在框606a中)之后被执行。
如图6中所示,电子纸显示器104不支持的那些UI元素可以被完全移除(在框606a中)。被移除的元素可以包括平台软件浏览器(例如,开始栏菜单和顶栏)、链接到其他网站的控件(例如,其不是正在针对电子纸显示器而被重新渲染的数据集的一部分)、背景图像(例如,由于与发射显示器相比其减小的动态范围,其可以使文本在电子纸显示器上不可读)等。如果电子纸显示器不提供任何交互性,则所有交互式元素(例如,按钮、复选框等)可以被移除。诸如应用栏(AppBar)之类的通用Windows平台(UWP)元素的示例可以被移除。在各种示例中,基于使用的分析(例如,对于用户或所有用户)可以被用来确定哪些控件很少被使用,并且然后这些很少被使用的控件可以被移除。
还如图6所示,一个或多个UI元素可以通过例如UI元素的扩展、将UI元素标记为不活动的、改变颜色、大小和边框样式等来被重新设计(框606b)。在示例中,边框可以被放置在文本框(或其他文本元素)周围,并且文本和背景之间的局部对比可以在边框内被实现。
被执行(在框606b中)的重新设计的许多方面可以根据由电子纸显示器104(以及在图2中所示的示例中的可拆卸模块202)提供的交互性。如果电子纸显示器104是触敏的,则一些或所有按钮可以保持活动(例如,根据被重新渲染和高速缓存的内容量,其中指向未被重新渲染的内容的控件被重新设计)。在各种示例中,UI内与电子纸显示器104不支持的交互相关的控件可以被移除(在框606a中),但是在其他示例中,通过改变控件的外观(例如,通过使控件黯淡),一个或多个控件可以改为被标记为不活动。可以使其黯淡的UWP元素的示例包括但不限于单选按钮(RadioButton)、文本框(TextBox)、复选框(CheckBox)等。
代替移除与电子纸显示器104不支持的交互相关的控件或使其黯淡,控件可以备选地被电子纸显示器104所支持的控件替换。控件的这种替换可以与所使用的分页策略相关联(如下面参考框606c所述),使得原始控件根据分页策略而被新控件替换。
UI元素的重新设计(在框606b中)还可以包括与电子纸显示器104(或可拆卸模块202)的交互性无关但是反而与电子纸显示器104的视觉属性相关的方面,诸如动态范围。为了改善电子纸显示器104上的对比度和视觉清晰度(与仅渲染与在发射显示器102上所使用的相同的UI元素树相比),UI元素的背景颜色、文本大小/颜色和/或边框可以被改变。
如图6中所示,在移除UI元素(在框606a中)和/或重新设计UI元素(在框606b中)之后,UI可以被适配到一个或多个屏幕(在框606c中)。例如,这可以涉及应用分页策略(例如,其将UI适配到多个屏幕)或强制UI元素适配到单个屏幕或有限数量的屏幕上(例如,因为对于电子纸显示器,更新所显示的内容使用了大量电力,并且因此能耗通过将UI强制到较少数量的屏幕上来被降低,只要该内容仍然可读)。在UI被适配到多于一个屏幕的情况下(在框606c中),这可以涉及添加新的UI元素以使得用户能够在屏幕之间导航,并且在各种示例中,这些新UI元素可以有效地替换被移除的其他UI元素(在框606a中)。在UI被适配到单个屏幕的情况下(在框606c中),这可以涉及移除UI元素(例如,交互元素),如果这些元素尚未被移除(在框606a中)。
当子UI元素(例如,图5中的元素503至512中的任何元素)或根UI元素(例如,图5中的元素502)具有滚动条时,该UI元素的尺寸可以被调整以显示所包含的所有信息(例如,在框606b或606c中)。因此,滚动条可以被移除。当得到的尺寸大于显示器尺寸时,分页策略或将UI元素适配到有限数量的屏幕上的其他方案可以被应用(在框606c中),如下所述。该扩展方法适用于众多UWP元素,如富文本框(RichTextBlock)、画布(Canvas)、文本框(TextBlock)等。
如上所述,当扩展的应用(来自框606b)具有比电子纸显示器104允许的分辨率更大的尺寸(例如,高度和/或宽度)时,分页策略或备选方案可以被应用(在框606c中)。在示例中,重新渲染的多个UI图像701至706可以由UI转换模块118创建,其覆盖扩展的应用700的不同部分(在框606c中,如图7的上部所图示),并且然后由电子纸显示器104(或可拆卸模块202)所提供的交互性可以被用来使得用户能够在重新渲染的UI图像之间切换。这些重新渲染的UI图像不对应于应用的原始的、原生的交互性,而是特别为在电子纸显示器104上渲染而生成的。如果重新渲染的多个UI图像包括重叠部分710,则如图7的上部所示,滚动感可以在电子纸显示器104上被传达。如图7的上部所示,这种类型的分页策略可以被称为“滚动视图分页”。备选地,可能没有重叠部分710,并且用户可以在非重叠的重新渲染的UI图像之间移动。
备选的分页策略是“应用内分页”,并且这可以在应用提供多个视图的情况下被应用。例如,这可以在天气应用中被实现,如图7的下部720所示,其中,在实况应用中,用户可以点击UI屏幕722的一部分来选择一周中的一天,并且这导致对内容724的部分(例如,示出针对这天的详细天气预报的部分)而不是整个页面的改变,如图7的下部720所示。
为了确定应用的哪些视图针对应用内分页进行扩展(因为重新渲染是在用户点击以更新显示之前被完成的),UI转换模块118可以记录应用内的用户动作并且学习它们可能的触摸事件序列,或者备选地,基于云的学习可以被使用并且参考数据被提供给UI转换模块118(其中参考数据是从许多用户动作生成的)。根据可能的(或预期的)序列,重新渲染的多个UI图像725至727可以被生成(例如,通过捕获可导航的数据集)并且它们之间的交互被定义,并且这被存储在修改的UI元素树中。交互被选择以与电子纸显示器104(以及相关联的硬件,诸如可拆卸模块202中的硬件)兼容,并且使得用户能够在重新渲染的UI图像725至727之间切换,就像他们正在与实况应用交互一样,然而是与重新渲染的UI图像交互。
在各种示例中,所使用的分页策略可以最小化不同页面之间的差异(例如涉及灰度水平的差异),因为这减少了在重新渲染的UI图像之间切换所花费的时间,以及在各种示例中的切换操作的能耗。
通过使用如上所述的分页策略,即使应用本身不再运行,用户也具有与应用数据交互的能力(如电子纸显示器104上所显示的那样)。这同时通过使用电子纸显示器104(而不是发射显示器102)并且通过应用不再运行来降低功耗。
导致UI被适配到多个屏幕(在框606c中)的UI元素树的修改可以将单个UI元素树(如框604中所访问的)拆分成多个UI元素树,并且这将渲染器的复杂性转移到UI转换模块118。例如,UI数(或其部分)可以具有以下形式:
并且这可以被视为:
显示tab 1→重新渲染的图像
显示tab 2→重新渲染的图像
备选地,两个树可以从原始UI树(或其部分)被生成以降低渲染器的复杂性:
然后,这可以被视为:
显示UI树1→重新渲染的图像
显示UI树2→重新渲染的图像
如上所述并且在图2的示例中,在可拆卸模块202已经与计算设备200的其余部分断开连接并且在这两个部分之间可能没有通信链路或者只有有限的带宽链路之后,重新渲染的数据(来自框608)可以被显示给用户。通过使用分页策略,尽管断开状态,用户仍然可以与应用数据交互,并且这提供了低功率设备(例如,由于电子纸显示器104的使用以及网络连接性的缺乏)。
一旦修改的UI元素树已被生成(在框606中),应用数据就以电子纸显示器104的分辨率并使用修改的UI元素树来被重新渲染(框608)。重新渲染的数据(来自框608)可以立即被显示在电子纸显示器104上或者被高速缓存以供稍后显示(框612),其中数据可以被高速缓存在存储器108中(例如,在显示数据存储库120中)或者在包括电子纸显示器104的可拆卸模块202内的单独存储器(显示数据存储库220)中。
如图6所示,在各种示例中,修改的UI元素树的生成(在框606中)可以被嵌入到迭代过程中,该迭代过程检查重新渲染的数据(来自框608)实现了目标保真度(例如,其至少实现了最小预定水平的对比度)。如果目标保真度未被实现(框610中的“否”),则修改的UI元素树进一步被修改(在框606中)。例如,这可以允许在不移除背景图像(而是保持它不变或修改它以减小其动态范围或修改文本以使用背景图像中未被使用的灰色)的情况下进行初始重新渲染,并且如果重新渲染不满足所需质量(框610中的“否”),则背景图像可以在第二次迭代中被移除(例如,在框606a中)。保真度评估(在框610中)可以将背景和前景的对比度的差异与阈值进行比较。例如,保真度评估可以确定数据的背景和前景部分是否使用单独的(非重叠的)灰度范围(在灰度电子纸显示器上),例如,其中背景被限于包括多个最亮灰色的集合,并且前景被限于包括多个最暗灰色的集合,并且两个集合不重叠并且以最小量被分开。在另一示例中,对类似灰色的这种评估(作为框610中的保真度评估的一部分)可以仅在存在文本的区域中被执行(例如,在没有文本的地方,背景图像是暗的是可以接受的,但是在有深色文本的区域中,要求背景图像是相对较浅的颜色)。
除了或代替迭代该方法来实现目标保真度,该方法可以被迭代以实现目标数据速率(例如,在计算设备200的主要部分与可拆卸模块202之间存在有限的带宽数据连接的情况下)。
尽管图6示出了在修改的UI元素树的生成(在框606中)和重新渲染(在框608中)之后被执行的保真度评估(在框610中),但是在各种示例中,可能存在较早被执行的保真度检查(除了或代替框610中的保真度检查)以确定是否有必要修改UI元素树。例如,保真度评估可以基于现有UI元素树(即,在框602之前)来被执行,并且如果目标保真度未被实现,则这可以生成触发(在框602中被接收)。
在保真度评估根本不被执行的示例中(即,框610被省略),修改的UI元素树的生成(在框606中)可以是基于规则的,并且相同的修改/动作可以针对所有UI元素树来被执行。例如,基于规则的“搜索和替换”可以被执行(在框606中),例如,移除所有背景图像、将所有文本颜色设置为预定义颜色(或执行到特定颜色集的预定义转换)等。
通过使用图6中所示的方法(并且如上所述),包括电子纸显示器104的计算设备100、200、300、400可以被做得更小和更轻,因为较少的硬件组件被需要和/或较小的硬件组件可以被使用(例如,由于在电子纸显示器上渲染图像所需的处理的减少和/或能量消耗的减少,这允许使用更小的处理器和/或更小的电池)。
在以上所描述的示例中,修改的UI元素树在运行时被生成。然而,在其他示例中,修改的UI元素树可以在编译时被生成或作为后续的重新编译过程而被生成。在各种示例中,该方法可以被实现为图1至图4中所示的计算设备100、200、300、400中的任一个上的后续重新编译过程。在这种示例中,UI转换模块118具有对应用的源代码的访问(例如,它可以被存储在存储器108中),或者UI本身可以仅以未被编译的标记语言格式(例如,HTML或XAML)来被存储。备选地,该方法可以在编译时被实现,或者作为另一计算设备(例如,如图8所示)上的后续重新编译过程而被实现,该计算设备不会尝试使用编译/重新编译的输出,而是传送该输出,以便它以后可以在运行应用软件(并且包括电子纸显示器)的目标设备上被使用。
图8是另一示例计算设备800的示意图,其可以实现图6中所示并且如上所述的方法的一些或全部框。如上所述,该方法不是在运行时被实现的,而是在应用软件的编译时间被实现或作为后续的重新编译过程而被实现的。如图8所示,UI转换模块118可以形成编译器(或重新编译器)814的一部分,或者可以由编译器软件814调用(即,触发)。响应于触发(在框602中被接收并由编译器软件814生成的),UI转换模块118访问原始UI元素树117(在框602中),并且如上所述,生成修改的UI元素树817(在框606中),除了原始UI元素树117之外或者代替原始UI元素树117,修改的UI元素树817可以与编译的应用一起被存储。在这种示例中,UI转换模块118可以访问应用的源代码(例如,它可以被存储在存储器108中),或者UI本身可以仅以未被编译的标记语言格式(例如,HTML或XAML)来被存储。除了图8中所示的那些之外,计算设备800还可以包括附加功能元件(例如,输入/输出控制器,用户输入设备等)。
通过使用本文所描述的方法在运行时、编译时间或其间的任何时间来修改UI元素树(例如,以重新编译应用程序),应用的用户体验被改善,并且应用的多屏幕使用(即,在多种不同类型的显示器上对应用的使用)被启用。
上述计算设备100可以包括NUI技术,其使得用户能够以自然的方式与基于计算的设备交互,而不受诸如鼠标、键盘、遥控器等输入设备施加的人为约束。在一些示例中被提供的NUI技术的示例包括但不限于依赖于声音和/或语音识别、触摸和/或触笔识别(触敏显示器)、屏幕上和邻近屏幕的姿势识别、空中姿势、头部和眼睛跟踪、声音和语音、视觉、触摸、姿势和机器智能的那些技术。在一些示例中被使用的NUI技术的其他示例包括意图和目标理解系统、使用深度相机的运动姿势检测系统(诸如立体相机系统、红外相机系统、红绿蓝(RGB)相机系统及其组合)、使用加速度计/陀螺仪的运动姿势检测、面部识别、三维(3D)显示器、头部、眼睛和凝视跟踪、沉浸式增强现实和虚拟现实系统以及用于使用电场感应电极(脑电图(EEG)和相关方法)感知大脑活动的技术。
上面所描述的并且在图1和图2中所示出的示例是作为示例而不是作为限制被提供的。如本领域技术人员将理解的,本示例适用于包括具有两个显示器的计算设备的各种不同类型的系统中的应用,并且虽然未在上述示例中被示出,但是计算设备可以具有多于两个显示器,并且显示器可以是计算设备100的组成部分或被连接到计算设备的外围设备。
备选地,或者除了本文所描述的其他示例之外,示例包括以下其他示例或其方面的任何组合。
第一进一步的示例提供了一种计算设备,包括:电子纸显示器;处理器;以及存储器,存储器被布置为存储平台软件和用于至少一个应用的应用软件,该至少一个应用不适合与电子纸显示器一起工作,并且其中平台软件包括UI转换模块,该UI转换模块包括设备可执行指令,设备可执行指令在由处理器执行时,使得处理器:访问用于应用的UI元素树;通过移除和/或重新设计至少一个UI元素来为应用生成修改的UI元素树;以及使用修改的UI元素树来渲染来自应用的数据以供在电子纸显示器上显示。
计算设备进一步可以包括发射显示器或允许对发射显示器进行直接控制的接口。
平台软件进一步可以包括设备可执行指令,设备可执行指令在由处理器执行时,使得处理器:将使用修改的UI树而渲染的数据输出到电子纸显示器。
计算设备进一步可以包括可拆卸部分,其包括电子纸显示器。可拆卸部分进一步可以包括:电源;显示数据存储库,被布置为存储由UI转换模块生成的、用于该应用的相互关联的重新渲染的UI图像集;以及处理器,被布置为选择并在电子纸显示器上显示所存储的重新渲染的UI图像之一。可拆卸部分进一步可以包括:用户输入设备;并且其中处理器被布置为响应于经由用户输入设备而接收到的输入,选择并在电子纸显示器上显示重新呈现的UI图像之一。
修改的UI元素树可以基于电子纸显示器的特性而被生成。该特性可以包括以下的一项或多项:动态范围、分辨率、更新速率、宽高比和输入感测能力。
修改的UI元素树可以通过移除电子纸显示器不支持的至少一个UI元素和/或根据由电子纸显示器提供的交互性重新设计至少一个UI元素来被生成。
修改的UI元素树可以通过扩展应用的用来显示的视图以移除滚动条并且使用分页策略从扩展的视图创建重新渲染的多个UI图像来被生成。重新渲染的多个UI图像可以部分重叠。
修改的UI元素树可以通过捕获来自应用的可导航数据集并且使用分页策略从所捕获的数据创建重新渲染的多个UI图像来被生成。
平台软件进一步可以包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:将使用修改的UI树而渲染的数据高速缓存在显示数据存储库中,以供随后在电子纸显示器上显示。
UI转换模块进一步可以包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:检查所渲染的数据是否满足目标渲染保真度;以及响应于确定所渲染的数据不满足目标渲染保真度,进一步修改用于应用的UI元素树,并且使用进一步修改的UI元素树来重新渲染来自应用的数据。
平台软件进一步可以包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:生成信号以触发由UI转换模块触发对UI元素树的生成。该信号可以响应于用户输入或响应于状态上的改变或计算设备的状态上的预期改变而被生成。
第二进一步的示例提供了一种生成数据以供在电子纸显示器上显示的方法,该数据与不适合于与电子纸显示器一起工作的应用相关,并且该方法包括:访问用于该应用的UI元素树;通过移除和/或重新设计至少一个UI元素来为该应用生成修改的UI元素树;以及使用修改的UI元素树渲染来自应用的数据以供在电子纸显示器上显示。
该方法进一步可以包括将使用修改的UI树而渲染的数据输出到电子纸显示器。
通过移除和/或重新设计至少一个UI元素来为应用生成修改的UI元素树可以包括以下的至少一项:移除电子纸显示器不支持的至少一个UI元素;根据由电子纸显示器提供的交互性重新设计至少一个UI元素;以及扩展应用的用来显示的视图以移除交互式控件并且处理所扩展的视图以从所扩展的视图创建多个重新渲染的UI图像。
第三进一步的示例提供了一种计算设备,包括:处理器;以及存储器,被布置为存储编译器软件和用于至少一个应用的应用软件,该至少一个应用不适合与电子纸显示器一起使用,并且其中编译器软件包括UI转换模块,UI转换模块包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:访问用于该应用的UI元素树;通过移除和/或重新设计至少一个UI元素来为该应用生成修改的UI元素树;以及存储修改的UI元素树以供在渲染来自应用的数据中使用,以用于在电子纸显示器上显示。
第四进一步的示例提供了一种系统,该系统包括计算设备和可拆卸模块,可拆卸模块包括电子纸显示器,并且该计算设备包括:处理器;以及存储器,被布置为存储平台软件和用于至少一个应用的应用软件,该至少一个应用不适合与电子纸显示器一起使用,并且其中平台软件包括UI转换模块,UI转换模块包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:访问用于该应用的UI元素树;通过移除和/或重新设计至少一个UI元素来为该应用生成修改的UI元素树;以及使用修改的UI元素树来渲染来自应用的数据,以供在电子纸显示器上显示。
计算设备进一步可以包括发射显示器或允许对发射显示器进行直接控制的接口。
第五进一步的示例提供了一种计算设备,包括:处理器;以及存储器,被布置为存储用于至少一个应用的应用软件和包括UI转换模块的软件,该至少一个应用不适合与电子纸显示器一起使用,其中UI转换模块包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:访问用于该应用的UI元素树;以及通过移除和/或重新设计至少一个UI元素来为该应用生成修改的UI元素树。
计算设备进一步可以包括电子纸显示器,并且其中软件包括平台软件,并且UI转换模块附加地可以包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:使用修改的UI元素树来渲染来自应用的数据,以供在电子纸显示器上显示。计算设备进一步可以包括发射显示器或允许对发射显示器进行直接控制的接口。平台软件进一步可以包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:将使用修改的UI树而渲染的数据输出到电子纸显示器。计算设备进一步可以包括:包括电子纸显示器的可拆卸部分。可拆卸部分进一步可以包括:电源;显示数据存储库,被布置为存储由UI转换模块生成的、用于应用的相互关联的重新渲染的UI图像集;以及处理器,被布置为选择并在电子纸显示器上显示所存储的重新渲染的UI图像之一。可拆卸部分进一步可以包括:用户输入设备;并且其中处理器可以被布置为响应于经由用户输入设备而接收到的输入,选择并在电子纸显示器上显示重新渲染的UI图像之一。平台软件进一步可以包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:生成信号以触发由UI转换模块对UI元素树的生成。信号可以响应于用户输入或响应于状态上的改变或计算设备的状态上的预期改变来被生成。
软件可以包括编译器软件和UI转换模块,UI转换模块附加地包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:存储修改的UI元素树以供在渲染来自应用的数据中使用,以用于在电子纸显示器上显示。
在第五进一步的示例中的UI转换模块进一步可以包括设备可执行指令,该设备可执行指令在由处理器执行时,使得处理器:检查所渲染的数据是否满足目标渲染保真度;以及响应于确定所渲染的数据不满足目标渲染保真度,进一步修改用于该应用的UI元素树,并且使用进一步修改的UI元素树来重新渲染来自应用的数据。
在第五进一步的示例中,修改的UI元素树可以基于电子纸显示器的特性而被生成。这些特性可以包括以下的一项或多项:动态范围、分辨率、更新速率、宽高比和输入感测能力。
在第五进一步的示例中,修改的UI元素树可以由以下的一项或多项来被生成:移除电子纸显示器不支持的至少一个UI元素;根据由电子纸显示器提供的交互性来重新设计至少一个UI元素;扩展应用的用来显示的视图以移除滚动条,并且使用分页策略从所扩展的视图创建重新渲染的多个UI图像;以及捕获来自应用的可导航数据集,并且使用分页策略从所捕获的数据创建重新渲染的多个UI图像。
术语“计算机”或“基于计算的设备”在本文中被用来指代具有处理能力使得其执行指令的任何设备。本领域技术人员将认识到,这种处理能力被结合到许多不同的设备中,并且因此术语“计算机”和“基于计算的设备”各自包括个人计算机(PC)、服务器、移动电话(包括智能电话)、平板计算机、机顶盒、媒体播放器、游戏控制台、个人数字助理、可穿戴计算机、以及许多其他设备。
在一些示例中,本文所描述的方法通过有形存储介质上的机器可读形式的软件来被执行,例如,以计算机程序的形式,该计算机程序包括计算机程序代码装置,其适合于当程序在计算机上运行时执行本文所述的一种或多种方法的所有操作,并且其中计算机程序可以被体现在计算机可读介质上。有形存储介质的示例包括计算机存储设备,其包括诸如磁盘、拇指驱动器、存储器等的计算机可读介质,并且不包括传播信号。该软件适合于在并行处理器或串行处理器上执行,使得方法操作可以以任何合适的顺序或同时被执行。
这承认软件是有价值的、可单独交易的商品。它旨在涵盖运行在“傻瓜式”或标准硬件上或对其进行控制以执行期望的功能的软件。它还旨在涵盖“描述”或定义硬件配置的软件,诸如HDL(硬件描述语言)软件,被用于设计硅芯片,或用于配置通用可编程芯片,以执行期望的功能。
本领域技术人员将认识到,被用来存储程序指令的存储设备可选地分布在网络上。例如,远程计算机能够存储被描述为软件的过程的示例。本地或终端计算机能够访问远程计算机并下载部分或全部软件以运行该程序。备选地,本地计算机可以根据需要下载软件的片段,或者在本地终端处执行一些软件指令并且在远程计算机(或计算机网络)处执行一些软件指令。本领域技术人员还将认识到,通过利用本领域技术人员已知的常规技术,软件指令的全部或一部分可以由专用电路执行,诸如数字信号处理器(DSP)、可编程逻辑阵列等。
如将对本领域技术人员显而易见的,本文所给出的任何范围或设备值可以被扩展或改变而不丧失所寻求的效果。
尽管本主题已经用特定于结构特征和/或方法动作的语言来被描述,但是应该理解,所附权利要求中所限定的主题不必限于上述具体特征或动作。相反,上述具体特征和动作被公开作为实现权利要求的示例形式。
应该理解,上述益处和优点可以涉及一个实施例或者可以涉及若干实施例。实施例不限于解决任何或所有所述问题的那些实施例或具有任何或所有所述益处和优点的那些实施例。进一步应该理解,对“一个”项目的引用指代那些项目中的一个或多个。
本文所描述的方法的操作可以以任何合适的顺序被执行,或者在适当的情况下同时被执行。附加地,在不脱离本文所描述的主题的范围的情况下,个体框可以从任何方法中被删除。上述任何示例的方面可以与所描述的任何其他示例的方面组合以形成进一步的示例而不会丧失所寻求的效果。
术语“包括”在本文中被使用以表示包括所标识的方法框或元素,但是这些框或元素不包括排他列表,并且方法或装置可以包含附加的框或元素。
术语“子集”在本文中被用来指代适当的子集,使得集合的子集不包括该集合的所有元素(即,集合中的至少一个元素从该子集缺失)。
应该理解,以上描述仅通过示例的方式被给出,并且各种修改可以由本领域技术人员进行。以上说明书、示例和数据提供了示例性实施例的结构和使用的完整描述。尽管各种实施例在上面已经以一定程度的特殊性或者参考一个或多个个体实施例进行了描述,但是在不脱离本说明书的精神或范围的情况下,本领域技术人员可以对所公开的实施例进行多种改变。
Claims (15)
1.一种计算设备,包括:
处理器;以及
存储器,被布置为存储用于至少一个应用的应用软件和包括UI转换模块的软件,所述至少一个应用不适合于与电子纸显示器一起工作,其中所述UI转换模块包括设备可执行指令,所述设备可执行指令在由所述处理器执行时,使得所述处理器:
访问用于所述应用的UI元素树;以及
通过移除和/或重新设计至少一个UI元素来为所述应用生成修改的UI元素树。
2.根据权利要求1所述的计算设备,进一步包括电子纸显示器,并且其中所述软件包括平台软件,并且所述UI转换模块附加地包括设备可执行指令,所述设备可执行指令在由所述处理器执行时,使得所述处理器:
使用修改的所述UI元素树来渲染来自所述应用的数据,以供在所述电子纸显示器上显示。
3.根据权利要求2所述的计算设备,进一步包括发射显示器或允许对发射显示器进行直接控制的接口。
4.根据权利要求2或权利要求3所述的计算设备,其中所述平台软件进一步包括设备可执行指令,所述设备可执行指令在由所述处理器执行时,使得所述处理器:
将使用修改的所述UI树而渲染的所述数据输出到所述电子纸显示器。
5.根据权利要求2至权利要求4中任一项所述的计算设备,进一步包括:
包括所述电子纸显示器的可拆卸部分。
6.根据权利要求5所述的计算设备,其中所述可拆卸部分进一步包括:
电源;
显示数据存储库,被布置为存储由所述UI转换模块生成的、用于所述应用的相互关联的重新渲染的UI图像集;以及
处理器,被布置为选择并在所述电子纸显示器上显示所存储的所述重新渲染的UI图像之一。
7.根据权利要求5或权利要求6所述的计算设备,其中所述可拆卸部分进一步包括:
用户输入设备;并且
其中处理器被布置为响应于经由所述用户输入设备而接收到的输入,选择并在所述电子纸显示器上显示所述重新渲染的UI图像之一。
8.根据权利要求2至权利要求7中任一项所述的计算设备,其中所述平台软件进一步包括设备可执行指令,所述设备可执行指令在由所述处理器执行时,使得所述处理器:
生成信号以触发由所述UI转换模块对修改的所述UI元素树的生成。
9.根据权利要求8所述的计算设备,其中所述信号响应于用户输入或响应于状态上的改变或所述计算设备的状态上的预期改变而被生成。
10.根据权利要求1所述的计算设备,其中所述软件包括编译器软件和所述UI转换模块,所述UI转换模块附加地包括设备可执行指令,所述设备可执行指令在由所述处理器执行时,使得所述处理器:
存储修改的所述UI元素树以供在渲染来自所述应用的数据中使用,以用于在电子纸显示器上显示。
11.根据前述权利要求中任一项所述的计算设备,其中所述UI转换模块进一步包括设备可执行指令,所述设备可执行指令在由所述处理器执行时,使得所述处理器:
检查所渲染的所述数据是否满足目标渲染保真度;以及
响应于确定所渲染的所述数据不满足所述目标渲染保真度,进一步修改用于所述应用的所述UI元素树,并且使用进一步修改的所述UI元素树来重新渲染来自所述应用的所述数据。
12.根据前述权利要求中任一项所述的计算设备,其中修改的所述UI元素树基于所述电子纸显示器的特性而被生成。
13.根据权利要求12所述的计算设备,其中所述特性包括以下的一项或多项:动态范围、分辨率、更新速率、宽高比和输入感测能力。
14.根据前述权利要求中任一项所述的计算设备,其中修改的所述UI元素树通过以下的一项或多项来被生成:
移除所述电子纸显示器不支持的至少一个UI元素;
根据由所述电子纸显示器提供的交互性来重新设计至少一个UI元素;
扩展所述应用的用来显示的视图以移除滚动条,并且使用分页策略从扩展的所述视图创建重新渲染的多个UI图像;以及
捕获来自所述应用的可导航数据集,并且使用分页策略从所捕获的所述数据创建重新渲染的多个UI图像。
15.一种生成数据以供在电子纸显示器上显示的方法,所述数据与不适合于与电子纸显示器一起工作的应用相关,并且所述方法包括:
访问用于所述应用的UI元素树;
通过移除和/或重新设计至少一个UI元素来为所述应用生成修改的UI元素树;以及
使用修改的所述UI元素树渲染来自所述应用的数据以供在所述电子纸显示器上显示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/089,268 | 2016-04-01 | ||
US15/089,268 US10606934B2 (en) | 2016-04-01 | 2016-04-01 | Generation of a modified UI element tree |
PCT/US2017/024642 WO2017172848A1 (en) | 2016-04-01 | 2017-03-29 | Generation of a modified ui element tree |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109074271A true CN109074271A (zh) | 2018-12-21 |
Family
ID=58545216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780021892.5A Pending CN109074271A (zh) | 2016-04-01 | 2017-03-29 | 修改的ui元素树的生成 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10606934B2 (zh) |
EP (1) | EP3436932B1 (zh) |
CN (1) | CN109074271A (zh) |
WO (1) | WO2017172848A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861481A (zh) * | 2021-01-29 | 2021-05-28 | 北京尚医智信健康管理有限公司 | 分页处理的方法、装置、电子设备及计算机可读存储介质 |
CN114443195A (zh) * | 2022-01-14 | 2022-05-06 | 阳光保险集团股份有限公司 | 一种页面内容的分页显示方法和分页显示装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542568A (zh) * | 2018-11-23 | 2019-03-29 | 苏州思必驰信息科技有限公司 | 用于Android系统设备的屏幕适配方法及系统 |
WO2021041287A1 (en) * | 2019-08-23 | 2021-03-04 | Satellite Displays Inc. | Reconfigurable interaction badge |
CN111258471B (zh) * | 2020-01-13 | 2021-05-25 | 维沃移动通信有限公司 | 一种对象的显示方法及电子设备 |
CN115049755A (zh) * | 2021-03-09 | 2022-09-13 | 京东方科技集团股份有限公司 | 一种图片生成方法、装置、设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030070061A1 (en) * | 2001-09-28 | 2003-04-10 | Wong Hoi Lee Candy | Transformation of platform specific graphical user interface widgets migrated between heterogeneous device platforms |
US20080086778A1 (en) * | 2006-10-06 | 2008-04-10 | Canon Kabushiki Kaisha | Image processing apparatus, control method of the apparatus, computer program for implementing the method, and storage medium |
US20080235634A1 (en) * | 2007-03-22 | 2008-09-25 | Arinc Incorporated | Electronic paper device for use by aircraft pilots and crew |
CN101997976A (zh) * | 2009-08-17 | 2011-03-30 | Lg电子株式会社 | 移动终端及其显示控制方法 |
CN104423805A (zh) * | 2013-08-29 | 2015-03-18 | 三星电子株式会社 | 用户终端装置及其控制方法以及扩展的显示系统 |
US20160070682A1 (en) * | 2014-09-04 | 2016-03-10 | Home Box Office, Inc. | Platform abstraction of graphics |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7012600B2 (en) | 1999-04-30 | 2006-03-14 | E Ink Corporation | Methods for driving bistable electro-optic displays, and apparatus for use therein |
US7519899B2 (en) | 2004-05-03 | 2009-04-14 | Microsoft Corporation | Planar mapping of graphical elements |
US7581034B2 (en) | 2004-11-23 | 2009-08-25 | Microsoft Corporation | Sending notifications to auxiliary displays |
US7711868B2 (en) | 2004-11-23 | 2010-05-04 | Microsoft Corporation | Waking a main computer system to pre-fetch data for an auxiliary computing device |
KR100772875B1 (ko) * | 2006-05-22 | 2007-11-02 | 삼성전자주식회사 | 사용자 선호도에 따른 사용자 인터페이스를 설정하는 장치및 그 방법 |
US20070279350A1 (en) | 2006-06-02 | 2007-12-06 | Kent Displays Incorporated | Method and apparatus for driving bistable liquid crystal display |
US8629814B2 (en) | 2006-09-14 | 2014-01-14 | Quickbiz Holdings Limited | Controlling complementary bistable and refresh-based displays |
US7990338B2 (en) | 2006-09-14 | 2011-08-02 | Spring Design Co., Ltd | Electronic devices having complementary dual displays |
WO2008084549A1 (ja) | 2007-01-12 | 2008-07-17 | Fujitsu Limited | 表示装置 |
US8510577B2 (en) | 2008-07-28 | 2013-08-13 | Microsoft Corporation | Reducing power consumption by offloading applications |
US8760363B2 (en) | 2009-10-01 | 2014-06-24 | Apple Inc. | Systems and methods for switching between an electronic paper display and a video display |
US20110084979A1 (en) | 2009-10-09 | 2011-04-14 | Firstpaper Llc | Integrated electronic paper display controller |
US8577887B2 (en) * | 2009-12-16 | 2013-11-05 | Hewlett-Packard Development Company, L.P. | Content grouping systems and methods |
US8898398B2 (en) | 2010-03-09 | 2014-11-25 | Microsoft Corporation | Dual-mode and/or dual-display shared resource computing with user-specific caches |
US20110242007A1 (en) * | 2010-04-01 | 2011-10-06 | Gray Theodore W | E-Book with User-Manipulatable Graphical Objects |
US8823722B1 (en) | 2010-08-20 | 2014-09-02 | Marvell International Ltd. | SOC with integrated bistable display controller |
KR20130135282A (ko) | 2010-12-10 | 2013-12-10 | 요타 디바이시스 아이피알 리미티드 | 이용자 인터페이스를 갖는 모바일 디바이스 |
US9727293B1 (en) * | 2010-12-21 | 2017-08-08 | Amazon Technologies, Inc. | Method and apparatus for paginating electronic documents |
US9864612B2 (en) | 2010-12-23 | 2018-01-09 | Microsoft Technology Licensing, Llc | Techniques to customize a user interface for different displays |
US8539338B2 (en) * | 2011-04-11 | 2013-09-17 | Microsoft Corporation | Cooperative rendering cache for mobile browser |
US20150015573A1 (en) | 2012-02-23 | 2015-01-15 | Robert Burtzlaff | Visually adaptive surfaces |
US9245492B2 (en) | 2012-06-28 | 2016-01-26 | Intermec Ip Corp. | Dual screen display for mobile computing device |
GB2504944A (en) * | 2012-08-13 | 2014-02-19 | Plastic Logic Ltd | Wrapable flexible display for attaching to a smartphone etc. with control of display contents following display form. |
WO2014088473A1 (en) | 2012-12-07 | 2014-06-12 | Yota Devices Ipr Ltd | Releasing notification data towards a device driver |
KR101978218B1 (ko) | 2013-02-27 | 2019-05-14 | 엘지전자 주식회사 | 양면 디스플레이 유닛을 포함하는 이동 단말기 및 제어 방법 |
US20140340282A1 (en) | 2013-05-15 | 2014-11-20 | Samsung Electronics Co., Ltd. | Soc for supporting multiple display screens and configuration method thereof |
US9367280B2 (en) | 2013-08-06 | 2016-06-14 | Intel Corporation | Dual screen visibility with virtual transparency |
US9158135B1 (en) | 2013-09-25 | 2015-10-13 | Amazon Technologies, Inc. | Hinged ancillary displays |
US9564099B2 (en) | 2014-03-10 | 2017-02-07 | Lumotune Inc. | Bistable display systems and methods |
CN203896400U (zh) | 2014-06-18 | 2014-10-22 | 京东方科技集团股份有限公司 | 显示设备副屏结构和双面显示手机 |
KR20160026328A (ko) * | 2014-08-29 | 2016-03-09 | 삼성전자주식회사 | 웹 페이지에서 영역 선택을 위한 방법 및 그 전자 장치 |
US9740791B1 (en) * | 2014-09-23 | 2017-08-22 | Amazon Technologies, Inc. | Browser as a service |
US20170315971A1 (en) * | 2014-10-06 | 2017-11-02 | Symmetric Co., Ltd. | Program for displaying webpage, terminal device, and server device |
US10180741B2 (en) | 2015-05-27 | 2019-01-15 | Samsung Electronics Co., Ltd. | Electronic apparatus including emissive display and transparent display and method of controlling same |
KR20170067260A (ko) * | 2015-12-08 | 2017-06-16 | 삼성전자주식회사 | 웹 페이지 운용 방법 및 이를 지원하는 전자 장치 |
-
2016
- 2016-04-01 US US15/089,268 patent/US10606934B2/en active Active
-
2017
- 2017-03-29 WO PCT/US2017/024642 patent/WO2017172848A1/en active Application Filing
- 2017-03-29 CN CN201780021892.5A patent/CN109074271A/zh active Pending
- 2017-03-29 EP EP17717288.9A patent/EP3436932B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030070061A1 (en) * | 2001-09-28 | 2003-04-10 | Wong Hoi Lee Candy | Transformation of platform specific graphical user interface widgets migrated between heterogeneous device platforms |
US20080086778A1 (en) * | 2006-10-06 | 2008-04-10 | Canon Kabushiki Kaisha | Image processing apparatus, control method of the apparatus, computer program for implementing the method, and storage medium |
US20080235634A1 (en) * | 2007-03-22 | 2008-09-25 | Arinc Incorporated | Electronic paper device for use by aircraft pilots and crew |
CN101997976A (zh) * | 2009-08-17 | 2011-03-30 | Lg电子株式会社 | 移动终端及其显示控制方法 |
CN104423805A (zh) * | 2013-08-29 | 2015-03-18 | 三星电子株式会社 | 用户终端装置及其控制方法以及扩展的显示系统 |
US20160070682A1 (en) * | 2014-09-04 | 2016-03-10 | Home Box Office, Inc. | Platform abstraction of graphics |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112861481A (zh) * | 2021-01-29 | 2021-05-28 | 北京尚医智信健康管理有限公司 | 分页处理的方法、装置、电子设备及计算机可读存储介质 |
CN112861481B (zh) * | 2021-01-29 | 2024-01-30 | 北京尚医智信健康管理有限公司 | 分页处理的方法、装置、电子设备及计算机可读存储介质 |
CN114443195A (zh) * | 2022-01-14 | 2022-05-06 | 阳光保险集团股份有限公司 | 一种页面内容的分页显示方法和分页显示装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3436932B1 (en) | 2023-11-22 |
EP3436932A1 (en) | 2019-02-06 |
WO2017172848A1 (en) | 2017-10-05 |
US10606934B2 (en) | 2020-03-31 |
US20170286371A1 (en) | 2017-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074271A (zh) | 修改的ui元素树的生成 | |
CN115334198B (zh) | 电子设备 | |
CN107924278B (zh) | 用于弹奏虚拟乐器的方法和用于支持其的电子设备 | |
CN106233240B (zh) | 交互式显示器上的文本输入 | |
US9696899B2 (en) | Multi display apparatus and multi display method | |
CN104115105B (zh) | 电子纸显示器上的逐步页过渡 | |
CN105009194B (zh) | 操作系统驻留式显示模块参数选择系统 | |
US10936013B2 (en) | Electronic device with transparent display | |
CN110476138A (zh) | 显示器的低功率驱动方法和用于执行该方法的电子设备 | |
CN109313519A (zh) | 包括力传感器的电子设备 | |
KR20180081320A (ko) | 전자 장치 및 생체 센서를 위한 디스플레이 제어 방법 | |
CN106062705A (zh) | 跨平台渲染引擎 | |
CN105389001A (zh) | 用于提供虚拟现实服务的方法及装置 | |
US20160209968A1 (en) | Mapping touch inputs to a user input module | |
KR20140036850A (ko) | 플렉서블 장치 및 그의 제어 방법 | |
CN108139816A (zh) | 双显示器设备 | |
KR20170039379A (ko) | 전자 장치 및 이의 제어 방법 | |
TW201643687A (zh) | 擴增用於電子紙顯示裝置的內容 | |
CN107533426A (zh) | 模拟使用数字标志器、触控输入及低功率反射式显示器挂图使用之方法及设备 | |
TW201643859A (zh) | 提供內容至電子紙顯示裝置 | |
CN104769523B (zh) | 交互式显示 | |
CN108351758A (zh) | 用于显示多画面的电子设备及其控制方法 | |
CN109074209A (zh) | 用户界面的细节窗格 | |
Lamberti et al. | Extensible GUIs for remote application control on mobile devices | |
KR20210092071A (ko) | 전자 장치 및 그 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |