KR101183351B1 - 사용자 맞춤화에 기초한 그래픽 프레젠테이션 관리 - Google Patents

사용자 맞춤화에 기초한 그래픽 프레젠테이션 관리 Download PDF

Info

Publication number
KR101183351B1
KR101183351B1 KR1020050073710A KR20050073710A KR101183351B1 KR 101183351 B1 KR101183351 B1 KR 101183351B1 KR 1020050073710 A KR1020050073710 A KR 1020050073710A KR 20050073710 A KR20050073710 A KR 20050073710A KR 101183351 B1 KR101183351 B1 KR 101183351B1
Authority
KR
South Korea
Prior art keywords
graphic
graphical
customization
definition
diagram
Prior art date
Application number
KR1020050073710A
Other languages
English (en)
Other versions
KR20060050401A (ko
Inventor
카렌 케이 옹
스코트 에이 서맨
다운 라잇
매츄 제이. 코틀러
일란 버커
Original Assignee
마이크로소프트 코포레이션
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 US10/957,103 external-priority patent/US8510657B2/en
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060050401A publication Critical patent/KR20060050401A/ko
Application granted granted Critical
Publication of KR101183351B1 publication Critical patent/KR101183351B1/ko

Links

Images

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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/20Linear translation of whole images or parts thereof, e.g. panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Digital Computer Display Output (AREA)

Abstract

컴퓨터 그래픽 응용 프로그램의 사용자 맞춤화에 기초하여 그래픽을 랜더링하는 방법 및 시스템이 기재된다. 맞춤화는 그래픽에서 한 개 이상의 그래픽 요소들의 다양한 특성들에 관련된다. 그런 특성들은 그래픽 요소들과 연관된 배치(positioning), 크기, 포맷팅(formatting), 및 다른 가시적 속성들을 포함한다. 이들 특성들은 세만틱(semantic) 특성들 또는 프레젠테이션(presentation) 특성들로서 정의될 수 있다. 세만틱 특성들은 모든 그래픽 정의들에서 지속적이다. 프레젠테이션 특성들은 각 특정 그래픽이 속하는 그래픽 정의에 특정하다. 그러므로, 디스플레이된 그래픽의 세만틱 특성에의 맞춤화는 현재 디스플레이되는 그래픽뿐만이 아니라, 미래에 디스플레이될 수 있는 모든 다른 그래픽 정의들에도 적용하기 위해 메모리에 보존된다. 반면에, 프레젠테이션 특성에의 맞춤화는 단지 현재 디스플레이되는 그래픽에 대해서만 보존되며, 그러므로, 모든 다른 그래픽 정의들에 대해 보존되는 것은 아니다.
세만틱 모델, 프레젠테이션 모델, 그래픽 정의들, 사용자 맞춤화, 맞춤화 엔진

Description

사용자 맞춤화에 기초한 그래픽 프레젠테이션 관리{MAINTAINING GRAPHICAL PRESENTATIONS BASED ON USER CUSTOMIZATIONS}
도 1은 본 발명의 일 실시예에 따라 그래픽을 생성하고 편집하는 컴퓨터 그래픽 응용 프로그램의 사용자 인터페이스를 도시한다.
도 2는 본 발명의 실시예들이 구현될 수 있는 컴퓨터 시스템의 예를 도시한다.
도 3은, 본 발명의 일 실시예에 따라, 맞춤화 시스템을 포함하는, 컴퓨터 그래픽 응용 프로그램의 다양한 컴포넌트들을 나타내는 기능도이다.
도 4는 본 발명의 일 실시예에 따라 도 3의 맞춤화 시스템을 더 상세히 도시하는 기능도이다.
도 5a 내지 도 5c는 컴퓨터 그래픽 응용 프로그램에 편집되고 있는 그래픽 맞춤화를 관리하기 위해 도 4의 맞춤화 시스템의 인시퀀스(in sequence) 동작을 도시한다.
도 6은 본 발명의 일 실시예에 따라 보여진 사용자 맞춤화에 기초하여 그래픽을 디스플레이하는 프로세스("디스플레이 프로세스")의 동작 특성들을 도시하는 호름도이다.
<주요도면 부호설명>
104 컨텐츠 페인 105 갤러리 페인
106 그래픽 페인 108 그래픽
109a 그래픽 정의1 109b 그래픽 정의2
300 맞춤화 시스템 301 맞춤화 데이타
302 레이아웃 트리 304 출력 엔진
308 컨텐츠 입력 310 그래픽에 입력과 편집
312 그래픽 유형의 사용자 선택 404 세만틱 모델
408 그래픽 정의1을 위한 프레젠테이션 모델
410 그래픽 정의2를 위한 프레젠테이션 모델
본 출원서는 본 명세서에 그 전체 개시의 내용이 참조로서 포함되는, 2004년 9월 30일에 출원되고 "계층적 리스트를 통한 임의의 그래픽의 텍스트 편집(Editing The Text Of An Arbitrary Graphic Via A Hierarchical List)"의 표제의 미국특허출원번호 제10/957,103호가 부여된 미국 특허 출원서의 일부연속출원이다.
본 발명은 일반적으로 가시적 프레젠테이션(visual presentations)들의 생성 및 편집에 관한 것이고, 더 구체적으로는, 사용자 맞춤화에 기초하여 그래픽을 디스플레이하는 것에 관한 것이다.
가시적 보조물은 사람들이 정보를 이해하도록 돕는다. 사람들의 그룹들로 또는 사람들의 그룹들 간에 정보 전달은 정보를 구현하는 가시적 프레젠테이션들을 생성하는 것을 요구하는 것이 거의 필요하다. Microsoft
Figure 112005044307265-pat00001
PowerPoint
Figure 112005044307265-pat00002
프레젠테이션 응용 프로그램과 같은, 그래픽 응용 프로그램들은 그런 가시적 프레젠테이션들을 생성하는 작업을 자동화하는 것을 도와왔다. 그런 그래픽 응용 프로그램은 본 명세서에서 그래픽으로서 참조되는 쉽게 이해할 수 있는 포맷으로 그 정보를 삽입하여 더 효율적이고 효과적으로 사용자들이 정보를 전달하도록 한다.
그래픽은 아이디어의, 다이어그램 또는 다른 그림과 같은, 가시적 프레젠테이션들이다. 그래픽은 통상적으로, 예를 들어, 불렛(bulleted) 리스트와 같은, 아이디어를 구현하는 컨텐츠를 나타내는 여러 개의 그래픽 요소들로 구성된다. 각 그래픽 요소는 디스플레이된 그래픽의 일부이다. 그래픽 요소는 텍스트와 그래픽 특성들을 모두 가질 수 있다. 그래픽 특성들이 일반적으로 그래픽 요소의 그림이나 다른 가시적 특징들을 일컫는 반면, 텍스트 특성들은 일반적으로 그래픽 요소 내에 쓰여있는 것을 일컫는다. 정보 및 관중에 따라, 그래픽 응용 프로그램의 사용자는 일반적으로 기반되는 정보를 가장 잘 가르치거나 전달할 특정 그래픽을 결정한다. 일반적으로, 종래 그래픽 응용 프로그램들은 그래픽을 생성하는 2개의 접근법들 중의 하나를 제공한다.
한편, 일부 종래 그래픽 응용 프로그램들은 사용자들이 그래픽을 생성하고 편집하는 완전한 유연성을 가진 수동 드로잉 접근법(manual drawing approach)을 사용한다. 그렇게 해서, 사용자는 그(녀)가 적합하다고 보는대로 그래픽에 그래픽 요소들의 외관을 배치하고 맞춤화할 것이다. 그러나, 그래픽 편집에 그런 "자유 행사(free reign)"를 제공하여, 이 수동 접근법은 그래픽에서 다른 그래픽 요소들의 맞춤화 및/또는 재배치에 의해 영향을 받는 그래픽에서 이들 그래픽 요소들을 사용자가 재배치하고 재정렬해야 하는 결과를 가져온다. 추측할 수 있듯이, 이 접근법은 일반적으로 최종 작품을 랜더링하기 위해 그래픽을 조작하기 위한 많은 시간을 요구한다. 사용자 시간은 그래픽에서 묘사되는 메시지에 촛점을 맞추기보다는 그래픽의 가시적 양태들을 조작하면서 비효율적으로 소비된다. 더욱이, 이 접근법은, 적어도 어느 정도는, 그래픽 디자인 능력을 필요로 한다. 높은 디자인 기술을 갖지않은 그런 사용자들은 수동적 접근법에 의해 더욱 제한된다.
다른 한편, 일부 종래 그래픽 응용 프로그램들은 각 그래픽에 대한 레이아웃(layout)과 외관이 사용자가 바라는 그래픽 유형 및 그 그래픽을 위해 미리 결정된 그래픽 요소들에 기초하여 자동으로 정의되는 자동 드로잉 접근법(automatic drawing approach)을 사용한다. 이 접근법에서, 그래픽에서 그래픽 요소들의 정렬 및 배치의 부담이 사용자로부터 벗어나 응용 프로그램에 대신 놓여진다. 그러나, 이 접근법은 사용자에게 통상적으로 선택할 제한되고 고정된 세트의 그래픽 정의들만이 제공된다는 점에서 문제가 있다. 또한, 사용자는 먼저 자동 드로잉 기능을 모두 버리지 않고는 그(녀)의 원하는 바에 기초하여 그래픽을 맞춤화하는 권한이 주어지지 않아서, 처음부터 이 접근법을 사용하는 목적을 좌절시킨다.
본 발명은 이들과 다른 고려사항들에 대해 만들어졌다.
본 발명에 따라, 컴퓨터로 구현된 방법은 디스플레이 스크린에 그래픽을 랜더링하기 위해 제공된다. 그래픽은 항목들(items)이 미리 정해진 구조로 배열되거나 배열되지 않을 수 있는 컨텐츠의 가시적 표현이다. 다양한 형태들의 컨텐츠가 그래픽을 사용하여 표현될 수 있지만, 설명 목적으로, 컨텐츠는 본 명세서에서 텍스트 컨텐츠로서 기재된다. 컨텐츠의 수신에서, 방법은 컨텐츠를 시각적으로 표현하기 위한 그래픽 정의의 선택을 수신하는 것과 관련이 있다. 선택된 그래픽 정의는 그래픽 정의 하에 생성된 그래픽에 대한 그래픽 요소들의 외관 및 레이아웃을 위한 디폴트 특성들을 명시한다. 다음, 방법은 컨텐츠의 항목들에 따라 그리고 다른 그래픽 정의에 기초하여 컨텐츠를 위해 랜더링된 그래픽에 전에 적용된 디폴트 특성들 중의 적어도 하나의 맞춤화에 따라 그래픽 요소들을 포함하기 위해 그래픽을 생성한다. 그 다음, 생성된 그래픽은 사용자에게 디스플레이하기 위해 디스플레이 모듈에 출력된다.
본 발명의 실시예들에 따라, 맞춤화는 모든 가능한 그래픽 정의들에서 지속적인 특성들의 세트를 분석하여 식별되고, 여기서, 이 특성들의 세트는 "세만틱(semantic)" 모델에 명시된다. 그러므로, 세만틱 모델은 모든 가능한 그래픽 정의들에 대응하는 그래픽들에 적용할 수 있는 이들 특성들을 정의한다. 다른 실시예에 따라, 그래픽의 생성은 또한 현재 랜더링되고 있는 그래픽에 대한 특정 그래픽 정의에 고유한 맞춤화를 고려할 것이다, 이들 맞춤화는 연관된 그래픽 정의의 선택에 응답하여 세만틱 모델과 함께 검색수취(retrieve)되는 "프레젠테이션" 모델에서 유지된다.
추가 실시예들에서, 본 발명은 가시적으로 컨텐츠를 표현하는 시스템을 제공한다. 이 시스템은 복수 개의 가능한 그래픽 정의들을 포함하며, 각각은 컨텐츠를 표현하기 위해 동작가능한 연관된 그래픽에 대한 디폴트 특성들을 명시한다. 각 연관된 그래픽이 유사한 세만틱 특성을 사용하여 컨텐츠의 유사한 항목을 나타내도록 모든 가능한 그래픽 정의들에 대한 "세만틱" 특성들을 정의하는 세만틱 모델을 시스템이 또한 포함한다. 추가로, 이 실시예에 따른 시스템은 다른 그래픽 정의들 및 세만틱 모델에 따라 그래픽들을 정의하기 위해 동작가능한 맞춤화 엔진을 포함한다.
다른 실시예에 따라, 시스템은 복수 개의 프레젠테이션 모델들을 포함한다. 한 개 이상의 프레젠테이션 모델들은 복수 개의 가능한 그래픽 정의들 중의 한 개 이상과 연관된다. 프레젠테이션 모델들의 각각은 한 개 이상의 프레젠테이션 모델들의 각각이 연관된 그래픽 정의에 특정한 프레젠테이션 특성들을 정의한다. 디스플레이를 위해 특정 그래픽 정의의 선택에 응답하여, 맞춤화 엔진은, 선택된 정의, 모든 그래픽 정의들에서 지속적인 세만틱 모델, 및 그 선택된 정의와 연관된 한 개 이상의 프레젠테이션 모델들에 따라, 그래픽을 랜더링한다. 그러므로, 그래픽은 선택된 정의에 기초하여 디스플레이되지만, 연관된 프레젠테이션 모델(들) 및 세만틱 모델에서 지시된 바대로 맞춤화된 외관 및 레이아웃 특성들을 가진다.
또다른 실시예에 따라, 본 발명은 디스플레이 스크린에 디스플레이되는 그래픽 요소들을 갖는 그래픽을 맞춤화하는 방법에 관한 것이다. 그래픽을 수정하는 요구를 수신하는 것에 응답하여, 방법은 그래픽에 전에 적용된 맞춤화를 유지하면서 그 요구에 기초하여 그래픽을 수정하는 것과 관련이 있다. 더 구체적으로, 맞춤화는 그래픽의 제2 그래픽 요소와 관련있는 그래픽의 제1 그래픽 요소의 특성과 관련이 있다. 예를 들어, 맞춤화는 제2 그래픽 요소에 관련된 제1 그래픽 요소의 배치 또는 크기에 관련이 있을 수 있다. 일 실시예에서, 수정 요구는 그래픽에 그래픽 요소를 추가하는 명령을 구현한다.
본 발명의 다양한 실시예들은 컴퓨터 프로세스, 컴퓨팅 시스템, 또는 컴퓨터 프로그램 제품이나 컴퓨터 판독가능 매체와 같은 제품으로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능한 컴퓨터 저장 매체이고 컴퓨터 프로세스를 실행하는 명령들의 컴퓨터 프로그램을 인코드하는 것일 수 있다. 컴퓨터 프로그램 제품은 또한 컴퓨팅 시스템에 의해 판독가능한 반송파의 전파되는 신호일 수 있고 컴퓨터 프로세스를 실행하는 명령들의 컴퓨터 프로그램을 인코드하는 것일 수 있다.
본 발명을 특징화하는 이들 및 다양한 다른 특징들 및 장점들은 다음 상세한 설명 및 연관된 도면들의 개설(review)을 읽음으로써 명백해질 것이다.
본 발명은 이제, 본 발명의 실시예들이 도시된, 동반된 도면들의 참조로 이후에 더욱 완전히 기재될 것이다. 그러나, 본 발명은 다수의 다른 형태들로 구현될 수 있고, 본 명세서에 기재된 실시예들에 제한되는 것으로 해석되어서는 안된다; 그 보다는, 본 개시가 철저하고 완전하여 당업자들에게 본 발명의 범위를 완전히 전달하도록 이들 실시예들이 제공된다. 유사 부호들은 도면 전반에 걸쳐 유사 요소들을 참조한다.
일반적으로, 본 발명은 한 개 이상의 그래픽에서 디스플레이된 컨텐츠의 가시적 표현을 맞춤화하는 것과 관련이 있다. 컨텐츠는 임의의 형태의 정보일 수 있지만, 본 발명의 일 실시예에 따라 텍스트 데이타로서 본 명세서에 기재된다. 컨텐츠는 사용자(예를 들어, 키보드, 마우스 등으로), 응용 프로그램, 또는 그 둘의 조합으로 제공될 수 있다. 각 그래픽은, 텍스트 특성, 그래픽 특성, 또는 둘 다를 가질 수 있는, 적어도 한 개의 그래픽 요소를 포함한다.
일 실시예에 따라, 본 발명은 그래픽에서 한 개 이상의 그래픽 요소들의 외관 및 레이아웃 특성들로의 사용자 맞춤화에 기초하여 그래픽을 디스플레이하는 컴퓨터로 구현되는 방법(본 명세서에서, "디스플레이 프로세스"로서 일컬어짐)을 제공한다. 그런 특성들은 그래픽 요소들과 연관된 색, 배치, 크기, 형상, 포맷팅, 및 기타 가시적 속성들을 포함한다.
디스플레이 프로세스는 그래픽들을 생성하고 편집하는 사용자 인터페이스(UI)를 가진 컴퓨터 그래픽 응용 프로그램에 구현된다. 컴퓨터 그래픽 응용 프로그램은 프레젠테이션 응용 프로그램, 문서 편집 응용 프로그램, 드로잉 응용 프로그램, 또는 스프레드시트 응용 프로그램과 같은, 하지만 이에 제한되지 않는, 자립형 컴퓨터 응용 프로그램 또는 다른 컴퓨터 응용 프로그램의 서브컴포넌트일 수 있다. 통상적으로, Microsoft Office
Figure 112005044307265-pat00003
및 OpenOffice
Figure 112005044307265-pat00004
와 같은, 응용 프로그램의 사무실용 한 벌에 집합되는, 이들 다른 형태들의 컴퓨터 응용 프로그램들에 컴퓨터 그래픽 응용 프로그램의 적용성을 당업자들은 이해할 것이다.
본 발명은 한 개 이상의 컴퓨터들 또는 다른 디바이스들에 의해 실행되는 컴퓨터-실행가능 명령들(예를 들어, 프로그램 모듈)의 일반 문맥으로 기재된다. 프로그램 모듈들의 기능은 다양한 실시예들에서 기재된 바와 같이 조합되거나 분산될 수 있다. 프로그램 모듈들은 특정 작업들을 수행하거나 또는 특정 추상 데이타 유형들을 구현하는, 한 개 이상의 루틴, 프로그램, 객체, 컴포넌트, 데이타 구조 등을 포함한다.
이제 도 1을 참조해 보면, 컴퓨터 그래픽 응용 프로그램에서 그래픽들의 생성 및 편집에 사용하기 위한 UI의 예가 본 발명의 일 실시예에 따라 도시된다. UI(102)는 복수 개의 영역들, 또는 "페인들(panes)"로 분리되고, 각각은 컴퓨터 그래픽 응용 프로그램의 기능의 다양한 양태들에 대해 책임이 있다. 일 실시예에서, 복수 개의 페인들은 컨텐츠 페인(104), 그래픽 페인(106), 및 갤러리 페인(105)을 포함한다.
그래픽 페인(106)은 컨텐츠 페인(104)으로부터 컨텐츠를 사용하여 컴퓨터 그래픽 응용 프로그램에 의해 생성된 그래픽 컨텐츠(108)를 디스플레이한다. 그래픽 컨텐츠(108)는, 드로잉, 다이어그램 등과 같은, 임의의 형태의 가시적 프레젠테이션일 수 있고, 본 명세서에서 명칭 목적으로 "그래픽"으로서 일컬어진다. 갤러리 페인(105)은 컨텐츠 페인(104)의 컨텐츠에 적용될 수 있고 그래픽(108)으로서 그래픽 페인(106)에 랜더링될 수 있는 복수 개의 선택가능한 그래픽 정의들(예를 들어, 109a, 109b)을 사용자에게 제공한다. 이제 이들 3개의 페인들(104, 105, 및 106)의 각각은 본 발명의 다양한 실시예들에 따라 컴퓨터 그래픽 응용 프로그램의 동작 과 관련하여 번갈아 더 상세히 기재된다.
도 1에서 "드로잉 캔버스 페인"으로서 또한 참조되는, 그래픽 페인(106)은 윈도우, 윈도우페인, 그래픽 뷰(view) 클래스, 또는 컴퓨터 그래픽 응용 프로그램에 의해 UI(102)를 통해 랜더링되는 그래픽 컨텐츠를 사용자가 가시화하고 편집하도록 하는 다른 디스플레이 지역이다. 그렇게 해서, 그래픽 페인(106)은 컴퓨터 그래픽 응용 프로그램에 의해 랜더링되는 그래픽(108)을 포함하고, 응용 프로그램의 사용자에게 그(녀)가 원하는 대로 그래픽(108)을 편집하거나 맞춤화하는 기능을 제공한다. 그래픽(108)은 컨텐츠 페인(104)에 입력된 컨텐츠를 나타내는, 그래픽 요소들(122 내지 131)과 같은, 한 개 이상의 그래픽 요소들을 포함한다. 그래픽(108)의 맞춤화는, 그래픽 요소들(122 내지 131)의 가시적 속성들과 배치들 및 이들 요소들 내의 임의의 텍스트를 포함하는, 하지만 이에 제한되지 않는, 그래픽과 연관된 임의의 유형의 특성의 편집을 일컫는다.
그래픽(108)은, 설명 목적으로, 도 1에서 휠(wheel) 다이어그램 그래픽으로서 도시된다. 예를 들어, (122 내지 131)과 같은, 임의의 수의 그래픽 요소들을 갖는 임의의 유형의 그래픽이 본 발명의 범위 내에서 고려됨을 이해해야 한다. 이 목적으로, 그래픽 요소들(122 내지 131)은 노드(node), 천이, 콜아웃(callout), 또는 클립아트(clipart)를 포함할 수 있지만, 이에 제한되지 않는다. 노드는 그래픽 컨텐츠 내의 형상들 중의 하나일 수 있다. 노드들의 예들은 원, 사각형, 삼각형, 또는 세그멘트들과 같은 형상들의 일부를 포함할 수 있다. 당업자는 다른 유형들의 노드들을 인식할 것이다. 천이는 노드들 간의 상관관계의 그래픽 표현이다. 천이는 통상적으로 라인, 화살표, 또는 2개의 노드들 간의 관계를 내포하는 다른 형상이다.
컨텐츠 페인(104)은 컴퓨터 그래픽 응용 프로그램의 UI(102)로 컨텐츠(115)의 본문(이하, "컨텐츠"라고 일컬어짐)을 사용자가 입력하도록 하는 윈도우, 윈도우페인, 아웃라인(outline) 뷰 클래스, 또는 다른 디스플레이 지역이다. 그렇게 해서, 컨텐츠 페인(104)은 그래픽(108)의 생성에서 컴퓨터 그래픽 응용 프로그램에 의해 사용하기 위한 컨텐츠(115)를 수용하기 위해 동작할 수 있다. 기본적으로, 컨텐츠(115)는 사용자가 랜더링되는 그래픽(108)이 전달하도록 의도하는 아이디어이다. 일 실시예에서, 컨텐츠(115)는, 특정하게 포맷화된 특성들 또는 "미리 결정된 구조"에 기초하여 배열될 수 있거나 배열되지 않을 수 있는, 텍스트 데이타를 포함한다. 도 1은 본 실시예에 따라 특정한 포맷팅 특성들에 기초하여 배열되는 텍스트 데이타인 컨텐츠(115)를 도시하고, 여기서, 이 텍스트 데이타(115)는 상관관계들을 갖는 아이디어들의 계층적 리스트를 나타낸다. 다른 실시예들에서, 컨텐츠(115)는, 클립아트, 사진, 비디오, 사운드, 또는 다른 오디오-가시적 재료들을 포함하는, 하지만 이에 제한되지 않는, 임의의 다른 형태의 데이타와 같은, 텍스트가 아닌 정보를 포함할 수 있다.
일 실시예에서, 컨텐츠 페인(104)은 사용자로부터 입력을 수신하고 사용자에 의해 편집되기 위해 컨텐츠(115)로서 그 입력을 디스플레이하기 위해 동작가능하다. 이 관점에서, 컨텐츠(115)는 사용자에 의해 컨텐츠 페인(104)에 수동으로 입력될 수 있거나(예를 들어, 키보드에 의해), 컴퓨터 그래픽 응용 프로그램이나 다 른 응용 프로그램의 다른 영역으로부터 함께 붙여질(pasted) 수 있다. 다른 실시예에 따라, 컨텐츠 페인(104)의 컨텐츠(115)는, 다른 프로그램의 컨텐츠 데이타가 생성되거나 수정됨에 따라 컨텐츠 페인(104) 내의 컨텐츠(115)가 자동으로 나타나거나 수정되도록, 다른 응용 프로그램이나 프로그램에 링크될 수 있다. 또다른 실시예들에서, 그래픽 응용 프로그램이나 다른 프로그램이 자동으로 업데이트하도록 하기 보다는 컨텐츠 페인(104)에 업데이트하기 위해 사용자가 컨텐츠 데이타를 강제하도록, 사용자가 링크된 데이타를 수동으로 리프레쉬(refresh)할 수 있다. 또다른 실시예들에서, 사용자는, 데이타베이스와 같은, 다른 프로그램으로부터 컨텐츠 데이타를 요구하고 수신할 수 있다. 다른 경우에, 컨텐츠(115)는 컴퓨터 그래픽 응용 프로그램이나 다른 응용 프로그램에 의해 컨텐츠 페인(104)으로 자동으로(즉, 사용자 인터랙션이 없이) 입력될 수 있다.
갤러리 페인(105)은, 설명 목적으로 도시된 그래픽 정의들(109a 및 109b)과 같은, 다양한 유형들의 그래픽 정의들을 제공하기 위해 동작가능한 윈도우 또는 다른 그래픽 사용자 인터페이스 컴포넌트이다. 그래픽 정의들(109a 및 109b)은 그래픽(108)을 랜더링하기 위해 컨텐츠 페인(104)의 컨텐츠(115)에 적용하기 위해 사용자에 의해 선택될 수 있다. 일 실시예에서, 갤러리 페인(105)은 사용자가 다른 그래픽 정의들(109a 및 109b) 간에 전환하여, 무(scratch)에서부터 각 그래픽(108)을 재생성할 필요없이, 예를 들어, (109a 및 109b)과 같은, 선택된 그래픽 정의에 동일 컨텐츠를 적용하도록 한다.
예를 들어, (109a 및 109b)과 같은, 각 그래픽 정의는 그래픽(108)에 대한 특성들의 디폴트 세트와 연관된다. 일 실시예에서, 이들 특성들은, 그래픽(108) 내에, 예를 들어, (122 내지 131)과 같은, 그래픽 요소들의 레이아웃과 외관을 구현하는 임의의 가시적이나 비가시적 특성과 관련이 있다. 사용자가 특정 그래픽 정의(109a 또는 109b)를 선택하는 것에 응답하여, 컴퓨터 그래픽 응용 프로그램은 그래픽(108)의 레이아웃과 외관에 대한 프레임워크로서 선택된 그래픽 정의(109a 또는 109b)를 사용한다. 본 발명의 일 실시예에 따라, 컴퓨터 그래픽 응용 프로그램은, (1) 모든 그래픽 정의들(즉, (109a 및 109b))에서 지속적인 이들 특성들 중의 임의의 것, 또는 (2) 선택된 그래픽 정의(109a 또는 109b)에 엄격하게 적용가능한 이들 특성들 중의 임의의 것에 적용되는 임의의 맞춤화에 따라 현재 명시된 것과 같이, 선택된 정의 (109a 또는 109b)에 정의된 특성들에 기초하여 그래픽(108)을 동적으로 랜더링한다. 그러므로, 그래픽(108)의 동적 생성은, 특정 그래픽 정의, 예를 들어 (109a 및 109b), 가 사용자에 의해 선택되는 시간에 다른 지점들에서 그래픽(108)에 대해 명시될 수 있는 다른 특성들을 참조한다.
도 1에 도시된 갤러리 페인(105)은 그래픽 정의들, 예를 들어 (109a 및 109b), 의 단순화된 갤러리이다. 실제로, 그래픽 정의들, 예들 들어 (109a 및 109b), 의 단지 2개의 선택들이 도 1에 도시된다. 그러나, 본 발명은 그런 제한된 선택에 제한되지 않고, 그 보다는, 갤러리 페인(105)은 사용자에게 선택할, 임의의 수의 그래픽 정의들, 예를 들어, (109a 및 109b), 을 제공할 것이다. 제1 그래픽 정의(109a)는 휠 다이어그램을 나타낸다. 제2 그래픽 정의(109b)는 피라미드 다이어그램을 나타낸다. 일 실시예에 따라, 제1 (109a) 및 제2 (109b) 그래픽 정의들 은 도 1에서 썸네일(thumnails)로서 표현된다. 다른 실시예들에서, 그래픽 정의들(109a 및 109b)는 리스트에서 하나의 이름을 사용자가 선택하도록 하는 설명적 이름들의 메뉴나 리스트에 표현될 수 있다. 당업자는 갤러리 페인(105) 내에 그래픽 정의들(109a 및 109b)를 나타내는 다른 방식들이 본 발명에 포함됨을 인식할 것이다.
UI(102)의 상술된 구조들을 염두에 두고, 컴퓨터 그래픽 응용 프로그램의 동작이 이제 본 발명의 일 실시예에 따라 도 1을 참조하여 기재된다. 그래픽 페인(106)은 컨텐츠 페인(104)의 컨텐츠(115)로부터 생성된 랜더링된 그래픽(108), 및 선택된 그래픽 정의 (109a 또는 109b), 간략하게 상술된 바와 같이 맞춤화될 수 있는 명시된 특성들을 디스플레이한다. 그래픽(108)은 컨텐츠(115)의 본문에 포함된 다양한 항목들(예를 들어, 116a, 116b, 118a, 및 118b), 또는 "엔트리들"을 나타내는 그래픽 요소들(122 내지 131)을 포함한다. 도 1에 도시된 실시예에서, 각 그래픽 요소(122 내지 131)는 컨텐츠(115)의 한 개의 항목에 대응한다. 그러나, 다른 실시예들은, 컨텐츠(115)의 복수 개의 항목들을 나타내는 한 개의 그래픽 요소, 예를 들어, (122 내지 131), 와 관련이 있고, 또다른 실시예들은 복수 개의 그래픽 요소들, 예를 들어, (122 내지 131), 에 의해 표현되는 컨텐츠(115)의 한 개의 항목과 관련이 있다.
컨텐츠(115)가 컨텐츠 페인(104)에 입력될 수 있고, 그래픽 정의 (109a 또는 109b)는 본 발명의 범위를 벗어나지 않고 임의의 시퀀스로 선택될 수 있다. 그래픽 정의 (109a 또는 109b)가 컨텐츠 페인(104)으로 입력되는 임의의 컨텐츠(115) 전에 사용자에 의해 선택되면, 그래픽(108)은 아무런 컨텐츠가 없이, 또는 다른 경우에, 샘플 컨텐츠의 세트로 디스플레이된다. 이에 비해, 사용자는 그래픽 정의 (109a 또는 109b)를 선택하기 전에 컨텐츠(115)로서 엔트리를 위해 컨텐츠 페인(104)에 데이타를 입력할 수 있다. 이 경우의 일 실시예에서, 컴퓨터 그래픽 응용 프로그램은 사용자에게 그래픽 정의 (109a 또는 109b)에 대한 디폴트 선택을 제공할 것이다; 그러므로, 컨텐츠(115)가 입력됨에 따라, 그래픽 페인(106)은 사용자가 컨텐츠(115)를 추가하기를 계속함에 따라 그래픽 요소들(즉, (122 내지 131))에서 성장하는 디폴트 그래픽 정의(109a 또는 109b)의 그래픽(108)을 디스플레이할 수 있다. 다른 경우에, 그래픽 페인(106)은 사용자가 갤러리 페인(105)으로부터 그래픽 정의(109a 또는 109b)를 선택할 때까지 빈 채로 남을 것이다(즉, 그래픽(108)이 없이).
도 1은 사용자가 텍스트 컨텐츠의 형태로, 그리고 더 정확하게는, 계층적 리스트의 형태로, 컨텐츠(115)를 입력하는 본 발명의 일 실시예를 도시한다. 또한, 사용자는 휠 다이어그램 그래픽 정의(109a)를 선택한다. 그래픽 페인(106)은 사용자의 선택에 의한 휠 다이어그램 유형(109a)에 대한 것인 그래픽(108)을 디스플레이한다. 휠 다이어그램 그래픽(108)은 계층적 리스트(115)를 나타낸다. 그래픽(108)의 그래픽 요소들(122 내지 131)의 각각은 계층적 리스트(115)의 한 항목(예를 들어, 텍스트 라인)에 대응한다. 그러나, 상술된 바와 같이, 다른 실시예들은 계층적 리스트(115)의 복수 개의 항목들에 대응하는 그래픽 요소들(122 내지 131)의 각각과 관련이 있고, 또다른 실시예들은 계층적 리스트(115)의 한 개의 항목에 대응하는 그래픽 요소들(122 내지 131) 중의 하나 이상의 것들과 관련이 있다.
일 실시예에서, 컨텐츠 페인(104)의 텍스트 컨텐츠(115)의 구조는 그래픽 페인(106)에 도시된 그래픽 요소들(122 내지 131)의 구조와 외관을 결정한다. 예를 들어, 휠 다이어그램 그래픽(108)의 제1 층은 컨텐츠 페인(104)의 텍스트 컨텐츠(115)의 제1 기본 라인(116a)에 따른 부모 요소(131)이다. 휠 다이어그램 그래픽(108)의 제2 층은 부모 요소(131)에 종속하여서 "자식 요소들"이라고 일컬어지는 요소들(126, 127, 128, 129, 및 130)을 포함한다. 자식 요소들(126, 127, 128, 129, 및 130)은 제1 라인(116a) 하에 만입된(indented) 텍스트 컨텐츠(115)의 라인들(118a)에 대응한다. 휠 다이어그램 그래픽(108)의 제3 층은 또한 부모 요소(125)이고, 텍스트 컨텐츠(115)의 제2 기본 라인(116b)에 대응한다. 최종적으로, 휠 다이어그램 그래픽(108)의 제4 층은 부모 요소(125)에 종속되는 자식 요소들(122, 123, 및 124)을 포함한다. 자식 요소들(122, 123, 및 124)은 제2 기본 라인(116b) 하의 만입된 텍스트 컨텐츠(115)의 라인들(118b)에 대응한다. 이전 예로부터, 컨텐츠 페인(104)의 텍스트 컨텐츠(115)는 그래픽(108)의 다양한 그래픽 요소들(122 내지 131)에 의해 표현되고 텍스트 컨텐츠(115)의 구조는 그래픽(108)의 그래픽 요소들(122 내지 131)의 구조에 의해 표현됨을 이해해야 한다.
위의 예를 염두에 두고, 본 발명의 일 실시예는 텍스트 컨텐츠(115) 내의 변경들에 응답하여 그래픽(108)을 수정하는 것과 관련이 있다. 예를 들어, 제1 기본 라인(116a)에 종속하는 것으로서 도 1에 도시된 이들 라인들(118a)의 최상위의 라인의 만입이 제거되면, 새 층이 제1 층과 제2 층 간에 휠 다이어그램 그래픽(108)에서 생성될 것이다. 이 새 층은 그래픽 요소(129)를 포함할 것이다. 이 변경은, 라인들(118a)의 최상위 라인이 이제 거기에 종속하는 자식들을 갖는 "기본 라인"이기 때문에, 자식 그래픽 요소들(126, 127, 128, 및 130)이 그래픽 요소(129)의 자식들이 될 것임을 의미할 것이다.
본 발명이 구현될 수 있는 적합한 운영 환경의 예가 도 2에 도시된다. 운영 환경은 적합한 운영 환경의 일 예일 뿐이고, 본 발명의 사용이나 기능의 범위에 대해 임의의 제한을 제안하려고 의도되지 않는다. 본 발명과 사용하기에 적절할 수 있는 다른 잘 공지된 컴퓨팅 시스템들, 환경들, 및/또는 구성들은 개인용 컴퓨터, 서버 컴퓨터, 핸드헬드나 랩톱 디바이스, 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 프로그램가능한 소비자 전자제품, 통신망 PC, 미니컴퓨터, 메인프레임 컴퓨터, 위의 시스템들이나 디바이스들 중의 임의의 것을 포함하는 분산 컴퓨팅 환경 등을 포함하지만, 이에 제한되는 것은 아니다.
도 2를 참조해 보면, 본 발명을 구현하는 시스템의 예는, 컴퓨팅 시스템(200)과 같은, 컴퓨팅 디바이스를 포함한다. 그것의 대부분의 기본 구성에서, 컴퓨팅 디바이스(200)는 통상적으로 적어도 한 개의 프로세싱 유닛(202)과 메모리(204)를 포함한다. 컴퓨팅 디바이스의 정확한 구성 및 유형에 따라, 메모리(204)는 휘발성(RAM과 같은), 비휘발성(ROM, 플래쉬 메모리 등과 같은), 또는 그들의 어떤 조합일 수 있다. 컴퓨팅 디바이스(200)의 가장 기본 구성은 도 2에 점선(206)으로 도시된다. 또한, 디바이스(200)는 추가 특징들/기능을 가질 수 있다. 예를 들어, 디바이스(200)는 또한 자기나 광 디스크 또는 테이프를 포함하는, 하지만 이 에 제한되지 않는, 추가 저장 장치(탈착가능형 및/또는 탈착불가형)를 포함할 수 있다. 그런 추가 저장 장치는 탈착가능 저장 장치(208)와 탈착불가 저장 장치(210)에 의해 도 2에 도시된다. 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령, 데이타 구조, 프로그램 모듈, 또는 기타 데이타와 같은, 정보 저장을 위한 임의의 방법이나 기술로 구현되는 휘발성과 비휘발성, 탈착가능형과 탈착불가형 매체를 포함한다. 메모리(204), 탈착가능 저장 장치(208), 및 탈착불가 저장 장치(210)는 컴퓨터 저장 매체의 모든 예들이다. 컴퓨터 저장 매체는, RAM, ROM, EEPROM, 플래쉬 메모리나 다른 메모리 기술, CD-ROM, DVD(digital versatile disks)나 다른 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치나 다른 자기 저장 디바이스, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 디바이스(200)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 제한되지 않는다. 임의의 그런 컴퓨터 저장 매체는 디바이스(200)의 일부일 수 있다.
디바이스(200)는 또한 디바이스가 다른 디바이스들과 통신하도록 하는 통신 접속(들)을 포함할 수 있다. 통신 접속(들)(212)은 통신 매체의 일 예이다. 통신 매체는 통상적으로 컴퓨터 판독가능 명령, 데이타 구조, 프로그램 모듈, 또는 반송파나 다른 전송 메카니즘과 같은 변조 데이타 신호의 다른 데이타를 구현하고, 임의의 정보 전달 매체를 포함한다. "변조 데이타 신호"라는 용어는 신호에서 정보를 인코딩하는 방식에서 한 개 이상의 그것의 특성들이 설정되거나 변경되는 신호를 의미한다. 예를 들어, 통신 매체는 유선 통신망이나 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선, 및 기타 무선 매체와 같은 무선 매체를 포함하지 만, 이에 제한되지 않는다.
디바이스(200)는 또한 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스 등과 같은 입력 디바이스(들)(124)를 가질 것이다. 디스플레이, 스피커, 프린터 등과 같은 출력 디바이스(들)(216)가 또한 포함될 수 있다. 디바이스들은 위에 논의된 사용자 인터페이스(102)를 형성하는 것을 도울 것이다. 모든 이들 디바이스들은 그 분야에서 잘 알려져 있고, 본 명세서에서 길게 논의할 필요가 없다.
컴퓨팅 디바이스(200)는 통상적으로 컴퓨터 판독가능 매체의 적어도 일부 형태를 포함한다. 컴퓨터 판독가능 매체는 프로세싱 유닛(202)에 의해 액세스가능한 임의의 이용가능한 매체일 수 있다. 예를 들어, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 것이지만, 이에 제한되지 않는다. 상술된 것들 중의 임의의 것의 조합들은 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
컴퓨터 디바이스(200)는 한 개 이상의 원격 컴퓨터들(도시 안됨)로의 논리 접속들을 사용하여 통신망 환경에서 동작될 수 있다. 원격 컴퓨터는 개인용 컴퓨터, 서버 컴퓨터 시스템, 라우터, 통신망 PC, 피어 디바이스, 또는 다른 일반 통신망 노드일 수 있고, 통상적으로 컴퓨터 디바이스(200)에 관련하여 위에 기재된 요소들 중의 다수 또는 전부를 포함한다. 컴퓨터 디바이스(200)와 원격 컴퓨터 간의 논리 접속들은 LAN(local area network) 또는 WAN(wide area network)을 포함할 수 있지만, 또한 다른 통신망들을 포함할 수도 있다. 그런 통신망 환경들은 사무실, 기업-전반 컴퓨터망, 인트라넷, 및 인터넷에서 일반적이다.
LAN 통신망 환경에서 사용될 때, 컴퓨터 디바이스(200)는 통신망 인터페이스나 어댑터를 통해 LAN에 접속된다. WAN 통신망 환경에서 사용될 때, 컴퓨터 디바이스(200)는 통상적으로, 인터넷과 같은, WAN을 통해 통신을 개설하는 모뎀이나 다른 수단을 포함한다. 내장이나 외장일 수 있는, 모뎀은 통신 접속(212)이나 다른 적합한 메카니즘을 통해 컴퓨터 프로세서(202)에 접속될 수 있다. 통신망 환경에서, 프로그램 모듈들이나 그것의 일부들은 원격 메모리 저장 디바이스에 저장될 수 있다. 예를 들어, 원격 응용 프로그램들은 원격 컴퓨터 시스템과 접속된 메모리 디바이스에 존재할 수 있지만, 이에 제한되지 않는다. 설명된 통신망 접속들은 예일 뿐이고 컴퓨터들 간에 통신 링크를 개설하는 다른 수단이 사용될 수 있음을 이해할 것이다.
도 2의 컴퓨팅 환경을 염두에 두고, 도 3은 본 발명의 일 실시예에 따라 컴퓨터 그래픽 응용 프로그램(100)의 컴포넌트들을 구현하는 기능적 다이어그램을 도시한다. 컴퓨터 그래픽 응용 프로그램(100)은, 도 1과 연결하여 기재된 바와 같이, 컨텐츠 페인(104), 그래픽 페인(106), 및 갤러리 페인(105)을 가진 사용자 인터페이스(UI)(102)를 포함한다. 기능적(블럭) 화살표들(308, 310, 및 312)은, 컴퓨터 그래픽 응용 프로그램(100)을 동작시키기 위해, 컨텐츠 페인(104), 그래픽 페인(106), 및 갤러리 페인(105) 각각과의 사용자 인터랙션을 나타낸다.
더 구체적으로, 컨텐츠 페인(104)과의 사용자 인터랙션(308)은 컴퓨터 그래픽 응용 프로그램(100)으로 컨텐츠(115)의 입력의 결과를 가져온다. 그런 입력에 응답하여, 컴퓨터 그래픽 응용 프로그램(100)은 디스플레이를 위해 그리고 사용자 에 의해 편집되기 위해 컨텐츠 페인(104) 내에 이 컨텐츠(115)를 디스플레이한다. 또한, 상술된 바와 같이, 컴퓨터 그래픽 응용 프로그램(100)은 이 컨텐츠(115)를 나타내는 그래픽(108)을 생성하고, 그래픽 페인(106)을 통해 이 그래픽(108)을 디스플레이한다. 그래픽 페인(106)과의 사용자 인터랙션(310)은 거기에 디스플레이된 그래픽(108)을 편집하는 결과를 가져온다. 그렇게 해서, 사용자 인터랙션(310)은 그래픽 페인(106)에 디스플레이된 그래픽(108)에의 맞춤화를 나타낸다. 갤러리 페인(105)과의 사용자 인터랙션(312)은 복수 개의 그래픽 정의들, 예를 들어, 109a 및 109b 로부터 특정한 그래픽 정의를 선택하는 결과를 가져오고, 그것의 그래픽 표현들은 아이콘, 메뉴, 툴바, 썸네일, 또는 다른 알려진 선택가능한 UI 컴포넌트에 의해 갤러리 페인(105)을 통해 디스플레이된다. 그러므로, 갤러리 페인(105)을 통한 특정 그래픽 정의 (109a 또는 109b)의 선택은 선택된 정의 (109a 또는 109b)에 기초하여 그래픽 페인(106)에 그래픽(108)을 랜더링한다.
위에 기재된 사용자 인터페이스 컴포넌트들에 추가하여, 컴퓨터 그래픽 응용 프로그램(100)은 또한 맞춤화 시스템(300)과 레이아웃 엔진(303)을 포함한다. 맞춤화 시스템(300)과 레이아웃 엔진(303)은 그래픽 페인(106)에 랜더링하기 위해 적절한 그래픽(108)을 사용자 인터페이스(102)에 제공하기 위해 함께 동작한다. 이를 수행하기 위해, 맞춤화 시스템(300)은 레이아웃 엔진(303)으로, 선택된 그래픽 정의(109a 또는 109b), 및 그것에 임의의 연관된 맞춤화들에 의해 명시되는 외관과 레이아웃 특성들을 구현하는 데이타(301)를 전송한다. 명칭 목적으로, 이 데이타(301)는 이하에서 "맞춤화 데이타"로서 일컬어진다. 맞춤화 데이타(301)는 집합적 으로 특성들을 정의하고, 그것들에 기초하여, 선택된 그래픽 정의 (109a 또는 109b)에 명시된 바와 같이 그리고 (1) 모든 그래픽 정의들에서 지속적인 이들 특성들(아래에, "세만틱" 특성들로서 일컬어짐) 중의 임의의 것, 또는 (2) 선택된 그래픽 정의 (109a 또는 109b)에 엄격하게 적용될 수 있는 이들 특성들(아래에, "프레젠테이션" 특성들로서 일컬어짐) 중의 임의의 것에 적용되는 임의의 맞춤화에 따라, 그래픽(108)이 랜더링된다. 맞춤화 시스템(300)의 더 상세한 설명은 아래 도 4를 참조하여 제공된다.
레이아웃 엔진(303)은 랜더링되는 그래픽(108)에 대한 레이아웃 트리(302)를 생성하기 위해 맞춤화 데이타(301)를 해석한다. 그 다음, 레이아웃 트리(302)는 그래픽(108)을 랜더링하기 위해 사용되는 외관과 레이아웃 특성들을 식별하기 위해 트래버스된다. 일 실시예에서, 레이아웃 트리(302)의 트래버설은 "출력 엔진"(304)으로서 일컬어지는 레이아웃 엔진(303)의 컴포넌트에 의해 수행된다. 이 실시예에서, 출력 엔진(304)은 디스플레이와 편집을 위해 그래픽 페인(106)에 제공되는 그래픽(108)을 랜더링한다. 그래픽(108)의 수신에서, 그래픽 페인(106)은 뷰잉(viewing)과 편집을 위해 사용자에게 그래픽(108)을 디스플레이한다. 레이아웃 엔진(303)의 기능과 구조는, 본 명세서에 그 전체 개시가 그 전체 내용의 참조로 포함되는, 2004년 9월 30일에 출원된, "응용 프로그램 내에 그래픽을 생성하고 레이아웃하는 방법, 시스템, 및 컴퓨터 판독가능 매체(Method, System, and Computer Readable Medium for Creating and Laying Out a Graphic Within an Application Program)"의 표제의, 미국특허출원번호 제10/955,271호가 부여된 함께 양수된 미국 특허 출원서에 본 발명의 일 실시예에 따라 더 상세히 기재된다. 그래픽(108)은, 본 발명의 일 실시예를 전달하기 위해 설명 목적만으로 상술된, 레이아웃 엔진(303)과는 다른 수단으로 맞춤화 데이타(301)를 사용하여 구성될 수 있음을 이해해야 한다.
이제 도 4를 참조하면, 맞춤화 시스템(300)은 본 발명의 일 실시예에 따라 기능적 다이어그램 포맷으로 도시된다. 맞춤화 시스템(300)은 맞춤화 엔진(412)과 그래픽 모델 라이브러리(402)를 포함한다. 그래픽 모델 라이브러리(402)는 복수 개의 프레젠테이션 모델들(즉, (408) 및 (410))과 세만틱 모델(404)을 유지하는 데이타 구조이다. 맞춤화 엔진(412)은 프레젠테이션 모델들(즉, (408) 및 (410))과 세만틱 모델(404)을 사용하여 그래픽(108)의 생성을 위해 레이아웃 엔진(303)에 제출하기 위해 맞춤화 데이타(301)를 생성한다.
일 실시예에서, 그래픽 모델 라이브러리(402)는 컴퓨터 그래픽 응용 프로그램(100)의 각 인스턴스 및/또는 세션에 특정하다. 그렇게 하여, 그래픽 모델 라이브러리(402)와 그것의 컴포넌트들은 컴퓨터 그래픽 응용 프로그램(100)의 각 인스턴스에 대해 메모리의 라이브러리(402) 및 모델들(408, 410, 및 404)의 실체화를 설명하기 위해 점선들로 도시된다. 예를 들어, 사용자가 컴퓨터 그래픽 응용 프로그램(100)을 사용하여 동시에 2개의 다른 그래픽들(108)을 생성하고 및/또는 편집하면, 그래픽 모델 라이브러리(402)와 연관된 모델들(408, 410, 및 404)은 2개의 다른 그래픽들(108)의 각각에 대해 생성된다. 다른 경우에, 그래픽 모델 라이브러리(402)와 그것의 컴포넌트들은 컴퓨터 그래픽 응용 프로그램(100)의 한 개 이상의 인스턴스 및/또는 세션에서 지속될 수 있다. 구현은 선택의 문제이고, 그것들 모두는 본 발명의 범위 내에 완전히 고려된다.
프레젠테이션 모델들(즉, 408 및 410))은 갤러리 페인(105)을 통해 선택될 수 있는 각 그래픽 정의 (109a 및 109b)에 특정한 현재 특성들을 유지하는 데이타 구조들이다. 본 발명의 실시예들은 프레젠테이션 모델들 대 그래픽 정의들 (109a 및 109b)의 1:1 상관관계로 설명적으로 기재된다. 그렇게 하여, 도 1은 갤러리 페인(105)을 통해 선택될 수 있는 2개의 그래픽 정의들(109a 및 109b)의 이용성을 도시하고, 그러므로, 단지 2개의 프레젠테이션 모델들(408 및 410)이 도 4에 도시된 그래픽 모델 라이브러리(402)에 유지된다. 갤러리 페인(105)은 임의의 수의 그래픽 정의들 (109a 및 109b)을 선택하기 위해 동작할 것이고 그래픽 모델 라이브러리(402)는 임의의 수의 프레젠테이션 모델들(즉, 408 및 410)을 포함할 수 있음을 이해해야 한다.
세만틱 모델(404)은 갤러리 페인(105)을 통해 사용자에 의해 선택될 수 있는 모든 그래픽 정의들 (109a 및 109b)에서 지속되는 현재 특성들을 유지하는 데이타 구조이다. 그렇게 하여, 그래픽 모델 라이브러리(402) 내에 단지 한 개의 세마틱 모델(404)이 존재한다. 다시 말하면, 상술된 본 발명의 일 실시예는 컴퓨터 그래픽 응용 프로그램(100)의 각 인스턴스 및/또는 세션으로 세만틱 모델(404)을 유지하는 것과 관련이 있고, 그러므로, 한 개 이상의 세만틱 모델(404)을 갖는 것은 가능하다.
갤러리 페인(105)을 통해 그래픽 정의 (109a 또는 109b)의 선택을 수신하는 것에 응답하여, 맞춤화 엔진(412)은 적절한 프레젠테이션 모델(408) 또는 (410)(즉, 선택된 그래픽 정의(306)와 연관된 프레젠테이션 모델(408)) 및 세만틱 모델(404)을 검색수취한다. 그 다음, 맞춤화 엔진(412)은, 연관된 프레젠테이션 모델(408)과 세만틱 모델(404)에 명시된 바와 같이, 선택된 그래픽 정의 (109a 또는 109b)에 정의된 현재 특성들에 기초하여 맞춤화 데이타(301)를 생성한다.
프레젠테이션 모델들 (408) 및 (410)과 세만틱 모델(404)에 명시된 특성들은 컨텐츠 페인(104)과 그래픽 페인(106)으로부터의 입력에 기초하여 동적으로 업데이트된다. 컨텐츠 페인(104)에 대해, 사용자가 사용자 인터랙션(308)을 통해 컨텐츠(115)를 추가함에 따라, 프레젠테이션 모델들 (408) 및 (410)과 세만틱 모델(404)은 그런 컨텐츠(115)의 추가를 반영하기 위해 업데이트된다. 예를 들어, 계층적 리스트가 텍스트 컨텐츠 라인들 "A", "B", 및 "C"를 가지면, 그래픽 모델 라이브러리(402)의 프레젠테이션 모델들(408) 및 (410)과 세만틱 모델(404)의 각각은 텍스트 컨텐츠 라인들 "A" ,"B", 및 "C"의 각각에 대응하는 그래픽 요소의 인메모리(in-memory) 표현들을 가진다. 사용자가 4번째 텍스트 컨텐츠 라인 "D"를 추가하는 것에 응답하여, 맞춤화 엔진(412)은 이 새 텍스트 컨텐츠 라인에 대응하여 그래픽 요소에 대한 인메모리 표현을 포함하기 위해 프레젠테이션 모델들 (408) 및 (410)과 세만틱 모델(404)의 각각을 업데이트한다. 그러므로, 맞춤화 엔진(412)에 의해 생성되는 맞춤화 데이타(301)는 적합한 프레젠테이션 모델들 (408) 또는 (410)과 동일한 것을 명시하는 세만틱 모델(404)을 통해 이 새 그래픽 요소의 추가를 포함할 것이다.
그래픽 페인(106)에 대해, 사용자가 사용자 인터랙션(310)을 통해 랜더링되는 그래픽(108)을 편집함에 따라, 맞춤화 엔진(412)은 편집된 그래픽(108)과 연관된 그래픽 정의(306)에 대응하는 프레젠테이션 모델(즉, 408 또는 410), 또는 다른 경우에, 사용자 맞춤화를 반영하기 위해 세만틱 모델(404)을 업데이트한다. 이 관점에서, 맞춤화 엔진(412)은 맞춤화가 프레젠테이션 특성으로의 변경, 즉 "프레젠테이션 변경", 이면 적합한 프레젠테이션 모델(즉, 408 또는 410)을 업데이트한다. 이에 비해, 맞춤화 엔진(412)은 맞춤화가 세만틱 특성의 변경이면, 즉 "세만틱 변경", 세만틱 모델(404)을 업데이트한다.
일반적으로, "프레젠테이션" 변경 또는 "세만틱" 변경으로서 그래픽(108)의 임의의 특성의 변경의 범주화(categorization)는 선택의 문제이고, 임의의 그런 범주화들은 본 발명의 범위 내에 있다. 설명 목적만으로, 세만틱 변경의 예는 본 명세서에 그래픽 요소의 색의 변경됨으로써 설명되고, 프레젠테이션 변경의 예는 본 명세서에서 그래픽 요소의 크기가 변경됨으로써 설명된다. 이들 설명을 염두에 두고, 도 5a 내지 도 5c는 그래픽 페인(106)에 입력되는 사용자 인터랙션에 응답하여 프레젠테이션 모델(408)과 세만틱 모델(404)을 업데이트하는 것에 관련된 본 발명의 동작 특성들을 설명한다.
도 5a는 그래픽 요소들(502, 504, 506, 508, 및 510)을 가지며 그래픽 페인(106)을 통해 디스플레이되는 그래픽(500)을 설명한다. 그래픽 요소들(502, 506, 및 510)은, 컨텐츠 페인(104)의 컨텐츠(115)에 포함되는, 텍스트 컨텐츠 라인들, 또는 개체들, "A", "B", 또는 "C"에 각각 대응한다. 그래픽(500)은 사용자에 의해 아직 편집되지 않았고, 그러므로, 맞춤화들이 없다. 그렇게 해서, 그래픽(500)은 그래픽(500)이 속한 그래픽 정의 (109a 또는 109b)에 의해 정의된 디폴트 특성들을 사용하여 그래픽 페인(106)에 도시된다. 그래픽(500)에 대한 프레젠테이션 모델(408)과 세만틱 모델(404)은, 사실상, 이 특정 그래픽(500)에 대한 맞춤화 데이타(301)를 생성하기 위해 맞춤화 엔진(412)에 의해 사용되는, 이들 디폴트 특성들로 보여진다. 그러므로, 랜더링되는 그래픽(500)은, 맞춤화가 없이, 선택된 그래픽 정의 (109a 또는 109b)에 의해 명시되는 특성들을 구현한다.
상술된 바와 같이, 프레젠테이션 모델(408)과 세만틱 모델(404)은 인메모리 표현으로 존재하고, 그러므로, 점선들을 사용하여 도시된다. 이들 모델들(404 및 408)의 각각은 그래픽(500)에 포함된 그래픽 요소들(502, 504, 506, 508, 및 510)의 각각에 대응하는 표현들을 포함한다. 더 구체적으로, 프레젠테이션 모델(408)은 그래픽 요소들(502, 504, 506, 508, 및 510) 각각에 대응하는 표현들(502', 504', 506', 508', 및 510')을 포함하고, 각 그래픽 요소와 연관된 특성들을 유지한다. 이들 특성들은 그래픽(500)이 속하는 그래픽 정의 (109a 또는 109b)에만 특정한 "프레젠테이션" 특성들이다. 도 5a 내지 도 5c를 설명하는 실시예에서, 이들 그래픽 요소들(502, 504, 506, 508, 및 510)의 크기는 프레젠테이션 특성을 구성한다.
유사하게, 세만틱 모델(404)은 그래픽 요소들(502, 504, 506, 508, 및 510) 각각에 대응하는 표현들(502'', 504'', 506'', 508'', 및 510'')을 포함하고, 각 그래픽 요소와 연관된 특성들을 유지한다. 이들 특성들은 갤러리 페인(105)을 통해 선택될 수 있는 모든 그래픽 정의들 (109a 및 109b)에서 지속적인 "세만틱" 특성들이다. 도 5a 내지 도 5c를 설명하는 실시예에서, 이들 그래픽 요소들(502, 504, 506, 508, 및 510)의 색은 세만틱 특성을 구성한다.
도 5b는 그래픽 요소(502)의 색과 그래픽 요소(506)의 크기를 편집하는 사용자 인터랙션(310)의 결과들을 설명한다. 그래픽 요소들의 색이 본 명세서에 기재된 실시예에 따라 세만틱 특성을 구성하므로, 맞춤화 엔진(412)은 색 변경을 포함하기 위해 그래픽 요소(502)에 대응하는 세만틱 모델(404)의 표현(502'')을 업데이트한다. 그래픽 요소들의 크기는 본 명세서에 기재된 실시예에 따라 프레젠테이션 특성을 구성하므로, 맞춤화 엔진(412)은 크기 변경을 포함하기 위해 그래픽 요소(506)에 대응하는 프레젠테이션 모델(408)의 표현(506'')을 업데이트한다.
도 5c는 도 5a 내지 도 5b에 도시된 그래픽(500)과는 다른 그래픽 정의 (109a 또는 109b)에 대응하는 그래픽(511)의 그래픽 페인(106)에 랜더링하는 것을 도시한다. 그래픽(511)은 그래픽 요소들(512, 514, 516, 518, 및 520)을 포함한다. 이 그래픽(511)은 컨텐츠(115)(예를 들어, "A", "B", 및 "C")를 뷰잉하기 위해 그래픽 정의들(109a 및 109b)를 전환하기 위해 갤러리 페인(105)을 통해 사용자의 요구에 응답하여 그래픽 페인(106)에 랜더링된다. 그런 요구를 수신하게 되면, 맞춤화 엔진(412)은 새 그래픽 정의 (109a 또는 109b) 및 세만틱 모델(408)과 연관된 프레젠테이션 모델(410)을 검색수취한다.
요구된 그래픽 정의 (109a 또는 109b)에 대응하는 그래픽(즉, 511)이 그래픽 페인(106)에 아직 랜더링되지 않았으므로, 사용자는 프레젠테이션 특성들 중의 임의의 것을 맞춤화하는 기회를 아직 갖지 못했다. 그렇게 해서, 검색수취되는 프레젠테이션 모델(410)은 연관된 그래픽 정의 (109a 또는 109b)에 따라, 그래픽 요소들에 대한 디폴트 특성들을 명시하고, 맞춤화 엔진(412)은 임의의 프레젠테이션 변경들을 명시하지 않는 맞춤화 데이타(301)를 생성한다. 그러므로, 그래픽 요소(506)의 크기 변경이 이 "프레젠테이션" 변경의 설명 목적으로 고려되므로, 그 특정 맞춤화는 그래픽(511)에 지속되지 않는다. 실제로, 검색수취되는 프레젠테이션 모델(410)에 명시된 모든 프레젠테이션 특성들은 선택된 그래픽 정의(305)에 대한 디폴트 특성들이다. 그러나, 세만틱 모델(404)이 도 5b에 도시된 그래픽(500)에 세만틱 변경(즉, 색)에 따라 업데이트되므로, 특정 맞춤화는 그래픽(511)에 지속된다.
도 5a 내지 도 5c에 도시되고 상술된 예들은 높은 레벨에서 본 발명의 실시예들을 설명한다. 실제로, 그래픽 요소들의 색과 크기는 본 발명에 따라 프레젠테이션 모델들 및 세만틱 모델을 사용하여 그래픽들에 대해 정의될 수 있는 단지 2개의 특성들을 구현한다. 상술된 바와 같이, 그래픽에서 그래픽 요소들의 외관이나 레이아웃에 관련된 임의의 다른 특성은 프레젠테이션 특성 또는 세만틱 특성을 구성할 수 있다. 그런 특성들은, 예를 들어, 그래픽의 다른 그래픽 요소들 각각에 대한 그래픽 요소의 배치, 그래픽의 다른 그래픽 요소들 각각에 대한 그래픽 요소의 스케일링, 그래픽 요소 내에 텍스트 데이타의 폰트 크기, 그래픽 요소의 회전 각도, 그래픽의 다른 그래픽 요소들에 대한 그래픽 요소의 Z-순서, 및 한 개의 그래픽 또는 그래픽 전체 내에 그래픽 요소들에 적용할 수 있는 임의의 다른 가능한 포맷팅과 레이아웃 특성을 포함한다.
예를 들어, 다른 그래픽 요소들에 상대적인 그래픽 요소의 위치는 프레젠테이션 모델 또는 세만틱 모델 각각에 의해 명시되는 프레젠테이션 또는 세만틱 특성을 구성할 수 있다. 어느 경우라도, 컴퓨터 그래픽 응용 프로그램(100)은 그래픽에 새 그래픽 요소의 추가에 응답하여 재배치된 그래픽 요소에 적용되는 x 및 y 오프셋들 모두를 스케일링하여 맞춤화를 적용한다. 다른 경우에, x 및 y 오프셋들은 극 좌표들에 기초하여 방사형 오프셋을 구현한다. 일 실시예에서, 특성적으로 사각형(예를 들어, 정사각형, 직사각형 등)인 그래픽들에 상대적인 위치 이동들이 x 및 y 오프셋들에 기초하여 적용되고, 한편 특성적으로 원형인(예를 들어, 타원, 원 등) 그래픽들에 상대적인 위치 이동들은 방사형 오프셋에 기초하여 적용된다.
방사형과 선형 위치 맞춤화들 모두에서, 그래픽 요소가 그것의 디폴트 위치에 상대적으로 이동한 거리는, 위치 변경들이 "프레젠테이션" 또는 "세만틱" 변경들인지에 따라, 프레젠테이션 또는 세만틱 모델에 저장된다. 그렇게 해서, 이들 맞춤화는 그래픽에 유지되고, 세만틱 변경으로서 저장되면, 그래픽(들)의 수정 후에도, 다른 그래픽 정의들에 따라 그래픽들에서 지속적이다. 그래픽 요소가 재배치되는 그래픽 레이아웃의 변경(예를 들어, 그래픽 요소의 추가 또는 삭제)에 응답하여, 컴퓨터 그래픽 응용 프로그램(100)은 저장된 상대적 변경에 기초하여 전에 재배치된 그래픽 요소에 대한 새 위치를 결정한다. 선형 맞춤화를 위해, 이 프로세스는 그래픽에서 다른 그래픽 요소로부터 전에 재배치된 그래픽 요소의 오프셋을 사용하는 것과 관련이 있다. 방사형 맞춤화를 위해, 이 프로세스는 반경, 형상 위치 각도, 및 그래픽 요소들 간의 각도를 사용하는 것과 관련이 있다.
이제 도 6을 참조하면, 사용자 맞춤화에 기초하여 그래픽을 디스플레이하는 프로세스(600)를 구현하는 동작적 특성들을 설명하는 흐름도가 본 발명의 일 실시예에 따라 도시된다. 설명 목적으로, 이 프로세스(600)는 본 명세서에 "디스플레이 프로세스"로서 일컬어지고, 도 1 내지 도 4에 도시된 컴퓨터 그래픽 응용 프로그램(100)을 참조하여 기재된다. 그렇게 해서, 디스플레이 프로세스(600)는 본 명세서에서 컴퓨터 그래픽 프로그램(100)에 의해 수행되는 것으로서 일 실시예에 따라 기재되고, 거기에 연결하여 기재된 다양한 컴포넌트들은 유사 참조 부호들과 용어를 사용하여 도 6을 참조하여 기재된다.
디스플레이 프로세스(600)는 시작 동작(602)으로 시작하여 종료 동작(630)으로 종료하는 동작 흐름도를 사용하여 수행된다. 시작 동작(602)은 응용 프로그램(100)에 입력된 컨텐츠(115)를 나타내는 그래픽(108)을 생성하거나 편집하는 컴퓨터 그래픽 응용 프로그램(100)을 진수시키는 사용자 또는 다른 응용 프로그램에 응답하여 시작된다. 시작 동작(602)으로부터, 동작 흐름은 컨텐츠를 수신하는 동작(604)으로 전달된다.
컨텐츠를 수신하는 동작(604)은 사용자 또는 응용 프로그램이 그래픽(108)에 시각적으로 표현되도록 요구하는 컨텐츠(115)를 수신한다. 일 실시예에서, 이 컨텐츠(115)는, 한 개의 포맷으로 배열될 수 있거나 배열될 수 있지 않은, 텍스트 컨텐츠이다. 본 실시예에 따라 텍스트 컨텐츠의 예는 구조화된 리스트이다. 또한, 일 실시예에서, 제1 수신 동작(604)에 의해 수신되는 컨텐츠(115)는 컴퓨터 그래픽 응용 프로그램(100)에 대한 사용자 인터페이스(102)의 컨텐츠 페인(104)을 통해 사용자에게 디스플레이된다. 컨텐츠를 수신 동작(604)으로부터, 동작 흐름은 생성 동작(606)에 전달된다.
생성 동작(606)은 시작 동작(602)에 진수되는 컴퓨터 그래픽 응용 프로그램(100)의 인스턴스와 사용하기 위한 프레젠테이션 모델(408 또는 410) 및 세만틱 모델(404)을 생성한다. 생성된 세만틱 모델(410)은 모든 가능한 그래픽 정의들 (109a 및 109b)에서 지속적인 디폴트 세만틱 특성들을 명시한다. 생성된 프레젠테이션 모델(408 또는 410)은 선택된 그래픽 정의 (109a 또는 109b)에 의해 정의된 디폴트 프레젠테이션 특성들을 명시한다.
일 실시예에 따라, 생성된 프레젠테이션 모델(408 또는 410)이 기초하는 선택된 그래픽 정의 (109a 또는 109b)는 컴퓨터 그래픽 응용 프로그램(100)의 모든 인스턴스들에 대해 미리 결정된 디폴트 그래픽 정의, 예를 들어, (109a 또는 109b), 이다. 이 실시예에서, 그 응용 프로그램(100)의 시작이 사용자가 다른 그래픽 정의 (109a 또는 109b)로 그래픽 전환을 요구할 때까지 사용자에 의해 사용되기 위해 디폴트 그래픽 정의 (109a 또는 109b)의 선택을 랜더링하도록, 컴퓨터 그래픽 응용 프로그램(100)은 미리 프로그램된다. 다른 실시예에 따라, 컴퓨터 그래픽 응용 프로그램(100)은 그래픽 페인(106) 내에 시작 그래픽(108)을 랜더링하는 특정 그래픽 정의 (109a 또는 109b)를 사용자가 선택하도록 하는 선택 스크린(예를 들어, UI 다이어로그)을 사용자에게 제공할 것이다. 그렇게 해서, 생성 동작(606)은 선택된 그래픽 정의 (109a 또는 109b)에 기초하여 프레젠테이션 모델(408 또는 410)을 생성한다.
프레젠테이션 모델(408 또는 410) 및 세만틱 모델(404)이 생성된 후에, 동작 흐름은 시퀀스로 랜더링 동작(612)으로 전달된다. 랜더링 동작(612)은 사용자에 의해 뷰잉되고 편집되기 위해 디스플레이 스크린에 그래픽(108)을 랜더링한다. 그래픽(108)의 가시적 특성들(즉, 그래픽 요소들의 레이아웃과 외관)은 생성 동작(606)에 의해 생성된 세만틱 모델(404)과 프레젠테이션 모델(408 또는 410)에서 특성 명세에 기초하여 랜더링 동작(612)에 의해 정의된다. 상술된 바와 같이, 세만틱 모델(404)은 랜더링 동작(612)에 의해 디스플레이되는 그래픽(108) 뿐만이 아니라, 컴퓨터 그래픽 응용 프로그램(100)에 랜더링될 수 있는 모든 그래픽 정의들(109a 및 109b)에 속하는 모든 그래픽들(108)에 대한 특정 가시적 특성들, 예를 들어, "세만틱 특성들" 을 정의하기 위해 사용된다. 그러나, 이와 비교하여, 프레젠테이션 모델(408 또는 410)은 랜더링되고 있는 그래픽(108)에 대해서, 그리고 다른 것에 대해서는 아닌, 특정 가시적 특성들, 즉 "프레젠테이션 특성들", 을 정의하기 위해서만 사용된다. 실제로, 다른 그래픽 정의 (109a 또는 109b)에 대응하는 그래픽(108)은 그 그래픽 정의 (109a 또는 109b)에 대응하는 프레젠테이션 모델(408 또는 410)에 명시된 프레젠테이션 특성들만을 받는다. 그래픽(108)이 디스플레이 스크린에 랜더링된 후에, 동작 흐름은 제1 쿼리 동작(614)으로 전달된다.
제1 쿼리 동작(614)은 시작 동작(602)을 호출하기 위해 진수된 컴퓨터 그래픽 응용 프로그램(100)의 인스턴스가 종료했는지를 판정하여, 컴퓨터 그래픽 응용 프로그램(100)이 새 인스턴스를 생성하기 위해 후속적으로 호출될 때까지 컨텐츠, 맞춤화, 또는 그래픽 정의들 (109a 및 109b)의 선택에 관한 추가 입력을 수신하지 않을 것임을 신호할 것이다.
인스턴스가 종료되었다면, 동작 흐름은 종료 동작(630)에서 종료한다. 그렇지 않으면, 동작 흐름은 제2 쿼리 동작(616)으로 "아니오"를 분기한다. 제2 쿼리 동작(616)은 그래픽 페인(106)에 현재 랜더링된 그래픽(108)이 임의의 방식으로 편집되었는지(또는, 맞춤화되었는지)를 판정한다. 만약 그렇다면, 제2 쿼리 동작(616)은 제3 쿼리 동작(618)에 동작 흐름 "예"를 분기한다. 그렇지 않으면, 제2 쿼리 동작(616)은 제4 쿼리 동작(624)에 동작 흐름 "아니오"를 분기한다.
제3 쿼리 동작(618)은 제2 쿼리 동작(616)에 의해 탐지된 맞춤화를 조사하여 맞춤화가 프레젠테이션 변경이나 세만틱 변경에 관련있는지를 판정한다. 위에서 반복하여 기재된 바와 같이, 프레젠테이션 변경은 현재 랜더링되고 있는 그래픽(108)이 대응하는 특정 그래픽 정의(109a 또는 109b)만에 영향을 주려고 의도되는 변경이다. 이에 비하여. 세만틱 변경은 컴퓨터 그래픽 응용 프로그램(100)에 의해 선택될 수 있는 모든 그래픽 정의들(109a 및 109b)에 영향을 미치려고 의도되는 변경이다. 그래픽(즉, 108), 또는 그래픽의 그래픽 요소들은 프레젠테이션 특성이나 세만틱 특성으로 분류될 수 있으며, 프레젠테이션 특성으로 분류됨에 따라 프레젠테이션 변경에 따르게 되고, 세만틱 특성으로 분류됨에 따라 세만틱 변경에 따르게 된다. 구현은 선택 사항이며, 단지 설명을 위해, 그래픽 요소의 크기는 본 명세서에서 프레젠테이션 특성의 예로서 기재되고 있고, 그래픽 요소의 색은 세만틱 특성의 예로서 본 명세서에서 기재되고 있다.
제3 쿼리 동작(618)이 맞춤화가 프레젠테이션 변경이라고 판정하면, 동작 흐름은 제1 업데이트 동작(620)으로 "P" 분기된다. 제1 업데이트 동작(620)은 맞춤화로 검색수취된 프레젠테이션 모델(408 또는 410)을 업데이트한다. 다른 한편, 제3 쿼리 동작(618)이 맞춤화가 세만틱 변경이라고 판정하면, 동작 흐름은 제2 업데이트 동작(622)으로 "S" 분기된다. 제2 업데이트 동작(622)은 맞춤화로 생성 동작(606)에 의해 생성된 세만틱 모델(404)을 업데이트한다. 제1 업데이트 동작(620)과 제2 업데이트 동작(622) 모두로부터, 업데이트된 모델(즉, 프레젠테이션 모델 또는 세만틱 모델)에 기초하여 그래픽(108)을 랜더링하는 랜더링 동작(612)으로 동작 흐름이 다시 전달된다. 그 다음, 동작 흐름은 전술된 바와 같이 계속된다.
제2 쿼리 동작(616)이 동작 흐름 "아니오"를 분기할 때의 상황에서, 제4 쿼리 동작(624)이 호출된다. 제4 쿼리 동작(624)은 사용자 또는 다른 응용 프로그램이 그래픽 페인(106)에 디스플레이를 위해 새 그래픽 정의(109a 또는 109b)를 선택했는지를 판정한다. 그런 선택은 사용자나 다른 응용 프로그램이 다른 그래픽 정의(109a 또는 109b)에 기초하여 수신 동작(604)에서 수신된 컨텐츠(115)를 뷰잉하기를 원한다고 해석된다. 제4 쿼리 동작(624)이 그런 선택이 되었다고 판정하면, 동작 흐름은 전환 동작(626)으로 전달된다.
전환 동작(626)은 새로 선택된 그래픽 정의(109a 또는 109b)와 연관된 프레젠테이션 모델(408 또는 410)을 생성하고(또는, 이 프레젠테이션 모델이 이미 생성되었으면, 검색수취함), 그 다음, 랜더링 동작(612)으로 동작 흐름을 다시 전달한 다. 그 다음, 랜더링 동작(612)은 현재 세만틱 모델(404)(즉, 생성 동작(606)에 의해 생성된 세만틱 모델 또는 동일한 것의 업데이트 버젼) 및 전환 동작(626)에 의해 생성되거나 검색수취되는 프레젠테이션 모델(408 또는 410)에 기초하여 그래픽(108)을 랜더링한다.
그러나, 제4 쿼리 동작(624)이 새 그래픽 정의 (109a 또는 109b)의 선택이 일어나지 않았다고 판정하면, 동작 흐름은 제5 쿼리 동작(627)으로 "아니오"를 분기한다. 제5 쿼리 동작(627)이 사용자나 다른 응용 프로그램이 정보를 입력하여 컨텐츠(115)의 구조를 변경하는 결과를 가져왔는지를 판정한다. 구조에서 그런 변경은 그래픽(108)의 그래픽 요소에 대응했던(삭제되었으면) 또는 대응할(추가되었으면) 컨텐츠의 추가 또는 삭제로부터 결과될 수 있다. 그런 제거 또는 삭제는 그래픽 요소들의 추가 또는 삭제의 결과를 가져오는 포맷 변경들을 포함할 수 있다. 제5 쿼리 동작(627)이 그래픽(108)의 구조 변경의 결과를 가져올 컨텐츠(115)의 변경을 탐지하면, 동작 흐름은 제3 업데이트 동작(628)으로 "예"를 분기한다. 그렇지 않으면, 동작 흐름은 제1 쿼리 동작(614)으로 "아니오"를 분기하고, 전술된 바와 같이 계속된다.
제3 업데이트 동작(628)은 컨텐츠(115)의 변경들을 반영하기 위해 현재 사용되는 프레젠테이션 모델(408 또는 410)(생성 동작(606)에 의해 생성된 프레젠테이션 모델 또는 전환 동작(626)에 의해 생성되거나 검색수취되는 프레젠테이션 모델) 및 세만틱 모델(404)을 모두 업데이트한다. 제3 업데이트 동작(628)으로부터, 동작 흐름은 업데이트된 프레젠테이션 모델(408 또는 410) 및 업데이트된 세만틱 모 델(404)에 기초하여 그래픽(108)을 랜더링하는 랜더링 동작(612)으로 전달된다. 랜더링 동작(612)으로부터, 동작 흐름은 전술한 바와 같이 계속된다.
본 발명이 구조적 특징들, 방법적 동작들, 및 그런 동작들을 포함하는 컴퓨터 판독가능 매체에 특정한 언어로 기재되었지만, 첨부된 청구범위에 정의된 본 발명은 기재된 특정 구조, 동작들, 또는 매체에 제한될 필요는 없음을 이해할 것이다. 당업자는 본 발명의 범위와 취지 내에 있는 다른 실시예들이나 개선책들을 인식할 것이다. 예를 들어, 디스플레이 프로세스(600) 내의 동작들의 수행 시퀀스는 일 실시예에 따라 도시된다. 다른 실시예들에 따라, 이들 동작들의 수행의 시퀀스는 변경될 수 있다. 예를 들어, 생성 동작(606)은 본 발명의 범위를 벗어나지 않고 컨텐츠 수취 동작(604) 이전의 시간에 수행될 수 있다.
또한, 프레젠테이션 모델들(즉, 408 및 410)과 그래픽 정의들(즉, 109a 및 109b) 간의 1:1 상관관계가 기재되는 한편, 한 개 이상의 프레젠테이션 모델(즉, 408 및 410)이 본 발명의 일 실시예에 따라 한 개의 그래픽 정의(109a 또는 109b)와 연관될 수 있다. 더욱이, UI(102)는 3개 페인들(즉, 104, 105, 및 106) 보다 많거나 적게 갖기 위해 구성될 수 있음을 이해해야 한다. 실제로, 이들 페인들(즉, 104, 105, 및 106) 중의 임의의 하나에 대한 기능은, 예를 들어, 툴바, 썸네일, 메뉴바, 커맨드 라인, 다이어로그 박스 등과 같은, 다른 유형들의 그래픽 사용자 인터페이스 컴포넌트들에 다른 경우에 또는 추가로 제공될 수 있다.
또한, 프레젠테이션 모델들(즉, 408, 410)이 본 명세서에 각각의 그래픽 정의, 즉, (109a 및 109b), 에 특정한 것으로서 기재되는 한편, 본 발명의 범위 내에 고려된 다른 실시예들은 복수의 그래픽 정의들(306)에서 지속되는 프레젠테이션 모델들(즉, 408, 410)과 관련이 있다. 이들 실시예들에서, 유사한 특성들을 갖는 그래픽 정의들, 즉, 109a 및 109b, 은 그래픽 분류에서 함께 그룹화되고, 프레젠테이션 모델들은 분류들을 만드는 유형들에 개별적으로 보다는 이들 분류들에 특정하다. 예를 들어, 이 분류에서 모든 그래픽 정의들에서 이들 이동들을 지속하기 위해 방사형으로 위치 이동을 위해 동작가능한 그래픽 요소들을 갖는 모든 그래픽 정의들, 109a 및 109b, 을 함께 그룹화할 것이다. 유사하게, 다른 분류는 x-y 좌표 시스템에 상대적 위치 이동을 위해 동작가능한 모든 그래픽 정의들, 즉, 109a 및 109b, 을 함께 그룹화할 수 있다.
개시된 본 발명은 디스플레이 스크린에 사용자 맞춤화에 기초한 그래픽을 랜더링하기 위한 컴퓨터로 구현된 방법을 제공한다. 디스플레이를 위해 특정 그래픽 정의의 사용자 선택에 응답하여, 맞춤화 엔진은, 선택된 정의, 모든 그래픽 정의들에서 지속적인 세만틱 모델, 및 그 선택된 정의와 연관된 한 개 이상의 프레젠테이션 모델들에 따라, 그래픽을 랜더링한다. 그러므로, 그래픽은 선택된 정의에 기초하여 디스플레이되지만, 연관된 프레젠테이션 모델(들) 및 세만틱 모델에서 지시된 바대로 맞춤화된 외관 및 레이아웃 특성들을 가진다.

Claims (20)

  1. 디스플레이 장치에 의해 디스플레이하기 위해 그래픽 계층 다이어그램(graphical hierarchical diagrams)을 랜더링하는 방법으로서, 상기 방법은 컴퓨터에 의해 실행되고,
    컨텐츠 페인(content pane) 내에서 텍스트 컨텐츠를 수신하는 단계 - 상기 텍스트 컨텐츠는 제1 그래픽 계층 다이어그램에서 시각적으로 표시됨 - ;
    상기 제1 그래픽 계층 다이어그램을 랜더링하기 위한 제1 그래픽 정의의 선택을 갤러리 페인(gallery pane)으로부터 수신하는 단계 - 상기 제1 그래픽 정의는 제1 그래픽 요소를 특정함 - ;
    상기 텍스트 컨텐츠와 상기 제1 그래픽 정의에 기초하여 상기 제1 그래픽 계층 다이어그램을 상기 디스플레이 장치 상의 드로잉 페인(drawing pane)에 랜더링하는 단계 - 상기 제1 그래픽 계층 다이어그램은 상기 제1 그래픽 정의에 의해 특정된 상기 제1 그래픽 요소를 포함하고, 상기 제1 그래픽 요소는 상기 컨텐츠 페인 내에 수신된 상기 텍스트 컨텐츠를 포함함 - ;
    상기 드로잉 페인 내의 상기 제1 그래픽 요소의 프레젠테이션 속성(presentation property)에 대한 제1 맞춤화를 수신하고, 상기 제1 맞춤화에 응답하여 상기 제1 그래픽 요소가 업데이트된 프레젠테이션 속성을 포함하도록 상기 제1 그래픽 요소의 상기 프레젠테이션 속성을 상기 제1 맞춤화를 사용하여 업데이트하는 단계;
    상기 드로잉 페인 내의 상기 제1 그래픽 요소의 세만틱 속성(semantic property)에 대한 제2 맞춤화를 수신하고, 상기 제2 맞춤화에 응답하여 상기 제1 그래픽 요소가 업데이트된 세만틱 속성을 포함하도록 상기 제1 그래픽 요소의 상기 세만틱 속성을 상기 제2 맞춤화를 사용하여 업데이트하는 단계;
    제2 그래픽 정의의 선택을 수신하는 단계 - 상기 제2 그래픽 정의는 업데이트된 상기 프레젠테이션 속성 및 업데이트된 상기 세만틱 속성을 포함하지 않음 - ; 및
    상기 제2 그래픽 정의의 선택에 응답하여 제2 그래픽 요소를 포함하는 제2 그래픽 계층 다이어그램을 랜더링하는 단계 - 상기 제2 그래픽 요소는, 상기 텍스트 컨텐츠 및 상기 업데이트된 세만틱 속성은 포함하지만 상기 업데이트된 프레젠테이션 속성은 포함하지 않음 -
    를 포함하는, 그래픽 계층 다이어그램을 랜더링하는 방법.
  2. 제1항에 있어서, 상기 텍스트 컨텐츠는 항목들(items)을 가지며, 상기 선택된 제1 그래픽 정의는 복수의 사용 가능한 그래픽 정의 중 하나이고,
    상기 방법은,
    상기 제1 맞춤화를 수신한 후, 상기 제1 그래픽 정의에 대한 프레젠테이션 속성을 정의하는 프레젠테이션 모델을 상기 제1 그래픽 요소의 상기 업데이트된 프레젠테이션 속성을 사용하여 업데이트하는 단계; 및
    상기 제2 맞춤화를 수신한 후, 모든 사용 가능한 그래픽 정의에 대한 세만틱 속성을 정의하는 세만틱 모델(semantic model)을 상기 제1 그래픽 요소의 상기 업데이트된 세만틱 속성을 사용하여 업데이트하는 단계
    를 더 포함하는, 그래픽 계층 다이어그램을 랜더링하는 방법.
  3. 제2항에 있어서, 상기 방법은,
    새로운 그래픽 정의를 사용하여 상기 텍스트 컨텐츠를 시각적으로 표시하도록 하는 요청을 수신하는 단계;
    상기 새로운 그래픽 정의 및 업데이트된 상기 세만틱 모델에 기초하여 새로운 그래픽 계층 다이어그램을 생성하는 단계
    를 더 포함하는, 그래픽 계층 다이어그램을 랜더링하는 방법.
  4. 제1항에 있어서, 상기 텍스트 컨텐츠는 텍스트의 계층적인 라인들(hierarchical lines)을 포함하는 것인, 그래픽 계층 다이어그램을 랜더링하는 방법.
  5. 제1항에 있어서, 상기 제2 맞춤화는 상기 그래픽 요소의 상기 제1 그래픽 계층 다이어그램 내에서의 위치 이동에 연관되며, 상기 위치 이동은 상기 제1 그래픽 계층 다이어그램 내의 다른 그래픽 요소들에 대해 상대적인 것인, 그래픽 계층 다이어그램을 랜더링하는 방법.
  6. 디스플레이 스크린 상에 의해 디스플레이하기 위해 그래픽을 랜더링하는 시스템으로서, 상기 시스템은,
    컴퓨터 실행가능 명령어들을 실행하는 프로세서; 및
    상기 컴퓨터 실행가능 명령어들을 저장하는 컴퓨터 판독가능 기록매체
    를 포함하고, 상기 컴퓨터 실행가능 명령어들은 실행되었을 때,
    복수의 사용 가능한 그래픽 정의 - 상기 사용 가능한 그래픽 정의 각각은 컨텐츠를 표시하기 위해 동작 가능한 연관된 그래픽에 대한 디폴트 속성(default properties)을 특정함 - ;
    제1 그래픽 정의에 대응하는 제1 그래픽 계층 다이어그램 및 제2 그래픽 정의에 대응하는 제2 그래픽 계층 다이어그램을 생성하도록 동작 가능한 맞춤화 엔진 - 상기 제1 그래픽 계층 다이어그램과 상기 제2 그래픽 계층 다이어그램은 공통적인 속성을 포함함 - ; 및
    사용자에 의한 선택을 위해, 상기 복수의 사용 가능한 그래픽 정의 각각에 대한 그래픽 표시(graphical representation)를 나타내는 사용자 인터페이스
    를 제공하고,
    상기 사용자 인터페이스는,
    상기 사용자로부터의 입력의 수신과 상기 사용자에 의한 편집을 위해 상기 컨텐츠를 표시하는 컨텐츠 페인;
    그래픽 컨텐츠의 시각화와 편집을 허용하는 그래픽 페인; 및
    상기 복수의 사용 가능한 그래픽 정의를 나타내는 갤러리 페인을 포함하고,
    상기 사용자 인터페이스는,
    상기 제1 그래픽 정의와 연관된 제1 그래픽 표시의 선택에 응답하여, 상기 맞춤화 엔진에 의해 정의된대로 상기 디스플레이 스크린 상에 상기 제1 그래픽 계층 다이어그램을 표시하는 단계;
    상기 그래픽 페인 내에서 상기 그래픽 컨텐츠와 연관된 프레젠테이션 속성에 대한 제1 맞춤화를 수신하는 것에 응답하여, 상기 제1 그래픽 계층 다이어그램 내에서 상기 프레젠테이션 속성을 상기 제1 맞춤화를 사용하여 업데이트하는 단계;
    상기 그래픽 페인 내에서 상기 그래픽 컨텐츠와 연관된 세만틱 속성에 대한 제2 맞춤화를 수신하는 것에 응답하여, 상기 제1 그래픽 계층 다이어그램 내에서 상기 세만틱 속성을 상기 제2 맞춤화를 사용하여 업데이트하는 단계; 및
    상기 제2 그래픽 정의와 연관된 상기 제2 그래픽 표시의 선택에 응답하여, 업데이트된 상기 세만틱 속성은 포함하지만 업데이트된 상기 프레젠테이션 속성은 포함하지 않는 그래픽 컨텐츠를 포함하는 제2 그래픽 계층 다이어그램을 표시하는 단계 - 상기 제2 그래픽 정의는 상기 제1 맞춤화 및 상기 제2 맞춤화를 포함하지 않음 -
    를 수행하는 것인, 그래픽을 랜더링하는 시스템.
  7. 제6항에 있어서, 프레젠테이션 모델은 상기 제1 그래픽 계층 다이어그램을 맞춤화하는 상기 맞춤화 엔진을 인에이블링(enabling)함으로써 상기 사용자 인터페이스 상의 상기 제1 그래픽 정의에 선택에 응답하며,
    상기 맞춤화 엔진은 세만틱 모델과 상기 제1 그래픽 정의에 특유한 상기 프레젠테이션 모델을 사용하여, 모든 사용 가능한 그래픽 정의들에 대해 공통적인 세만틱 속성과 상기 제1 그래픽 정의에 특유한 프레젠테이션 속성을 갖는 상기 제1 그래픽 계층 다이어그램을 정의하는 것인, 그래픽을 랜더링하는 시스템.
  8. 제6항에 있어서, 상기 사용자 인터페이스에 있어서,
    상기 갤러리 페인은 상기 사용자에 의한 선택을 위해 상기 복수의 사용 가능 그래픽 정의들 각각에 대한 상기 그래픽 표시를 표시하고,
    상기 갤러리 페인으로부터의 상기 제1 그래픽 정의의 선택에 응답하여, 상기 갤러리 페인은 상기 사용자에 의한 편집을 위해 상기 제1 그래픽 계층 다이어그램을 표시하는, 그래픽을 랜더링하는 시스템.
  9. 제6항에 있어서, 상기 제1 그래픽 계층 다이어그램이 상기 그래픽 페인에 표시되어 있는 동안에, 상기 맞춤화 엔진은 상기 제2 맞춤화를 수신하는 것에 응답하여 세만틱 모델을 업데이트하고, 상기 사용자에 의해 상기 갤러리 페인을 통해 상기 제2 그래픽 정의가 후속적으로 선택되는 것에 응답하여, 상기 맞춤화 엔진은 상기 제2 그래픽 계층 다이어그램이 업데이트된 상기 세만틱 속성을 가지도록 정의하는 것인, 그래픽을 랜더링하는 시스템.
  10. 제8항에 있어서, 상기 제1 그래픽 계층 다이어그램을 정의하기 위한 상기 맞춤화 엔진에 의한 후속적인 사용을 위해 상기 그래픽 페인에 상기 제1 그래픽 계층 다이어그램이 표시되고 있는 동안에, 상기 맞춤화 엔진은 상기 제1 맞춤화를 수신하는 것에 응답하여 상기 제1 그래픽 정의에 특유한 프레젠테이션 모델을 업데이트하는 것인, 그래픽을 랜더링하는 시스템.
  11. 디스플레이 장치에 의해 디스플레이하기 위해 하나 이상의 그래픽 다이어그램을 랜더링하는 방법으로서, 상기 방법은 컴퓨터에 의해 실행되며,
    컨텐츠 페인(content pane) 내의 제1 그래픽 다이어그램 내에서 시각적으로 표시되기 위한 텍스트 컨텐츠를 수신하는 단계;
    상기 제1 그래픽 다이어그램을 랜더링하기 위한 제1 그래픽 정의의 선택을 갤러리 페인(gallery pane)으로부터 수신하는 단계 - 상기 제1 그래픽 정의는 제1 그래픽 요소를 특정함 - ;
    상기 텍스트 컨텐츠와 상기 제1 그래픽 정의에 기초하여 상기 제1 그래픽 다이어그램을 상기 디스플레이 장치 상의 드로잉 페인(drawing pane)에 랜더링하는 단계 - 상기 제1 그래픽 다이어그램은 상기 제1 그래픽 요소 내에 상기 텍스트 컨텐츠를 포함함 - ;
    상기 텍스트 컨텐츠에 대한 변경을 수신하는 것에 응답하여, 상기 제1 그래픽 다이어그램의 상기 제1 그래픽 요소 내의 그래픽 텍스트를 업데이트하는 단계;
    상기 제1 그래픽 요소의 프레젠테이션 속성에 대한 변경을 수신하는 것에 응답하여, 상기 제1 그래픽 요소 내의 프레젠테이션 속성을 업데이트하는 단계;
    상기 제1 그래픽 요소의 세만틱 속성에 대한 변경을 수신하는 것에 응답하여, 상기 제1 그래픽 요소 내의 세만틱 속성을 업데이트하는 단계; 및
    제2 그래픽 요소를 특정하는 제2 그래픽 다이어그램을 랜더링하기 위한 제2 그래픽 정의의 선택을 수신하는 것에 응답하여, 상기 제2 그래픽 요소 내에 업데이트된 상기 그래픽 텍스트와 업데이트된 상기 세만틱 속성을 포함하지만 업데이트된 상기 프레젠테이션 속성은 포함하지 않는 상기 제2 그래픽 다이어그램을 랜더링하는 단계 - 상기 제2 그래픽 정의는 업데이트된 상기 세만틱 속성 및 업데이트된 상기 프레젠테이션 속성을 포함하지 않음 -
    를 포함하는, 그래픽 다이어그램을 랜더링하는 방법.
  12. 제11항에 있어서, 상기 제1 그래픽 다이어그램은 계층적인, 그래픽 다이어그램을 랜더링하는 방법.
  13. 제11항에 있어서, 상기 제1 그래픽 다이어그램은 휠(wheel) 다이어그램인, 그래픽 다이어그램을 랜더링하는 방법.
  14. 제11항에 있어서, 상기 제2 그래픽 다이어그램은 피라미드 다이어그램인, 그래픽 다이어그램을 랜더링하는 방법.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020050073710A 2004-09-30 2005-08-11 사용자 맞춤화에 기초한 그래픽 프레젠테이션 관리 KR101183351B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/957,103 2004-09-30
US10/957,103 US8510657B2 (en) 2004-09-30 2004-09-30 Editing the text of an arbitrary graphic via a hierarchical list
US11/013,655 2004-12-15
US11/013,655 US8134575B2 (en) 2004-09-30 2004-12-15 Maintaining graphical presentations based on user customizations

Publications (2)

Publication Number Publication Date
KR20060050401A KR20060050401A (ko) 2006-05-19
KR101183351B1 true KR101183351B1 (ko) 2012-09-14

Family

ID=35447284

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050073710A KR101183351B1 (ko) 2004-09-30 2005-08-11 사용자 맞춤화에 기초한 그래픽 프레젠테이션 관리

Country Status (12)

Country Link
US (4) US8134575B2 (ko)
EP (1) EP1643451A1 (ko)
JP (1) JP4860218B2 (ko)
KR (1) KR101183351B1 (ko)
CN (1) CN102044083B (ko)
AU (1) AU2005203711B2 (ko)
BR (1) BRPI0503878B1 (ko)
CA (1) CA2517399C (ko)
MX (1) MXPA05009277A (ko)
MY (1) MY150137A (ko)
RU (2) RU2389069C2 (ko)
TW (1) TWI410887B (ko)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080143725A1 (en) * 2004-02-09 2008-06-19 Smart Technologies Inc. Connected and overlapped shapes enhancements
US7348982B2 (en) * 2004-09-30 2008-03-25 Microsoft Corporation Method, system, and computer-readable medium for creating and laying out a graphic within an application program
US8134575B2 (en) 2004-09-30 2012-03-13 Microsoft Corporation Maintaining graphical presentations based on user customizations
US8510657B2 (en) * 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US7567565B2 (en) 2005-02-01 2009-07-28 Time Warner Cable Inc. Method and apparatus for network bandwidth conservation
US20070157117A1 (en) * 2005-12-20 2007-07-05 Nokia Corporation Apparatus, method and computer program product providing user interface configurable command placement logic
US9170987B2 (en) * 2006-01-18 2015-10-27 Microsoft Technology Licensing, Llc Style extensibility applied to a group of shapes by editing text files
US8438486B2 (en) * 2006-02-09 2013-05-07 Microsoft Corporation Automatically converting text to business graphics
US8170065B2 (en) 2006-02-27 2012-05-01 Time Warner Cable Inc. Methods and apparatus for selecting digital access technology for programming and data delivery
US8458753B2 (en) 2006-02-27 2013-06-04 Time Warner Cable Enterprises Llc Methods and apparatus for device capabilities discovery and utilization within a content-based network
US7589750B1 (en) * 2006-03-15 2009-09-15 Adobe Systems, Inc. Methods and apparatus for arranging graphical objects
US7743079B1 (en) * 2006-07-31 2010-06-22 Microsoft Corporation Managing data across a semantic data view and a presentation data view
US8006179B2 (en) * 2006-07-31 2011-08-23 Microsoft Corporation Wrapping nodes in a drawing canvas
US20080235746A1 (en) 2007-03-20 2008-09-25 Michael James Peters Methods and apparatus for content delivery and replacement in a network
US7770200B2 (en) * 2007-07-24 2010-08-03 Time Warner Cable Inc. Methods and apparatus for format selection for network optimization
US7802286B2 (en) 2007-07-24 2010-09-21 Time Warner Cable Inc. Methods and apparatus for format selection for network optimization
US8561116B2 (en) 2007-09-26 2013-10-15 Charles A. Hasek Methods and apparatus for content caching in a video network
US8099757B2 (en) 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network
US8813143B2 (en) 2008-02-26 2014-08-19 Time Warner Enterprises LLC Methods and apparatus for business-based network resource allocation
US8620635B2 (en) * 2008-06-27 2013-12-31 Microsoft Corporation Composition of analytics models
US8411085B2 (en) * 2008-06-27 2013-04-02 Microsoft Corporation Constructing view compositions for domain-specific environments
US20090322739A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Visual Interactions with Analytics
US9866609B2 (en) 2009-06-08 2018-01-09 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
US20100318898A1 (en) * 2009-06-11 2010-12-16 Hewlett-Packard Development Company, L.P. Rendering definitions
US9330503B2 (en) 2009-06-19 2016-05-03 Microsoft Technology Licensing, Llc Presaging and surfacing interactivity within data visualizations
US8531451B2 (en) * 2009-06-19 2013-09-10 Microsoft Corporation Data-driven visualization transformation
US8866818B2 (en) * 2009-06-19 2014-10-21 Microsoft Corporation Composing shapes and data series in geometries
US8493406B2 (en) * 2009-06-19 2013-07-23 Microsoft Corporation Creating new charts and data visualizations
US20100325564A1 (en) * 2009-06-19 2010-12-23 Microsoft Corporation Charts in virtual environments
US8692826B2 (en) * 2009-06-19 2014-04-08 Brian C. Beckman Solver-based visualization framework
US8788574B2 (en) * 2009-06-19 2014-07-22 Microsoft Corporation Data-driven visualization of pseudo-infinite scenes
US9513403B2 (en) * 2009-07-27 2016-12-06 Peck Labs, Inc Methods and systems for displaying customized icons
US8799325B2 (en) * 2010-03-12 2014-08-05 Microsoft Corporation Reordering nodes in a hierarchical structure
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
CA2714228C (en) * 2010-09-16 2011-10-11 Ibm Canada Limited - Ibm Canada Limitee Complex input to image transformation for distribution
JP5724344B2 (ja) * 2010-12-06 2015-05-27 株式会社リコー 画像形成装置、カスタマイズ制御方法及びカスタマイズ制御プログラム
US20120169739A1 (en) * 2010-12-29 2012-07-05 Thomas Meder 360° multidimensional analytical visualizations
US8786620B2 (en) * 2011-11-14 2014-07-22 Microsoft Corporation Discarding idle graphical display components from memory and processing
US11188509B2 (en) 2012-02-20 2021-11-30 Wix.Com Ltd. System and method for generating a visual data structure associated with business information based on a hierarchy of components
US9996566B2 (en) * 2012-02-20 2018-06-12 Wix.Com Ltd. Visual design system for generating a visual data structure associated with a semantic composition based on a hierarchy of components
US20140282188A1 (en) * 2013-03-15 2014-09-18 Moresteam Development Llc Computer graphical user interface, system, and method
USD737833S1 (en) 2013-06-09 2015-09-01 Apple Inc. Display screen or portion thereof with graphical user interface
USD742893S1 (en) * 2013-06-09 2015-11-10 Apple Inc. Display screen or portion thereof with graphical user interface
US9619128B2 (en) 2013-07-01 2017-04-11 Microsoft Technology Licensing, Llc Dynamic presentation prototyping and generation
US20150070358A1 (en) * 2013-09-12 2015-03-12 Marcello Judah Sachs Thotput
WO2015042901A1 (en) 2013-09-29 2015-04-02 Microsoft Technology Licensing, Llc Media presentation effects
US9349142B2 (en) 2013-10-09 2016-05-24 Ebay Inc. Reflow of data presentation using tracking data
US10157593B2 (en) 2014-02-24 2018-12-18 Microsoft Technology Licensing, Llc Cross-platform rendering engine
US10846336B2 (en) * 2014-10-30 2020-11-24 Microsoft Technology Licensing, Llc Authoring tools for synthesizing hybrid slide-canvas presentations
US9971334B2 (en) 2015-04-09 2018-05-15 Kwik Mark, Inc. Inscription positioning apparatuses, systems, and methods of making and using the same
RU2606309C2 (ru) * 2015-06-09 2017-01-10 Общество С Ограниченной Ответственностью "Яндекс" Способ создания аннотированного поискового индекса и сервер, используемый в нем
USD788161S1 (en) * 2015-09-08 2017-05-30 Apple Inc. Display screen or portion thereof with graphical user interface
US9851882B2 (en) * 2015-12-27 2017-12-26 Thunder Power New Energy Vehicle Development Company Limited Fully designable vehicle information panel interface
US10687115B2 (en) 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
USD825612S1 (en) 2016-07-27 2018-08-14 Apple Inc. Display screen or portion thereof with graphical user interface
USD962954S1 (en) 2016-09-06 2022-09-06 Apple Inc. Display screen or portion thereof with graphical user interface
USD841677S1 (en) 2017-06-04 2019-02-26 Apple Inc. Display screen or portion thereof with graphical user interface
US10984195B2 (en) * 2017-06-23 2021-04-20 General Electric Company Methods and systems for using implied properties to make a controlled-english modelling language more natural
USD873284S1 (en) 2017-09-09 2020-01-21 Apple Inc. Electronic device with graphical user interface
USD987669S1 (en) 2017-09-11 2023-05-30 Apple Inc. Electronic device with graphical user interface
US10409895B2 (en) * 2017-10-17 2019-09-10 Qualtrics, Llc Optimizing a document based on dynamically updating content
US20190129615A1 (en) * 2017-10-30 2019-05-02 Futurewei Technologies, Inc. Apparatus and method for simplifying repeat performance of a prior performed task based on a context of a mobile device
CA2990205A1 (en) * 2017-12-28 2019-06-28 Techinsights Inc. Reverse engineering data analysis system, and integrated circuit component data processing tool and method thereof
US10939142B2 (en) 2018-02-27 2021-03-02 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network
USD880495S1 (en) 2018-06-03 2020-04-07 Apple Inc. Electronic device with graphical user interface
USD962244S1 (en) 2018-10-28 2022-08-30 Apple Inc. Electronic device with graphical user interface
WO2020206052A1 (en) * 2019-04-02 2020-10-08 Material Technologies, Llc Electronic palette apparatus and methods
USD913315S1 (en) 2019-05-31 2021-03-16 Apple Inc. Electronic device with graphical user interface
USD924912S1 (en) 2019-09-09 2021-07-13 Apple Inc. Display screen or portion thereof with graphical user interface
US11520842B2 (en) 2020-07-16 2022-12-06 International Business Machines Corporation Figure driven search query
US11200715B1 (en) 2021-04-14 2021-12-14 International Business Machines Corporation Automated creation and design of presentation charts

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903902A (en) 1996-09-09 1999-05-11 Design Intelligence, Inc. Design engine with tree and component structure

Family Cites Families (149)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1982000726A1 (en) 1980-08-13 1982-03-04 Inc Comshare A machine for generating graphic charts
US4531150A (en) 1982-11-05 1985-07-23 Konishiroku Photo Industry Co., Ltd. Image display system
US4686522A (en) 1985-02-19 1987-08-11 International Business Machines Corporation Method of editing graphic objects in an interactive draw graphic system using implicit editing actions
US5337402A (en) 1986-06-12 1994-08-09 Keiji Kitagawa Graphic data processing apparatus using displayed graphics for application program selection
JPS6438866A (en) 1987-08-05 1989-02-09 Hitachi Ltd Document editing device
US5214755A (en) 1989-04-25 1993-05-25 Microsoft Corporation Document processing method and system
JPH03177964A (ja) 1989-12-07 1991-08-01 Toshiba Corp 文書整形装置
JP3093247B2 (ja) 1990-09-21 2000-10-03 株式会社東芝 プレゼンテーション支援環境システム
US5649216A (en) 1991-05-17 1997-07-15 Joseph S. Sieber Method and apparatus for automated layout of text and graphic elements
CA2048039A1 (en) 1991-07-19 1993-01-20 Steven Derose Data processing system and method for generating a representation for and random access rendering of electronic documents
US5903454A (en) 1991-12-23 1999-05-11 Hoffberg; Linda Irene Human-factored interface corporating adaptive pattern recognition based controller apparatus
US5404439A (en) * 1992-04-15 1995-04-04 Xerox Corporation Time-space object containment for graphical user interface
US5426729A (en) 1992-06-24 1995-06-20 Microsoft Corporation Method and system for nonuniformly adjusting a predefined shape
JPH08506670A (ja) 1993-01-22 1996-07-16 タリジェント インコーポレイテッド フレキシブル・ネットワーク・システム
JP2620576B2 (ja) 1993-04-15 1997-06-18 インターナショナル・ビジネス・マシーンズ・コーポレイション ユーザが要求したフォントに従ってグラフィカル・ユーザ・インターフェースを調節する方法及びシステム
DE69327948T2 (de) 1993-04-30 2000-10-26 Ibm Bereich-layout in einer Sicht auf einem grafischen Anzeigeschirm
US5909220A (en) 1993-05-10 1999-06-01 Sandow; Robin Interactive computerized image coloring systems and methods for processing combinations of color with automated subroutines and color standardization for diverse color systems
US5479593A (en) 1993-06-21 1995-12-26 Electronic Data Systems Corporation System and method for improved solving of equations employed during parametric geometric modeling
US5535134A (en) 1994-06-03 1996-07-09 International Business Machines Corporation Object placement aid
US5596691A (en) 1994-06-15 1997-01-21 Claris Corporation Computer system and method for manipulating the display of drawings
WO1996013006A1 (en) * 1994-10-20 1996-05-02 Mark Alan Zimmer Digital mark-making method
US5748964A (en) 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
US5669006A (en) 1995-02-23 1997-09-16 International Business Machines Corporation Method for automatically obtaining spatial layout for multimedia presentations
US5619631A (en) 1995-06-07 1997-04-08 Binaryblitz Method and apparatus for data alteration by manipulation of representational graphs
US5673401A (en) 1995-07-31 1997-09-30 Microsoft Corporation Systems and methods for a customizable sprite-based graphical user interface
US5999189A (en) 1995-08-04 1999-12-07 Microsoft Corporation Image compression to reduce pixel and texture memory requirements in a real-time image generator
US5872867A (en) 1995-08-04 1999-02-16 Sarnoff Corporation Method and apparatus for generating image textures
JPH09109351A (ja) 1995-10-16 1997-04-28 Toppan Printing Co Ltd 表示情報レイアウト装置
US7124359B2 (en) 1996-01-11 2006-10-17 Canon Kabushiki Kaisha Image edit device adapted to rapidly lay-out photographs into templates with means for preview and correction by user
US6173286B1 (en) 1996-02-29 2001-01-09 Nth Degree Software, Inc. Computer-implemented optimization of publication layouts
US5818447A (en) 1996-06-06 1998-10-06 Microsoft Corporation System and method for in-place editing of an electronic mail message using a separate program
US6057858A (en) 1996-08-07 2000-05-02 Desrosiers; John J. Multiple media fonts
US5956737A (en) 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
EP0925542B1 (en) 1996-09-09 2002-08-07 Design Intelligence, Inc. Automatic layout and formatting of content for a design in a medium
US5973692A (en) 1997-03-10 1999-10-26 Knowlton; Kenneth Charles System for the capture and indexing of graphical representations of files, information sources and the like
US6061659A (en) 1997-06-03 2000-05-09 Digital Marketing Communications, Inc. System and method for integrating a message into a graphical environment
US6321243B1 (en) 1997-06-27 2001-11-20 Microsoft Corporation Laying out a paragraph by defining all the characters as a single text run by substituting, and then positioning the glyphs
US6288726B1 (en) 1997-06-27 2001-09-11 Microsoft Corporation Method for rendering glyphs using a layout services library
US6774899B1 (en) 1997-09-18 2004-08-10 Mitsubishi Electric Research Laboratories, Inc. Drawing graphs using user selectable visual oragnization features and/or other user controlled constraints
US5956043A (en) 1997-09-18 1999-09-21 Novell, Inc. Textured tile rotation system and method
AU761202B2 (en) 1997-09-22 2003-05-29 Sony Corporation Generation of a bit stream containing binary image/audio data that is multiplexed with a code defining an object in ascii format
US6289502B1 (en) 1997-09-26 2001-09-11 Massachusetts Institute Of Technology Model-based software design and validation
US6204859B1 (en) 1997-10-15 2001-03-20 Digital Equipment Corporation Method and apparatus for compositing colors of images with memory constraints for storing pixel data
KR100243385B1 (ko) 1997-10-28 2000-02-01 정선종 멀티미디어 프리젠테이션 문서 작성 방법
US6072480A (en) * 1997-11-05 2000-06-06 Microsoft Corporation Method and apparatus for controlling composition and performance of soundtracks to accompany a slide show
AUPP027397A0 (en) 1997-11-07 1997-12-04 Documotion Research, Inc. Tamper-evident form for securely carrying confidential information
JP3377419B2 (ja) 1997-11-11 2003-02-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 命令列生成方法及び装置、変換方法、及びコンピュータ
US6289505B1 (en) 1997-11-18 2001-09-11 Sun Microsystems, Inc. Method, apparatus and computer programmed product for binary re-optimization using a high level language compiler
RU2142162C1 (ru) 1998-01-19 1999-11-27 Кашик Алексей Сергеевич Способ динамической визуализации данных об объекте
US6081816A (en) 1998-03-18 2000-06-27 Microsoft Corporation Method for placing text around polygons and other constraints
US6189132B1 (en) 1998-04-09 2001-02-13 International Business Machines Corporation Design rule correction system and method
WO1999056192A2 (en) 1998-04-24 1999-11-04 Starmine Corporation Security analyst performance tracking and analysis system and method
US6256650B1 (en) 1998-05-18 2001-07-03 Microsoft Corporation Method and system for automatically causing editable text to substantially occupy a text frame
US6301704B1 (en) 1998-06-16 2001-10-09 Silicon Graphics, Inc. Method, system, and computer program product for using static single assignment form as a program representation and a medium for performing global scalar optimization
US6405225B1 (en) 1998-06-17 2002-06-11 Microsoft Corporation Integrating email functionality into a word processor by incorporating an email GUI within the word processor
US6204849B1 (en) 1998-07-17 2001-03-20 Autodesk, Inc. Non-ambiguous graphics selection
US6166738A (en) 1998-09-14 2000-12-26 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects
US6161098A (en) 1998-09-14 2000-12-12 Folio (Fn), Inc. Method and apparatus for enabling small investors with a portfolio of securities to manage taxable events within the portfolio
US6715130B1 (en) 1998-10-05 2004-03-30 Lockheed Martin Corporation Software requirements metrics and evaluation process
US6305012B1 (en) 1998-12-03 2001-10-16 International Business Machines Corporation Method and apparatus for dynamic selection of instructions for compiling using tags
US6957191B1 (en) 1999-02-05 2005-10-18 Babcock & Brown Lp Automated financial scenario modeling and analysis tool having an intelligent graphical user interface
US6456305B1 (en) 1999-03-18 2002-09-24 Microsoft Corporation Method and system for automatically fitting a graphical display of objects to the dimensions of a display window
US6308322B1 (en) 1999-04-06 2001-10-23 Hewlett-Packard Company Method and apparatus for reduction of indirect branch instruction overhead through use of target address hints
US6691282B1 (en) 1999-06-22 2004-02-10 Nortel Networks Limited Method and apparatus for displaying and navigating containment hierarchies
US6667750B1 (en) 1999-07-30 2003-12-23 Curl Corporation Multiple pass layout of graphical objects with elastics
US6826727B1 (en) 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
US7246316B2 (en) 1999-11-30 2007-07-17 Siebel Systems, Inc. Methods and apparatus for automatically generating presentations
EP1111543A3 (en) 1999-12-22 2002-11-27 Adobe Systems, Inc. Method and apparatus for painting groups of objects
US6448973B1 (en) 2000-01-13 2002-09-10 Microsoft Corporation Virtual texture
US6593933B1 (en) 2000-01-13 2003-07-15 Microsoft Corporation Block-based synthesis of texture in computer rendered images
US7055095B1 (en) 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
US20010032151A1 (en) 2000-04-18 2001-10-18 Glenn Paul Internet presentation system
US20010051962A1 (en) 2000-06-08 2001-12-13 Robert Plotkin Presentation customization
US20020111969A1 (en) 2000-09-28 2002-08-15 Halstead Robert H. System and method for processing graphical objects for layout using an elastic difference operation
US6774889B1 (en) * 2000-10-24 2004-08-10 Microsoft Corporation System and method for transforming an ordinary computer monitor screen into a touch screen
US7231602B1 (en) 2000-11-29 2007-06-12 Microsoft Corporation Live preview for reformatting document text
US20020065852A1 (en) 2000-11-30 2002-05-30 Matt Hendrickson Online guided resume creation system that allows dynamic style formatting
US6944830B2 (en) * 2000-12-21 2005-09-13 Xerox Corporation System and method for browsing hierarchically based node-link structures based on an estimated degree of interest
US6950981B2 (en) 2000-12-29 2005-09-27 International Business Machines Corporation Method and system for providing task information in a place
US6791582B2 (en) 2000-12-29 2004-09-14 International Business Machines Corporation Method and system for identifying and displaying information that is new or has been updated in a place
US6973618B2 (en) 2000-12-29 2005-12-06 International Business Machines Corporation Method and system for importing MS office forms
US6701311B2 (en) * 2001-02-07 2004-03-02 International Business Machines Corporation Customer self service system for resource search and selection
US6941478B2 (en) 2001-04-13 2005-09-06 Nokia, Inc. System and method for providing exploit protection with message tracking
CN1384454A (zh) 2001-05-01 2002-12-11 株式会社东芝 信息概括系统和信息概括方法
BR0210589A (pt) 2001-06-22 2005-04-26 Nosa Omoigui Sistema e método para a recuperação, o gerenciamento, a entrega e a apresentação do conhecimento
US6826729B1 (en) * 2001-06-29 2004-11-30 Microsoft Corporation Gallery user interface controls
US20040205602A1 (en) 2001-07-25 2004-10-14 Douglas Croeni Page layout design using geometric interference schema
JP2003044464A (ja) 2001-07-31 2003-02-14 Seiko Epson Corp レイアウト装置及びレイアウトプログラム
JP2003052582A (ja) 2001-08-10 2003-02-25 Toshiba Tec Corp 掃除装置
EP1298524A1 (en) 2001-09-28 2003-04-02 Ricoh Company, Ltd. Conference support apparatus, information processor, teleconference system and computer product
RU2218602C2 (ru) * 2001-11-08 2003-12-10 Карев Павел Викторович Способ цветокодового отображения переменных многопараметрических состояний системы или процесса
AUPR962001A0 (en) 2001-12-19 2002-01-24 Redbank Manor Pty Ltd Document display system and method
US20050001837A1 (en) 2002-03-01 2005-01-06 Shannon Michael P. Method and internet based software for graphing sport statistics
US20030218641A1 (en) 2002-05-23 2003-11-27 International Business Machines Corporation Method and system for navigating a hierarchical structure in a data processing system
TW578067B (en) 2002-06-21 2004-03-01 Inst Information Industry Knowledge graphic system and method based on ontology
US20040001106A1 (en) 2002-06-26 2004-01-01 John Deutscher System and process for creating an interactive presentation employing multi-media components
US6894726B2 (en) 2002-07-05 2005-05-17 Thomson Licensing S.A. High-definition de-interlacing and frame doubling circuit and method
US7107525B2 (en) 2002-07-23 2006-09-12 Xerox Corporation Method for constraint-based document generation
US7058902B2 (en) 2002-07-30 2006-06-06 Microsoft Corporation Enhanced on-object context menus
US20040041838A1 (en) 2002-09-04 2004-03-04 Adusumilli Venkata J.R.B. Method and system for graphing data
US7945846B2 (en) 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US20040145603A1 (en) 2002-09-27 2004-07-29 Soares Stephen Michael Online multimedia presentation builder and presentation player
KR100504476B1 (ko) 2002-10-30 2005-08-01 엘지전자 주식회사 아이콘 제어를 위한 방법 및 디스플레이 시스템
KR20040041979A (ko) 2002-11-12 2004-05-20 한국전자통신연구원 그래픽 사용자 인터페이스
AU2002952711A0 (en) 2002-11-18 2002-11-28 Typefi Systems Pty Ltd A method of formatting documents
KR100484181B1 (ko) 2002-12-02 2005-04-20 삼성전자주식회사 멀티미디어 문서 저작 장치 및 방법
CA2414047A1 (en) * 2002-12-09 2004-06-09 Corel Corporation System and method of extending scalable vector graphics capabilities
JP4241325B2 (ja) 2002-12-25 2009-03-18 セイコーエプソン株式会社 レイアウトシステム
TW562221U (en) 2002-12-27 2003-11-11 Hon Hai Prec Ind Co Ltd Mounting device for disk drive
US20040133854A1 (en) 2003-01-08 2004-07-08 Black Karl S. Persistent document object model
WO2004068320A2 (en) 2003-01-27 2004-08-12 Vincent Wen-Jeng Lue Method and apparatus for adapting web contents to different display area dimensions
KR100459507B1 (ko) 2003-02-15 2004-12-03 (주) 이모션 그래픽 컨텐츠를 제작하는 장치
US7325186B2 (en) 2003-02-28 2008-01-29 Microsoft Corporation Method and system for showing unannotated text nodes in a data formatted document
US20040172584A1 (en) * 2003-02-28 2004-09-02 Microsoft Corporation Method and system for enhancing paste functionality of a computer software application
US7339598B2 (en) 2003-07-11 2008-03-04 Vistaprint Technologies Limited System and method for automated product design
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US20050034083A1 (en) 2003-08-05 2005-02-10 Denny Jaeger Intuitive graphic user interface with universal tools
US7554689B2 (en) 2003-10-15 2009-06-30 Canon Kabushiki Kaisha Document layout method
US7548334B2 (en) 2003-10-15 2009-06-16 Canon Kabushiki Kaisha User interface for creation and editing of variable data documents
US20050091584A1 (en) 2003-10-23 2005-04-28 Microsoft Corporation Methods for applying styles to visual aspects of user interface elements
GB2407677A (en) 2003-10-31 2005-05-04 Hewlett Packard Development Co Post-rendering document space based on rules
US7178102B1 (en) 2003-12-09 2007-02-13 Microsoft Corporation Representing latent data in an extensible markup language document
US7395510B2 (en) 2003-12-16 2008-07-01 Hewlett-Packard Development Company, L.P. Method of, and system for, adjusting a document configuration
US7536048B2 (en) 2004-01-15 2009-05-19 Xerox Corporation Method and apparatus for automatically determining image foreground color
JP2005275890A (ja) 2004-03-25 2005-10-06 Nec Corp プレゼンス情報発行装置およびシステムならびにプログラム
JP4448537B2 (ja) * 2004-04-26 2010-04-14 コダック グラフィック コミュニケーションズ カナダ カンパニー グラフィック要素を含む文書同士を比較するシステム及び方法
US20050289466A1 (en) 2004-06-24 2005-12-29 Kaihu Chen Multimedia authoring method and system using bi-level theme templates
US20060064642A1 (en) 2004-09-22 2006-03-23 Edurite Technologies Pvt. Ltd. Seamless presentation integrator
US7348982B2 (en) 2004-09-30 2008-03-25 Microsoft Corporation Method, system, and computer-readable medium for creating and laying out a graphic within an application program
US8510657B2 (en) 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US8134575B2 (en) 2004-09-30 2012-03-13 Microsoft Corporation Maintaining graphical presentations based on user customizations
US7209815B2 (en) 2004-12-28 2007-04-24 Snap-On Incorporated Test procedures using pictures
US7478079B2 (en) 2005-01-14 2009-01-13 Microsoft Corporation Method for displaying a visual representation of mapping between a source schema and a destination schema emphasizing visually adjusts the objects such that they are visually distinguishable from the non-relevant and non-selected objects
US7750924B2 (en) 2005-03-15 2010-07-06 Microsoft Corporation Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes
US7743325B2 (en) 2005-03-15 2010-06-22 Microsoft Corporation Method and computer-readable medium for fitting text to shapes within a graphic
US20060277476A1 (en) 2005-06-02 2006-12-07 Hsuan-Cheng Lai Method and system for dynamic generation of graphical content using a markup language
US7555711B2 (en) 2005-06-24 2009-06-30 Hewlett-Packard Development Company, L.P. Generating a text layout boundary from a text block in an electronic document
US7747944B2 (en) 2005-06-30 2010-06-29 Microsoft Corporation Semantically applying style transformation to objects in a graphic
WO2007011277A1 (en) 2005-07-20 2007-01-25 Obigo Ab Method and arrangement in a display system
US7423646B2 (en) 2005-11-08 2008-09-09 Microsoft Corporation Smart shape insert
US8042065B2 (en) 2005-11-17 2011-10-18 Microsoft Corporation Smart copy/paste of graphical nodes
US8438486B2 (en) 2006-02-09 2013-05-07 Microsoft Corporation Automatically converting text to business graphics
CN101231645B (zh) 2007-01-23 2012-03-28 鸿富锦精密工业(深圳)有限公司 树型目录动态展现系统及方法
US7949948B2 (en) 2007-05-09 2011-05-24 Microsoft Corporation Constraint and rule-based page layout
US8225278B2 (en) 2007-05-14 2012-07-17 International Business Machines Corporation Method of visualizing modifications of a hierarchical state diagram
US8479218B2 (en) 2007-07-09 2013-07-02 National Instruments Corporation Automatically arranging objects in a graphical program block diagram
US8826174B2 (en) 2008-06-27 2014-09-02 Microsoft Corporation Using visual landmarks to organize diagrams
US8176412B2 (en) 2009-08-25 2012-05-08 International Business Machines Corporation Generating formatted documents
US8799325B2 (en) 2010-03-12 2014-08-05 Microsoft Corporation Reordering nodes in a hierarchical structure

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903902A (en) 1996-09-09 1999-05-11 Design Intelligence, Inc. Design engine with tree and component structure

Also Published As

Publication number Publication date
US8269790B2 (en) 2012-09-18
CA2517399A1 (en) 2006-03-30
TWI410887B (zh) 2013-10-01
US20170193683A1 (en) 2017-07-06
MY150137A (en) 2013-11-29
RU2524473C2 (ru) 2014-07-27
AU2005203711B2 (en) 2010-11-18
CN102044083A (zh) 2011-05-04
US20060066632A1 (en) 2006-03-30
US9619910B2 (en) 2017-04-11
JP4860218B2 (ja) 2012-01-25
CN102044083B (zh) 2014-06-04
JP2006107491A (ja) 2006-04-20
RU2005130349A (ru) 2007-04-10
KR20060050401A (ko) 2006-05-19
US20130024791A1 (en) 2013-01-24
BRPI0503878A (pt) 2006-05-16
RU2389069C2 (ru) 2010-05-10
US8134575B2 (en) 2012-03-13
CA2517399C (en) 2015-02-17
MXPA05009277A (es) 2006-04-05
TW200620155A (en) 2006-06-16
BRPI0503878B1 (pt) 2017-11-14
RU2010100807A (ru) 2011-07-20
AU2005203711A1 (en) 2006-04-13
US10297061B2 (en) 2019-05-21
US20120127178A1 (en) 2012-05-24
EP1643451A1 (en) 2006-04-05

Similar Documents

Publication Publication Date Title
KR101183351B1 (ko) 사용자 맞춤화에 기초한 그래픽 프레젠테이션 관리
US10573038B2 (en) Editing the text of an arbitrary graphic via a hierarchical list
US7151551B2 (en) Method and system for maintaining persistence of graphical markups in a collaborative graphical viewing system
US8060832B2 (en) Managing information display
US7747944B2 (en) Semantically applying style transformation to objects in a graphic
US20210312099A1 (en) 3d-link
KR20110016881A (ko) 데이터 뷰어 관리
JP4955758B2 (ja) 3次元グラフィック中のテキスト編集
EP3889861A1 (en) 3d-url
Mendoza et al. Implementation of a Touch Based Graphical User Interface for Semantic Information System
JPH11110200A (ja) ユーザインタフェース設計装置及び方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 7