(57)【要約】【課題】  ユーザカスタマイゼーションに基づいてグラフィックスをレンダリングする。【解決手段】  カスタマイゼーションは、グラフィカル要素に関連する位置決め、サイズ、フォーマッティングおよび他のビジュアルを含むプロパティに関する。プロパティは、セマンティックプロパティまたはプレゼンテーションプロパティのいずれかとして定義できる。セマンティックプロパティは、すべてのグラフィック定義にわたって持続する。プレゼンテーションプロパティは、各特定のグラフィックが属するグラフィック定義に固有である。従ってセマンティックプロパティに対するカスタマイゼーションは、現在表示されているグラフィックだけではなく、将来表示される可能性がある他の全てのグラフィック定義にも適用するためにメモリ内で保存される。プレゼンテーションプロパティに対するカスタマイゼーションは、現在表示されているグラフィックだけに関して保存される。【選択図】  図４
2006107491.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイモジュールによる表示のためにグラフィックをレンダリングするコンピュータで実施される方法であって、
前記グラフィックのグラフィック定義の選択を受け取ること、
前記グラフィック定義に基づいて前記グラフィックを作成し、異なるグラフィック定義に対応する異なるグラフィックに対して前に行われたカスタマイゼーションを前記グラフィックに適用すること、および
前記ディスプレイモジュールによる表示のために前記ディスプレイモジュールに対して前記作成されたグラフィックを提供すること
を含むことを特徴とするコンピュータで実施される方法。
【請求項２】
前記グラフィックは、アイテムを有するコンテンツを表し、前記選択されたグラフィック定義は、複数の実行できるグラフィック定義の１つであり、前記作成する動作は、
各関連するグラフィックが類似するセマンティックプロパティを使用するコンテンツ内の類似するアイテムを表すように、すべての実行可能性のあるグラフック定義についてセマンティックプロパティを定義するセマンティックモデルを読み出すことであって、前記カスタマイゼーションは第１セマンティックプロパティに関連すること、および
前記セマンティックモデルを参照することによって前記カスタマイゼーションを特定すること
を含むことを特徴とする請求項１に記載のコンピュータで実施される方法。
【請求項３】
前記ディスプレイモジュールは、その上でユーザインターフェースがユーザに提示される表示画面を備え、前記グラフィックは、前記ユーザインターフェースに表示され、前記方法は、さらに、
前記ユーザインターフェースを介して前記グラフィックに対する新しいカスタマイゼーションを受け取ることであって、前記新しいカスタマイゼーションは第２セマンティックプロパティに関連すること、および
前記新しいカスタマイゼーションを反映するために前記セマンティックモデル内で前記第２セマンティックプロパティを更新すること
を含むことを特徴とする請求項２に記載のコンピュータで実施される方法。
【請求項４】
新しいグラフィック定義を使用してコンテンツをビジュアルに表すことの要求を受け取ること、および
前記新しいグラフィックが前記カスタマイゼーションおよび前記新しいカスタマイゼーションの両方と共に表示されるように、前記更新されたセマンティックモデルに基づいて前記新しいグラフィック定義に関して新しいグラフィックを作成すること
をさらに含むことを特徴とする請求項３に記載のコンピュータで実施される方法。
【請求項５】
前記作成する動作は、
前記選択されたグラフィック定義に固有のプレゼンテーションプロパティを定義するプレゼンテーションモデルを取り出すことであって、前記プレゼンテーションプロパティの少なくとも１つは、前記グラフィックスに対して前に行われた変更に基づいてカスタマイズされていること、
前記プレゼンテーションモデルを参照することによって前記カスタマイズされたプレゼンテーションプロパティを特定すること、および
前記第１セマンティックプロパティと前記カスタマイズされたプレゼンテーションプロパティとに関する前記カスタマイゼーションの両方を含めるように前記グラフィックを作成すること
を含むことを特徴とする請求項２に記載のコンピュータで実施される方法。
【請求項６】
前記ディスプレイモジュールは、その上でユーザインターフェースがユーザに提示される表示画面を備え、前記グラフィックは、前記ユーザインターフェースで表示され、前記方法は、
前記ユーザインターフェースを介して前記グラフィックスに対する新しいカスタマイゼーションを受け取ることであって、前記新しいカスタマイゼーションは、前記プレゼンテーションプロパティのうちの第２プレゼンテーションプロパティに関すること、および
前記新しいカスタマイゼーションを反映するために、前記プレゼンテーションモデル内の前記第２プレゼンテーションプロパティを更新すること
をさらに含むことを特徴とする請求項５に記載のコンピュータで実施される方法。
【請求項７】
新しいグラフィック定義として、コンテンツをビジュアルに表す要求を受け取ること、および
新しいグラフィックは前記第１セマンティックプロパティに対する前記カスタマイゼーションで表示されるが前記第２プレゼンテーションプロパティに対する前記新しいカスタマイゼーションなしで表示されるように、前記セマンティックモデルおよび前記新しいグラフィック定義のプレゼンテーションモデルに基づく新しいグラフィック定義に対応する前記新しいグラフィックを作成すること
をさらに含むことを特徴とする請求項６に記載のコンピュータで実施される方法。
【請求項８】
前記選択されたグラフィック定義に属する前記グラフィックに切り替える要求を受け取ること、および
前記グラフィックが前記第１セマンティックプロパティに対する前記カスタマイゼーションならびに前記第２プレゼンテーションプロパティに対する前記新しいカスタマイゼーションを用いて再表示されるように、前記セマンティックモデルおよび前記グラフィック定義に関する前記プレゼンテーションモデルに基づいて前記グラフィックを再作成すること
をさらに含むことを特徴とする請求項７に記載のコンピュータで実施される方法。
【請求項９】
前記コンテンツは、テキストコンテンツを備え、前記アイテムは、前記テキストコンテンツ内のテキストの行を含むことを特徴とする請求項２に記載のコンピュータで実施される方法。
【請求項１０】
前記カスタマイゼーションは、前記グラフィック内の他のグラフィカル要素に対する前記グラフィック内のあるグラフィカル要素の位置移動に関ることを特徴とする請求項２に記載のコンピュータで実施される方法。
【請求項１１】
表示画面に表示されるグラフィックをレンダリングするシステムであって、
コンテンツを表すように実施可能な関連のグラフィックスのデフォルトプロパティをそれぞれが指定する複数の可能性のあるグラフィック定義、
各関連のグラフィックが類似するセマンティックプロパティを使用してコンテンツ内の類似するアイテムを表すように、すべての可能性のあるグラフィック定義のセマンティックプロパティを定義するセマンティックモデル、
第１グラフィックおよび第２グラフィックが類似するセマンティックプロパティを有するように、第１グラフィック定義に対応する前記第１グラフィックおよび第２グラフィック定義に対応する前記第２グラフィックを作成するために前記セマンティックモデルを使用するように実施可能なカスタマイゼーションエンジン、および
ユーザによる選択のために前記複数の可能性のあるグラフック定義のそれぞれのグラフィカル表現を提示し、前記第１グラフィック定義または前記第２グラフィック定義に関連する前記グラフィカル表現のいずれかの選択に応答して、それぞれ前記カスタマイゼーションエンジンによって定義される前記表示画面上で、前記第１グラフィックまたは前記第２グラフィックを表示する、ユーザインターフェース
を具備することを特徴とするシステム。
【請求項１２】
複数のプレゼンテーションモデルであって、該複数のプレゼンテーションモデルの少なくとも１つは、前記第１グラフィック定義に固有のプレゼンテーションプロパティを指定し、前記ユーザインターフェース上での前記第１グラフィック定義の選択に応答して、前記カスタマイゼーションエンジンは、すべての可能性のあるグラフック定義に類似する前記セマンティックプロパティおよび前記第１グラフィック定義に固有の前記プレゼンテーションプロパティを有するものとして前記第１グラフィックを定義するために前記セマンティックモデルおよび前記第１グラフィック定義に固有のプレゼンテーションモデルを使用する、複数のプレゼンテーションモデル
をさらに備えることを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記ユーザインターフェースは、
前記ユーザによる編集のためにコンテンツの本体を表示するコンテンツペイン、
ユーザによる選択のために前記複数の可能性のあるグラフック定義のそれぞれのグラフィカル表現を表示するギャラリペイン、および
前記ギャラリペインからの前記第１グラフィック定義の選択に応答して、前記ユーザによる編集のために前記第１グラフィックを表示するグラフィックスペイン
を備えることを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記ギャラリペインを介しての前記第２グラフィック定義の前記ユーザによる後続選択に応答して、前記カスタマイゼーションエンジンが、編集されたセマンティックプロパティを有する前記第２グラフィックを定義するように、前記カスタマイゼーションエンジンは、前記グラフィックスペインに前記第１グラフィックが表示されている間に、前記ユーザが前記セマンティックプロパティの１つを編集することに応答して、前記セマンティックモデルを更新することを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記第１グラフィックを定義する前記カスタマイゼーションエンジンによる後続使用のために前記グラフィックスペインに前記第１グラフィックが表示されている間に、前記プレゼンテーションプロパティの１つをユーザが編集することに応答して、前記カスタマイゼーションエンジンは、前記第１グラフィック定義に固有の前記プレゼンテーションモデルを更新することを特徴とする請求項１３に記載のシステム。
【請求項１６】
表示画面に表示されるグラフィックをカスタマイズするコンピュータで実施される方法であって、前記グラフィックは、複数のグラフィック要素を含み、
前記グラフィックを変更する要求を受け取ること、および
前記グラフィック内の第２グラフィカル要素に対する前記グラフィック内の第１グラフィカル要素のプロパティに以前に適用されたカスタマイゼーションを維持しながら、前記要求に基づいて前記グラフィックを変更すること
を含むことを特徴とする方法。
【請求項１７】
前記カスタマイゼーションは、前記第２グラフィカル要素に対する前記第１グラフィカル要素の位置決めに関係することを特徴とする請求項１６に記載の方法。
【請求項１８】
前記カスタマイゼーションは、前記第２グラフィカル要素に対する前記第１グラフィカル要素のサイズに関係することを特徴とする請求項１６に記載の方法。
【請求項１９】
前記要求は、前記グラフィックにグラフィカル要素を追加または除去する命令を含むことを特徴とする請求項１６に記載の方法。
【請求項２０】
前記グラフィックのデフォルトプロパティは、第１グラフィック定義によって指定され、前記方法は、さらに、
第２グラフィック定義に対応する新しいグラフィック内の複数のグラフィカル要素を表す要求を受け取ること、および
前記第２グラフィック定義に基づいて前記新しいグラフィックを作成し、前記カスタマイゼーションを前記新しいグラフィックに適用すること
を含むことを特徴とする請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的にはビジュアルプレゼンテーションの作成および編集に関し、具体的には、ユーザカスタマイゼーションに基づくグラフィックスの表示に関する。
【背景技術】
【０００２】
本願は、その開示全体が参照によって本明細書に組み込まれている２００４年９月３０日出願の米国特許仮出願第１０／９５７，１０３号、名称「Editing The Text Of An Arbitrary Graphic Via A Hierarchical List」の部分継続出願である。
【０００３】
ビジュアルエイド（視覚表示）は、人が情報を理解するのを助ける。人のグループに、または人のグループの中で情報を伝えることは、ほとんど必ず、その情報を具現化したビジュアルプレゼンテーション（視覚的提示）の作成を必要とする。Ｍｉｃｒｏｓｏｆｔ（登録商標）ＰｏｗｅｒＰｏｉｎｔ（登録商標）プレゼンテーションアプリケーションなどのグラフィックスアプリケーションプログラムは、そのようなビジュアルプレゼンテーションを作成する作業を自動化するのを助けてきた。そのようなグラフィックスアプリケーションプログラムは、情報を、本明細書でグラフィックと称する簡単に理解できるフォーマットにすることによって、ユーザが情報をより効率的で効果的に伝えることを可能にする。
【０００４】
グラフィックは、ダイアグラム（図表、図解）または他の描画など、アイデア（構想）のビジュアル（視覚的）表現である。グラフィックは、通常、例えば中黒付きのリスト（表）など、アイデアを実施する内容を表す複数のグラフィカル要素からなる。各グラフィカル要素は、表示されるグラフィックの一部である。グラフィカル要素は、テキスト特性とグラフィカル特性の両方を有することができる。グラフィカル特性は、一般に、グラフィカル要素の絵または他のビジュアル特性を指すが、テキスト特性は、一般に、グラフィカル要素内の記述されたものを指す。情報および聞き手に依存して、グラフィックスアプリケーションプログラムのユーザは、一般に、基礎になる情報を最もよく教えるか伝える特定のグラフィックを決定する。一般に、普通のグラフィックスアプリケーションプログラムは、グラフィックを作成する２つの手法のうちの１つを提供する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一方で、一部の従来のグラフィックスアプリケーションプログラムは、ユーザがグラフィックの作成および編集で完全な柔軟性を有するマニュアルドローイング手法を使用する。したがって、ユーザは、良いと思う形で、グラフィック内でグラフィカル要素を位置決めし、外見をカスタマイズ（オーダメイド）することができる。しかし、グラフィック編集に対するそのような「無制限な自由（free reigns）」を提供することによって、このマニュアル手法は、グラフィック内の他のグラフィカル要素のカスタマイゼーション、および／または再位置決めによって影響されるグラフィック内のグラフィカル要素の再位置決め、および再アライン（再調整、再設定、再編成）をユーザが行わなければならないことをもたらす。推測されるように、この手法は、一般に、最終製品をレンダリングするためにグラフィックを操作するのに長い時間を必要とする。ユーザの時間は、グラフィックで描かれるメッセージ（伝達内容）に焦点を合わせるのではなく、グラフィックのビジュアル態様を操作することに非効率的に費やされる。さらに、この手法は、少なくともある程度まで、グラフィカル設計能力を必要とする。たくましい設計能力を有しないユーザは、さらに、このマニュアル手法によって制限される。
【０００６】
その一方で、一部の従来のグラフィックスアプリケーションプログラムは、各グラフィックのレイアウトおよび外見（外観、見た目）が、ユーザが望むグラフィックのタイプおよびグラフィックについて事前に決定されたグラフィカル要素に基づいて自動的に定義される自動ドローイング手法を使用する。この手法では、グラフィック内でグラフィカル要素をアライン（調整、設定、編成）し、位置決めするという重荷が、ユーザから取り除かれ、その代わりにアプリケーションプログラムに課せられる。しかし、この手法は、ユーザが、通常、そこから選択すべきグラフィック定義の限られた固定されたセットだけを与えられるという意味で問題がある。さらに、ユーザは、まず自動ドローイング機能を完全に放棄することなしに、これによって最初からこの手法を使用する目的を覆すことなく、自分の望みに基づいてグラフィックをカスタマイズ（オーダメイド）する権限を与えられていない。
【０００７】
本発明は、上記および他の考慮事項に鑑みてなされた発明である。
【課題を解決するための手段】
【０００８】
本発明によれば、表示画面にグラフィックをレンダリングするコンピュータにより実施される方法が提供される。グラフィックは、アイテムを事前に決定された構造で配置しても、しなくてもよいコンテンツのビジュアル表現である。様々な形のコンテンツを、グラフィックを使用して表すことができるが、例示目的のために、コンテンツを、本明細書ではテキストコンテンツとして説明する。コンテンツを受け取ったときに、この方法には、コンテンツをビジュアルに表現するグラフィック定義の選択を受け取ることが含まれる。選択されたグラフィック定義は、そのグラフィック定義の下で作成されるグラフィックのグラフィカル要素の外見およびレイアウトのデフォルトプロパティを指定する。次に、この方法は、グラフィックを作成して、異なるグラフィック定義に基づいてコンテンツについてレンダリングされるグラフィックに前に適用されたデフォルトプロパティのうちの少なくとも１つのカスタマイゼーションに従って、コンテンツのアイテムに対応するグラフィカル要素を含める。次いで作成されたグラフィックが、ユーザへの表示のためにディスプレイモジュールに出力される。
【０００９】
本発明の実施形態によれば、カスタマイゼーションは、すべての可能性のあるグラフック定義にわたって持続するプロパティのセットを分析することによって識別され、ここで、プロパティのこのセットは、「セマンティック」モデルで指定される。したがって、セマンティックモデルは、すべての可能性のあるグラフック定義に対応するグラフィックスに適用可能なプロパティを定義する。もう１つの実施形態によれば、グラフィックの作成は、現在レンダリングされているグラフィックの特定のグラフィック定義に固有のカスタマイズも考慮に入れることができる。これらのカスタマイゼーションは、関連するグラフィック定義の選択に応答してセマンティックモデルと共に取り出される「プレゼンテーション」モデルで維持される。
【００１０】
もう１つの実施形態では、本発明は、コンテンツをビジュアルに表すシステムを提供する。このシステムには、コンテンツを表すように動作する関連するグラフィックのデフォルトプロパティをそれぞれが指定する複数の可能性のあるグラフック定義が含まれる。このシステムには、すべての可能性のあるグラフック定義の「セマンティック」プロパティを定義するセマンティックモデルも含まれ、各関連するグラフィックが、類似するセマンティックプロパティを使用してコンテンツの類似するアイテムを表すようになっている。さらに、この実施形態によるシステムには、異なるグラフィック定義およびセマンティックモデルに従ってグラフィックスを定義するように動作するカスタマイゼーションエンジンが含まれる。
【００１１】
もう１つの実施形態によれば、このシステムに、複数のプレゼンテーションモデルが含まれる。プレゼンテーションモデルのうちの１つまたは複数は、複数の可能性のあるグラフック定義のうちの１つまたは複数に関連する。プレゼンテーションモデルのそれぞれが、１つまたは複数のプレゼンテーションモデルが関連するグラフィック定義に固有のプレゼンテーションプロパティを定義する。表示のための特定のグラフィック定義の選択に応答して、カスタマイゼーションエンジンが、選択された定義、すべてのグラフィック定義にわたって持続するセマンティックモデル、および選択された定義に関連する１つまたは複数のプレゼンテーションモデルに従ってグラフィックをレンダリングする。したがって、グラフィックは、選択された定義に基づいて表示されるが、関連するプレゼンテーションモデルおよびセマンティックモデルで指定された通りにカスタマイズされた外見プロパティおよびレイアウトプロパティを有する。
【００１２】
もう１つの実施形態によれば、本発明は、表示画面に表示されるグラフィカル要素を有するグラフィックをカスタマイズする方法を対象とする。グラフィックを変更する要求の受け取りに応答して、この方法に、そのグラフィックに前に適用されたカスタマイゼーションを維持しながら、要求に基づいてグラフィックを変更することが含まれる。具体的に言うと、カスタマイゼーションは、グラフィック内の第２グラフィカル要素に対するグラフィック内の第１グラフィカル要素のプロパティに関する。例えば、カスタマイゼーションは、第２グラフィカル要素に対する第１グラフィカル要素の位置決めまたはサイズに関するものとすることができる。一実施形態で、変更要求は、グラフィックにグラフィカル要素を追加する命令を実施する。
【００１３】
本発明の様々な実施形態は、コンピュータプロセスとして、コンピューティングシステムとして、または、コンピュータプログラム製品もしくはコンピュータ可読媒体などの製造品として、実施することができる。コンピュータプログラム製品は、コンピュータシステムによって可読の、コンピュータプロセスを実行する命令のコンピュータプログラムをエンコードしたコンピュータ記憶媒体とすることができる。コンピュータプログラム製品は、コンピューティングシステムによって可読の、コンピュータプロセスを実行する命令のコンピュータプログラムをエンコードした搬送波で伝搬される信号とすることもできる。
【００１４】
本発明の特徴を表す上記および様々な他の特徴ならびに効果は、次の詳細な説明を読み、関連図面を精査することから明白になる。
【発明を実施するための最良の形態】
【００１５】
本発明を、以下で、本発明の実施形態が示された添付図面を参照してさらに十分に説明する。しかし、本発明は、多数の異なる形で実施することができ、本明細書に示された実施形態に制限されると解釈してはならない。そうではなく、これらの実施形態は、この開示が完全になり、当業者に本発明の範囲を完全に伝えるようにするために提供されるものである。同一の符号は、全体を通じて同一の要素を指す。
【００１６】
一般に、本発明は、１つまたは複数のグラフィックス（画像）で表示されるコンテンツのビジュアル表現をカスタマイズすることに関する。コンテンツは、すべての形の情報とすることができるが、本明細書では、本発明の例示的な実施形態に従って、テキストデータとして説明する。コンテンツは、ユーザによって（例えば、キーボード、マウスなどによって）、アプリケーションプログラムによって、またはこの両方の組合せによって、提供することができる。各グラフィックに、少なくとも１つのグラフィカル要素が含まれ、このグラフィカル要素は、テキスト特性、グラフィカル特性、または両方を有することができる。
【００１７】
一実施形態によれば、本発明は、グラフィック内の１つまたは複数のグラフィカル要素の外見プロパティおよびレイアウトプロパティに対するユーザカスタマイゼーションに基づいてグラフィックを表示するコンピュータで実施される方法（本明細書では「ディスプレイプロセス」と称する）を提供する。そのようなプロパティに、グラフィカル要素に関連する、色、位置決め、サイズ、形状、フォーマッティング、および他のビジュアル属性が含まれる。
【００１８】
ディスプレイプロセスは、グラフィックスを作成し、編集するユーザインターフェース（ＵＩ）を有するコンピュータグラフィックスアプリケーションで実施される。コンピュータグラフィックスアプリケーションは、スタンドアローン（独立型）コンピュータアプリケーションまたは、制限なしに、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ドローイングアプリケーション、もしくはスプレッドシートアプリケーションなどの別のコンピュータアプリケーションのサブコンポーネントのいずれかとすることができる。当業者は、通常はＭｉｃｒｏｓｏｆｔ  Ｏｆｆｉｃｅ（登録商標）およびＯｐｅｎＯｆｆｉｃｅなどのアプリケーションのオフィススイート（事務作業用ソフトのセット製品）に集められるコンピュータアプリケーションの他の形へのコンピュータグラフィックスアプリケーションの適用可能性を十分に理解するであろう。
【００１９】
本発明を、１つまたは複数のコンピュータまたは他のデバイスによって実行されるコンピュータ実行可能命令（例えば、プログラムモジュール）の全般的な文脈で説明する。プログラムモジュールの機能性を、様々な実施形態で、望み通りに組み合わせるか分散させることができる。プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実施する、１つまたは複数のルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。
【００２０】
図１を参照すると、コンピュータグラフィックスアプリケーションでグラフィックスを作成し、編集する際に使用される例示的なＵＩ  １０２が、本発明の実施形態に従って示されている。ＵＩ  １０２は、複数の領域または「ペイン」（ウインドウ枠）に分割され、各ペインは、コンピュータグラフィックスアプリケーションの機能性の様々な態様を担当する。一実施形態で、複数のペインに、コンテンツペイン１０４、グラフィックスペイン１０６、およびギャラリペイン１０５が含まれる。
【００２１】
グラフィックスペイン１０６には、コンテンツペイン１０４からのコンテンツを使用してコンピュータグラフィックスアプリケーションによって作成されたグラフィカルコンテンツ１０８が表示される。グラフィカルコンテンツ１０８は、ドローイング（描画）、ダイアグラム（図表）など、任意の形のビジュアルプレゼンテーションとすることができ、本明細書では命名のために「グラフィック」と称する。ギャラリペイン１０５は、コンテンツペイン１０４のコンテンツに適用でき、グラフィック１０８としてグラフィックスペイン１０６にレンダリングされ得る複数の選択可能性のあるグラフック定義（例えば１０９ａおよび１０９ｂ）をユーザに与える。この３つのペイン（１０４、１０５、および１０６）のそれぞれを、本発明の様々な実施形態によるコンピュータグラフィックスアプリケーションの動作に関して順により詳細に説明する。
【００２２】
グラフィックスペイン１０６は、図１では「ドローイングキャンバスペイン」とも呼ばれるが、ユーザがコンピュータグラフィックスアプリケーションによってＵＩ  １０２を介してレンダリングされるグラフィカルコンテンツを視覚化し、編集することを可能にする、ウィンドウ、ウィンドウペイン、グラフィックスビュークラス、または他のディスプレイ領域である。したがって、グラフィックスペイン１０６には、コンピュータグラフィックスアプリケーションによってレンダリングされたグラフィック１０８が含まれ、グラフィックスペイン１０６は、ユーザの好みにあわせてグラフィック１０８を編集またはカスタマイズする機能性をアプリケーションのユーザに提供する。グラフィック１０８には、グラフィカル要素１２２〜１３１など、コンテンツペイン１０４に入力されたコンテンツを表す１つまたは複数のグラフィカル要素が含まれる。グラフィック１０８のカスタマイゼーションは、グラフィカル要素１２２〜１３１のビジュアル属性および位置ならびにこれらの要素内のすべてのテキストを制限なしに含む、グラフィックに関連するすべてのタイプのプロパティの編集を指す。
【００２３】
グラフィック１０８は、図１では、例示目的のためにホイールダイアグラム（車輪図表）グラフィックとして示されている。任意の数のグラフィカル要素、例えば１２２〜１３１を有するすべてのタイプのグラフィックが、本発明の範囲内で意図されていることを理解されたい。このために、グラフィカル要素１２２〜１３１に、ノード（node）、トランジション(transition)、コールアウト(callout)、またはクリップアート(clipart)を含めることができるが、これに制限はされない。ノードは、グラフィカルコンテンツ内の形状の１つとすることができる。ノードの例に、円、四角形、三角形、またはセグメントなどの形状の一部を含めることができる。当業者は、様々なタイプのノードを認識するであろう。トランジションは、ノードの間の相互関係のグラフィカル表現である。トランジションは、通常、線、矢印、または２つのノードの間の関係を暗示する他の形状である。
【００２４】
コンテンツペイン１０４は、ユーザがコンテンツの本体（以下では「コンテンツ」と呼称する）１１５をコンピュータグラフィックスアプリケーションのＵＩ  １０２に入力することを可能にする、ウィンドウ、ウィンドウペイン、アウトラインビュークラス、または他のディスプレイ領域である。したがって、コンテンツペイン１０４は、グラフィック１０８を作成する際のコンピュータグラフィックスアプリケーションによる使用のためにコンテンツ１１５を受け入れるように動作する。基本的に、コンテンツ１１５は、ユーザがレンダリングされたグラフィック１０８に伝えさせることを意図しているアイデアである。一実施形態で、コンテンツ１１５に、テキストデータが含まれ、このテキストデータは、特定のフォーマッティングプロパティまたは「事前に決定された構造」に基づいて配置しても、しなくてもよい。図１には、この実施形態に従って特定のフォーマッティングプロパティに基づいて配置されたテキストデータであるコンテンツ１１５が示されており、このテキストデータ１１５は、相互関係を有するアイデアの階層リストを表す。他の実施形態では、コンテンツ１１５に、クリップアート(切り貼り芸術)、絵、ビデオ、サウンド、または他のオーディオビジュアル材料を含むがこれに制限されない他の形のデータなど、非テキストの情報を含めることができる。
【００２５】
一実施形態で、コンテンツペイン１０４は、ユーザから入力を受け取り、ユーザによる編集のためにその入力をコンテンツ１１５として表示するように動作する。これに関して、コンテンツ１１５は、ユーザによってコンテンツペイン１０４に手作業で入力される（例えば、キーボードによって）か、コンピュータグラフィックスアプリケーションまたはまったく別のアプリケーションプログラムの別の領域から貼り付けられるか、のいずれかとすることができる。もう１つの実施形態によれば、コンテンツペイン１０４のコンテンツ１１５を、別のアプリケーションまたはプログラムにリンクすることができ、他のプログラムのコンテンツデータが作成または変更されたときに、コンテンツペイン１０４内のコンテンツ１１５が、自動的に現れるか変更されるようになっている。もう１つの実施形態では、ユーザが、リンクされたデータを手動でリフレッシュ(更新)することができ、ユーザが、グラフィックスアプリケーションまたは他のプログラムに自動的に更新させるのではなく、ユーザがコンテンツデータにコンテンツペイン１０４内を更新することを強制するようになっている。もう１つの実施形態では、ユーザが、データベースなどの別のプログラムにコンテンツデータを要求し、受け取ることができる。その代わりに、コンテンツ１１５を、コンピュータグラフィックスアプリケーションまたは別のプログラムによって、コンテンツペイン１０４に自動的に（すなわち、ユーザ介入なしで）入力することができる。
【００２６】
ギャラリペイン１０５は、例示目的のために示されたグラフィック定義１０９ａおよび１０９ｂなどの様々なタイプのグラフィックス定義を提示するように動作する、ウィンドウまたは他のグラフィカルユーザインターフェースコンポーネントである。グラフィック定義１０９ａおよび１０９ｂは、グラフィック１０８をレンダリングするためにコンテンツペイン１０４内のコンテンツ１１５に適用するためにユーザが選択することができる。一実施形態で、ギャラリペイン１０５を用いて、ユーザが、異なるグラフィック定義１０９ａおよび１０９ｂの間で切り替え、各グラフィック１０８を一から再作成する必要なしに、選択されたグラフィック定義、例えば１０９ａおよび１０９ｂに同一のコンテンツを適用することができる。
【００２７】
各グラフィック定義、例えば１０９ａおよび１０９ｂは、グラフィック１０８のプロパティ(属性)のデフォルトセット(デフォルト設定)に関連する。一実施形態で、これらのプロパティは、グラフィック１０８内のグラフィカル要素、例えば１２２〜１３１のレイアウトおよび外見を実施するビジュアル特性または非ビジュアル特性に関する。ユーザが特定のグラフィック定義１０９ａまたは１０９ｂを選択することに応答して、コンピュータグラフィックスアプリケーションは、選択されたグラフィック定義１０９ａまたは１０９ｂを、グラフィック１０８のレイアウトおよび外見のフレームワークとして使用する。本発明の実施形態によれば、コンピュータグラフィックスアプリケーションは、（１）すべてのグラフィック定義（例えば１０９ａおよび１０９ｂ）にわたって持続する不変の任意のプロパティまたは（２）選択されたグラフィック定義１０９ａまたは１０９ｂに完全に適用可能な任意のプロパティ、のいずれかに適用されているカスタマイゼーションに従って現在指定されている、選択された定義１０９ａまたは１０９ｂで定義されたプロパティに基づいて、グラフィック１０８を動的にレンダリングする。したがって、グラフィック１０８の動的生成は、特定のグラフィック定義、例えば１０９ａおよび１０９ｂがユーザによって選択された異なる時点でグラフィック１０８について指定できる異なるプロパティを指す。
【００２８】
図１に示されたギャラリペイン１０５は、グラフィック定義、例えば１０９ａおよび１０９ｂの単純化されたギャラリである。実際に、グラフィック定義すなわち１０９ａおよび１０９ｂの２つの選択肢だけが図１に示されている。しかし、本発明は、そのような制限された選択に制限されるのではなく、ギャラリペイン１０５は、そこから選択する任意の個数のグラフィック定義、例えば１０９ａおよび１０９ｂをユーザに提示することができる。第１のグラフィック定義１０９ａは、ホイールダイアグラムを表す。第２のグラフィック定義１０９ｂは、ピラミッドダイアグラムを表す。一実施形態によれば、第１（１０９ａ）および第２（１０９ｂ）のグラフィック定義は、図１ではサムネイル（寸描画）として表される。他の実施形態では、グラフィック定義１０９ａおよび１０９ｂを、ユーザがリストから名前を選択できるようにする、記述的な名前のメニューまたはリストで表すことができる。当業者は、ギャラリペイン１０５内でグラフィック定義１０９ａおよび１０９ｂを表す他のやり方が本発明に含まれることを理解するであろう。
【００２９】
ＵＩ  １０２の前述の構造を念頭において、本発明の実施形態によるコンピュータグラフィックスアプリケーションの動作を、図１を参照して説明する。グラフィックスペイン１０６に、コンテンツペイン１０４内のコンテンツ１１５および選択されたグラフィック定義１０９ａまたは１０９ｂから作成されレンダリングされたグラフィック１０８が表示され、そのグラフィック定義１０９ａまたは１０９ｂによって指定されたプロパティは、上で簡潔に説明したようにカスタマイズすることができる。グラフィック１０８に、コンテンツ１１５の本体に含まれる様々なアイテム（例えば、１１６ａ、１１６ｂ、１１８ａ、および１１８ｂ）または「エントリ」を表すグラフィック要素１２２〜１３１が含まれる。図１に示された実施形態では、各グラフィカル要素１２２〜１３１が、コンテンツ１１５の単一のアイテムに対応する。しかし、他の実施形態は、コンテンツ１１５の複数のアイテムを表す単一のグラフィカル要素、例えば１２２〜１３１を含み、さらなる他の実施形態は、複数のグラフィカル要素、例えば１２２〜１３１によって表された、コンテンツ１１５の単一のアイテムを含む。
【００３０】
本発明の範囲から逸脱せずに、コンテンツ１１５を、コンテンツペイン１０４に入力することができ、グラフィック定義１０９ａまたは１０９ｂを、任意のシーケンスで選択することができる。グラフィック定義１０９ａまたは１０９ｂが、コンテンツ１１５をコンテンツペイン１０４に入力する前にユーザによって選択される場合には、グラフィック１０８は、コンテンツなしで、またはその代わりにサンプルコンテンツのセットと共に表示される。対照的に、ユーザは、グラフィック定義１０９ａまたは１０９ｂを選択する前に、コンテンツ１１５としてのエントリ用のデータをコンテンツペイン１０４に入力することができる。ある実施形態で、この場合に、コンピュータグラフィックスアプリケーションは、ユーザに、グラフィック定義１０９ａまたは１０９ｂのデフォルト選択肢を与えることができ、したがって、コンテンツ１１５が入力されるときに、グラフィックスペイン１０６が、ユーザがコンテンツ１１５の追加を継続するときにグラフィカル要素（例えば、１２２〜１３１）が増えるデフォルトグラフィック定義１０９ａまたは１０９ｂのグラフィック１０８を表示することができる。代替案では、ユーザがギャラリペイン１０５からグラフィック定義１０９ａまたは１０９ｂを選択するまで、グラフィックスペイン１０６をブランクのまま（すなわち、グラフィック１０８なし）にすることができる。
【００３１】
図１に、ユーザが、テキストコンテンツの形、具体的には階層リストの形でコンテンツ１１５を入力した、本発明の例示的な実施形態が示されている。さらに、ユーザは、ホイールダイアグラムグラフィック定義１０９ａを選択している。グラフィックスペイン１０６は、ユーザ選択に起因してホイールダイアグラムタイプ１０９ａであるグラフィック１０８を表示する。ホイールダイアグラムグラフィック１０８は、階層リスト１１５を表す。グラフィック１０８内のグラフィカル要素１２２〜１３１はそれぞれ、階層リスト１１５内のアイテム（すなわち、テキストの行）に対応する。しかし、上述したように、他の実施形態は、階層リスト１１５内の複数のアイテムに対応するグラフィカル要素１２２〜１３１のそれぞれを含み、さらなる他の実施形態は、階層リスト１１５内の単一のアイテムに対応する複数のグラフィカル要素１２２〜１３１のうち複数を含む。
【００３２】
一実施形態で、コンテンツペイン１０４内のテキストコンテンツ１１５の構造が、グラフィックスペイン１０６に示されるグラフィカル要素１２２〜１３１の構造および外見を決定する。例えば、ホイールダイアグラムグラフィック１０８の第１レイヤは、コンテンツペイン１０４内のテキストコンテンツ１１５の最初の主要な行１１６ａに対応する親（parent）要素１３１である。ホイールダイアグラムグラフィック１０８の第２レイヤに、親要素１３１に従属し、したがって「子(child)要素」と称する要素１２６、１２７、１２８、１２９、および１３０が含まれる。子要素１２６、１２７、１２８、１２９、および１３０は、テキストコンテンツ１１５の、第１の行１１６ａの下で段下げされた行１１８ａに対応する。ホイールダイアグラムグラフィック１０８の第３レイヤも、親要素１２５であり、テキストコンテンツ１１５の第２の主要な行１１６ｂに対応する。最後に、ホイールダイアグラムグラフィック１０８の第４レイヤに、親要素１２５に従属する子要素１２２、１２３、および１２４が含まれる。子要素１２２、１２３、および１２４は、テキストコンテンツ１１５の、第２の主要な行１１６ｂの下で段下げされた行１１８ｂに対応する。前述の例から、コンテンツペイン１０４内のテキストコンテンツ１１５が、グラフィック１０８内の様々なグラフィカル要素１２２〜１３１によって表され、テキストコンテンツ１１５の構造が、グラフィック１０８内のグラフィカル要素１２２〜１３１の構造によって表されていることを理解されたい。
【００３３】
上の例を念頭において、本発明の一実施形態は、テキストコンテンツ１１５内の変化に対応してグラフィック１０８を変更することを含む。例えば、最初の主要な行１１６ａに従属する、図１に示された行１１８ａの最初の行の段下げが除去された場合には、ホイールダイアグラムグラフィック１０８内で、第１レイヤと第２レイヤの間の新しいレイヤが作成される。この新しいレイヤに、グラフィカル要素１２９が含まれる。この変更は、行１１８ａの一番上の行が、それに従属する子を有する「主要な行」になったので、子グラフィカル要素１２６、１２７、１２８、および１３０が、グラフィカル要素１２９の子になることを意味する。
【００３４】
本発明を実施できる適切なオペレーティング環境の例を、図２に示す。このオペレーティング環境は、適切なオペレーティング環境の一例にすぎず、本発明の使用または機能性の範囲に関する制限を提案することを意図されたものではない。本発明と共に使用するのに適する可能性がある他の周知のコンピューティングシステム、コンピューティング環境、および／またはコンピューティング構成に、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイス、ラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブルコンシューマエレクトロニクス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、およびそれらの類似物が含まれるが、これに制限はされない。
【００３５】
図２を参照すると、本発明を実施する例示的なシステムに、コンピューティングデバイス２００などのコンピューティングデバイスが含まれる。その最も基本的な構成で、コンピューティングデバイス２００に、通常は、少なくとも１つの処理ユニット２０２およびメモリ２０４が含まれる。コンピューティングデバイスの正確な構成およびタイプに応じて、メモリ２０４は、揮発性（ＲＡＭなど）、不揮発性（ＲＯＭ、フラッシュメモリなど）、またはこの２つのある組合せとすることができる。コンピューティングデバイス２００の最も基本的な構成は、図２では、破線２０６によって示されている。さらに、デバイス２００は、追加の特徴／機能性を有することもできる。例えば、デバイス２００に、磁気ディスク、磁気テープ、光ディスク、または光テープを含むがこれに制限されない追加ストレージ（リムーバブル（取り外し可能）および／またはノンリムーバブル（取り外し不能））も含めることができる。そのような追加ストレージは、図２では、リムーバブルストレージ２０８およびノンリムーバブルストレージ２１０によって示されている。コンピュータ記憶媒体に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報のストレージの任意の方法またはテクノロジで実施された、揮発性および不揮発性、リムーバブルおよびノンリムーバブルの媒体が含まれる。メモリ２０４、リムーバブルストレージ２０８、およびノンリムーバブルストレージ２１０のすべてが、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリテクノロジ、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは、所望の情報をストアするのに使用でき、デバイス２００によってアクセスできる他のすべての媒体が含まれるが、これに制限はされない。そのようなコンピュータ記憶媒体のどれでも、デバイス２００の一部にすることができる。
【００３６】
デバイス２００に、このデバイスが他のデバイスと通信できるようにする通信接続２１２も含めることができる。通信接続２１２は、通信媒体の例である。通信媒体は、通常、搬送波または他のトランスポート機構などの変調されたデータ信号内でコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを実施し、すべての情報配布媒体を含む。用語「変調されたデータ信号」は、信号内で情報をエンコードする形でその特性の１つまたは複数を設定または変更された信号を意味する。制限ではなく例として、通信媒体に、有線ネットワークまたは直接配線接続などの有線媒体と、音響、ＲＦ（無線周波数）、赤外線、および他の無線媒体などのワイヤレス媒体が含まれる。
【００３７】
デバイス２００は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス２１４も有することができる。ディスプレイ、スピーカ、プリンタなどの出力デバイス２１６も、含めることができる。これらのデバイスは、上で述べたユーザインターフェース１０２を形成するのを助けることができる。これらのデバイスのすべてが、当技術分野で周知であり、ここで長々と説明する必要はない。
【００３８】
コンピューティングデバイス２００に、通常は、少なくともある形のコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、処理ユニット２０２によってアクセスできる使用可能な媒体のいずれかとすることができる。制限ではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を備えることができる。上記の任意の組合せも、コンピュータ可読媒体の範囲に含まれなければならない。
【００３９】
コンピュータデバイス２００は、１つまたは複数のリモートコンピュータ（図示せず）への論理接続を使用してネットワーク化された環境で動作することができる。リモートコンピュータは、パーソナルコンピュータ、サーバコンピュータシステム、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとすることができ、通常は、コンピュータデバイス２００に関して上で説明した要素の多数またはすべてを含む。コンピュータデバイス２００とリモートコンピュータの間の論理接続に、ローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を含めることができるが、他のネットワークも含めることができる。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびインターネットでありふれたものである。
【００４０】
ＬＡＮネットワーキング環境で使用されるときに、コンピュータデバイス２００は、ネットワークインターフェースまたはネットワークアダプタを介してＬＡＮに接続される。ＷＡＮネットワーキング環境で使用されるときに、コンピュータデバイス２００に、通常、インターネットなどのＷＡＮを介しての通信を確立する、モデムまたは他の手段が含まれる。モデムは、内蔵または外付けとすることができるが、通信接続２１２または他の適切な機構を介してコンピュータプロセッサ２０２に接続することができる。ネットワーク化された環境では、プログラムモジュールまたはその一部を、リモートメモリストレージデバイスにストアすることができる。制限ではなく例として、リモートアプリケーションプログラムが、リモートコンピュータシステムに接続されたメモリデバイスに常駐することができる。説明したネットワーク接続が、例示的であり、コンピュータの間の通信リンクを確立する他の手段を使用できることを理解されたい。
【００４１】
図２のコンピューティング環境を念頭において、図３に、本発明の一実施形態による、コンピュータグラフィックスアプリケーション１００のコンポーネントを具体化する機能図を示す。コンピュータグラフィックスアプリケーション１００に、ユーザインターフェース（ＵＩ）１０２が含まれ、ＵＩ  １０２は、図１に関して上述したように、コンテンツペイン１０４、グラフィックスペイン１０６、およびギャラリペイン１０５を有する。機能（ブロック）矢印３０８、３１０、および３１２は、それぞれ、コンピュータグラフィックスアプリケーション１００を操作するための、コンテンツペイン１０４、グラフィックスペイン１０６、およびギャラリペイン１０５とのユーザインタラクション（対話）を表す。
【００４２】
具体的に言うと、コンテンツペイン１０４とのユーザインタラクション３０８は、コンピュータグラフィックスアプリケーション１００へのコンテンツ１１５の入力をもたらす。そのような入力に応答して、コンピュータグラフィックスアプリケーション１００は、表示のため、およびユーザによる編集を可能にするために、コンテンツペイン１０４内にそのコンテンツ１１５を表示する。また、上で説明したように、コンピュータグラフィックスアプリケーション１００は、このコンテンツ１１５を表すグラフィック１０８を作成し、グラフィックスペイン１０６を介してこのグラフィック１０８を表示する。グラフィックスペイン１０６とのユーザインタラクション３１０は、そこに表示されたグラフィック１０８の編集を生じさせる。したがって、ユーザインタラクション３１０は、グラフィックスペイン１０６に表示されたグラフィック１０８に対するカスタマイゼーション（オーダメイド、特注生産）を表す。ギャラリペイン１０５とのユーザインタラクション３１２は、複数のグラフィック定義、例えば１０９ａおよび１０９ｂからの特定のグラフィック定義の選択を生じさせ、このグラフィック定義のグラフィカル表現は、アイコン、メニュー、ツールバー、サムネイル、または他の既知の選択可能ＵＩコンポーネントによってギャラリペイン１０５を介して表示される。したがって、ギャラリペイン１０５を介しての特定のグラフィック定義１０９ａまたは１０９ｂの選択は、その選択された定義１０９ａまたは１０９ｂに基づくグラフィックスペイン１０６内のグラフィック１０８のレンダリングを生じさせる。
【００４３】
上で説明したユーザインターフェースコンポーネントのほかに、コンピュータグラフィックスアプリケーション１００には、カスタマイゼーションシステム３００およびレイアウトエンジン３０３も含まれる。カスタマイゼーションシステム３００およびレイアウトエンジン３０３は、一緒に働いて、グラフィックスペイン１０６でレンダリングされる適切なグラフィック１０８をユーザインターフェース１０２に与える。これを達成するために、カスタマイゼーションシステム３００は、選択されたグラフィック定義１０９ａまたは１０９ｂおよび関連するこれに対するカスタマイゼーションによって指定された外見プロパティおよびレイアウトプロパティを実施するデータ３０１をレイアウトエンジン３０３に渡す。命名のために、このデータ３０１を、下では「カスタマイゼーションデータ」と呼称する。カスタマイゼーションデータ３０１は、集合的に、選択されたグラフィック定義１０９ａまたは１０９ｂでの指定に従い、（１）すべてのグラフィック定義にわたって持続する任意のプロパティ（以下では「セマンティック」プロパティと呼称する）または（２）選択されたグラフィック定義１０９ａまたは１０９ｂに厳密に適用可能な任意のプロパティ（下では「プレゼンテーション」プロパティと呼称する）のいずれかに適用されたカスタマイゼーションに従って、どのグラフィック１０８がレンダリングされるかに基づいてプロパティを定義する。カスタマイゼーションシステム３００の詳細な例示を、下で図４を参照して示す。
【００４４】
レイアウトエンジン３０３は、カスタマイゼーションデータ３０１を解釈して、レンダリングされるグラフィック１０８のレイアウトツリー３０２を生成する。次に、レイアウトツリー３０２をトラバース（横切る）して、グラフィック１０８のレンダリングに使用される外見プロパティおよびレイアウトプロパティを識別する。一実施形態で、レイアウトツリー３０２のトラバースは、レイアウトエンジン３０３の、「出力エンジン」３０４と称するコンポーネントによって実行される。この実施形態では、出力エンジン３０４が、表示および編集のためにグラフィックスペイン１０６に供給されるグラフィック１０８をレンダリングする。グラフィック１０８を受け取ったときに、グラフィックスペイン１０６は、見、編集するためにグラフィック１０８をユーザに表示する。レイアウトエンジン３０３の機能性および構造は、本発明の実施形態に従って、本譲受人に譲渡された米国特許出願、すなわち２００４年９月３０日に出願され、米国特許出願第１０／９５５２７１号が割り当てられた「Method, System and Computer-Readable medium for Creating and Laying Out a Graphic Within an Application Program」に詳細に記載されている。その開示全体を、全体として参照により本明細書に組み込む。グラフィック１０８を、レイアウトエンジン３０３以外の手段によってカスタマイゼーションデータ３０１を使用して構成でき、レイアウトエンジン３０３が、本発明の例示的な実施形態を伝えるために例示目的のみのために上で説明されたことを諒解されたい。
【００４５】
図４を参照すると、本発明の実施形態によるカスタマイゼーションシステム３００が、機能図フォーマットで示されている。カスタマイゼーションシステム３００には、カスタマイゼーションエンジン４１２およびグラフィカルモデルライブラリ４０２が含まれる。グラフィカルモデルライブラリ４０２は、複数のプレゼンテーションモデル（例えば、４０８および４１０）とセマンティック（意味的）モデル４０４を維持するデータ構造体である。カスタマイゼーションエンジン４１２は、プレゼンテーションモデル（例えば、４０８および４１０）とセマンティックモデル４０４を使用して、グラフィック１０８の作成のためにレイアウトエンジン３０３にサブミットされるカスタマイゼーションデータ３０１を作成する。
【００４６】
一実施形態で、グラフィカルモデルライブラリ４０２は、コンピュータグラフィックスアプリケーション１００の各インスタンス（オブジェクト）および／またはセッションに固有である。したがって、グラフィカルモデルライブラリ４０２およびそのコンポーネントは、コンピュータグラフィックスアプリケーション１００の各インスタンスのメモリ内のライブラリ４０２とモデル４０８、４１０、および４０４のインスタンス化を示すために、破線で示されている。例えば、ユーザが、コンピュータグラフィックスアプリケーション１００を使用して、同時に２つの異なるグラフィック１０８を作成し、かつ／または編集している場合には、グラフィカルモデルライブラリ４０２と、関連するモデル４０８、４１０、および４０４とが、２つの異なるグラフィック１０８のそれぞれについて作成される。代替案では、グラフィカルモデルライブラリ４０２およびそのコンポーネントが、コンピュータグラフィックスアプリケーション１００の複数のインスタンスおよび／またはセッションにわたって持続することができる。この実装は、選択の問題であり、その両方が、本発明の範囲内で完全に意図されている。
【００４７】
プレゼンテーションモデル（例えば、４０８および４１０）は、ギャラリペイン１０５を介して選択できる各グラフィック定義１０９ａまたは１０９ｂに固有の現在のプロパティを維持するデータ構造体である。本発明の実施形態を、例示的に、グラフィック定義１０９ａまたは１０９ｂへのプレゼンテーションモデルの１：１相関を用いて説明する。したがって、図１に、ギャラリペイン１０５を介して選択できる２つのグラフィック定義１０９ａまたは１０９ｂの可用性（availability）が示されており、したがって、２つのプレゼンテーションモデル４０８および４１０だけが、図４に示されたグラフィカルモデルライブラリ４０２内で維持される。ギャラリペイン１０５が、任意の個数のグラフィック定義１０９ａおよび１０９ｂを選択するように動作することができ、グラフィカルモデルライブラリ４０２に、任意の個数のプレゼンテーションモデル（例えば、４０８および４１０）を含めることができることを諒解されたい。
【００４８】
セマンティックモデル４０４は、ギャラリペイン１０５を介してユーザが選択できるすべてのグラフィック定義１０９ａまたは１０９ｂにわたって持続する現在のプロパティ(属性)を維持するデータ構造体である。したがって、グラフィカルモデルライブラリ４０２内に、１つのセマンティックモデル４０４だけが存在する。さらに、上述した本発明の実施形態は、コンピュータグラフィックスアプリケーション１００の各インスタンスおよび／または各セッションと共にセマンティックモデル４０４を維持することを含み、したがって、複数のセマンティックモデル４０４を有することが可能である。
【００４９】
ギャラリペイン１０５を介してのグラフィック定義１０９ａまたは１０９ｂの選択の受け取りに応答して、カスタマイゼーションエンジン４１２は、適切なプレゼンテーションモデル４０８または４１０（すなわち、選択されたグラフィック定義に関連するプレゼンテーションモデル４０８）およびセマンティックモデル４０４を取り出す。次いでカスタマイゼーションエンジン４１２は、関連するプレゼンテーションモデル４０８およびセマンティックモデル４０４で指定された、選択されたグラフィック定義１０９ａまたは１０９ｂについて定義された現在のプロパティに基づいてカスタマイゼーションデータ３０１を作成する。
【００５０】
プレゼンテーションモデル４０８および４１０とセマンティックモデル４０４で指定されたプロパティは、コンテンツペイン１０４およびグラフィックスペイン１０６からの入力に基づいて動的に更新される。コンテンツペイン１０４に関して、ユーザがユーザインタラクション３０８を介してコンテンツ１１５を追加しているときに、プレゼンテーションモデル４０８および４１０とセマンティックモデル４０４が、そのコンテンツ１１５の追加を反映させるように更新される。例えば、階層リストが、テキストコンテンツ行「Ａ」、「Ｂ」、および「Ｃ」を有する場合には、グラフィカルモデルライブラリ４０２内のプレゼンテーションモデル４０８および４１０とセマンティックモデル４０４のそれぞれは、テキストコンテンツ行「Ａ」、「Ｂ」、および「Ｃ」のそれぞれに対応するグラフィカル要素のインメモリ表現を有する。ユーザが、第４のテキストコンテンツ行「Ｄ」を追加することに応答して、カスタマイゼーションエンジン４１２は、プレゼンテーションモデル４０８および４１０とセマンティックモデル４０４のそれぞれを更新して、この新しいテキストコンテンツ行に対応するグラフィカル要素のインメモリ表現を含める。したがって、カスタマイゼーションエンジン４１２によって作成されるカスタマイゼーションデータ３０１に、これを指定する適切なプレゼンテーションモデル４０８または４１０とセマンティックモデル４０４によるこの新しいグラフィカル要素の追加が含まれる。
【００５１】
グラフィックスペイン１０６に関して、ユーザが、ユーザインタラクション３１０を介して、レンダリングされたグラフィック１０８を編集しているときに、カスタマイゼーションエンジン４１２は、編集されたグラフィック１０８に関連するグラフィック定義に対応するプレゼンテーションモデル（例えば、４０８または４１０）またはその代わりにセマンティックモデル４０４を更新して、ユーザのカスタマイゼーションを反映させる。これに関して、カスタマイゼーションエンジン４１２は、カスタマイゼーションが、プレゼンテーションプロパティに対する変更すなわち、「プレゼンテーション変更」である場合には、適合したプレゼンテーションモデル（例えば、４０８または４１０）を更新する。対照的に、カスタマイゼーションエンジン４１２は、カスタマイゼーションが、セマンティックプロパティに対する変更すなわち、「セマンティック変更」である場合には、セマンティックモデル４０４を更新する。
【００５２】
一般に、「プレゼンテーション」変更または「セマンティック」変更としてのグラフィック１０８のプロパティに対する変更の分類は、選択の問題であり、そのような分類のすべてが、本発明の範囲に含まれる。例示のみのために、例示的なセマンティック変更を、本明細書で、グラフィカル要素の色に対する変更として説明し、例示的なプレゼンテーション変更を、本明細書で、グラフィカル要素のサイズに対する変更として説明する。これらの例示を念頭において、図５Ａ〜図５Ｃに、グラフィックスペイン１０６に入力されたユーザインタラクションに応答してプレゼンテーションモデル４０８およびセマンティックモデル４０４を更新することに関する本発明の動作特徴を示す。
【００５３】
図５Ａに、グラフィックスペイン１０６を介して表示されているグラフィカル要素５０２、５０４、５０６、５０８、および５１０を有するグラフィック５００を示す。グラフィカル要素５０２、５０６、および５１０は、それぞれ、コンテンツペイン１０４のコンテンツ１１５に含まれるテキストコンテンツ行またはエンティティ（実体）「Ａ」、「Ｂ」、および「Ｃ」に対応する。グラフィック５００は、まだユーザによって編集されておらず、したがって、カスタマイゼーションを有しない。したがって、グラフィック５００は、グラフィック５００が属するグラフィック定義１０９ａまたは１０９ｂによって定義されたデフォルトプロパティを使用してグラフィックスペイン１０６に示されている。グラフィック５００のプレゼンテーションモデル４０８およびセマンティックモデル４０４は、これらのデフォルトプロパティを用いて表示され、これらのデフォルトプロパティは、実質的に、この特定のグラフィック５００のカスタマイゼーションデータ３０１を生成するためにカスタマイゼーションエンジン４１２によって使用されたものである。したがって、レンダリングされたグラフィック５００は、カスタマイゼーションなしで、選択されたグラフィック定義１０９ａまたは１０９ｂによって指定されたプロパティを実施したものである。
【００５４】
上述したように、プレゼンテーションモデル４０８およびセマンティックモデル４０４は、インメモリ表現であり、したがって、破線を使用して示されている。これらのモデル４０４および４０８のそれぞれに、グラフィック５００に含まれるグラフィカル要素５０２、５０４、５０６、５０８、および５１０のそれぞれに対応する表現が含まれる。具体的に言うと、プレゼンテーションモデル４０８に、それぞれグラフィカル要素５０２、５０４、５０６、５０８、および５１０に対応する表現５０２’、５０４’、５０６’、５０８’、および５１０’が含まれ、プレゼンテーションモデル４０８は、各めいめいのグラフィカル要素に関連するプロパティを維持する。このプロパティは、グラフィック５００が属するグラフィック定義１０９ａまたは１０９ｂだけに固有の「プレゼンテーション」プロパティである。図５Ａ〜図５Ｃに示された例示的な実施形態では、これらのグラフィカル要素５０２、５０４、５０６、５０８、および５１０のサイズが、プレゼンテーションプロパティを構成する。
【００５５】
同様に、セマンティックモデル４０４に、それぞれグラフィカル要素５０２、５０４、５０６、５０８、および５１０に対応する表現５０２”、５０４”、５０６”、５０８”、および５１０”が含まれ、セマンティックモデル４０４は、各めいめいのグラフィカル要素に関連するプロパティを維持する。これらのプロパティは、ギャラリペイン１０５を介して選択できるすべてのグラフィック定義１０９ａおよび１０９ｂにわたって持続する「セマンティック」プロパティである。図５Ａ〜図５Ｃに示された例示的な実施形態では、これらのグラフィカル要素５０２、５０４、５０６、５０８、および５１０の色が、セマンティックプロパティを構成する。
【００５６】
図５Ｂに、グラフィカル要素５０２の色およびグラフィカル要素５０６のサイズを編集するユーザインタラクション３１０の結果を示す。グラフィカル要素の色は、本明細書で説明する例示的な実施形態に従えばセマンティックプロパティを構成するので、カスタマイゼーションエンジン４１２は、グラフィカル要素５０２に対応する、セマンティックモデル４０４内の表現５０２”を更新して、色変更に対処する。グラフィカル要素のサイズは、本明細書で説明する例示的な実施形態に従えばプレゼンテーションプロパティを構成するので、カスタマイゼーションエンジン４１２は、グラフィカル要素５０６に対応する、プレゼンテーションモデル４０８の表現５０６’を更新して、サイズ変更に対処する。
【００５７】
図５Ｃに、図５Ａ〜図５Ｂに示されたグラフィック５００と異なるグラフィック定義１０９ａまたは１０９ｂに対応するグラフィック５１１の、グラフィックスペイン１０６でのレンダリングを示す。グラフィック５１１に、グラフィカル要素５１２、５１４、５１６、５１８、および５２０が含まれる。このグラフィック５１１は、コンテンツ１１５（例えば、「Ａ」、「Ｂ」、および「Ｃ」）を見るためにグラフィック定義１０９ａおよび１０９ｂを切り替えることに対する、ギャラリペイン１０５を介してのユーザの要求に応答してグラフィックスペイン１０６にレンダリングされる。そのような要求に応答して、カスタマイゼーションエンジン４１２は、新しいグラフィック定義１０９ａまたは１０９ｂとセマンティックモデル４０４とに関連するプレゼンテーションモデル４１０を取り出す。
【００５８】
要求されたグラフィック定義１０９ａまたは１０９ｂに対応するグラフィック（例えば、５１１）が、まだグラフィックスペイン１０６でレンダリングされていないので、ユーザは、まだ、プレゼンテーションプロパティを変更する機会を有していない。したがって、取り出されたプレゼンテーションモデル４１０は、関連するグラフィック定義１０９ａまたは１０９ｂに従うグラフィカル要素のデフォルトプロパティを指定しており、カスタマイゼーションエンジン４１２は、プレゼンテーション変更をまったく指定しないカスタマイゼーションデータ３０１を作成する。したがって、グラフィカル要素５０６に対するサイズ変更は、この例示において、「プレゼンテーション」変更と考えられるので、その特定のカスタマイゼーションは、グラフィック５１１に対して持続していない。実際に、取り出されたプレゼンテーションモデル４１０で指定されたプレゼンテーションプロパティのすべてが、選択されたグラフィック定義に関してデフォルトプロパティである。しかし、セマンティックモデル４０４は、図５Ｂに示されたグラフィック５００に対するセマンティック変更（すなわち、色）に従って更新されているので、その特定のカスタマイゼーションは、グラフィック５１１に対して持続している。
【００５９】
図５Ａ〜図５Ｃに示し、上で説明した例は、高いレベルで本発明の実施形態を示すものである。実際に、グラフィカル要素の色およびサイズは、本発明によるプレゼンテーションモデルおよびセマンティックモデルを使用してグラフィックスについて定義できるプロパティ（属性）のうちの２つを実施するに過ぎない。上述したように、グラフィック内のグラフィカル要素の外見またはレイアウトに関するすべての他のプロパティが、プレゼンテーションプロパティまたはセマンティックプロパティを構成することができる。そのようなプロパティに、例えば、グラフィック内の他のグラフィカル要素に対する各自のグラフィカル要素の位置、グラフィック内の他のグラフィカル要素に対する各自のグラフィカル要素のスケーリング、グラフィカル要素内のテキストデータのフォントサイズ、グラフィカル要素の回転の度合、グラフィック内の他のグラフィカル要素に対する各自のグラフィカル要素のｚ順、およびグラフィック内のグラフィカル要素またはグラフィック全体に適用できるすべての他の可能なフォーマッティングおよびレイアウトプロパティが含まれる。
【００６０】
例えば、他のグラフィカル要素に対する各自のグラフィカル要素の位置が、それぞれプレゼンテーションモデルまたはセマンティックモデルによって指定されるプレゼンテーションプロパティまたはセマンティックプロパティを構成することができる。どちらの場合でも、コンピュータグラフィックスアプリケーション１００は、グラフィックへの新しいグラフィカル要素の追加に応答して、再位置決めされるグラフィカル要素に適用されるｘオフセットおよびｙオフセットの両方をスケーリングすることによって、カスタマイゼーションを加える。代替案では、ｘオフセットおよびｙオフセットが、極座標に基づく半径オフセットを実施する。一実施形態で、事実上矩形である（例えば、正方形、長方形など）グラフィックスに対しての位置移動は、ｘオフセットおよびｙオフセットに基づいて適用されるが、事実上円形である（例えば、楕円、円など）グラフィックスに対しての位置移動は、半径オフセットに基づいて適用される。
【００６１】
半径位置カスタマイゼーションおよび線形位置カスタマイゼーションの両方について、グラフィカル要素がそのデフォルト位置に対して移動された距離が、その位置変更が「プレゼンテーション」変更と「セマンティック」変更のどちらであるかに応じて、プレゼンテーションモデルまたはスタティックモデルのいずれかにストア（格納）される。したがって、これらのカスタマイゼーションは、グラフィックと共に維持され、セマンティック変更としてストアされる場合には、グラフィックの変更の後であっても、他のグラフィック定義に対応するグラフィックスにわたって維持される。グラフィカル要素が再位置決めされているグラフィックのレイアウトに対する変更（例えば、グラフィカル要素の追加または削除）に応答して、コンピュータグラフィックスアプリケーション１００は、ストアされている相対変化に基づいて、前もって再配置されたグラフィカル要素の新しい位置を決定する。線形カスタマイゼーションに関して、この処理に、グラフィック内の別のグラフィカル要素からの、前もって再配置されたグラフィカル要素のオフセットを使用することが含まれる。半径カスタマイゼーションに関して、この処理に、半径、形状位置角度、およびグラフィカル要素の間の角度を使用することが含まれる。
【００６２】
図６を参照すると、本発明の一実施形態に沿って示した、ユーザカスタマイゼーションに基づいてグラフィックスを表示するプロセス６００を実施する動作特性を示す流れ図が図示されている。例示目的のために、このプロセス６００を、「ディスプレイプロセス」と本明細書で呼称し、図１〜図４に示したコンピュータグラフィックスアプリケーション１００に関連して説明する。したがって、ディスプレイプロセス６００を、本明細書では、コンピュータグラフィックスアプリケーション１００によって実行される例示的な実施形態に沿って説明し、それに関して説明する様々なコンポーネントは、図６に関して、同一の符号および用語を使用して説明する。
【００６３】
ディスプレイプロセス６００は、開始動作（オペレーション）６０２から始まり、終了動作（オペレーション）６３０で終わる動作フローを使用して実行される。開始動作６０２は、アプリケーション１００に入力されたコンテンツ１１５を表すグラフィック１０８を作成するか編集するためにユーザまたは別のアプリケーションプログラムがコンピュータグラフィックスアプリケーション１００を起動することに応答して開始される。開始動作６０２から、動作フローは、コンテンツ受け取り動作（オペレーション）６０４に移る。
【００６４】
コンテンツ受け取り動作６０４は、ユーザまたはアプリケーションプログラムがグラフィック１０８でビジュアルに提示されることを要求しているコンテンツ１１５を受け取る。一実施形態で、このコンテンツ１１５は、テキストコンテンツであり、あるフォーマットで配置してもしなくてもよい。この実施形態による例示的なテキストコンテンツが、構造化されたリストである。また、一実施形態で、第１の受け取り動作６０４によって受け取られたコンテンツ１１５が、コンピュータグラフィックスアプリケーション１００のユーザインターフェース１０２のコンテンツペイン１０４を介してユーザに表示される。コンテンツ受け取り動作６０４から、動作フローは、作成動作（オペレーション）６０６に移る。
【００６５】
作成動作６０６は、開始動作６０２で起動されたコンピュータグラフィックスアプリケーション１００のインスタンスと共に使用されるプレゼンテーションモデル４０８または４１０およびセマンティックモデル４０４を作成する。作成されたセマンティックモデル４０４は、すべての可能性のあるグラフック定義１０９ａおよび１０９ｂにわたって持続するデフォルトセマンティックプロパティを指定する。作成されたプレゼンテーションモデル４０８または４１０は、選択されたグラフィック定義１０９ａまたは１０９ｂによって定義されたデフォルトプレゼンテーションプロパティを指定する。
【００６６】
一実施形態によれば、作成されたプレゼンテーションモデル４０８または４１０が基づく選択されたグラフィック定義１０９ａまたは１０９ｂは、コンピュータグラフィックスアプリケーション１００のすべてのインスタンスに関して事前に決定されたデフォルトグラフィック定義、例えば１０９ａまたは１０９ｂである。この実施形態では、コンピュータグラフィックスアプリケーション１００が、事前にプログラムされ、アプリケーション１００の開始が、別のグラフィック定義１０９ａまたは１０９ｂへのグラフィック切り替えをユーザが要求するまで、ユーザによる使用のためのデフォルトグラフィック定義１０９ａまたは１０９ｂの選択をレンダリングするようになっている。代替実施形態によれば、コンピュータグラフィックスアプリケーション１００は、グラフィックスペイン１０６内の最初のグラフィック１０８のレンダリングに関する特定のグラフィック定義１０９ａまたは１０９ｂをユーザが選択できるようにする選択スクリーン（例えば、ＵＩダイアログ）をユーザに提示することができる。したがって、作成動作６０６は、選択されたグラフィック定義１０９ａまたは１０９ｂに基づいて、プレゼンテーションモデル４０８または４１０を作成する。
【００６７】
プレゼンテーションモデル４０８または４１０とセマンティックモデル４０４を作成した後に、動作フローは、順序通りにレンダリング動作（オペレーション）６１２に移る。レンダリング動作６１２は、ユーザが見るか編集するために表示画面にグラフィック１０８をレンダリングする。グラフィック１０８のビジュアル特性（すなわち、グラフィカル要素のレイアウトおよび外見）は、作成動作６０６によって作成されたセマンティックモデル４０４およびプレゼンテーションモデル４０８または４１０のプロパティ指定に基づいて、レンダリング動作６１２によって定義される。上で説明したように、セマンティックモデル４０４は、レンダリング動作６１２によって表示されるグラフィック１０８のあるビジュアルプロパティすなわち「セマンティックプロパティ」の定義だけではなく、コンピュータグラフィックスアプリケーション１００でレンダリングできるすべてのグラフィック定義１０９ａおよび１０９ｂに属するすべてのグラフィック１０８の定義にも使用される。しかし、対照的に、プレゼンテーションモデル４０８または４１０は、レンダリングされるグラフィック１０８のあるビジュアルプロパティすなわち「プレゼンテーションプロパティ」の定義だけに使用され、他のグラフィックには使用されない。実際に、他のグラフィック定義１０９ａまたは１０９ｂに対応するグラフィック１０８は、そのグラフィック定義１０９ａまたは１０９ｂに対応するプレゼンテーションモデル４０８または４１０で指定されたプレゼンテーションプロパティだけをとる。グラフィック１０８が、表示画面にレンダリングされた後に、動作フローは、第１クエリ動作（オペレーション）６１４に移る。
【００６８】
第１クエリ動作６１４は、起動されて開始動作６０２を呼び出したコンピュータグラフィックスアプリケーション１００のインスタンスが終了したかどうかを決定し、これによって、コンピュータグラフィックスアプリケーション１００がその後に新しいインスタンスを作成するために呼び出されない限り、グラフィック定義１０９ａおよび１０９ｂのコンテンツ、カスタマイズ、または選択に関するさらなる入力が受け取られないことを示す。
【００６９】
インスタンスが終了されている場合には、動作フローは、終了動作６３０で終了する。そうでない場合には、動作フローは、第２クエリ動作（オペレーション）６１６への「Ｎｏ」に分岐する。第２クエリ動作６１６は、グラフィックスペイン１０６に現在レンダリングされているグラフィック１０８が、何らかの形で編集（すなわち、カスタマイズ）されているかどうかを判断する。もしそうである場合には、第２クエリ動作６１６は、第３クエリ動作（オペレーション）６１８への動作フロー「Ｙｅｓ」に分岐する。そうでない場合には、第２クエリ動作６１６は、第４クエリ動作６２４への動作フロー「Ｎｏ」に分岐する。
【００７０】
第３クエリ動作６１８は、第２クエリ動作６１６によって検出されたカスタマイゼーションを調べて、そのカスタマイゼーションがプレゼンテーション変更またはセマンティック変更のどちらに関係するかを判断する。繰り返して上述したように、プレゼンテーション変更は、現在レンダリングされているグラフィック１０８が対応する特定のグラフィック定義１０９ａまたは１０９ｂだけに影響することを意図された変更である。対照的に、セマンティック変更は、コンピュータグラフィックスアプリケーション１００によって選択できるすべてのグラフィック定義１０９ａおよび１０９ｂに影響することを意図された変更である。グラフィック（例えば、１０８）またはそのグラフィカル要素に関係することができるすべてのプロパティに、プレゼンテーションプロパティ（したがって、プレゼンテーション変更の対象）またはセマンティックプロパティ（したがって、セマンティック変更の対象）のいずれかとしてラベルを付けることができる。実装は、選択の問題であり、例示のみのために、グラフィカル要素のサイズが、本明細書では例示的なプレゼンテーションプロパティとして説明され、グラフィカル要素の色が、本明細書では例示的なセマンティックプロパティとして説明されている。
【００７１】
第３クエリ動作（オペレーション）６１８が、カスタマイゼーションがプレゼンテーション変更であると判断する場合には、動作フローは、第１更新動作（オペレーション）６２０への「Ｐ」に分岐される。第１更新動作（オペレーション）６２０は、取り出されたプレゼンテーションモデル４０８または４１０を、カスタマイゼーションを用いて更新する。その一方で、第３クエリ動作６１８が、カスタマイゼーションがセマンティック変更であると判断する場合には、動作フローは、第２更新動作（オペレーション）６２２への「Ｓ」に分岐される。第２更新動作６２２は、作成動作６０６によって作成されたセマンティックモデル４０４を、カスタマイゼーションを用いて更新する。第１更新動作６２０および第２更新動作６２２の両方から、動作フローは、レンダリング動作６１２に移り、この動作で、更新されたモデル（すなわち、プレゼンテーションモデルまたはセマンティックモデルのいずれか）に基づいてグラフィック１０８をレンダリングする。その後、動作フローは、前に説明したように継続される。
【００７２】
第２クエリ動作６１６が、動作フロー「Ｎｏ」に分岐する状況では、第４クエリ動作（オペレーション）６２４が呼び出される。第４クエリ動作６２４は、ユーザまたは別のアプリケーションプログラムが、グラフィックスペイン１０６での表示に関して新しいグラフィック定義１０９ａまたは１０９ｂを選択したかどうかを判断する。そのような選択は、ユーザまたは他のアプリケーションが、異なるグラフィック定義１０９ａまたは１０９ｂに基づいて、受け取り動作６０４で受け取られたコンテンツ１１５を見ることを望んでいると解釈される。第４クエリ動作６２４が、そのような選択が行われたと判断する場合には、動作フローは、切り替え動作（オペレーション）６２６に移る。
【００７３】
切り替え動作（オペレーション）６２６は、新しい選択されたグラフィック定義１０９ａまたは１０９ｂに関連するプレゼンテーションモデル４０８または４１０を作成し（あるいは、このプレゼンテーションモデルが既に作成されている場合には取り出し）、動作フローをレンダリング動作（オペレーション）６１２に渡す。その後、レンダリング動作６１２は、現在のセマンティックモデル４０４（すなわち、作成動作６０６によって作成されたセマンティックモデルまたはこれの更新されたバージョンのいずれか）と、切り替え動作６２６によって作成されたか取り出されたプレゼンテーションモデル４０８または４１０に基づいて、グラフィック１０８をレンダリングする。
【００７４】
しかし、第４クエリ動作６２４が、新しいグラフィック定義１０９ａまたは１０９ｂの選択が行われなかったと判断する場合には、動作フローは、第５クエリ動作６２７への「Ｎｏ」に分岐する。第５クエリ動作６２７は、ユーザまたは別のアプリケーションプログラムが、コンテンツ１１５の構造に対する変更をもたらす情報を入力したかどうかを判断する。そのような構造の変更は、グラフィック１０８内のグラフィカル要素に対応した（除去の場合）または対応する（追加の場合）コンテンツの追加または削除から生じる可能性がある。そのような除去または削除に、グラフィカル要素の追加または削除をもたらすフォーマッティング変更を含めることができる。第５クエリ動作６２７が、グラフィック１０８に対する構造変更をもたらすコンテンツ１１５の変更を検出した場合には、動作フローは、第３更新動作６２８への「Ｙｅｓ」に分岐される。そうでない場合には、動作フローは、第１クエリ動作６１４への「Ｎｏ」に分岐し、前に説明したように継続する。
【００７５】
第３更新動作６２８は、現在使用されているプレゼンテーションモデル４０８または４１０（すなわち、作成動作６０６によって作成されたプレゼンテーションモデルまたは切り替え動作６２６によって作成されたか取り出されたプレゼンテーションモデルのいずれか）とセマンティックモデル４０４の両方を更新して、コンテンツ１１５に対する変更を反映させる。第３更新動作６２８から、動作フローは、レンダリング動作６１２に移り、ここで、更新されたプレゼンテーションモデル４０８または４１０および更新されたセマンティックモデル４０４に基づいて、グラフィック１０８がレンダリングされる。レンダリング動作６１２から、動作フローは、前に説明したように継続される。
【００７６】
本発明を、構造的特徴、方法論的動作、およびそのような動作を含むコンピュータ可読媒体に固有の言葉で説明したいが、添付の請求項で定義されている本発明が、必ずしも、記載された特定の構造、動作、または媒体に制限されないことを理解すべきである。当業者は、本発明の範囲および趣旨に含まれる他の実施形態または改善を理解するであろう。例えば、ディスプレイプロセス６００内の動作の実行のシーケンスが、例示的実施形態に従って図示された。他の実施形態によれば、これらの動作の実行のシーケンスを変更することができる。例えば、作成動作６０６を、本発明の範囲から逸脱せずに、時間的にコンテンツ取り出し動作６０４の前に実行することができる。
【００７７】
さらに、プレゼンテーションモデル（例えば、４０８および４１０）とグラフィック定義（例えば、１０９ａおよび１０９ｂ）の間の１：１相関を説明したが、本発明の実施形態に従って、複数のプレゼンテーションモデル（例えば、４０８および４１０）を、単一のグラフィック定義１０９ａまたは１０９ｂに関連付けることができる。さらに、３つを超えるかこれより少ないペイン（例えば、１０４、１０５、および１０６）を有するように、ＵＩ  １０２を構成することができることを諒解されたい。実際に、これらのペイン（例えば、１０４、１０５、および１０６）の任意の１つでの機能性を、その代わりにまたはそれに加えて、例えば、ツールバー、サムネイル、メニューバー、コマンドライン、ダイアログボックスなど、他のタイプのグラフィカルユーザインターフェースコンポーネントで提供することができる。
【００７８】
さらに、各グラフィック定義、例えば１０９ａまたは１０９ｂに固有としてプレゼンテーションモデル（例えば、４０８、４１０）を本明細書で説明したが、本発明の範囲内で企画された他の実施形態は、複数のグラフィック定義にわたって持続するプレゼンテーションモデル（例えば、４０８、４１０）に関連する。これらの実施形態では、類似する特性を有するグラフィック定義、例えば１０９ａまたは１０９ｂが、グラフィック分類で一緒にグループ化され、プレゼンテーションモデルが、この分類を構成するタイプに個別にではなく、これらの分類に固有である。例えば、分類が、この分類のすべてのグラフィック定義にわたって移動が持続するようにするために、半径の形での位置移動に関するグラフィカル要素動作を有するすべてのグラフィック定義、例えば１０９ａおよび１０９ｂを一緒にグループ化することができる。同様に、別の分類が、ｘ−ｙ座標系に関する位置移動について動作するすべてのグラフィック定義、例えば１０９ａおよび１０９ｂを一緒にグループ化することができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施形態による、グラフィックを作成し、編集するコンピュータグラフィックスアプリケーションのユーザインターフェースを示す図である。
【図２】本発明の実施形態を実施できる例示的なコンピュータシステムを示す図である。
【図３】本発明の実施形態による、カスタマイゼーションシステムを含むコンピュータグラフィックスアプリケーションの様々なコンポーネントを示す機能図である。
【図４】本発明の実施形態による、図３のカスタマイゼーションシステムをより詳細に示す機能図である。
【図５Ａ】コンピュータグラフィックスアプリケーションで編集されるグラフィックスのカスタマイゼーションを管理する、図４のカスタマイゼーションシステムの動作をシーケンスで示す図である。
【図５Ｂ】コンピュータグラフィックスアプリケーションで編集されるグラフィックスのカスタマイゼーションを管理する、図４のカスタマイゼーションシステムの動作をシーケンスで示す図である。
【図５Ｃ】コンピュータグラフィックスアプリケーションで編集されるグラフィックスのカスタマイゼーションを管理する、図４のカスタマイゼーションシステムの動作をシーケンスで示す図である。
【図６】本発明の実施形態による、ユーザカスタマイゼーションに基づいたグラフィックを表示するプロセス（「ディスプレイプロセス」）の動作特性を図解する流れ図である。
【符号の説明】
【００８０】
１０２  ユーザーインターフェイス（ＵＩ）
１０４  コンテンツペイン
１０５  ギャラリペイン
１０６  グラフィックスペイン
１０８  ホイールダイヤグラムグラフィック（グラフィカルコンテンツ）
１０９ａ  グラフィック定義１
１０９ｂ  グラフィック定義２
１１５  テキストコンテンツ（階層リスト）
１１６a  最初の主要行
１１６b  第２の主要行
１３１  親要素
１２２〜１３１  グラフィカル要素
１２５  親要素
１２６〜１３０  子要素
２００  コンピューティングデバイス
２０２  処理ユニット
２０４  システムメモリ
２０８  リムーバブルストレージ
２１０  ノンリムーバブルストレージ
２１２  通信接続
２１４  入力デバイス
２１６  出力デバイス
３００  カスタマイゼーションシステム
３０１  カスタマイゼーションデータ
３０２  レイアウトツリー
３０３  レイアウトエンジン
３０４  出力エンジン
３０８  コンテンツ入力に係るユーザインタラクション
３１０  入力およびグラフィックに対する編集に係るユーザインタラクション
３１２  グラフィックタイプのユーザ選択に係るユーザインタラクション
４０２  グラフィカルモデルライブラリ
４０４  セマンティックモデル
４０８  グラフィック定義１のプレゼンテーションモデル
４１０  グラフィック定義２のプレゼンテーションモデル
４１２  カスタマイゼーションエンジン
【図１】
2006107491.tif 000003
【図２】
2006107491.tif 000004
【図３】
2006107491.tif 000005
【図４】
2006107491.tif 000006
【図５Ａ】
2006107491.tif 000007
【図５Ｂ】
2006107491.tif 000008
【図５Ｃ】
2006107491.tif 000009
【図６】
2006107491.tif 000010