用于手势操作的应用编程接口的制作方法

文档序号:6368800阅读:161来源:国知局

专利名称::用于手势操作的应用编程接口的制作方法
技术领域
:本发明涉及提供手势(gesture)操作的应用编程接ロ。计算机程序列表本专利文献公开内容的一部分包含受到版权保护的材料。版权拥有者不反对任何人以本专利文献或专利公开在专利商标局文档或记录中出现的形式对其进行复制,但是在其他任何方面保留所有的版权。申请人:在此提交所附的附录A中所包括的计算机程序列表。
背景技术
:API是计算机系统或程序库提供的源代码接ロ,用于支持来自软件应用的服务请求。API在含义方面解释为能够在建立应用时被解释或编译的编程语言,而不是对数据如何被布置在存储器中进行的显式低层描述。提供了由API所描述的功能的软件被称为API的实现形式。各种装置(例如电子装置、计算系统、便携式装置以及手持式装置)具有软件应用。API在软件应用与用户接ロ软件之间作为接ロ,以给装置的用户提供特定的特性和操作。用户可能希望对于装置的显示器有特定的操作,例如滚动(scrolling)、选择、手势和动画操作。滚动是使内容(例如文本、图画或图像)的方向性(例如水平或垂直)展示形式在屏幕或显示窗口上进行滑动的动作。在通常的图形用户接口中,滚动是在滚动条的帮助下或者利用键盘快捷方式(通常是箭头键)来进行的。手势是具有两个或更多个输入点的用户输入类型。动画操作包括在给定的时间段内改变内容。各种装置可能具有有限的显示器尺寸、用户接ロ、软件、API接口和/或处理能力,这限制了装置的易用性。装置的用户接ロ实现API以提供所请求的功能和特性。这些用户接ロ可能难以解释各种用户输入并提供与这些用户输入相关的所需功能。
发明内容本发明的至少某些实施例包括下述环境中的一个或多个应用编程接ロ该环境具有与软件应用进行交互的用户接ロ软件。各种函数调用或消息通过这些应用编程接ロ而在用户接ロ软件与软件应用之间传送。示例性的应用编程接ロ传送函数调用以实现装置的滚动、手势和动画操作。本发明的至少某些实施例包括具有与软件应用进行交互的用户接ロ软件的环境。该环境中通过应用编程接ロ(API)而工作的方法包括传送设定弹回调用。该方法还包括设定最大和最小弹回值中至少ー者。设定弹回调用造成在滚动结束时,基于超过滚动区域边缘的区域是否在显示区域中可见,而使滚动区域沿与滚动相反的方向弹回。本发明的至少某些实施例包括具有与软件应用进行交互的用户接ロ软件的环境。该环境中通过应用编程接ロ(API)而工作的方法包括传送拉伸调用。当滚动区域超过了显示边缘时,滚动区域在显示区域内拉伸ー个预定的最大位移。该方法还包括传送边缘拉伸调用,以设定用于显示器至少ー个边缘(例如上下边缘、左右边缘)的位移值。本发明的至少某些实施例包括具有与软件应用进行交互的用户接ロ软件的环境,以提供用于装置的显示器的手势操作。用于在该环境中通过用户编程接ロ(API)进行操作的方法包括传送缩放变换调用。手势操作包括响应于具有两个或更多个输入点的用户输入而执行缩放变换,例如放大或缩小。手势操作还包括响应于具有两个或更多个输入点的用户输入而执行旋转变换以使图像或视图旋转。本发明的至少某些实施例包括用于给装置的显示器执行动画的方法。该方法包括开始至少ー个动画。该方法还包括判定各个动画的进展。该方法还包括基于单ー的定时器而完成各个动画。该单ー的定时器可以基于显示硬件的重绘间隔。还描述了执行前述方法中ー种或多种的各种装置以及在由处理系统执行时使处理系统执行这些方法的机器可读介质。还描述了其他方法、装置和机器可读介质。本发明是通过參照附图来说明的,其中图I是用于对数据处理装置的用户输入进行响应的方法的流程图;图2以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图3以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图4的示意示了具有触摸敏感显示器408的便携式电子装置400的用户接ロ的一种实施例;图5A-图5C图示了具有触摸敏感显示器的便携式电子装置400的用户接ロ的至少一些实施例;图6A-图6D图示了根据ー些实施例,将条目的列表滚动至列表终点,在该终点处超过该终点的区域被显示,然后列表被沿相反的方向滚动直到超过该终点的区域不再被显示;图7以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图8图示了根据本发明的某些教导,用于将装置显示器的滚动锁定在水平或垂直方向的第一和第二滚动角度;图9以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图10以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图11以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图12以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图13以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图14以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图15图示了ー种装置的显示器,其具有视图的缩放变换;图16A-图16C图示了ー种装置的显示器,其带有具有第一和第二缩放因子的视图;图17以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图18以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图19是用于对装置的显示器上显示的视图进行动画的方法的流程图;图20是用于对装置的显示器上显示的视图进行动画的方法的流程图;图21以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节;图22A和图22B图不了对装直的显不器的窗ロ的调整大小进彳丁同步;图23图示了用于对数据处理装置的显示器上显示的应用的视图的拥有者进行切换的方法;图24图示了用于对装置的显示器上显示的应用的视图进行内存管理的方法;图25A和图25B图示了具有层的层级的数据结构,层与视图相关联;图26图示了用于将用户接ロ的媒体和非媒体内容进行合成以在装置上显示的方法;图27图示了数据结构或层次树,其具有层的层级;图28是根据本发明ー种实施例的装置的立体图;图29是根据本发明ー种实施例的装置的立体图;图30A和图30B是根据本发明ー种实施例的无线装置的立体图;图31是可以实施根据本发明的实施例的系统的框图;图32示出了根据本发明一种实施例的装置的另ー种示例;图33A是根据本发明ー种实施例处于第一构造(例如在膝上型构造中)的装置的立体图;图33B是根据本发明的一种实施例处于第二构造(例如过渡构造)的图33A的装置的立体图;图33C是根据本发明ー种实施例处于第三构造(例如平板构造)的图33A的装置的立体图;图34以流程图的形式图示了根据本发明某些教导的应用编程接ロ的细节。具体实施例方式下面将參照下述细节对本发明的各种实施例和各个方面进行说明,附图将图示各种实施例。下面的说明和附图是对本发明的示例性说明,而不应看作对本发明的限制。描述了大量具体细节以提供对本发明各种实施例的详尽理解。但是在某些情况下,将不对公知的或传统的细节进行描述,以对本发明的实施例提供简要的说明。下文具体实施方式的某些部分是以算法的形式展现的,这些算法包括对于计算机存储器内储存的数据进行的操作。算法大体上是指造成所需结果的操作的自治序列。这些操作通常需要或涉及到物理操纵或物理量。通常(但不是必然),这些量采取电信号或磁信号的形式,这些信号能够被储存、传输、合并、比较和以其他方式受到操纵。业已证明,有时(主要是为了通常使用的原因),将这些信号称为位、值、元素、符号、字符、项、数等等是方便的。但是应当牢记,这些以及类似的所有术语是与适当的物理量相关联的,并且仅仅是应用于这些量的方便的标号。除非下文中明显地以其他形式另有说明外,整个说明书中使用诸如“处理”或“计算”或“判定”或“显示”等术语所进行的说明可以指数据处理系统或类似电子装置进行的动作和处理,所述动作和处理操纵计算机的寄存器和存储器内以物理(电子)量表示的数据并将其转换成该系统的存储器或寄存器(或其他这类信息存储、传输或显示的装置)内类似地以物理量的形式表示的其他数据。本发明可以涉及用于执行本申请中所述操作中的ー项或多项操作的设备。该设备可以为所需的目的而专门构造,或者也可以包括通用计算机,所述通用计算机由储存在该计算机中的计算机程序选择性地激活(activate)或重构(reconfigure)。这样的计算机程序可以被储存在机器(例如计算机)可读介质中或者存储在适于储存电子指令井分、别耦联到总线的任何类型介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、光盘、CD-ROM、和磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、磁性卡片或光学卡片。机器可读介质包括用于以由机器(例如计算机)可读的形式储存或传输信息的任何机构。例如,机器可读介质包括只读存储器(ROM);随机存取存储器(RAM)、磁盘储存介质、光学储存介质、闪存装置、以电的、光的、声的或其他的形式传播的信号(例如载波、红外信号、数字信号等)等。本发明的至少某些实施例包括下述环境中一个或多个应用编程接ロ该环境具有与软件应用进行交互的用户接ロ软件。各种函数调用(functioncall)或消息通过应用编程接ロ而在用户接ロ软件与软件应用之间进行传输。传输这些函数调用或消息可以包括发起(issue)、产生(initiate)、引起(invoke)或接收这些函数调用或消息。示例性应用编程接ロ传输函数调用,用于给具有显示区域的装置实现滚动、手势和动画操作。API还可以实现具有參数、变量或指针的函数。API可以接收所公开的參数或其他的參数组合。除了所公开的API之外,其他API也可以单独地或组合地执行与所公开的API类似的功能。显示区域是窗ロ的形式。窗ロ是这样的显示区域其可以不具有边界,并可以是显示器的整个显示区域或范围。在某些实施例中,显示区域可以具有至少ー个窗口和/或至少ー个视图(例如网页、文本或图像内容)。窗ロ可以具有至少ー个视图。所公开的方法、系统和设备可以实现为具有显示区域、窗口和/或视图。本发明的至少某些实施例包括用于对装置的显示器进行滚动的滚动操作。滚动操作包括当滚动完成时使滚动区域沿与滚动相反的方向弹回(bounce)、当滚动区域超出了显示边界时将滚动区域拉伸(rubberband)—段预定的最大位移、以及设定将滚动锁定在水平或垂直方向的滚动角度。本发明的至少某些实施例包括用于装置显示器的手势操作。手势操作包括响应于具有两个或更多个输入点的用户输入而执行缩放变换(例如放大或缩小)。手势操作还包括响应于具有两个或更多个输入点的用户输入而执行旋转变换来使图像或视图旋转。本发明的至少某些实施例包括用于给装置的显示器执行动画的方法。该方法包括启动至少ー个动画。该方法还包括确定姆个动画的进展(progress)。该方法还包括根据单一的定时器完成每个动画。该单ー的定时器可以基于显示硬件的重绘间隔。本发明的至少某些实施例可以是数字媒体播放器(例如便携式音乐和/或视频媒体播放器)的一部分,该数字媒体播放器可以包括展现媒体的媒体处理系统、储存媒体的存储装置,并且还可以包括与天线系统和媒体处理系统耦联的射频(RF)收发器(例如用于蜂窝电话的RF收发器)。在某些实施例中,储存在远程储存装置上的媒体可以通过RF收发器传输到媒体播放器。媒体例如可以是音乐或其他音频、静止图像或运动图像中的一者或多者。便携式媒体播放器可以包括媒体选择装置,例如来自Cupertino,CA的AppleComputer,Inc.的iPod或iPodNano上的点击轮输入装置、触摸屏输入装置、按钮装置、可动指点输入装置或其他输入装置。媒体选择装置可以用来对储存在储存装置和/或远程储存装置上的媒体进行选择。至少在某些实施例中,便携式媒体播放器可以包括显示装置,该显示装置耦联到媒体处理系统以显示被通过输入装置选择并被展现的媒体的标题或其他标志物,所述展现是通过扬声器或(ー个或多个)耳机进行、在该显示装置上进行或既在该显示装置上又通过扬声器或(ー个或多个)耳机进行的。在某些实施例中,显示装置和输入装置是一体的,而在其他实施例中,显示装置和输入装置是分开的装置。题为“AutomatedResponsetoandSensingofUserActivityinDevice”的美国专利申请No.11/586,862以及美国专利申请公开No.2003/0095096和No.2004/0224638中描述了便携式媒体播放器的示例,这些文献通过引用方式结合在本申请中。这里所述发明的实施例可以是其他类型数据处理系统的一部分,这些数据处理系统例如娱乐系统或个人数字助理(PDA)、通用计算机系统、专用计算机系统、嵌入其他装置中的嵌入式装置、不包含媒体播放器的蜂窝电话、多点触摸平板装置、其他多点触摸装置或者将这些装置的各方面或功能相结合的装置(例如将PDA、娱乐系统和蜂窝电话结合在一个装置中的媒体播放器,例如iPod)。在本发明中,电子装置和消费装置是装置的典型示例。图I是用于对装置的用户输入进行响应的方法的流程图。该方法100包括在方框102处接收用户输入。用户输入的形式可以是输入键、按钮、轮、触摸或用于与该装置进行交互的其他方式。该方法100还包括在方框104处响应于该用户输入而创建事件対象。该方法100还包括在方框106处判定该事件对象是否引起滚动或手势操作。例如,在装置的显示器上拖动一端距离的単一触摸可以被解释为滚动操作。在一种实施例中,两个或更多个手指对显示器的触摸可以被解释为手势操作。在某些实施例中,判定事件对象是否引起滚动或手势操作是根据对于给定的时间长度对拖动用户输入的接收而进行的。该方法100还包括在方框108处基于引起滚动或手势操作而发起至少ー个滚动或手势调用。该方法100还包括在方框110处,基于停在预定位置处的滚动相对于用户输入的滚动量,通过使具有与该事件对象相关的视图(例如网页、文本或图像内容)的窗ロ滚动,来响应至少ー个滚动调用(如果已发起)。滚动可以持续到相对于从用户接收到的最后的输入达到预定位置为止。方法100还包括在方框112处,基于以用户输入的形式对多个输入点的接收,通过改变与该事件对象相关的视图,来响应至少ー个手势调用(如果已发起)。在本发明的某些实施例中,滚动操作包括将滚动指示器附着到显示器的内容边缘。或者,滚动指示器可以被附着到显示边缘。在某些实施例中,鼠标/手指按下的形式的用户输入使滚动指示器显示在滚动区域的显示边缘、内容边缘或窗ロ边缘处。如果随后检测到鼠标/手指抬起,则滚动指示器从滚动区域的显示边缘、内容边缘或窗ロ边缘淡出。在本发明的某些实施例中,手势操作包括基于以用户输入的形式对多个输入点的接收,通过使与事件对象相关的视图旋转,来响应至少ー个手势调用(如果已发起)。手势操作可以包括基于对用户输入的接收,通过放大或縮小来对与事件对象相关的视图进行缩放。在某些实施例中,装置包括具有多个视图或窗ロ的显·示区域。每个窗ロ可以具有包括主视图(superview)和子视图(subview)在内的多个视图。必须确定哪个窗ロ、视图、主视图或子视图被鼠标抬起、鼠标按下或拖动等形式的用户输入所接触。API可以设定用于进行这种判定的各种模式。在一种实施例中,“通过”模式(passmode)向最接近的子视图发送鼠标按下、鼠标抬起和拖动输入。在另ー种实施例中,“拖动时截获”模式(interceptondragmode)在鼠标抬起和按下的输入被发送到子视图的同时向主视图发送拖动输入。在另ー种实施例中,“截获”模式(interceptmode)向主视图发送全部的拖动、鼠标抬起和按下输入。主视图可以是作为视图软件的子集(subclass)而工作的滚动器(scroller)软件。子视图可以是作为用户接ロ软件的子集而工作的视图软件。根据本发明的某些教导,图2以流程图的形式图示了应用编程接ロ的细节。该应用编程接ロ工作于下述环境中以提供弹回操作该环境具有与软件应用进行交互的用户接ロ软件。用于提供弹回操作的方法200包括在方框202处传送设定弹回(setbounce)调用。方法200还包括在方框204处设定最大和最小弹回值中的至少ー者。最大和最小弹回值可以与已接收了用户输入的窗ロ的至少ー个边缘相关联。方法200还包括在方框206处,在滚动结束时,基于超过滚动区域边缘的区域是否在显示区域中可见,而使滚动区域沿与滚动相反的方向弹回。滚动区域可以是内容区域。在本发明的某些实施例中,发送固定弹回调用可以是下列任一者发起、产生、弓丨起或接收该固定弹回调用。根据本发明的某些教导,图3以流程图的形式图示了应用编程接ロ的细节。该引用编程接ロ工作于下述环境中以提供拉伸操作该环境具有与软件应用进行交互的用户接ロ软件。用于提供拉伸操作的方法300包括在方框302处传送拉伸调用,以造成对显示器内显示的滚动区域进行拉伸。方法300还包括在方框304处传送边缘拉伸调用以给显示器的至少ー个边缘设定位移值。在某些实施例中,给上下边缘、左右边缘或全部边缘设定位移值。基于滚动,当滚动区域超过了装置显示器的显示边缘时,根据方法300对滚动区域进行的拉伸进行预定的最大位移值。如果用户对显示器的内容进行滚动,使得超过该内容的边缘的区域在显示器中可见,则该位移值对该内容外部的区域的最大量进行限制。在滚动结束时,该内容滑动回去,使得该内容外部的区域不再在显示器上可见。在本发明的某些实施例中,传输拉伸调用是下列任一者发起、产生、引起或接收该拉伸调用。图4的示意示了具有触摸敏感显示器408的便携式电子装置400的用户接ロ的一种实施例。显不器408可以包括窗ロ410。窗ロ410可以包括一个或多个显不对象,例如信息对象412-1至412-4。在一种示例性实施例中,信息对象412可以对应于条目列表中的一个或多个个体的联系人(contact)信息。显示对象可以响应于对与显示器的接触点的运动414(例如与用户的ー个或多个手指416相关联,图4中的手指没有按比例绘制)进行的检测或判定而运动。在某些实施例中,响应于对接触点的加速运动进行的检测或判定,显示对象的运动可以被加速。尽管实施例400包括一个窗ロ410,但是在其他实施例中可以有两个或更多个显示窗ロ。另外,尽管实施例400图示了沿特定方向的运动414,但是在其他实施例中,显示对象的运动可以响应于沿ー个或多个其他方向的运动414或者响应于ー个标量(即被确定的或被检测的与方向无关的运动)。图5A-图5C图示了将装置上条目的列表滚动到列表的終点,在该位置,列表末端处的ー个或多个显示条目平滑地从显示器的末端弹回,翻转方向,然后可选地停止。图5A的示意示了具有触摸敏感显示器的便携式电子装置400的用户接ロ的一种实施例。一个或多个显示对象(例如信息对象412-1)可以与条目列表的終点514(是滚动区域的边缘)有一段距离512-1,并可以在该列表被滚动的时候以速度510-1运动。注意,終点514是与显示对象相关的虚拟边界,这和与窗ロ410和/或显示器408相关的物理边界不同。如图5B所示,当ー个或多个显示对象(例如信息对象412-1)到达终点514或与之相交时,与滚动相对应的运动可以停止,即,滚动速度可以在瞬时为零。如图5C所示,这ー个或多个显示对象(例如信息412-1)可以随后翻转方向。在与終点514相交之后,信息对象412-1可以具有速度510-2并可以离终点514—段距离512-2。在某些实施例中,当距离512-2等于距离512-1时,速度510-2的大小可以小于速度510-1的大小,即在滚动列表到达其终点并在该处“弹回”之后,所述ー个或多个显示对象的运动受到阻尼(damp)。在本发明的至少某些实施例中,方法200执行图5A-图5C所述的弹回操作。方框202处传送的弹回调用判定是否允许(enable)弹回操作。最大和最小弹回值确定滚动区域沿与滚动相反的方向的弹回量。图6A-图6D图示了根据本发明的某些实施例,将条目列表滚动到列表的終点,该终点处超过该终点的区域被显示,随后该列表被沿相反方向滚动,直到超过该终点的区域不再被显示。图6A-图6D的示例中以电子邮件消息作为所列条目来图示了方法300的拉イ申操作。图6A-图6D图示了根据某些实施例,用于对收件箱(inbox)进行管理的示例性用户接ロ3500A。类似的用户接ロ可以用来显示和管理其他邮箱(例如草稿的、已发送的、垃圾的、个人的等)。另外,也可以有其他类型的列表,包括但不限于即时消息会话、常用电话号码、联系人信息、标签、电子邮件文件夹、电子邮件地址、实际地址、铃声或相册名称的列表。如果电子邮件的列表填充了比所分配的屏幕区域更多的地方,则用户可以在触摸屏上用垂直向上和/或垂直向下刷(swipe)的手势对这些电子邮件进行滚动。在图6A的示例中,电子邮件列表的一部分被显示在屏幕区域中,包括显示在顶部的来自BruceWalker的电子邮件3530以及显示在底部的来自KimBrook的电子邮件3532。用户执行垂直向下的刷手势3514以向列表的顶部滚动。垂直向下的手势3514不需要精确地垂直’大体上垂直的手势就足够了。在某些实施例中,与精确垂直相差预定角度范围内的手势造成垂直滚动。作为对垂直向下的手势3514进行检测的结果,在图6B中,所显示的电子邮件已经向下移位,使得此前显示在底部的来自KimBrook的电子邮件3532不再被显示,此前显示在顶部的来自BruceWalker的电子邮件3530现在成为从顶部数的第二个,而图6A中未显示的、来自AaronJones的电子邮件3534现在被显示在列表的顶部。在该示例中,来自AaronJones的电子邮件3534是列表中的第一个电子邮件,因此是列表的终点。在到达该电子邮件3534时,响应于对垂直向下的手势3514的持续检测,该第一个电子邮件3534上方(即超过了该列表的終点)的区域3536(图6C)被显示。在某些实施例中,超过了列表終点的被显示的区域与列表的背景在视觉上截然不同。在图6C中,区域3536以及电子邮件(即电子邮件3534和3530)的背景都是白色,因此在视觉上截然不同。一旦完成了垂直向下的手势3514,使得触摸屏上或其附近不再检测到相应的对象,则列表被沿相反的方向滚动,直到该区域3536不再被显示。图6D图示了沿相反方向的这种滚动的结果,现在来自AaronJones的电子邮件3534被显示在分配给该列表的屏幕区域的顶部,而区域3536不被显示。在图6A-图6D的示例中,垂直向下的手势使得列表中第一个条目之外的区域被显示。如图3所示,在方框304对于上下边缘,或者在方框306处对窗ロ的全部边缘,设定用于预定最大位移的值(例如对列表中第一个条目之外的区域进行显示)。类似地,如果在列表已经被滚动到最后ー个条目时垂直向上的手指在继续,则垂直向上的手势可以使得列表中最后ー个条目之外的区域被显示。与第一个条目类似,该最后ー个条目可以被看作是列表的終点。如上所述,手势不需要精确垂直以造成垂直滚动;与完全垂直相差预定角度范围内的手势就足够了。根据本发明的某些教导,图7以流程图的形式图示了应用编程接ロ的细节。该应用编程接ロ工作于下述环境中以提供方向性滚动操作该环境具有与软件应用进行交互的用户接ロ软件。用于通过应用编程接ロ(API)工作的方法700包括在方框702传送方向性滚动角度调用,以判定是否允许方向性滚动。方法700还包括在方框704处传送方向性滚动角度调用,以设定滚动角度,所述滚动角度用于将滚动锁定在垂直方向或水平方向中至少ー者。该方法700还包括在方框706处,如果用户输入与水平方向形成的角度小于或等于第一滚动角度,则将滚动锁定在水平方向。该方法700还包括在方框708处,如果用户输入与垂直方向形成的角度小于或等于第二滚动角度,则将滚动锁定在垂直方向。在某些实施例中,以拖动的形式进行的用户输入与水平方向形成的角度小于第一滚动角度。在此情况下,用户可能希望沿水平方向滚动。滚动将被锁定在水平方向,直到用户输入超过了第一滚动角度。可以用第二滚动角度来将用户输入锁定在垂直方向。第二滚动角度可以被设定成等于第一滚动角度。图8图示了用于将装置显示器的滚动锁定在水平或垂直方向的第一和第二滚动角度。水平方向802和垂直方向804是相对于装置的窗ロ或显不器而言的。如方法700中所述,与水平方向802形成的角度小于或等于第一滚动角度806或808的用户输入(例如拖动运动)将把用户输入锁定在水平方向。类似地,与垂直方向804形成的角度小于或等于第二滚动角度810或812的用户输入将把用户输入锁定在垂直方向。第一和第二滚动角度可以设定成相同角度,也可以设定在不同角度。例如,第一和第二滚动角度可以被设定在25度。相对于水平或垂直方向小于或等于25度的用户输入将把滚动锁定在合适的方向。在某些实施例中,水平和垂直锁定角度可以部分地由内容的朝向(aspect)来确定。例如,瘦高页面(tallpage)形式的内容可以接收比水平锁定角度更大的垂直锁定角度。、根据本发明的某些教导,图9以流程图的形式图示了应用编程接ロ的细节。该应用编程接ロ工作于下述环境中以提供減速滚动操作该环境具有与软件应用进行交互的用户接ロ软件。用于提供減速滚动操作的方法900包括在方框902处传送減速滚动调用以设定用于拖动用户输入的減速因子。该方法900还包括在方框904处根据该拖动用户输入的速度以及该減速因子来将滚动减慢直到停止。在某些实施例中,拖动形式的用户输入引起特定时间长度的滚动操作。用户输入具有特定速度。通过将减速因子应用于拖动运动期间用户输入的速度,在用户输入停止之后,装置显示器的窗ロ或显示区域的滚动区域将停止滚动。根据本发明的某些教导,图10以流程图的形式图示了应用编程接ロ的细节。该用户编程接ロ工作于下述环境中以提供滚动滞后(hysteresis)操作该环境具有与软件应用进行交互的用户接ロ软件。用于提供滚动滞后操作的方法1000包括在方框1002处传送滚动滞后调用以判定用户输入是否引起滚动。该方法1000还包括在方框1004处设定用于对用户输入是否引起滚动进行判定的滞后值。在某些实施例中,在装置的显示器或显示器内的窗口上拖动特定距离的形式的用户输入引起滚动操作。滞后值确定了该特定距离,这个距离是在引起滚动操作之前,用户输入必须在显示器或窗口上拖动的距离。没有拖动该特定距离的用户输入将不会引起滚动操作,并且可以被认为是鼠标抬起或按下输入,或者其他类型的输入。根据本发明的某些教导,图11以流程图的形式图示了应用编程接ロ的细节。该应用编程接ロ工作于下述环境中以将滚动指示器附着到装置的滚动区域边缘或窗ロ边缘该环境具有与软件应用进行交互的用户接ロ软件。在某些实施例中,滚动区域边缘与内容边缘相关联。窗ロ或显示边缘可以与显示区域的边缘相关联。用于提供滚动指示器的方法1100包括在方框1102处传送滚动指示器调用以判定是否有至少ー个滚动指示器附着到滚动区域的边缘或窗ロ边缘。滚动指示器可以被显示在任何显示边缘、窗ロ边缘或滚动区域边缘上。该方法1100还包括在方框1104处根据该滚动指示器调用来可选地将至少ー个滚动指示器附着到滚动区域的边缘。或者,该方法1100还可以包括在方框1106处根据该滚动指示器调用来可选地将至少ー个滚动指示器附着到视图的窗ロ边缘。在某些实施例中,方法1100的这些操作可以被交替、更改、组合或删除。例如,方框1104可以被删除。类似地,方框1106可以从方法1100中删去。或者,方框1104和方框1106的次序可以被交換。具有本发明中已经讨论过的各种操作的其他方法也可以被交替、更改、重排、分解、组合或删除。在本发明的某些实施例中,传送滚动指示器调用是下列任一者发起、产生、引起或接收滚动指示器调用。例如,用户接ロ软件(例如软件包或库)可以从软件应用接收滚动指示器调用。根据本发明的某些教导,图12以流程图的形式图示了应用编程接ロ的细节。该应用编程接ロ工作于下述环境中以判定是否有无意的用户输入接触到装置显示器的视图该环境具有与软件应用进行交互的用户接ロ软件。该方法1200包括在方框1202处传送无意用户输入调用,以判定用户输入是否是无意的。该方法1200还包括在方框1204处根据对无意用户输入调用的判定而忽略该无意用户输入。在一种实施例中,无意用户输入调用包括拇指检测调用,以判定用户输入是否是无意的拇指行为。在本发明的某些实施例中,传送无意用户输入调用是下列任一者发起、产生、弓丨起或接收无意用户输入调用。手势API在应用与用户软件之间提供接ロ以处理手势。手势可以包括对视图、窗ロ或显示器的缩放、旋转或其他变化。掩码(mask)可以只允许特定的改变而限制或不允许其他的改变。所有类型的事件都通过图形构架进入该应用。这些事件被查询、分解(在必要时)、分派(dispatch)。如果这些事件是系统级事件(例如,应用应当被挂起、装置方向已经改变等等),则它们被引导至具有用户接ロ软件的类的实例(instance)的应用。如果这些事件是基于用户输入的手事件,则这些事件被引导至发生它们的窗ロ。窗ロ然后通过对实例的鼠标和手势方法进行调用,来将这些事件引导至合适的控制部分。接收了鼠标按下或鼠标输入函数的控制部分将继续得到将来的全部调用,直到手被抬起。如果检测到第ニ个手指,则引起手势方法或函数。这些函数可以包括开始、改变和结束手势调用。将来的全部改变手势调用将被发送到接收了开始手势的控制部分,直到该手势结束。根据本发明的某些教导,图13以流程图的形式图示了应用编程接ロ的细节。该应用编程接ロ工作于下述环境中以提供手势操作该环境具有与软件应用进行交互的用户接ロ软件。用于提供手势操作的方法1300包括在方框1302处传送处理手势(handlegesture)事件调用。该方法1300还包括在方框1304处响应于处理手势事件调用而传送手势变化调用。在某些实施例中,由装置的显示器以两个或更多个点的形式接收用户输入。装置的多点触摸驱动器接收该用户输入并将该事件包装成事件対象。窗ロ服务器接收该事件对象并判定该事件对象是否是手势事件対象。如果窗ロ服务器确定已经接收了手势事件对象,则在方框1302处,用户接ロ软件向与视图相关的软件应用发起或传送该处理手势调用。该软件应用确认已经接收到手势事件并将处理手势调用传递给用户接ロ软件的库。窗ロ服务器还将该手势事件对象与接收了该用户输入的视图相关联。在方框1304处,库通过响应于处理手势事件调用来传送手势变化调用,从而作出响应。在一种实施例中,与用户输入相关联的窗ロ或视图接收这种变化以执行手势事件。提供该视图的用户软件接收手势开始事件调用、手势变化事件调用、用于该视图的缩放设定、以及手势结束调用。这些手势调用接收手势事件的输入,该手势事件可以是具有类型(例如手事件、键盘事件、系统事件等)的基础(base)事件。与该应用相关联的委托(delegate)接收开始手势调用、手势已变化调用、以及手势已完成调用。在手势处理的运行时间期间,用户软件被动态地链接到该应用中。在某些实施例中,手势变化函数调用包含与手势有关的下列信息当前按下的手指的数目;最初按下的手指的数目;手的旋转;手的缩放;手的平移;内侧和最外的手指的位置;以及第一个手指的按压。在某些实施例中,可以如下地包括与各个手指按下有关的更多信息。手指的阶段(刚刚触摸、完全按压、正在抬起等);手指的位置;手指的接近度(触摸有多猛烈);手指的方向(卵形接触部分处于什么角度);长轴和短轴的长度;手指的速度;以及手指的卵形接触部分的偏心率(eccentricity)。手势事件对象可以是和弦(chord)事件对象,该和弦事件对象具有和弦数目(例、如与视图或显示器接触的手指的数目)、和弦开始事件、和弦变化事件、和弦结束事件。和弦变化事件可以包括缩放变换或旋转变换。根据本发明的某些教导,图14以流程图的形式图示了应用编程接ロ的细节。该应用编程接ロ工作于下述环境中以提供装置的显示器的显示区域、窗ロ或视图的缩放变换该环境具有与软件应用进行交互的用户接ロ软件。用于提供缩放变换的方法1400包括在方框1402处传送缩放变换调用,以确定对于与具有多个输入点的用户输入相关联的视图的缩放变换。该方法1400还包括在方框1404处传送缩放手势开始调用。该方法1400还包括在方框1406处传送缩放手势进展调用。该方法1400还包括在方框1408处传送缩放手势结束调用。在某些实施例中,两个或更多个输入点(例如手指)的形式的用户输入移近或移远,以引起手势事件,所述手势事件对与该用户输入相关联的视图执行缩放变换。缩放变换包括最小和最大缩放因子。图15图示了装置的显示器1502,其具有视图的缩放变换。视图1504(例如网页、文本或图像内容)具有第一缩放因子。与该视图1504相关联的用户输入(例如两个手指移远)被解释为从视图1504向视图1508进行放大的手势事件,所述视图1508具有的第二缩放因子超过了视图1516的最大缩放因子。快速返回(snapback)标志确定了在快速返回与视图1516相关联的最大缩放因子之前,上述放大是否可以超过最大缩放因子而达到视图1508。图16A图示了装置的显示器1604,其具有视图1616的第一缩放因子。与视图1614相关联的用户输入(例如两个手指1608和1610移近)被解释为从视图1614向视图1664进行放大的手势事件,所述视图1664具有如图16B所示的第二缩放因子。虚线区域1602和1650表示内容的全部区域,此时显示区域1604和1652中只显示了该内容。在执行从图16A向图16B的缩放变换时,手势事件的中心(对于图16A是中心1612,对于图16B是中心1660)相对于显示器1604保持在相同的位置。在变换过程中,滚动指示器1606收缩成滚动指示器1654,以表明由于放大操作,显示器1604上正在显示全部内容1650的更少部分。虚线区域1650比虚线区域1602大,以表明由于放大操作,内容的更多部分未被显示在图16B中的显不器1652上。在本发明的至少ー些实施例中,如图16C所示,用户希望将视图1670从缩放因子2x变化到缩放因子lx。第一组用户输入1672和1674向第二组用户输入1676和1678移动将使缩放因子从2x减小到lx。用户可能希望从2x缩到Ix而不必将用户输入在视图1670上移动很大距离。在具有与软件应用进行交互的用户接ロ软件的环境中,可以设定手势缩放变换标志以确定对于与具有多个输入点的用户输入相关联的视图进行的缩放变换。该缩放变换标志或者从当前缩放因子缩放到最小缩放因子,或者从当前缩放因子变换到最大缩放因子。例如,可以在与I.5X的缩放因子和第三组用户输入1680、1682相关联的位置设定标志。如果手势缩放变换标志已经被设定在I.5x的缩放因子处,则希望将缩放因子从2x变化到Ix的用户只需将其手指(用户输入)从第一组1672和1674移动到第三组1680和1682。根据本发明的某些教导,图17以流程图的形式图示了应用编程接ロ的细节。应用编程接ロ工作于下述环境中以提供装置的显示器的视图、窗ロ或显示区域的旋转变换该环境具有与软件应用进行交互的用户接ロ软件。用于提供旋转变换的方法1700包括在方框1702处传送旋转变换调用,以确定对于与具有多个输入点的用户输入相关的视图进行旋转变换。该方法1700还包括在方框1704处传送旋转手势开始调用。该方法1700还包括在方框1706处传送旋转手势进展调用。该方法1700还包括在方框1708处传送旋转手势结束调用。在某些实施例中,两个或更多个输入点的形式的用户输入进行旋转以引起手势事件,该手势事件对于与该用户输入相关联的视图执行旋转变换。旋转变换包括最小和最大旋转程度,用于相关的最小和最大旋转视图。在视图快速返回到最大旋转程度之前,用户输入可以暂时地将视图旋转到超过旋转的最大程度。根据本发明的某些教导,图18以流程图的形式图示了应用编程接ロ的细节。该应用编程接ロ工作于下述环境中,以向委托通知与装置显示器的显示区域、窗ロ或视图相关的至少ー个动画该环境具有与软件应用进行交互的用户接ロ软件。该API可以指定动画的延迟。另外,该API可以给多个动画赋予优先度。用于通知委托的方法1800包括在方框1802处确定是否发生了任何动画。该方法1800还包括在方框1804处检查动画的进展。如果已经发生了进展,则在方框1806处可以计算该动画的下ー阶段(例如位置、不透明性(opacity)或者变形)。如果在方框1804处进展已经完成,则在方框1808处判定与该完成的动画相关的视图是否与委托相关联。如果是,则在方框1810处传送委托调用,以向该委托通知对于该视图的动画。在该软件应用的控制下工作的委托可以响应于由该动画改动的视图而使其他视图变化。在某些实施例中,软件引起动画,所述动画对与用户输入相关的视图执行缩放变换。显示器可以包括多个视图。由缩放变换增大了尺寸的视图可能阻挡其他视图,在此情况下,可能需要减小其他视图的尺寸。或者,由缩放变换减小了尺寸的视图可能产生多余的区域供其他视图増大尺寸。图19是用于使装置的显示器上显示的显示区域、窗ロ或视图进行动画(animate)的方法的流程图。该方法1900包括在方框1902处开始至少两个动画。该方法1900还包括在方框1904处确定各个动画的进展。该方法1900还包括在方框1906处根据単一的定时器而完成各个动画。在本发明的某些实施例中,所述单ー的定时器包括基于重绘间隔的定时器,所述重绘间隔是装置的显示器显示当前帧与下一帧之间的事件长度。在此情况下,动画的变化在重绘间隔期间被更新至显示器,以显示显示器的下ー帧期间的变化。各个动画的进展可以被周期性地计算或者基于进展调用来计算。该方法1900还可以包括判定各个动画是否与委托相关联。然后向该委托通知该动画。不与动画相关联的其他视图可以取决于对该委托进行控制的软件应用而变化。图20是用于对装置的显示器上显示的显示区域、窗ロ或视图进行动画的方法的流程图。该方法2000包括在方框2002处提供単一的动画定时器。该方法2000还包括在方框2004处用该単一的动画定时器对多个动画进行动画。例如,単一的定时器可以控制同时发生的全部动画。这些动画可以包括变形的、帧的以及不透明性的动画。动画变形可以包括缩放变换或旋转变换。巾贞的动画可以包括巾贞的调整大小(resize)。不透明性的动画使不透明性从不透明变化到透明,或者反过来。根据本发明的某些教导,图21以流程图的形式图示了应用编程接ロ的细节。该应用编程接ロ工作于下述环境中,以对与装置的显示器的多个视图或窗ロ相关的动画进行同步该环境具有与多个软件应用或进程进行交互的用户接ロ软件。用于对动画进行同步的方法2100包括在方框2102处给正与进程相关联的各个视图独立地设定视图的属性。例如,视图的属性或特性可以包括位置、大小、不透明性等等。该方法2100还包括在方框2104处传送同步调用,从而针对显示器的多个视图对动画进行同歩。同步调用可以包括输入參数或变量,例如进程的同步的标识、以及正在请求对多个视图进行动画的那些进程的列表。在一种实施例中,同步调用包括正在请求进行动画的进程的数目和标识。在一种实施例中,每个应用或进程在不同的事件发送同步调用。方法2100还包括在方框2106处当同步标志被允许时传送同步确认消息。当要被同步的这些进程已经各自向操作该用户接ロ软件的窗ロ服务器发送了消息吋,同步标志可以被允许。该方法2100还包括在方框2108处将这些视图的属性独立地从第一状态更新至第二状态。在一种实施例中,窗ロ服务器在不同的事件从各个进程接收经更新的属性。该方法2100还包括在方框2110处,当两个进程都具有与第二状态相关联的经更新的属性时,传送开始动画调用以绘制所请求的动画。在一些实施例中,第一数据结构或层次树表示与这些进程的视图或窗ロ相对应的那些层的层级(hierarchy)。第二数据结构或渲染树(rendertree)表示该层次树的类似拷贝。但是,渲染树不被更新,直到这些独立的处理已经完成其各自的动画为止。此时,渲染树用新的动画对屏幕进行更新和重绘。图22A和图22B图示了对装置的显示器的各个视图或窗ロ的调整大小进行同歩。例如,通过从第一状态(图22A中的窗ロ2210)变化到第二状态(图22B中的窗ロ2210),具有尺寸属性的、与第一进程相关联的窗ロ2210可以增大尺寸。大致同时,第二窗ロ2220可以与第一窗ロ2210的尺寸增大成比例地减小尺寸。该方法2100对图22A和图22B所示的窗ロ2210和2220的调整大小提供同步。从第一状态向第二状态变化的动画可以渐增地发生,也可以在方法2100进行同步的情况下发生。图23图示了对数据处理装置的显示器上显示的应用的视图的拥有者进行切換的方法。该方法2300包括在方框2302处构造数据结构,该数据结构具有层的层级,层与视图相关联并拥有该视图。这些层可以是用于该应用的用户接ロ的内容、窗ロ、视频、图像、文本、媒体或任何其他类型的对象。该方法2300还包括在方框2304处从数据结构除去层。该方法2300还包括在方框2306处将视图的拥有者从层切换到视图。在某些实施例中,来自该数据结构的每个层与视图相关联。与视图相关联的层向该视图发送委托函数调用,以生成由该视图提供的内容。第一指针引用从该层指向该视图。第二指针引用从该视图指向该层。指向对象(例如该视图)的引用的数目被定义为该对象的保留数(retainedcount)0该视图可以接收将要从该数据结构除去该层的通知。从数据结构除去层可以基于与从装置的显示器除去的层相关联的视图而发生。当从数据结构或层次树除去层时,从该层指向该视图的指针将被除去。该视图将具有为零的保留数,并且在视图的拥有者不被撤销(reverse)的情况下从存储器解除分配(deallocate)或除去。如果拥有者被撤销,则该视图将具有至少为ー的保留数。图24图示了在装置的显示器上显示的应用的视图的存储器管理的方法。方法2400包括在方框2402处构造数据结构,该数据结构具有层的层级,至少ー个层与该视图相关联。方法2400还包括在方框2404处在存储器中储存数据结构。方法2400还包括在方框2406处维持从其他对象到该视图的引用的数目的保留数。方法2400还包括在方框2408处,如果保留数为零,则将视图从存储器解除分配。如上所述,如果从数据结构除去层,则视图的保留数将递減。从数据结构除去层可以基于与从装置的显示器除去的层相关联的视图而发生。图25A和图25B图示了ー种数据结构,其具有层的层级,层与视图相关联。该数据结构包括层2502、2504和2506。层2506与视图2510相关联。与视图2510相关联的层2506向该视图发送委托调用,以生成由该视图提供的内容。第一指针引用2508从层2506指向视图2510。第二指针引用2512从视图2510指向层2506。第三指针引用2532可以从用户接ロ(UI)控制器2530指向视图2510。Π控制器2530可以控制与视图2510相关的操作,例如响应于用户输入而滚动视图2510。基于指针引用2508和2532,图25A中的视图2510具有至少为ニ的保留数。如果如图25B所示从该数据结构除去层2506,则指针2508被除去。视图2510将如图25B所示具有更低的保留数。如果视图2510具有为零的保留数,则储存该视图2510的存储器将被解除分配。图26图示了用于对用户接ロ的媒体和非媒体内容进行合成以在装置上显示的方法。该方法2600包括在方框2602处构造数据结构,该数据结构具有与装置的用户接ロ相关联的各层的层级。该方法2600还包括在方框2604处判定该数据结构的各个层与媒体还是非媒体内容相关联。该数据结构或层次树被遍历(traverse),以确定该数据结构的各个层与媒体还是非媒体内容相关联。该方法2600还包括在方框2606处从该数据结构将与媒体内容相关联的层分离(detach)。该方法2600还包括在方框2606处将媒体内容储存在第一存储器位置。该方法2600还包括在方框2608处将非媒体内容储存在第二存储器位置。该方法2600还包括在方框2610处对该媒体和非媒体内容进行合成以在装置上显示。在一些实施例中,对媒体和非媒体内容进行合成包括从第一存储器位置取回媒体内容、从第二存储器位置取回非媒体内容、并将媒体和非媒体内容直接扫描到显示器。存储器位置可以是位于缓存器、主存储器、图形处理单元或装置内其他位置中的任何类型的存储器。媒体内容可以包括视频、视频插件、音频、图像或其他随事件而变的媒体。媒体内容可以是YUV模型的形式,其中Y代表亮度成分(明亮度),而U和V代表色度(色彩)成分。媒体内容可以以每秒大约20至40帧的速率被扫描到显示器。媒体内容可以在被扫描到装置的显示器之前受到缩放。非媒体内容可以包括不需要频繁更新的内容、视图和图像。非媒体内容可以是作为加色(additive)模型的RGB模型的形式,其中红色、绿色和蓝色(经常用在加色光模型中)被以各种方式组合以产生其他颜色。非媒体内容可以以比媒体内容更低的速率被扫描到显示器。图27图示了数据结构或层次树,其具有层的层级。这些层与媒体和非媒体内容相关联。例如,层2704与媒体内容2706(例如视频)关联。层2710与非媒体内容2712关联,非媒体内容2712可以是用于该视频的用户接ロ视图。层2720、2730和2740分别与形成非媒体内容2712的各组成部分的非媒体内容2722、2732和2742相关联。方法2600将确定该数据结构的每个层是否与媒体或非媒体内容相关联。与媒体内容相关联的任何层(例如层2704)将被从该数据结构除去,并在另外的存储器位置受到处理。在一些实施例中,本发明的方法、系统和设备可以在各种装置中实现,这些装置包括电子装置、消费装置、数据处理装置、台式计算机、便携式计算机、无线装置、蜂窝装置、平板装置(tabletdevice)、手持装置、多点触摸装置、多点触摸数据处理装置、这些装置的任意组合或者其他类似的装置。图4-6和图28-33图示了一些这些装置的示例。图28图示了根据本发明一种实施例的装置2800。图28示出了ー种具有“糖块”样式的电话构造的无线装置。在图28中,无线装置2800可以包括壳体2832、显示装置2834、输入装置2836(可以是字母数字键区(keypad))、扬声器2838、麦克风2840和天线2842。无线装置2800还以包括接近度传感器2844和加速度计2846。可以理解,图28的实施例可以使用更多或更少的传感器,并可以具有与图28所示形状因素(formfactor)不同的形状因素。所示的显示装置2834位于壳体2832的上部,所示输入装置2836位于壳体2832的下部。所示天线2842在壳体2832的上部从壳体2832延伸。所示扬声器2838也在壳体2832的上部处于显示装置2834上方。所示麦克风2840在壳体2832的下部处于输入装置3286下方。可以理解,扬声器2838和麦克风2840可以位于壳体上任何位置处,但是通常分别位于与用户的耳朵和嘴巴相对应的位置。显示装置2834例如可以是不具备接收输入的能力的液晶显示器(IXD),也可以是包括IXD的触摸输入屏。输入装置2836例如可以包括按钮、开关、拨号盘(dial)、滑动件(slider)、键或键区、导航板、触摸板、触摸屏等。可以把任何公知的扬声器、麦克风和天线分别用于扬声器2838、麦克风2840和天线2842。从接近度传感器2844和加速度计2846获取的数据可以被组合或単独使用,以收集与用户的行为有关的信息。来自接近度传感器2844、加速度计2846或这二者的数据例如可以用来激活/关断(activate/deactivate)显示器背光,产生命令,作出选择,对显示器上的滚动、手势、动画或其他运动进行控制,对输入装置设定进行控制,或者对装置的ー个或多个设定进行其他变化。在本发明的某些实施例中,装置2800可以用来实施本发明中所述方法的至少一部分。图29示出了根据本发明一种实施例的装置2950。装置2950可以包括壳体2952、显示/输入装置2954、扬声器2956、麦克风2958和可选的天线2960(可以在壳体外部可见,也可以隐藏在壳体内部)。装置2950还可以包括接近度传感器2962和加速度计2964。装置2950可以是蜂窝电话,或者PDA与蜂窝电话集成为一体的装置,或者媒体播放器与蜂窝电话集成为一体的装置,或者既是娱乐系统(例如用于玩游戏)又是蜂窝电话的装置,或者装置2950可以是本申请中所述其他类型的装置。在ー种具体实施例中,装置2950可以包括蜂窝电话、媒体播放器和PDA,它们都包含在壳体2952内。装置2950可以具有这样的形状因素其足够小以适合握在正常成年人的手掌中,并且足够轻以能够由成年人用一只手携帯。可以理解,术语“便携”表示该装置能够容易地握持在成年人的手掌(一只或两只)中,例如,膝上型计算机和iPod是便携式装置。在一种实施例中,显示/输入装置2954除了作为显示器(例如IXD)之外,还可以包括多点触摸输入屏。在一种实施例中,多点触摸屏是电容感知介质,构造成对在触摸面板的平面内的不同位置处同时发生的多个触摸(例如从用户的脸在显示器上的接触形状(blob),或者多个手指同时触摸或接近触摸该显示器)或者接近触摸(例如显示器上的接触形状)进行检测并产生不同的信号,这些信号代表触摸面板的平面上对于多个触摸中每个触摸的触摸位置。在本发明的某些实施例中,装置2800可以用于实施本发明中讨论的方法中的至少一部分。图30A和图30B图示了根据本发明一种实施例的装置3070。装置3070可以是包括铰链3087的蜂窝电话,铰链3087将显示器壳体3089连接到键区壳体3091。铰链3087使用户能够开启和关闭蜂窝电话,使之可以被置于图30A和图30B所示两种不同构造中的至少ー者。在ー种具体实施例中,铰链3087可以将显示器壳体以可旋转方式连接到键区壳体。具体而言,用户可以开启蜂窝电话,使之处于图30A所示的开启构造,也可以关闭蜂窝电话,使之处于图30B所示的关闭构造。键区壳体3091可以包括键区3095和麦克风3097,键区3095接收来自用户的输入(例如电话号码输入或其他字母数字输入),麦克风3097接收来自用户的语音输入。显示器壳体3089可以在其内部表面上包括显示器3093(例如IXD)、扬声器3098和接近度传感器3084;在其外部表面上,显示器壳体3089可以包括扬声器3096、温度传感器3094、显示器3088(例如另ー个IXD)、环境光传感器3092以及接近度传感器3084A。因此,在本实施例中,显示器壳体3089可以在其内部表面上包括第一接近度传感器并在其外部表面上包括第二接近度传感器。在至少某些实施例中,装置3070可以包含提供下列一项或多项功能的部件无线通信装置(例如蜂窝电话)、媒体播放器、娱乐系统、PDA或本申请中所述的其他类型装置。在一种实施例的实现形式中,装置3070可以是一体地集成了媒体播放器的蜂窝电话,所述媒体播放器播放MP3文件,例如MP3音乐文件。图4、5A、5B、5C、6A、6B、6C、6D、28、29、30A和30B所示的各种装置可以是无线通信装置(例如蜂窝电话),并可以包括提供无线通信能力的多个部件。图31示出了无线装置3070的一种实施例,其包括用于无线通信的能力。无线装置3070可以包括在图4、5A、5B、5C、6A、6B、6C、6D、28、29、30A和30B所示的任一装置中,不过图4、5A、5B、5C、6A、6B、6C、6D、28、29、30A和30B的那些装置的替换实施例也可以包括比无线装置3070更多或更少的部件。无线装置3070可以包括天线系统3101。无线装置3070还可以包括数字和/或模拟射频(RF)收发器3102,其耦联到天线系统3101以通过天线3101发送和/或接收语音、数字数据和/或媒体信号。无线装置3070还可以包括数字处理系统3103,以控制数字RF收发器和管理语音、数字数据和/或媒体信号。数字处理系统3103可以是通用处理装置,例如微处理器或控制器。数字处理系统3103还可以是专用处理装置,例如ASIC(专用集成电路)、FPGA(现场可编程门阵列)或DSP(数字信号处理器)。数字处理系统3103还可以包括本领域已知的其他装置以与无线装置3070的其他部件进行接ロ。例如,数字处理系统3103可以包括模拟-数字转换器和数字-模拟转换器,以与无线装置3070的其他部件进行接ロ。数字处理系统3103可以包括媒体处理系统3109,媒体处理系统3109可以包括通用或专用处理装置以管理媒体,例如音频数据文件。无线装置3070还可以包括存储装置3104,存储装置3104耦联到数字处理系统以储存数据和/或用于无线装置3070的操作程序。存储装置3104例如可以是任何类型的固态或磁性存储器装置。无线装置3070还可以包括一个或多个输入装置3105,该输入装置耦联到数字处理系统3103以接受用户输入(例如电话号码、名称、地质、媒体选择等等)。输入装置3105例如可以是下列ー项或多项键区、触摸板、触摸屏、与显示装置结合的指点装置或类似的输入装置。无线装置3070还可以包括至少ー个显示装置3106,显示装置3106耦联到数字处通系统3103以显不/[目息,例如消息、电话呼入/[目息、联系人/[目息、图片、电影和/或通过输入装置3105而选择的媒体的标题或其他标志物。显示装置3106例如可以是IXD显示装置。在一种实施例中,显不装置3106和输入装置3105可以一体集成在同一装置中(例如触摸屏LCD(例如多点触摸输入面板),其与显示装置(例如LCD显示装置)一体集成)。显示装置3106可以包括背光3106A,以在特定状况下对显示装置3106进行照明。可以理解,无线装置3070可以包括多个显示器。无线装置3070还可以包括电池3107,以向系统的各个部件提供工作电力,这些部件包括数字RF收发器3102、数字处理系统3103、存储装置3104、输入装置3105、麦克风3105A、音频换能器3108、媒体处理系统3109、(ー个或多个)传感器3110、显示装置3106。电池3107例如可以是可充电的或不可充电的锂离子电池或镍金属氢化物电池。无线装置3070还可以包括音频换能器3108和至少ー个麦克风3105A,音频换能器3108可以包括一个或多个扬声器。在本发明的某些实施例中,无线装置3070可以用来实施本发明中所述各种方法的至少一部分。图32示出了根据本发明实施例的装置的另ー种示例。该装置3200可以包括处理器(例如微处理器3202)和存储器3204,处理器和存储器通过总线3206彼此耦联。装置3200可以可选地包括耦联到微处理器3202的缓存器3208。该装置还可以可选地包括显示控制器和显示装置3210,其通过总线3206耦联到其他部件。一个或多个输入/输出控制器3212也可以耦联到总线3216,以提供用于输入/输出装置3214的接ロ并提供用于ー个或多个传感器3216的接ロ,传感器3216可以用于感知用户行为。总线3206可以包括如本领域所知通过各种桥、控制器和/或适配器而彼此连接的ー个或多个总线。输入/输出装置3214可以包括键区、键盘或例如触摸输入面板的光标控制装置。而且,输入/输出装置3214可以包括网络接ロ,网络接ロ可以用于有线网络或无线网络(例如RF收发器)。传感器3216可以是本申请中所述那些传感器中的任ー种,例如包括接近度传感器或环境光传感器。在装置3200的至少某些实施方式中,微处理器3202可以接收来自ー个或多个传感器3216的数据并可以以本申请中所述的方式对该数据执行分析。例如,可以通过人工智能处理或以本申请中所述的其他方式对该数据进行分析。作为分析的結果,微处理器3202然后可以自动地使得对装置的一个或多个设定进行调整。在本发明的某些实施例中,装置3200可以用来实施本申请中所述那些方法的至少一部分。图33A-图33C示出了根据本发明至少某些实施例的装置的另ー种示例。图33A图示了膝上型装置3300,其具有键盘3302、主体3304、显示器框架3306和显示器3308。膝上型装置3300可以被转变成图33B和图33C所示的平板装置。图33B图示了该膝上型装置向平板装置的转变。包含显示器3358的显示器框架3356的边缘在主体3354内滑过键盘3352的顶部,直到形成如图33C所示的平板装置。该平板装置的显示器3362和显示器框架3366置于主体3360的项上。在本发明的某些实施例中,膝上型装置3300可以用来实施本申请中所述那些方法的至少一部分。根据本发明的某些教导,图34以流程图的形式图示了应用编程接ロ的细节。该应用编程接ロ工作于具有与软件应用进行交互的用户接ロ软件的环境中。在一些实施例中,视图的层级工作于用户接ロ软件内的层的层级之上。API以如方法3400所示的方式工作,该方法包括在方框3402处构造视图的层级,该层级工作于层的层级之上。该方法3400还包括在方框3404处提供对于视图层级的访问(access)而不提供对于层的层级的访问。应用可以通过该API与视图的层级进行交互,而不访问在视图层级之下工作的层的层级。在某些实施例中,平台提供各种滚动、手势和动画操作。该平台包括硬件部件和操作系统。硬件部件可以包括耦联到输入面板的处理单元以及耦联到处理器的存储器。操作系统包括ー个或多个程序,所述程序储存在存储器中并构造成由处理单元执行。一个或多个程序包括各种指令,用于通过应用编程接ロ来传送函数调用或消息,以执行各种滚动、手势和动画操作。在一种实施例中,这ー个或多个程序包括用于通过API传送缩放变换调用的指令,以确定用干与用户输入相关的视图的缩放变换,所述用户输入具有多个输入点。在ー种实施例中,这ー个或多个程序包括用于通过API传送拉伸调用的指令,以确定与用户输入相关联的视图的旋转变换,所述用户输入具有多个输入点。在一些实施例中,该平台包括包含软件代码库的构架(framework)。该构架与平台的程序进行交互,以提供应用编程接ロ,用于执行各种滚动、手势和动画操作。该构架还包括储存在单个目录中的相关的资源(例如图像、文本等)。在一种实施例中,该构架的库提供API以给与具有多个输入点的用户输入相关联的视图指定缩放变换。在一种实施例中,该构架的库提供API以给与具有多个输入点的用户输入相关联的视图指定缩放变换。在前述说明中,已经參照本发明的具体示例性实施例对本发明进行了说明。显然,在不脱离由所附权利要求阐述的发明精神和范围的情况下,可以对其进行各种修改。因此,说明书和附图应当认为是举例说明性的,而不是限制性的。权利要求1.一种通过应用编程接口(API)操作的方法,该方法用于下述装置的环境中该环境带有具有多视图的显示器以及与软件应用交互的用户接口软件,该方法包括传送缩放变换调用,以确定用于与用户输入相关的视图的缩放变换,所述用户输入具有多个输入点。2.如权利要求I所述的方法,还包括传送开始缩放手势调用;传送缩放手势进展调用;和传送缩放手势结束调用。3.如权利要求I所述的方法,其中,所述缩放变换包括最小和最大缩放因子。4.如权利要求I所述的方法,其中,所述缩放变换基于被禁用的标记而从最小缩放因子变化到最大缩放因子。5.如权利要求I所述的方法,其中,所述缩放变换基于被允许的标记而在快速返回到最大缩放因子之前从最小缩放因子变化到略超过最大缩放因子。6.如权利要求I所述的方法,其中,传送所述缩放变换调用是下列之一发起、产生、弓丨起或接收所述缩放变换调用。7.如权利要求I所述的方法,其中,所述装置是下列之一数据处理装置、便携装置、便携式数据处理装置、多点触摸装置、多点触摸便携装置、无线装置和蜂窝电话。8.一种设备,该设备用于下述环境中该环境带有与软件应用交互的用户接口软件,该设备包括传送缩放变换调用的装置,所述缩放变换调用确定用于与用户输入相关的视图的缩放变换,所述用户输入具有多个输入点。9.如权利要求8所述的设备,还包括用于传送开始缩放手势调用的装置;用于传送缩放手势进展调用的装置;和用于传送缩放手势结束调用的装置。10.如权利要求8所述的设备,其中,所述缩放变换包括最小和最大因子。11.如权利要求8所述的设备,其中,所述缩放变换基于被禁用的标记而从最小缩放因子变化到最大缩放因子。12.如权利要求8所述的设备,其中,所述缩放变换基于被允许的标记而在快速返回到最大缩放因子之前从最小缩放因子变化到略超过最大缩放因子。13.如权利要求8所述的设备,其中,传送所述缩放变换调用是下列之一发起、产生、弓I起或接收所述缩放变换调用。14.如权利要求8所述的设备,其中,所述设备是下列之一数据处理装置、便携装置、便携式数据处理装置、多点触摸装置、多点触摸便携装置、无线装置和蜂窝电话。15.一种通过应用编程接口(API)操作的方法,该方法用于下述装置的环境中该环境带有具有多视图的显示器以及与软件应用交互的用户接口软件,该方法包括接收缩放变换调用,以确定用于与用户输入相关的视图的缩放变换,所述用户输入具有多个输入点。16.如权利要求15所述的方法,还包括接收开始缩放手势调用;接收缩放手势进展调用;和接收缩放手势结束调用。17.如权利要求15所述的方法,其中,所述缩放变换包括最小和最大因子。18.如权利要求15所述的方法,其中,所述缩放变换基于被禁用的标记而从最小缩放因子变化到最大缩放因子。19.如权利要求15所述的方法,其中,所述缩放变换基于被允许的标记而在快速返回到最大缩放因子之前从最小缩放因子变化到略超过最大缩放因子。20.一种设备,该设备用于下述环境中该环境带有与软件应用交互的用户接口软件,该设备包括接收缩放变换调用的装置,所述缩放变换调用确定用于与用户输入相关的视图的缩放变换,所述用户输入具有多个输入点。21.如权利要求20所述的设备,还包括用于接收开始缩放手势调用的装置;用于接收缩放手势进展调用的装置;和用于接收缩放手势结束调用的装置。22.如权利要求20所述的设备,其中,所述缩放变换包括最小和最大因子。23.如权利要求20所述的设备,其中,所述缩放变换基于被禁用的标记而从最小缩放因子变化到最大缩放因子。24.如权利要求20所述的设备,其中,所述缩放变换基于被允许的标记而在快速返回到最大缩放因子之前从最小缩放因子变化到略超过最大缩放因子。25.一种通过应用编程接口(API)操作的方法,该方法用于下述装置的环境中该环境带有具有多视图的显示器以及与软件应用交互的用户接口软件,该方法包括设定手势缩放变换标记,以确定用于与用户输入相关的视图的缩放变换,所述用户输入具有多个输入点。26.如权利要求25所述的方法,其中,所述缩放变换标记或者从当前缩放因子缩放到最小缩放因子,或者从当前缩放因子缩放到最大缩放因子。27.一种设备,该设备用于下述环境中该环境带有与软件应用交互的用户接口软件,该设备包括设定手势缩放变换标记的装置,所述手势缩放变换标记确定用于与用户输入相关的视图的缩放变换,所述用户输入具有多个输入点。28.如权利要求27所述的设备,其中,所述缩放变换标记或者从当前缩放因子缩放到最小缩放因子,或者从当前缩放因子缩放到最大缩放因子。29.一种通过应用编程接口(API)操作的方法,该方法用于下述装置的环境中该环境带有具有多视图的显示器以及与软件应用交互的用户接口软件,该方法包括传送旋转变换调用,以确定用于与用户输入相关的视图的旋转变换,所述用户输入具有多个输入点。30.如权利要求29所述的方法,还包括传送开始旋转手势调用;传送旋转手势进展调用;和传送旋转手势结束调用。31.如权利要求29所述的方法,其中,所述旋转变换包括用于相关的最小和最大旋转视图的最小和最大旋转角度。32.如权利要求29所述的方法,其中,传送所述旋转变换调用是下列之一发起、产生、弓I起或接收所述旋转变换调用。33.如权利要求29所述的方法,其中,所述装置是下列之一数据处理装置、便携装置、便携式数据处理装置、多点触摸装置、多点触摸便携装置、无线装置和蜂窝电话。34.一种设备,该设备用于下述环境中该环境带有与软件应用交互的用户接口软件,该设备包括传送旋转变换调用的装置,所述旋转变换调用确定用于与用户输入相关的视图的旋转变换,所述用户输入具有多个输入点。35.如权利要求34所述的设备,还包括用于传送开始旋转手势调用的装置;用于传送旋转手势进展调用的装置;和用于传送旋转手势结束调用的装置。36.如权利要求34所述的设备,其中,所述旋转变换包括用于相关的最小和最大旋转视图的最小和最大旋转角度。37.如权利要求34所述的设备,其中,传送所述旋转变换调用是下列之一发起、产生、弓I起或接收所述旋转变换调用。38.如权利要求34所述的设备,其中,所述设备是下列之一数据处理装置、便携装置、便携式数据处理装置、多点触摸装置、多点触摸便携装置、无线装置和蜂窝电话。39.一种通过应用编程接口(API)操作的方法,该方法用于下述装置的环境中该环境带有具有多视图的显示器以及与软件应用交互的用户接口软件,该方法包括接收旋转变换调用,以确定用于与用户输入相关的视图的旋转变换,所述用户输入具有多个输入点。40.如权利要求39所述的方法,还包括接收开始旋转手势调用;接收旋转手势进展调用;和接收旋转手势结束调用。41.如权利要求39所述的方法,其中,所述旋转变换包括用于相关的最小和最大旋转视图的最小和最大旋转角度。42.一种设备,该设备用于下述环境中该环境带有与软件应用交互的用户接口软件,该设备包括接收旋转变换调用的装置,所述旋转变换调用确定用于与用户输入相关的视图的旋转变换,所述用户输入具有多个输入点。43.如权利要求42所述的设备,还包括用于接收开始旋转手势调用的装置;用于接收旋转手势进展调用的装置;和用于接收旋转手势结束调用的装置。44.如权利要求42所述的设备,其中,所述旋转变换包括用于相关的最小和最大旋转视图的最小和最大旋转角度。45.一种通过应用编程接口(API)操作的方法,该方法用于下述装置的环境中该环境带有具有多视图的显示器以及与软件应用交互的用户接口软件,该方法包括传送委托调用,以向委托通知手势事件。46.如权利要求45所述的方法,其中,所述委托调用向所述委托通知与视图上的缩放变换相关的手势事件,以便在所述软件应用的控制下操作的所述委托使其它视图响应于由所述手势事件修改的视图而变化。47.如权利要求45所述的方法,其中,传送所述委托调用是下列之一发起、产生、引起或接收所述委托调用。48.一种设备,该设备用于下述环境中该环境带有与软件应用交互的用户接口软件,该设备包括传送委托调用的装置,所述委托调用用于向委托通知手势事件。49.如权利要求48所述的设备,其中,所述委托调用向所述委托通知与视图上的缩放变换相关的手势事件,以便在所述软件应用的控制下操作的所述委托使其它视图响应于由所述手势事件修改的视图而变化。50.如权利要求48所述的设备,其中,传送所述委托调用的装置是用于下列之一的装置发起、产生、引起或接收所述委托调用。51.一种通过应用编程接口(API)操作的方法,该方法用于下述装置的环境中该环境带有具有多视图的显示器以及与软件应用交互的用户接口软件,该方法包括接收委托调用,以向委托通知手势事件。52.如权利要求51所述的方法,其中,所述委托调用向委托通知与视图上的缩放变换相关的手势事件,以便于在所述软件应用的控制下操作的所述委托使其它视图响应于由所述手势事件修改的视图而变化。53.一种设备,该设备用于下述环境中该环境带有与软件应用交互的用户接口软件,该设备包括接收委托调用的装置,所述委托调用用于向委托通知手势事件。54.如权利要求53所述的设备,其中,所述委托调用向委托通知与视图上的缩放变换相关的手势事件,以便于在所述软件应用的控制下操作的所述委托使其它视图响应于由所述手势事件修改的视图而变化。55.一种设备,包括用于对输入面板上或所述输入面板附近用户输入的运动进行检测的装置;用于响应于检测所述用户输入而处理与视图相关的手势事件的装置。56.如权利要求55所述的设备,还包括用于执行与所述视图相关的缩放变换的装置。57.如权利要求55所述的设备,其中,还包括用于下述操作的装置基于所述输入面板的每个触点的正电荷和负电荷来确定哪个视图是所述用户输入想要选择的。58.如权利要求55所述的设备,其中,所述设备是下列之一数据处理装置、便携装置、便携式数据处理装置、多点触摸装置、多点触摸便携装置、无线装置和蜂窝电话。59.一种设备,包括用于下述操作的装置通过应用编程接口传送缩放变换调用,所述缩放变换调用确定用于与用户输入相关的视图的缩放变换,所述用户输入具有多个输入点。60.如权利要求59所述的设备,其中,传送所述缩放变换调用的装置是用于下列之一的装置发起、产生、引起或接收所述缩放变换调用。61.如权利要求60所述的设备,还包括用于通过应用编程接口传送旋转变换调用的装置,所述旋转变换调用确定用于与用户输入相关的视图的旋转变换,所述用户输入具有多个输入点。62.如权利要求61所述的设备,其中,传送所述旋转变换调用的装置是用于下列之一的装置发起、产生、引起或接收所述旋转变换调用。63.—种设备,包括用于下述操作的装置通过应用编程接口传送旋转变换调用,所述旋转变换调用确定用于与用户输入相关的视图的旋转变换,所述用户输入具有多个输入点。64.如权利要求63所述的设备,其中,传送所述旋转变换调用的装置是用于下列之一的装置发起、产生、引起或接收所述旋转变换调用。65.—种方法,包括通过应用编程接口传送缩放变换调用,所述缩放变换调用确定用于与用户输入相关的视图的缩放变换,所述用户输入具有多个输入点。66.如权利要求65所述的方法,还包括通过应用编程接口传送旋转变换调用,所述旋转变换调用确定用于与用户输入相关的视图的旋转变换,所述用户输入具有多个输入点。67.如权利要求65所述的方法,其中,传送所述缩放变换调用是下列之一发起、产生、弓I起或接收所述缩放变换调用。68.如权利要求66所述的平台,其中,传送所述旋转变换调用是下列之一发起、产生、弓I起或接收所述旋转变换调用。69.—种设备,包括用于下述操作的装置提供应用编程接口以指定用于与用户输入相关的视图的缩放变换,所述用户输入具有多个输入点。70.如权利要求69所述的设备,还包括用于下述操作的装置提供应用编程接口以指定用于与用户输入相关的视图的旋转变换,所述用户输入具有多个输入点。全文摘要本申请涉及用于手势操作的应用编程接口。本发明的至少某些实施例包括具有与软件应用进行交互的用户接口软件的环境,以给装置的显示器提供手势操作。该环境中通过应用编程接口(API)而工作的方法包括传送缩放变换调用。手势操作包括响应于具有两个或更多个输入点的用户输入而执行缩放变换,例如缩小或放大。手势操作还包括响应于具有两个或更多个输入点的用户输入而执行旋转变换以对图像或视图进行旋转。文档编号G06F3/048GK102736852SQ20121012893公开日2012年10月17日申请日期2008年1月3日优先权日2007年1月7日发明者克里斯多佛·布鲁门伯格申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1