CN104969150A - 用于数字白板的工具栏动力学 - Google Patents

用于数字白板的工具栏动力学 Download PDF

Info

Publication number
CN104969150A
CN104969150A CN201380057673.4A CN201380057673A CN104969150A CN 104969150 A CN104969150 A CN 104969150A CN 201380057673 A CN201380057673 A CN 201380057673A CN 104969150 A CN104969150 A CN 104969150A
Authority
CN
China
Prior art keywords
toolbar
user
touch location
drawing area
touch
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
Application number
CN201380057673.4A
Other languages
English (en)
Inventor
S·梅森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sea Wo Shi Co
Haworth Inc
Original Assignee
Sea Wo Shi Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US13/758,989 external-priority patent/US9465434B2/en
Application filed by Sea Wo Shi Co filed Critical Sea Wo Shi Co
Publication of CN104969150A publication Critical patent/CN104969150A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

粗略地描述,在同一白板上不同的绘画区域针对不同的用户被打开。每个绘画区域具有它自己的线条外观属性的集合,用户可以利用工具栏设置该线条外观属性的集合。在绘画区域中绘画的线条采用那时对该绘画区域有效的线条外观属性,这些线条外观属性也应用于在协作会话中在其他设备上复制线条。随着用户朝着用户的绘画区域的边界绘画,该边界自动地移动以使得绘画继续包含用户的绘画活动。

Description

用于数字白板的工具栏动力学
技术领域
本发明涉及用于数字协作的装置、方法和系统,并且更特别地涉及有助于多个同时的用户的数字白板系统。
背景技术
数字白板经常用于交互式演示以及用于其他目的。一些白板是联网的并且可以用于协作,从而使得对在一个白板上的显示图像做出的修改被复制到另一个白板或者显示器上。大规模的白板为多于一个用户提供机会以在同一表面上同时地呈现或者作注释。然而,在多个用户的协调中问题可能发生,并且在一些情况下,多个用户对单个白板的使用可能限制他们的表达的灵活性。
因此,希望找到允许多个用户分享共同的白板表面的方式,在这种方式中每个用户具有表达他的或者她的想法的最大的自由。机会因此出现以创建对该问题的鲁棒的解决方案。更好的想法、协作和结果可以被实现。
发明内容
粗略地描述,本发明涉及在同一白板上针对不同用户打开不同绘画区域。每个绘画区域具有它自己的线条外观属性的集合,用户可以利用工具栏设置该线条外观属性的集合。在绘画区域中绘画的线条采用那时对该绘画区域有效的线条外观属性,这些线条外观属性也应用于在协作会话中在其他设备上复制线条。随着用户朝着用户的绘画区域的边界绘画,该边界自动地移动以使得绘画继续包含用户的绘画活动。
本发明的以上发明内容被提供以便提供对本发明的一些方面的基础理解。这一发明内容并不旨在标识本发明的关键或者重要元件或者勾画本发明的范围。它的唯一目的是以简化的形式呈现本发明的一些概念作为稍后被呈现的更详细的描述的序幕。本发明的特定方面在权利要求书、说明书以及附图中被描述。
附图说明
将关于本发明的具体实施例描述本发明,并且将参考附图,这些附图不一定按比例绘制,并且其中:
图1A和图1B(统称为图1)图示了并入了本发明的特征的数字白板协作环境的示例方面。
图2、图3、图4、图5、图6、图7、图8A、图8B(统称为图8)以及图9图示了在图1的白板上的绘画区域行为的方面。
图10是计算机系统110(图1B)的简化的框图。
图11是计算机系统110(图1B)可访问地存储的数据库的示意图。
图12(由图12A、图12B、图12C和图12D组成)是图示了在其中两个用户在图1的白板上工作的典型流程的流程图。
图13是图示了引起关于图2至图9所描述的区域边界行为的计算机系统100的操作的流程图。
具体实施方式
以下描述被呈现以使得任何本领域技术人员能够制造和使用本发明,并且在特定应用和它的要求的情境中被提供。对公开的实施例的各种修改对于本领域技术人员来说是显而易见的,并且在不背离本发明的精神和范围的情况下,在此定义的一般原理可以被应用于其他实施例和应用。因此,本发明并不旨在限制示出的实施例,而是旨在符合与在此公开的原理和特征一致的最宽范围。
图1图示了并入了本发明的特征的数字白板协作环境的示例方面。在该示例中,多个用户110a至110d(统称为101)可能希望在复杂的图像、音乐、视频、文档和/或其他媒体(在图1A中全部通常被指定为103a至103d(统称为103))中互相协作。图示的示例中的用户使用多个设备以便互相协作,例如,平板计算机102a、个人计算机(PC)102b以及大格式白板102c(统称为设备102)。在图示的示例中,在此有时被称为“墙”的大格式白板102c容纳用户中的多于一个用户,在这一情况下为用户101c和101d。
图1B图示了与图1A相同的环境。如在图1B中所示,在此有时被称为“墙”的大格式白板102c由计算机系统110控制,该计算机系统110转而与具有另外可访问的数据库106的中心协作服务器105网络通信。如在此所用,术语“数据库”未必意味着结构的任何统一。例如,当两个或者更多个分离的数据库被一起考虑时,仍然构成如该术语在此被使用“数据库”。例如,数据库106存储白板画布的数字表示。画布具有无限制的或者实际上无限制的尺寸,并且每个设备102仅显示全部画布的一部分。优选地,画布是根据需要的大小,仅受制于存储器存储和寻址限制。服务器105存储用于多个协作会话的会话数据,并且向参与会话的白板提供会话数据。会话数据然后由设备用来确定要显示的图像,并且在白板的显示表面上向未知分配用于交互的对象。在一些备选中,服务器105可以记录用于每个设备102的“视口(viewpoint)”,其指示画布在该设备上可视的部分,并且可以向每个设备102提供渲染视口所需的数据。
存储在数据库106中的用户接口数据包括各种类型的对象,诸如图像位图、视频对象、多页文档、可缩放矢量图形等。设备102各自经由网络104与协作服务器105通信。网络104可以包括全部形式的联网组件,诸如LAN、WAN、路由器、交换机、WiFi组件、蜂窝组件、有线和光学组件以及因特网。在一种情况下,用户101中的两个或者更多个用户位于相同的房间,并且他们的设备102经由WiFi与协作服务器105通信。在另一种情况下,用户101中的两个或者更多个用户彼此分离数千英里,并且他们的设备102经由因特网与协作服务器105通信。注意,然而,如图1中所图示的协作环境是最有利的,在此描述的绘画区域边界特征和移动工具栏特征中的许多特征也可以在单独的白板102c上被使用。
墙102c是多点触摸设备,该多点触摸设备不仅显示图像,而且还可以感测通过利用触针或者身体的一部分(诸如,一个或者多个手指)触摸显示表面而提供的用户手势。墙102c可以在通过一个或者多个手指(例如,或者整个手)的触摸与通过触针的触摸之间进行区分。在一个实施例中,墙通过发射红外光并且检测所接收的光来感测触摸;从用户的手指反射出的光具有墙区别于环境的接收的光的特性。触针以墙可以区别于环境的光和从用户的手指反射的光二者的方式发射它的红外光。例如,墙102c可以是由芬兰赫尔辛基的MultiTouch有限责任公司制造的垂直地和水平地平铺的型号No.MT553UTBL MultiTaction单元的阵列。为了提供多种表现手段,墙102c以它维护“状态”这样的方式被操作。也就是说,它可以根据输入的序列(等)对给定的输入不同地作出反应。例如,使用工具栏,用户可以选择多个可用画刷(brush)样式和颜色中的任何可用画刷样式和颜色。一旦被选择,墙就处于在其中通过触针的随后的笔画将使用选择的画刷样式和颜色绘画线条的状态。
在例示性实施例中,阵列总数近似6'高和30'宽,该阵列对于多个用户站在墙的不同部分并且同时操作它是足够宽的。然而,由于在该实施例中墙不在不同用户的手指之间或者由不同用户操作的触针之间进行区分,因此墙上的表达的灵活性可能被限制在多个用户场景中。因为墙不具有识别第二个用户的输入被不同地对待的方式,因此,如果一个用户将墙放置在一个期望的状态中,则第二个用户将被限于使用该相同的状态。
为了避免该限制,系统在墙102c上定义了“绘画区域”。如在此所用的绘画区域是在其内墙的状态的至少一个方面可以独立于墙上的其他区域而被改变的区域。在本实施例中,可以在绘画区域中不同的状态的方面是使用触针在墙上绘画的线条的属性。对手指触摸行为的系统的响应不被绘画区域影响。
图2图示了墙102c。在这一实施例中墙是6'高30'宽。它最初是默认背景颜色或者图像,并且具有贯穿墙的默认绘画状态。绘画状态由线条绘画属性定义,在图2的实施例中,该线条绘画属性包括线条外观属性,诸如画刷类型、画刷大小和颜色。当用户101c触摸墙时,使用触针或者一个或者多个手指(在此有时被统称为书写工具(writing implement)),工具栏210在附近出现并且绘画区域212被定义。对触摸点进行触摸是在此有时被称为“打开用户输入”的一个实施例;其他实施例对读者来说将是显而易见的。新定义的绘画区域的初始绘画状态是预先定义的默认值(诸如,画刷类型=墨水,厚度=5mm,颜色=白),在各种实施例中,该默认值可以与墙的剩余部分的默认状态匹配或者不匹配。在图2的实施例中,为绘画区域建立的绘画属性贯穿绘画区域应用。线条绘画在逻辑上在可以运行在计算机系统110上的任何应用程序之上的层中的墙上操作,而不管程序是否具有对墙102c的任何特定区域的所有权。
在图2的实施例中,绘画区域总是充满墙的全部垂直范围,尽管在其他实施例中,区域可以是更短和/或具有非矩形的形状。同样,在图2的实施例中,绘画区域用左右手边界214和216被可察觉地划分;在另一个实施例中,其他手段可以被用来划分区域,诸如背景阴影。在又一个实施例中,区域边界对用户不是可感知的。假定向左右足够的空间,计算机系统110在以用户的触摸点为中心的位置上产生绘画区域。绘画区域具有最小宽度Wmin和理想宽度Wideal。最小宽度优选地被选择为允许合理无拘束的表达的最小的宽度,并且在图2的实施例中是4'。理想宽度优选地被选择为粗略地等于水平伸出的平均用户的手臂的最宽跨度,并且在图2的实施例中是6'。
如果在用户的触摸点的任意一边存在大量空间,则计算机系统110将初始区域宽度设置为Wideal。这是在图2中所图示的场景。如果用户的触摸点对于以它为中心的新的绘画区域靠墙边缘太近,则计算机系统110将靠着墙边缘邻接新的绘画区域。新的绘画区域将仍然具有假定足够空间可用的宽度Wideal,因此,新的绘画区域将不以用户的触摸点为中心。这可以在图3中被看到,其中响应于在图示的示例中离边缘小于一半的Wmin的距离内的用户101c触摸点316,绘画区域312邻近墙边缘314被产生。在另一方面,如果用户的触摸点对于创建以触摸点为中心的绘画区域来说离墙边缘足够远,但是新的绘画区域离墙边缘将小于Wmin,则在墙边缘与新的绘画区域之间的间隙空间被认为是不可用的。在这种情况下,计算机系统110将延伸新的绘画区域以填补不可用的空间。这一场景在图4中被图示,其中响应于墙102c上的用户101c触摸点416,绘画区域412被产生,并且新的绘画区域被延伸到附近的墙边缘414。图4的场景在触摸点位于离边缘距离D时发生,其中D在(a)一半的理想宽度Wideal和(b)一半的理想宽度加最小宽度之间(即,其中Wideal/2<D<(Wideal/2+Wmin))。填充到边缘的空隙在其他情况下同样可以发生。
图5图示了在其中两个用户101c和101d可以同时地使用墙的场景。首先,用户101c在触摸点516处触摸墙102c,并且响应于此,计算机系统110利用工具栏510产生绘画区域512。可选地,用户101c然后触摸工具栏510上的控件以便改变区域512内的线条外观属性。接下来,第二用户101d在触摸点518处触摸墙102c,该触摸点518在墙102c背景内(即,在所有预先存在的绘画区域的外边)。第二绘画区域514然后由计算机系统110利用工具栏520生成。如果用户101d当时在区域514内绘画线条,则计算机系统110将利用默认线条属性来绘涂(paint)它,而不是利用之前由用户101c为绘画区域512设置的那些。用户101d然后可选地触摸工具栏520上的控件以便改变区域514内的线条外观属性。在区域514中绘画的后来的线条然后将采用新的线条外观属性。区域512的线条外观属性将保持不变。
因为墙102c不在不同的用户或者触针中间进行区分,所以在此描述的实施例中的线条外观属性是绘画区域的功能,而不是用户或者触针的功能。因此,如果用户101d抬起他的或者她的触针并且开始在绘画区域512内绘画,则计算机系统110将利用用户101c已经为区域512设置的属性绘画线条。类似地,如果用户101c抬起他的或者她的触针并且开始在绘画区域514内绘画,则计算机系统110将利用用户101d已经为区域514设置的属性绘画线条。
图6图示了墙102c的间隙填充特征。首先,用户101c在触摸点616处触摸墙102c,由此利用工具栏610产生绘画区域612。可选地,用户101c然后触摸工具栏610上的控件以便改变区域612内的线条外观属性。接下来,第二用户101d在触摸点518处触摸墙102c,由此利用工具栏620产生绘画区域614。在这一场景中,对于要以触摸点618为中心的新的绘画区域614来说存在足够的空间,但是新的绘画区域614的边缘将离现有绘画区域612的近边将小于Wmin。那么,在两个绘画区域之间的空间将被认为太窄以至于是不可用的。在这种情况下,两个绘画区域彼此相向延伸以它们之间的水平位置622处相遇,优选地在它们之间进行分离。如在图5中,两个绘画区域612和614的绘画属性可以独立地被改变。
如果在图6中,对于以触摸点618为中心的新的区域614,第二用户的触摸点618离区域612太近以至于不能延伸到宽度Wideal,则优选地,一个或者其他区域612或者614或者二者将变窄以允许两个区域在墙102c上共存,假如每个可以保持至少Wmin的宽度。在在此描述的实施例中,现有区域612将变窄以适应区域614的创建,并且优选地,新的区域614也比Wideal更窄,从而使得实际上两个区域都变窄。同样,如果邻近于现有区域612的新的区域614的边界必须在离触摸点618比Wideal的一半更近的特定距离处被放置,则新的区域614的相对的边界也在离触摸点618更近的相同的特定距离处被放置,从而导致新的区域614离两个边界变窄。随着两个区域变窄,现有区域612将不被允许达到小于Wmin的宽度。相反,它将变窄直到宽度Wmin并且剩余的适应将在新的区域614的宽度中被做出,由此向新的区域614分配更多的变窄效果。如果触摸点618如此接近现有区域612,以至于在不违背最小宽度Wmin的情况下,新的绘画区域614不能以其为中心,甚至在现有区域612变窄到宽度Wmin之后,则新的区域614将被放置邻近于如变窄现有区域612,并且将延伸离开它距离Wmin。如在图3的场景中,新的绘画区域614然后将不以用户的触摸点618为中心。如果在墙102c上不存在用于新的绘画区域的足够空间,以离开变窄的现有区域612延伸距离Wmin,则新的区域614将不会被创建。因为触摸点618太靠近与现有绘画区域612相对的墙的边缘,所以对墙空间上的该限制可以出现。因为触摸点618太靠近与现有绘画区域612相对的另一个预先存在的绘画区域,所以它也可以出现,该另一个预先存在的绘画区域也不能充分地变窄以使用新的绘画区域614。
图7图示了在墙102c处具有四个用户的场景,每个用户具有他的或者她的自己的绘画区域。针对给定墙的绘画区域的最大数目等于Wwall/Wmin的整数部分,其中Wwall是墙的宽度。随着区域被引入、被移除或者移动,区域边界自动地移动以便将空隙填充到小于如在图5和图6中所示出的Wmin,并且随着它们出现,将间隙开放为大于Wmin(未示出)。区域边界移动优选地是逐渐的,而不是突然的。区域可以通过触摸用于区域的工具栏上的适当的图标被关闭,并且优选地,当在预定的超时时段内在区域内不存在交互时,区域将自动地关闭。当区域关闭时,它的工具栏消失,并且当邻近区域的边界比Wideal更窄时,邻近区域的边界进行调整。
优选地,绘画区域自动地跟踪触针的移动。尽管多个可能的跟踪算法对于读者来说将是显而易见的,但是遵循这些最小的规则的一个算法是优选的:(1)只要触针保持相对靠近区域的中心,区域就不移动:以及(2)随着触针接近区域边界,区域移动以使得边界保持在触针之前。
图8A和图8B图示了跟踪算法的优选集合的方面。在图8A中,用户101c在墙102c上激活了绘画区域810。区域810当前具有宽度Wr(在图8A中是6'),其至少与Wmin(在图8A中是4')一样大。在图8A的示例中,Wr也等于Wideal。所谓的“死区”在区域810内被定义,其在区域内被居中并且具有预定宽度Wdz。在图8A的实施例中,Wdz=4'。只要触针保持在死区内,区域810就保持固定。如果触针达到死区的边缘,或者如果用户抬起触针并且将它放在死区的外边,则如在图8B中所图示的,区域810在离开触针的方向上移动,从而使得死区继续包含触针位置。在一个实施例中,区域移动在惯性效应内被软化,从而使得触针可以实际上临时地推压通过死区的边缘,直到区域移动赶上。在图8的实施例中,其中绘画区域总是是矩形的并且边界总是是垂直的,边界总是水平地移动。更一般地,可以说边界在离开触针的方向上移动,并且垂直于被接近的边界。
关于在区域边界移动之前,触针必须距区域边界多近,不同的实施例可以实施不同的规则。图8的实施例定义了由距绘画区域的中心的距离定义的“死区”,并且在死区之外的任何活动触发区域边界的移动。在另一个实施例中,对其中边界移动被触发的到区域的接近可以由离边界的距离定义,而不是由距绘画区域中心的距离定义。许多其他变化将是显而易见的。一般来说,可以说在活动位于距边界“预定的”距离内时,边界移动被触发。在简化的实施例中,预定的距离可以被设置为绘画区域的宽度的一半。在这样的实施例中,响应于不在绘画区域的精确的中心中的任何活动,绘画区域将移动,并且假定惯性效应不被使用,绘画区域将会移动以便总是将触针维持在绘画区域的中心。
在不同的实施例中,预定的距离是小于绘画区域的宽度的一半的一些距离。这使得用户能够在绘画区域的一些非零中心部分内绘画,而未被绘画区域边界的连续移动干扰。在图8的实施例中,“距边界的预定的距离”是绘画区域的宽度的一半减去死区宽度的一半,即使绘画区域的宽度变化,死区宽度仍保持固定。
此外,在图8的实施例中能够看出,当一个绘画区域边界由于活动跟踪而移动时,相对的边界同样移动相同的距离(除了在涉及邻近绘画区域或者墙边缘的特殊情况中)。因此,绘画区域保持它的宽度。在另一个实施例中,由于活动跟踪的边界的移动未必触发相对的边界的移动;在这样的实施例中,其他规则可以应用于相对的边界。在一个实施例中,只有被接近的一个边界移动,由此扩大了绘画区域。
在图8A和图8B的实施例中,区域810不被允许跟踪在其中它与另一个区域重叠的位置。在图9中,使用绘画区域910的用户101d将触针向右拖动。区域910跟踪触针直到区域遇见另一个绘画区域912,在该处点区域910停止移动。用户101d继续向右绘画,首先通过死区的边缘以便在死区与区域910的右手边界之间继续绘画。
优选地,系统防止连续线条在区域的边界之外被绘画。如在图9中所图示的,如果触针移动通过绘画区域边界,则它在区域的外边停止绘画。然而,如果用户101d要抬起触针并且将它放到下一个区域912中,则如之前所描述的,用户可以继续绘画。但是区域912的线条属性将被使用,而不是区域910的那些被使用。实质上,在绘画区域910边界处用户已经终止了线条绘画,并且在区域912中开始新的笔画,好像他或她是用户101c。
响应于对其可访问地存储的软件模块,以上关于图2至图9所描述的区域边界行为受到计算机系统110的影响。软件模块引起计算机系统110以所描述的方式操作。软件模块也引起计算机系统110执行在下面图12中被指示为由计算机系统110执行的步骤。虽然本发明在本文中在完全功能的计算机系统的环境中被描述,但是本领域普通技术人员将理解,用于控制计算机系统执行要由计算机系统执行的在此所说的功能的软件模块能够以指令和数据的计算机可读介质的形式被存储或者被分布,并且本发明平等地应用,而不管实际上用来执行存储或者分布的信号承载介质的特定类型。如在此使用的,计算机可读介质是在其上信号可以由计算机系统存储并且读取的介质。示例包括软盘、硬盘驱动、RAM、CD、DVD、闪存、USB驱动等。计算机可读介质可以按照在特定计算机系统中为实际使用而被解码的编码格式存储信息。如在此被使用的术语,单个计算机可读介质也可以包括多于一个物理项目,诸如,多个CD ROM或者多个RAM的段,或者几个不同种类的介质的组合。如在此使用的,术语不包括在其中信号以信号随时间变化的方式被编码的仅随时间变化的信号。
图13是图示了引起上面关于图2至图9描述的区域边界行为的计算机系统110的操作的流程图。在步骤1310中,计算机系统110检测在白板102c上的触摸。在步骤1312中,其确定触摸是在现有绘画区域内还是在背景上。在图2至图9的实施例中,系统可以通过比较触摸点的水平位置与所有那时现有的绘画区域的边界的水平位置来确定这个。如果触摸点不在现有绘画区域内,则在步骤1314中,计算机系统110确定是否存在围绕用于新的绘画区域的触摸点的足够的空间。这包括确定最小宽度区域是否可用,并且如果不可用,则在不违背最小宽度规则的情况下确定邻近的预先存在的区域是否可以被变窄。如果足够的空间不可用,则在步骤1316中,触摸被忽视。如果步骤1314确定用于新的绘画区域的足够的空间的确存在,则在步骤1318中,计算机系统110将工具栏放置在触摸点附近,并且使用如上面关于图2至图9阐明的边界定位规则来打开新的绘画区域。
如果在步骤1312中,计算机系统110确定触摸点在绘画区域内,则在步骤1320中计算机系统110确定做出触摸的书写工具是触针还是一个或者多个手指。如果它是手指触摸,则在步骤1322中计算机系统处理手指触摸。如果它是触针,则在步骤1324中计算机系统110处理如在此描述的线条绘画功能,包括如有必要则如上面关于图8描述的自动地移动绘画区域边界。
图10是计算机系统110的简化的框图。计算机系统110通常包括经由总线子系统1012与多个外围设备通信的处理器子系统1014。这些外部设备可以包括存储子系统1024(其包括存储器子系统1026和文件存储子系统1028)、用户接口输入设备1022、用户接口输出设备1020以及网络接口子系统1016。输入设备和输出设备允许与计算机系统110的用户交互。网络接口子系统1016向外部网络提供接口,包括到通信网络104的接口,并且经由通信网络104耦合到其他计算机系统中的对应的接口设备。通信网络104可以包括多个互连的计算机系统和通信链路。这些通信链路可以是有线链路、光链路、无线链路或者用于信息的传达的其他机制,但是它典型地是基于IP的通信网络,至少在它的末端。虽然在一个实施例中,通信网络104是因特网,但是在其他实施例中,通信网络104可以是任何合适的计算机网络。
网络接口的物理硬件组件有时被称为网络接口卡(NIC),虽然它们不是按照卡的形式:例如,它们可以按照集成电路(IC)和直接装配到母板上的连接器的形式,或者按照在具有计算机系统的其他组件的单个集成电路芯片上制造的宏单元的形式。
用户接口输入设备1022可以包括键盘、指点设备(诸如,鼠标)、轨迹球、触摸板或者绘图板、扫描仪、并入到显示器的触摸屏(包括大格式数字白板102c的触敏部分)、音频输入设备(诸如语音识别系统)、麦克风以及其他类型的输入设备。总之,术语“输入设备”的使用旨在包括将信息输入到计算机系统110中或者输入到计算机网络104上的所有可能类型的设备和方式。
用户接口输出设备1020可以包括显示子系统、打印机、传真机、非视觉显示器(诸如,音频输出设备)。显示子系统可以包括阴极射线管(CRT)、扁平面板设备(诸如,液晶显示器(LCD))、投影设备或者用于创建可视图像的一些其他机制。在图1B的实施例中,它包括大格式数字白板102c的显示功能。显示子系统还可以提供非视觉显示器,诸如经由音频输出设备。总之,术语“输出设备”的使用旨在包括将信息从计算机系统110输出到用户或者输出到另一个机器或者计算机系统的所有可能类型的设备和方式。
存储子系统1024存储提供本发明的某些实施例的功能的基本编程和数据结构。例如,实现本发明的某些实施例的功能的各种模块可以被存储在存储子系统1024中。这些软件模块通常由处理器子系统1014执行。
存储器子系统1026通常包括多个存储器,该多个存储器包括在程序执行期间用于指令和数据的存储的主随机访问存储器(RAM)1030和固定的指令被存储在其中的只读存储器(ROM)1032。文件存储子系统1028提供用于程序和数据文件的永久存储,并且可以包括硬盘驱动、与关联的可删除介质一起的软盘驱动、CD ROM驱动、光驱动或者可删除介质带盒。实现本发明的某些实施例的功能的数据库和模块可以已经在计算机可读介质(诸如,一个或者多个CD-ROM)上被提供,并且可以由文件存储子系统1028存储。主存储器1026包含当由处理器子系统1014执行时引起计算机系统操作或者执行如在此描述的功能的计算机指令等。如在此使用的,响应于包括用于计算机指令和数据的任何其他本地或者远程存储装置的主存储器子系统1026中的这样指令和数据,被认为在“主机”或者“计算机”中或者在“主机”或者“计算机”上运行的过程和软件在处理器子系统1014上执行。
总线子系统1012提供如预期的用于让计算机系统110的各种组件和子系统互相通信的机制。虽然总线子系统1012被示意性地示出为单个总线,但总线子系统的备选实施例可以使用多个总线。
计算机系统110本身可以是不同的类型,包括个人计算机、便携式计算机、工作站、计算机终端、网络计算机、电视、大型机、服务器群或者任何其他数据处理系统或者用户设备。在一个实施例中,计算机系统110包括若干计算机系统,每个计算机系统控制组成大格式白板102c的块中的一个块。(参见通过引用并入的专利申请)由于计算机和网络的不断变化的性质,对在图10中描绘的计算机系统110的描述仅旨在于作为具体示例,目的是为了图示本发明优选的实施例。具有比在图10中描绘的计算机系统更多或者更少的组件的计算机系统110的许多其他配置是可能的。相同的组件和变化也可以组成图1的协作环境以及协作服务器105和白板数据库106中的其他设备102中的每个设备。可以用来实现协作服务器105的计算机系统的另一个实施例在上面并入的PCT国际申请号PCT/US12/39176中被阐明。
关于在数字白板102c上活跃的绘画区域的某些信息被存储在计算机系统110可访问的数据库中。数据库可以在不同的实施例中呈现许多形式,包括但不限于MongoDB数据库、XML数据库、关系数据库或者面向对象的数据库。图11是图示了数据库包含的某些信息和在数据中的某些关系的示意图。
在在此描述的实施例中,每个绘画区域被认为是工具栏的子代。对在墙背景上的点的触摸产生工具栏,该工具栏转而产生绘画区域(尽管工具栏直到绘画区域打开才可见)。类似地,为了关闭绘画区域,用户触摸绘画区域的工具栏上的“关闭”图标。因此,在图11中,数据库由一个或者多个工具栏ID 1110开头。每个工具栏ID 1110包括或者指向数据的相应框1112,其指示工具栏的水平位置、具有绘画区域的宽度的工具栏的绘画区域的左边缘的水平位置以及用于绘画区域的绘画属性的集合。应当理解,许多变化是可能的,诸如,指定绘画区域的右边缘位置而不是左边缘位置,以及指定相对的边缘位置而不是绘画区域宽度。因为在实施例中,工具栏位置始终保持在相同的垂直位置,所以工具栏位置仅具有水平值。在另一个实施例中,水平位置和垂直位置二者可以被指定。
绘画属性包括或者指向绘画特质(attribute)的阵列114,每个阵列与一个或者多个值关联。图11中的绘画属性包括画刷类型,画刷的值可以例如指示其中各自当在白板102c上被绘画时具有不同的外观特性的“涂料”“墨水”、“蜡笔”、“麦克笔(marker)”或者“橡皮擦”。图11中的绘画属性也包括可以呈现在可用值的范围中的任何值的画刷宽度。图11中的绘画属性也包括具有三个关联的值:红、绿和蓝内容的画刷颜色。如在此使用的,三个特质画刷类型、画刷宽度和画刷颜色被认为组成“线条外观属性”。在各种实施例中,绘画属性1114也可以包括其他特质,诸如影响它的线条的位置或者线条的部分的位置的那些。这些属性可以包括属性诸如圆角半径、Bézier曲线参数这样的特质。如在图11中可见的,没有要求用于不同的绘画区域的绘画属性(包括线条外观属性)相同。它们可以彼此独立地被建立,因此它们没必要是相同的。在典型的情况下,它们将不是相同的。
为了在白板102c上绘画线条,用户提供指示线条的绘画的“绘画用户输入”。虽然其他实施例可以允许用户利用手指绘画,但是在图1的实施例中,只有触针可以用来指示线条的绘画。在直觉上,用户通过使触针触摸绘画区域内的白板102c表面并且沿着为了线条所期望的位置拖动触针来这样指示。线条绘画操作的结束通过将触针从白板102c表面抬起被指示。本地计算机系统110从用户输入确定线条上的点要被定位在哪里,并且在白板102c上显示它们。计算机系统110也向协作服务器105(图1B)传输笔画信息,协作服务器105将它们写入它的白板数据库106中并且将它们传输回分享会话的各个设备102。设备102中的每个设备然后可以显示线条(只要线条与设备的视口相交),因此所有这样的设备102在将粗略相同的时间显示线条。
图12(由图12A、图12B、图12C和图12D组成)是图示了在其中两个用户101c和101d在白板102c处工作的典型流程的流程图。为了图示的简化,图5的环境将被假定。正如在此所有流程图,应当理解,步骤中的许多步骤可以被组合、被并行执行或者以不同的顺序被执行,而不影响所实现的功能。在一些情况下,如读者将理解的,只要某些其他变化也被做出,步骤的重新排列就将实现相同的结果。在其他情况下,如读者将理解的,只要某些条件被满足,步骤的重新排列就将实现相同的结果。此外,应当理解,在此的流程图仅示出了与对本发明的理解有关的步骤,并且应当理解,在示出的这些之前、之后以及之间,用于完成其他功能的多个附加步骤可以被执行。
首先,在步骤1210中,假定没有绘画区域被打开。在步骤1212中,用户101c通过触摸背景提供“打开用户输入”。在步骤1214中,计算机系统110为新的绘画区域512建立针对框1112(图11)中的特质的初始值(其可以是默认值),并且在步骤1216中,它可视地在白板102c上打开绘画区域,并且显示工具栏510。绘画区域512小于白板102c的完整区域。针对用户101c的流程继续到图12B中的标示“B”。
在步骤1212、1214和1216之前或者之后,或者与步骤1212、1214和1216同时,在步骤1218中,第二用户101d通过触摸背景提供“打开用户输入”。在步骤1220中,计算机系统110为新的绘画区域514建立针对框1112中的特质的初始值,并且在步骤1222中,计算机系统可视地打开白板102c上的绘画区域514,并且示出工具栏520。两个绘画区域512和514彼此不同(它们不重叠),并且它们的线条外观属性彼此独立。
此外,在步骤1224中,用户101d通过触摸工具栏520中的适当的图标提供指示针对在绘画区域514绘画的线条的线条外观属性中的变化的用户输入,诸如,画刷类型、宽度以及颜色。在步骤1226中,计算机系统110通过将它们记录在用于绘画区域514的框1114中建立用于绘画区域514的新的期望值。此时,对绘画区域514有效的外观属性不再与对绘画区域512有效的那些相同。针对用户101d的流程继续到图12C中的标示“C”。
到目前为止,所有活动是本地的,并且没有绘画相关的消息已经被传输给协作服务器105。
参考图12B,在步骤1228中,用户101c提供指示绘画区域512内的线条的绘画的用户输入。然而,其他实施例可以采取不同的策略,在图1的实施例中,线条由随后是通过其用户的触针通过的点的序列的起始位置指示。到白板102c表面的触针的触摸指示线条的起点。在步骤1230中,计算机系统110向服务器105发送开始笔画(BeginStroke)消息。这一消息包含线条的起点的(X,Y)位置和那时对绘画区域512有效的线条绘画属性。如在白板102c上检测到的触针的(X,Y)位置在特定于白板的局部坐标系中被表示,其转而仅将视口反射到利用其位置由协作服务器105表示的更通用的坐标系中。因此,计算机系统110在向服务器105传输任何消息之前,将来自局部坐标系的触针的位置转换成通用坐标系。
在步骤1232中,用户101c将触针拖动或者滑动到下一个触摸点,并且在步骤1234中,计算机系统110向服务器105发送继续笔画(Continue Stroke)消息。继续笔画消息标识新的触摸点位置(X,Y)和那时对绘画区域512有效的线条绘画属性。再次,计算机系统110在传输继续笔画消息之前转换坐标系。
在步骤1236中,计算机系统110使用那时对绘画区域512有效的线条外观属性,在白板105c上粗略地或者精确地从在前的触针位置向当前的触针位置绘涂笔画。在另一个实施例中,白板105c不绘涂来自触摸输入数据的笔画,而是等待来自服务器的对笔画信息的广播,并且响应于广播笔画信息绘涂它。
在步骤1238中,计算机系统110确定当前的触摸点是否在距区域512的边界的预定距离内。(参考伴随图8的讨论)如果它不是,则过程循环回到其中用户101c将触针拖动到下一个触摸点上的步骤1232。随着用户依次触摸白板105c上的点,该循环重复许多次,以指示线条的绘画。随着用户这样做,系统110显示具有那时对绘画区域512有效的外观属性的白板105c上的线条。
如果在步骤1238中确定当前的触摸点在距区域512的边界的预定距离内,则如上面关于图8所描述的,计算机系统110在离开当前的触摸点的方向上移动靠近的边界(步骤1240)。它也在相同的方向上移动区域512的相对的边界,从而使得区域512的宽度保持不变。过程然后回到步骤1232以继续线条绘画循环。
在某一时刻,用户抬起触针以指示线条的终止(步骤1242)。响应于这一用户行为,在步骤1244中,计算机系统向服务器110传送结束笔画(End Stroke)消息。在短暂延迟之后,如下面所描述的,计算机系统110也可以在这时将工具栏510移动以更靠近线条的末端(步骤1246)。
在步骤1226(图12A)之后的用户101d的过程与刚刚描述的用户101c的过程中的过程类似。参考图12C,在步骤1248中,用户101c提供指示绘画区域514内的线条的绘画的用户输入。到白板102c表面的触针的触摸指示线条的起点。在步骤1250中,计算机系统110向服务器发送开始笔画(Begin Stroke)消息,包含通用坐标系中的线条的起点的(X,Y)位置以及那时对绘画区域512有效的线条绘画属性。在步骤1252中,用户101c将触针拖动到下一个触摸点,并且在步骤1254中,计算机系统110向服务器105发送继续笔画消息。继续笔画消息标识新的触摸点位置(X,Y)以及那时对绘画区域514有效的线条绘画属性。
在步骤1256中,计算机系统110使用如所提到的与那时对绘画区域512有效的线条外观属性不同的那时对绘画区域514有效的线条外观属性,在白板105c上粗略地或者精确地从在前的触针位置向当前的触针位置绘画笔画。过程然后循环回到其中用户101d将触针拖动到下一个触摸点上的步骤1252。随着用户依次触摸白板105c上的点,该循环重复许多次,以指示线条的绘画。随着用户这样做,系统110显示具有那时对绘画区域514有效的外观属性的白板105c上的线条。
在某一时刻,用户101d抬起触针以指示线条的终止(步骤1262)。响应于这一用户行为,在步骤1264中,计算机系统向服务器110传输结束笔画消息。在短暂延迟之后,如下面所描述的,计算机系统110也可以在这时将工具栏520移动为更靠近线条的末端(步骤1266)。
图12D图示了在接收开始笔画消息、继续笔画消息和结束笔画消息时,发生在协作服务器105中的过程。在步骤1270中,服务器接收消息,在步骤1272中,服务器将消息的内容记录在白板数据库106中。在步骤1274中,服务器向共享与白板102c的会话的所有设备102广播消息。广播消息包括通用坐标系中的位置以及在步骤1270中服务器接收到的线条外观属性。由于如关于步骤1236和1256所描述的,白板102c已经将适当的点绘涂在它的本地显示器上,因此白板102c忽视广播消息。然而,在步骤1276中,接收广播消息的所有其他设备102确定指示的点是否在本地设备的视口内,并且如果是的话,则它们将点转换成本地设备坐标系,并且使用接收到的线条外观属性在本地显示器上显示它。其他设备中的那些小的设备(诸如,PC和平板计算机)可以仅具有单个绘画区域。外观属性的独立集合与这样的绘画区域关联,但是当绘涂如在来自步骤1274的广播消息中接收到的线条时,它们被忽视。图1的协作环境也支持可以具有如白板102c定义的那样的它们自己的多个绘画区域的附加的大格式白板,但是再次,当绘涂如在来自步骤1274的广播消息中接收到的线条时,本地绘画区域和那时对这样绘画区域有效的线条外观属性被忽视。在这些其他白板上的绘画区域边界也被忽视,并且被绘涂的线条可以甚至横穿多个绘画区域。
如果其他设备102中的一个设备的用户开始在本地设备上绘画,则如上面关于图12所描述的,消息的相同的序列被发送给服务器,并且被重新广播给所有其他设备(包括白板102c)。然而,这些线条使用那时再绘画区域中有效的线条外观属性被绘画,在该绘画区域上用户滑动触针。因此,例如,两个不同的用户可以操作两个不同的设备102。第一用户可以已经为他的或者她的绘画区域将线条颜色设置为红色,而第二用户可以已经为他的或者她的绘画区域将线条颜色设置为蓝色。由第一用户绘画的线条然后将在两个设备上以红色显示,并且由第二用户绘画的线条然后将在两个设备上以蓝色显示。两个线条可以在两个设备上同时地出现,并且例如它们可以甚至彼此相交。
工具栏行为
如所提到的,在图1的实施例中,每个绘画区域具有关联的工具栏。在各种实施例中,工具栏控制控制各种功能,但是至少它为用户提供一种方式以为绘画区域设置一个或者多个线条外观属性。图1的实施例中的工具栏是本地特征;它们完全地由计算机系统110产生、移动和关闭,并且无论是它们的存在还是它们的动作都不被发送给协作服务器105。在其他实施例中,协作服务器105可以在工具栏的各种方面中被涉及。
在图1的实施例中,计算机系统110将工具栏定位到足够靠近用户的活动,但是利用最小的干扰来完成。特别地,如果用户的活动(诸如,绘画线条)没有被移动到距当前的工具栏位置太远时,则工具栏保持它的位置。仅当用户的活动已经变得距工具栏比预定的距离更远时,系统110才将工具栏移动得更靠近。此外,也通过总是将工具栏保持在不变的垂直位置并且始终水平地移动工具栏,干扰被最小化。在这一实施例中,距离仅水平地被测量。
因此,在图1的实施例中,当用户首先触摸白板102c上的位置以打开绘画窗口时,计算机系统110首先在根据第一触摸位置的位置处显示工具栏。具体地,工具栏在预定的垂直位置处和在靠近第一触摸位置、但是不是靠近到使它覆盖第一触摸位置的水平位置处被显示。在实施例中,工具栏总是直接地出现在触摸位置的上面。
随着用户在白板上绘画,计算机系统110确定用户的活动的位置。在用户的活动和当前的工具栏位置之间的距离(在水平方向上)然后被与预定的最大工具栏距离比较。如果用户的活动的位置保持与预定距离相比更靠近当前的工具栏位置,则工具栏不移动。仅当用户的活动的位置变得距当前的工具栏位置大于预定的距离时,计算机系统110才将工具栏移动到更靠近用户的最近的活动(尽管再次,不是靠近到使它覆盖用户的最近的活动)的新的工具栏位置。
优选地,在线条绘画的处理期间,计算机系统110不移动工具栏,而是等待直到触针从白板表面被抬起。在一个实施例中,系统等待更多几秒钟的不活动时间,以便确保用户是真正地被完成。如果此时的距离超过预定的距离,则工具栏被移动。
在另一个实施例中,对预定的最大工具栏距离测量的距离是欧几里得距离(Euclidean distance),而不是单独的水平距离。在工具栏被允许垂直地以及水平地移动情况下,这样的实施例可以是最有用的。
条款。以下条款描述了与用于数字白板的区域动力学(dynamics)有关的方法的各种示例的方面。
条款1.一种用于在触敏显示器表面上定位工具栏的方法,包括以下步骤:
响应于在显示器上的第一触摸位置处的第一用户输入,在取决于第一触摸位置的第一工具栏位置处显示工具栏;并且
响应于在第二触摸位置处的第二用户输入:
确定第二触摸位置是否水平地距第一工具栏位置小于预定的距离,
如果第二触摸位置被确定为水平地距第一工具栏位置小于预定的距离,则将工具栏留在第一工具栏位置处,并且
如果第二触摸位置被确定为水平地距第一工具栏位置大于预定的距离,则将工具栏移动到更靠近第二触摸位置的第二工具栏位置。
条款2.根据条款1的方法,其中第一工具栏位置是这样的:工具栏不与第一触摸位置重叠,并且第二工具栏位置是这样的:工具栏不与第二触摸位置重叠。
条款3.根据任何前述条款的方法,其中第一触摸位置和第二触摸位置具有不同的垂直位置,
但是其中第一工具栏位置和第二工具栏位置具有相等的垂直位置,并且将工具栏移动到更靠近第二触摸位置的第二工具栏位置的步骤仅水平地移动工具栏。
条款4.根据任何前述条款的方法,为了在绘画线条中使用,其中第一用户输入包括:用户使书写工具触摸显示器以指示线条的开始,
并且其中第二用户输入包括:用户从显示器抬起书写工具以指示线条的结束。
条款5.根据任何前述条款的方法,其中第二触摸位置被确定为水平地距第一工具栏位置大于预定的距离,
进一步包括在第二用户输入的检测与移动工具栏的步骤之间插入时间延迟的步骤。
条款6.一种用于在触敏显示器表面上定位工具栏的系统,包括:存储器;以及
数据处理器,所述数据处理器耦合到所述存储器,所述数据处理器被配置为执行任何前述条款的步骤。
*****
如在此使用的,信息的项目的“标识”未必要求对信息的该项目的直接说明。通过间接的一个或者多个层简单地提及实际信息,或者通过标识在一起足以确定信息的实际项目的不同信息的一个或者多个项目,信息可以是在领域中被“标识的”。此外,在此使用的术语“指示”与“标识”的意思相同。
还如在此使用的,在先前的信号、事件或者值影响给定的信号、事件或者值时,给定的信号、事件或者值“响应”于先前的信号、事件或者值。如果存在介入处理元件、步骤或者时期,则给定的信号、事件或者值可以仍然“响应”于先前的信号、事件或者值。如果介入处理元件或者步骤组合多于一个信号、事件或者值,则处理元件或者步骤的信号输出被认为是“响应”与信号、事件或者值输入中的每个。如果给定的信号、事件或者值与先前的信号、事件或者值相同,则这仅仅是在其中给定的信号、事件或者值仍然被认为是“响应”于先前的信号、事件或者值的退化情况。在信号、事件或者值之上的给定的信号、事件或者值的“从属”类似地被定义。
申请人由此单独公开了在此描述的每个独立的特征以及两个或更多个这种特征的任何组合,在不限制于权利要求的范围下,不管这种特征或特征的组合是否解决了在此公开的任何问题,该公开的程度使得根据本领域技术人员的普通常识基于本发明的整体说明能够实现这种特征或组合。申请人指出本发明的方面可以由任何这种特征或特征的组合组成。鉴于前述的描述,本领域技术人员应当清楚地是,在本发明的保护范围内可以进行各种形式的变形。
出于图示和说明的目的,已经提供了对本发明的优选的实施例的前述描述。并不旨在将本发明穷举或者限制到所公开的精确形式。显然地,许多修改和变化对于本领域技术人员来说将是显而易见的。例如,虽然多个绘画区域对至少大到12'宽的白板最有用,虽然在此描述的白板具有大格式,但是小格式白板也可以被布置以使用多个绘画区域。特别地,并且没有限制的,由本专利申请的背景部分或者由通过引用并入的材料所描述的、所建议的任何和全部变化通过引用被具体地并入到本发明的实施例的在此的说明书中。此外,通过参考任何一个实施例引用在此所描述的、所建议的或者所并入的任何和全部变化也被认为是参考所有其他实施例而被教导的。本文所描述的实施例被选择和被描述以使得最好的解释本发明的原理以及它的实际应用,由此使得本领域技术人员能够理解用于各种实施例并具有各种修改的本发明适于预期的特定意图。本发明的范围旨在于由所附的权利要求和它们的等效物定义。

Claims (10)

1.一种用于在触敏显示器表面上定位工具栏的方法,包括以下步骤:
响应于在所述显示器上的第一触摸位置处的第一用户输入,在取决于所述第一触摸位置的第一工具栏位置处显示所述工具栏;并且
响应于在第二触摸位置处的第二用户输入:
确定所述第二触摸位置是否水平地距所述第一工具栏位置小于预定的距离,
如果所述第二触摸位置被确定为水平地距所述第一工具栏位置小于预定的距离,则将所述工具栏留在所述第一工具栏位置处,并且
如果所述第二触摸位置被确定为水平地距所述第一工具栏位置大于所述预定的距离,则将所述工具栏移动到更靠近所述第二触摸位置的第二工具栏位置。
2.根据权利要求1所述的方法,其中所述第一工具栏位置是这样的:所述工具栏不与所述第一触摸位置重叠,并且所述第二工具栏位置是这样的:所述工具栏不与所述第二触摸位置重叠。
3.根据权利要求1所述的方法,其中所述第一触摸位置和所述第二触摸位置具有不同的垂直位置,
但是其中所述第一工具栏位置和所述第二工具栏位置具有相等的垂直位置,并且将所述工具栏移动到更靠近所述第二触摸位置的第二工具栏位置的步骤仅水平地移动所述工具栏。
4.根据权利要求1所述的方法,为了在绘画线条中使用,其中所述第一用户输入包括:所述用户使书写工具触摸所述显示器以指示所述线条的开始,
并且其中所述第二用户输入包括:所述用户从所述显示器抬起所述书写工具以指示所述线条的结束。
5.根据权利要求4所述的方法,其中所述第二触摸位置被确定为水平地距所述第一工具栏位置大于所述预定的距离,
进一步包括在所述第二用户输入的检测与移动所述工具栏的步骤之间插入时间延迟的步骤。
6.一种用于在触敏显示器表面上定位工具栏的系统,包括:
存储器;以及
数据处理器,所述数据处理器耦合到所述存储器,所述数据处理器被配置为:
响应于在所述显示器上的第一触摸位置处的第一用户输入,在取决于所述第一触摸位置的第一工具栏位置处显示所述工具栏;并且
响应于在第二触摸位置处的第二用户输入:
确定所述第二触摸位置是否水平地距所述第一工具栏位置小于预定的距离,
如果所述第二触摸位置被确定为水平地距所述第一工具栏位置小于预定的距离,则将所述工具栏留在所述第一工具栏位置处,并且
如果所述第二触摸位置被确定为水平地距所述第一工具栏位置大于所述预定的距离,则将所述工具栏移动到更靠近所述第二触摸位置的第二工具栏位置。
7.根据权利要求6所述的系统,其中所述第一工具栏位置是这样的:所述工具栏不与所述第一触摸位置重叠,并且所述第二工具栏位置是这样的:所述工具栏不与所述第二触摸位置重叠。
8.根据权利要求6所述的系统,其中所述第一触摸位置和所述第二触摸位置具有不同的垂直位置,
但是其中所述第一工具栏位置和所述第二工具栏位置具有相等的垂直位置,并且将所述工具栏移动到更靠近所述第二触摸位置的第二工具栏位置仅水平地移动所述工具栏。
9.根据权利要求6所述的系统,为了在绘画线条中使用,其中所述第一用户输入包括:所述用户使书写工具触摸所述显示器以指示所述线条的开始,
并且其中所述第二用户输入包括:所述用户从所述显示器抬起所述书写工具以指示所述线条的结束。
10.根据权利要求6所述的系统,其中所述第二触摸位置被确定为水平地距所述第一工具栏位置大于所述预定的距离,
并且其中所述数据处理器被进一步配置为:在所述第二用户输入的检测与移动所述工具栏之间插入时间延迟。
CN201380057673.4A 2012-09-05 2013-09-04 用于数字白板的工具栏动力学 Pending CN104969150A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261697248P 2012-09-05 2012-09-05
US61/697,248 2012-09-05
US13/758,989 2013-02-04
US13/758,989 US9465434B2 (en) 2011-05-23 2013-02-04 Toolbar dynamics for digital whiteboard
PCT/US2013/058030 WO2014039536A1 (en) 2012-09-05 2013-09-04 Toolbar dynamics for digital whiteboard

Publications (1)

Publication Number Publication Date
CN104969150A true CN104969150A (zh) 2015-10-07

Family

ID=50237575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380057673.4A Pending CN104969150A (zh) 2012-09-05 2013-09-04 用于数字白板的工具栏动力学

Country Status (4)

Country Link
EP (1) EP2893425A4 (zh)
CN (1) CN104969150A (zh)
CA (1) CA2883648A1 (zh)
WO (1) WO2014039536A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320755A (ja) * 1995-05-25 1996-12-03 Canon Inc 情報処理装置
CN101211250A (zh) * 2006-12-28 2008-07-02 三星电子株式会社 使用菜单集提供菜单的方法和使用该方法的多媒体装置
CN101252746A (zh) * 2007-02-23 2008-08-27 Lg电子株式会社 在移动通信终端中显示菜单的方法
JP2009169735A (ja) * 2008-01-17 2009-07-30 Sharp Corp 情報処理表示装置
CN101901103A (zh) * 2009-05-26 2010-12-01 株式会社泛泰 触摸设备中的用户界面装置和用于用户界面的方法
JP2012043251A (ja) * 2010-08-20 2012-03-01 Ricoh Co Ltd 電子情報ボード装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080163053A1 (en) * 2006-12-28 2008-07-03 Samsung Electronics Co., Ltd. Method to provide menu, using menu set and multimedia device using the same
US8351989B2 (en) * 2007-02-23 2013-01-08 Lg Electronics Inc. Method of displaying menu in a mobile communication terminal
KR20110121888A (ko) * 2010-05-03 2011-11-09 삼성전자주식회사 휴대용 단말기에서 팝업 메뉴를 확인하기 위한 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08320755A (ja) * 1995-05-25 1996-12-03 Canon Inc 情報処理装置
CN101211250A (zh) * 2006-12-28 2008-07-02 三星电子株式会社 使用菜单集提供菜单的方法和使用该方法的多媒体装置
CN101252746A (zh) * 2007-02-23 2008-08-27 Lg电子株式会社 在移动通信终端中显示菜单的方法
JP2009169735A (ja) * 2008-01-17 2009-07-30 Sharp Corp 情報処理表示装置
CN101901103A (zh) * 2009-05-26 2010-12-01 株式会社泛泰 触摸设备中的用户界面装置和用于用户界面的方法
JP2012043251A (ja) * 2010-08-20 2012-03-01 Ricoh Co Ltd 電子情報ボード装置

Also Published As

Publication number Publication date
CA2883648A1 (en) 2014-03-13
WO2014039536A1 (en) 2014-03-13
EP2893425A1 (en) 2015-07-15
EP2893425A4 (en) 2016-04-13

Similar Documents

Publication Publication Date Title
US9465434B2 (en) Toolbar dynamics for digital whiteboard
CN108733296B (zh) 书写笔迹的擦除方法、装置和设备
CN105190617A (zh) 具有对全局协作数据的白板访问的协作系统
CN102027450A (zh) 由移动计算装置使用外部显示装置的方法和系统
CN103631841B (zh) 用于创建结构化文档的方法和系统
CN106663329B (zh) 图形基元和颜色通道
CN105122187A (zh) 组合显示面板电路
KR20160016523A (ko) 디스플레이 장치, 디스플레이 시스템 및 그 제어 방법
CN108255546A (zh) 一种数据加载动画的实现方法及装置
CN110045840A (zh) 一种书写轨迹关联的方法、装置、终端设备和存储介质
CN107533426A (zh) 模拟使用数字标志器、触控输入及低功率反射式显示器挂图使用之方法及设备
CN107229727A (zh) 一种评论方法及装置
US20070177806A1 (en) System, device, method and computer program product for using a mobile camera for controlling a computer
JP6759552B2 (ja) 情報処理装置及び情報処理プログラム
US20080278734A1 (en) Digital paper-enabled products and methods relating to same
CN104823136A (zh) 用于数字白板的区域动力学
WO2015134866A1 (en) Methods and systems of annotating local and remote display screens
KR102159326B1 (ko) 작가체학습단말기 및 시스템
CN105988760A (zh) 基于打印的互动显示方法及系统
CN107615265A (zh) 转移多装置工作区数据方法及系统
CN104969150A (zh) 用于数字白板的工具栏动力学
KR102405324B1 (ko) 단말기에서 그림을 학습하는 방법
CN102902412B (zh) 多指针间接输入设备的基于加速的交互
US20170344168A1 (en) Display system, input device, display device, and display method
JP2015203989A (ja) 表示制御プログラム、表示制御装置及び表示制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151007

WD01 Invention patent application deemed withdrawn after publication