(57)【要約】  インクをキャプチャしてレンダリングするシステムおよび処理が説明される。インクキャンバスオブジェクトが、ゼロ、１つ、または複数のオブジェクトまたは要素を含むことができ、オブジェクトまたは要素のＺ‐オーダを指定することができる。インクキャンバスオブジェクトは、様々なオブジェクトまたは要素を収容することができ、したがって、それ自体ではインク機能をもつことができないとしても、オブジェクトまたは要素にインク機能を提供することができる。
2007521523.tif 000002
【特許請求の範囲】
【請求項１】
インクを受け取る１つのオブジェクトと、
前記１つのオブジェクトによって参照される１つまたは複数のオブジェクトとを備え、
前記１つのオブジェクトは前記１つまたは複数のオブジェクトの表示を制御し、
前記複数のオブジェクトの少なくとも１つは、単独ではインクが有効化されないが、前記１つのオブジェクトによって含まれるときにはインクが有効化されることを特徴とするコンピュータシステム。
【請求項２】
前記１つのオブジェクトはインクキャンバスオブジェクトであることを特徴とする請求項１に記載のシステム。
【請求項３】
前記１つのオブジェクトは、前記１つまたは複数のオブジェクトをレンダリングし、最後にレンダリングされたオブジェクトの上にどのインクもレンダリングすることを特徴とする請求項１に記載のシステム。
【請求項４】
前記１つのオブジェクトは、インクおよび１つまたは複数のオブジェクトの階層化を混ぜることを特徴とする請求項１に記載のシステム。
【請求項５】
前記１つのオブジェクトは、インクをレンダリングし、次いで、前記レンダリングされたインクの上に１つまたは複数のオブジェクトをレンダリングすることを特徴とする請求項１に記載のシステム。
【請求項６】
前記１つのオブジェクトは、１つまたは複数のビヘイビアを含むことを特徴とする請求項１に記載のシステム。
【請求項７】
前記１つのオブジェクトは、少なくとも１つのメソッドを含むことを特徴とする請求項１に記載のシステム。
【請求項８】
前記１つのオブジェクトは、少なくとも１つのプロパティを含むことを特徴とする請求項１に記載のシステム。
【請求項９】
前記１つのオブジェクトは、少なくとも１つのイベントを含むことを特徴とする請求項１に記載のシステム。
【請求項１０】
インク機能を提供する１つのオブジェクトに、１つまたは複数のオブジェクトを収容するステップと、
前記１つまたは複数のオブジェクトをレンダリングするステップと、
前記１つまたは複数のオブジェクトの上にインクをレンダリングするステップと、
を含むことを特徴とするプロセス。
【請求項１１】
前記１つのオブジェクトのプロパティを修正するステップをさらに含むことを特徴とする請求項１０に記載のプロセス。
【請求項１２】
前記１つのオブジェクトによってイベントを発するステップをさらに含むことを特徴とする請求項１０に記載のプロセス。
【請求項１３】
前記１つのオブジェクトに関連づけられたメソッドを実施するステップをさらに含むことを特徴とする請求項１０に記載のプロセス。
【請求項１４】
コンピュータ実行可能プログラムが格納されたコンピュータ可読媒体であって、前記プログラムは、
インク機能を提供する１つのオブジェクトに、１つまたは複数のオブジェクトを収容するステップと、
前記１つまたは複数のオブジェクトをレンダリングするステップと、
前記１つまたは複数のオブジェクトの上にインクをレンダリングするステップと、
を含むことを特徴とするコンピュータ可読媒体。
【請求項１５】
前記プログラムは、
前記１つのオブジェクトのプロパティを修正するステップをさらに含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
前記プログラムは、
前記１つのオブジェクトによってイベントを発するステップをさらに含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１７】
前記プログラムは、
前記１つのオブジェクトに関連づけられたメソッドを実施するステップをさらに含むことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１８】
インク機能を提供する１つのオブジェクトに、１つまたは複数のオブジェクトを収容する手段と、
前記１つまたは複数のオブジェクトをレンダリングする手段と、
前記１つまたは複数のオブジェクトの上にインクをレンダリングする手段と、
を具備したことを特徴とするシステム。
【請求項１９】
前記１つのオブジェクトのプロパティを修正する手段をさらに備えることを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記１つのオブジェクトによってイベントを発する手段をさらに備えることを特徴とする請求項１８に記載のシステム。
【請求項２１】
前記１つのオブジェクトに関連づけられたメソッドを実施する手段をさらに備えることを特徴とする請求項１８に記載のシステム。
【請求項２２】
インク機能を提供する１つのオブジェクトに、１つまたは複数のオブジェクトを収容するステップと、
前記１つまたは複数のオブジェクトが、それ自体をレンダリングするステップと、
前記１つまたは複数のオブジェクトの上にインクをレンダリングするステップと、
を含むことを特徴とするプロセス。
【請求項２３】
前記１つのオブジェクトのプロパティを修正するステップをさらに含むことを特徴とする請求項２２に記載のプロセス。
【請求項２４】
前記１つのオブジェクトによってイベントを発するステップをさらに含むことを特徴とする請求項２２に記載のプロセス。
【請求項２５】
前記１つのオブジェクトに関連づけられたメソッドを実施するステップをさらに含むことを特徴とする請求項２２に記載のプロセス。
【請求項２６】
コンピュータ実行可能プログラムが格納されたコンピュータ可読媒体であって、前記プログラムは、
インク機能を提供する１つのオブジェクトに、１つまたは複数のオブジェクトを収容するステップと、
前記１つまたは複数のオブジェクトが、それ自体をレンダリングするステップと、
前記１つまたは複数のオブジェクトの上にインクをレンダリングするステップと、
を含むことを特徴とするコンピュータ可読媒体。
【請求項２７】
前記プログラムは、
前記１つのオブジェクトのプロパティを修正するステップをさらに含むことを特徴とする請求項２６に記載のコンピュータ可読媒体。
【請求項２８】
前記プログラムは、
前記１つのオブジェクトによってイベントを発するステップをさらに含むことを特徴とする請求項２６に記載のコンピュータ可読媒体。
【請求項２９】
前記プログラムは、
前記１つのオブジェクトに関連づけられたメソッドを実施するステップをさらに含むことを特徴とする請求項２６に記載のコンピュータ可読媒体。
【請求項３０】
インク機能を提供する１つのオブジェクトに、１つまたは複数のオブジェクトを収容する手段と、
前記１つまたは複数のオブジェクトが、それ自体をレンダリングする手段と、
前記１つまたは複数のオブジェクトの上にインクをレンダリングする手段と、
を具備したことを特徴とするシステム。
【請求項３１】
前記１つのオブジェクトのプロパティを修正する手段をさらに備えることを特徴とする請求項３０に記載のシステム。
【請求項３２】
前記１つのオブジェクトによってイベントを発する手段をさらに備えることを特徴とする請求項１８に記載のシステム。
【請求項３３】
前記１つのオブジェクトに関連づけられたメソッドを実施する手段をさらに備えることを特徴とする請求項１８に記載のシステム。
【請求項３４】
インク機能を提供する１つのオブジェクトに、１つまたは複数のオブジェクトを収容するステップと、
インクをレンダリングするステップと、
１つまたは複数のオブジェクトが、前記インクの前記レンダリングと混ぜられるように、それ自体をレンダリングするステップと、
を含むことを特徴とするプロセス。
【請求項３５】
コンピュータ実行可能プログラムが格納されたコンピュータ可読媒体であって、前記プログラムは、
インク機能を提供する１つのオブジェクトに、１つまたは複数のオブジェクトを収容するステップと、
インクをレンダリングするステップと、
１つまたは複数のオブジェクトが、前記インクの前記レンダリングと混ぜられるように、それ自体をレンダリングするステップと、
を含むことを特徴とするコンピュータ可読媒体。
【請求項３６】
インク機能を提供する１つのオブジェクトに、１つまたは複数のオブジェクトを収容する手段と、
インクをレンダリングする手段と、
１つまたは複数のオブジェクトが、前記インクの前記レンダリングと混ぜられるように、それ自体をレンダリングする手段と、
を具備したことを特徴とするシステム。
【請求項３７】
インクを受け取るオブジェクトであって、ツリーベースの組織構造に収容されることができるオブジェクトを具備したことを特徴とするコンピュータシステム。
【請求項３８】
インクを受け取るオブジェクトであって、マークアップ言語で書かれることができるオブジェクトを具備したことを特徴とするコンピュータシステム。
【請求項３９】
インクを受け取る１つのオブジェクトと、
前記１つのオブジェクトによって参照される１つまたは複数のオブジェクトとを備え、
前記１つのオブジェクトは、インク認識機能を含むことを特徴とするコンピュータシステム。
【請求項４０】
インクを受け取る１つのオブジェクトと、
前記１つのオブジェクトによって参照される１つまたは複数のオブジェクトとを備え、
前記１つのオブジェクトは、拡張可能な編集機能を含むことを特徴とするコンピュータシステム。
【請求項４１】
インクを受け取る１つのオブジェクトと、
前記１つのオブジェクトによって参照される１つまたは複数のオブジェクトとを備え、
前記１つのオブジェクトは、アプリケーションプログラミングインターフェースを用いて、アプリケーションによりアクセスされることを特徴とするコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の態様は、情報のキャプチャリング(capturing)およびレンダリング(rendering)に関する。より詳細には、本発明の態様は、電子インク(electronic ink)のキャプチャリングおよびレンダリングに関する。
【背景技術】
【０００２】
人々はしばしば、情報のテキスト表現よりもグラフィック表現に頼る。人々は、画像に等価であり得るテキストブロックよりも、むしろ画像に目を向けるものである。たとえば、家の所有者は、台所や浴室を改築するとき、雑誌から画像を切り抜いて、何が望まれているかを正確に建設業者に見せる場合がある。同じ資料をテキストによって記述したものはしばしば、不十分である。家の所有者が使い得る道具の複雑さは、１丁のはさみと同程度に過ぎない。
【０００３】
しかし、計算機の世界では、同じ内容を取り込み伝えようとする試みは扱いにくい。一般的なコンピュータシステムは、画像の多い内容を取り込み伝えるためのわかりやすいインターフェースを提供していない。そうではなく、こうしたコンピュータシステムは、テキストを取り込んで(capturing)レンダリングするために最適化される。たとえば、一般的なコンピュータシステム、特に、マイクロソフトのＷＩＮＤＯＷＳ（登録商標）など、グラフィカルユーザインターフェース（ＧＵＩ）システムを使用するコンピュータシステムは、１つまたは複数の別個の入力装置、たとえばテキストを入力するキーボード、およびユーザインターフェースを駆動する１つまたは複数のボタンを有するマウスなどの指示装置からユーザ入力を受け付けるために最適化される。
【０００４】
一部の計算機システムは、システムに情報を入力するためのスタイラス(stylus)の使用を可能にすることによって、ユーザが利用可能な入力および対話システムを拡張している。スタイラスは、キーボード（データ入力用）ならびにマウス（制御用）の代わりになることができる。一部の計算機システムは、手書きの電子情報(handwritten electronic information)または電子インク(electronic ink)を受け取り、ただちに電子インクをテキストに変換しようと試みる。他のシステムは、電子インクが手書きの形(handwritten form)で残ることを可能にする。
【０００５】
スタイラス(stylus)があるにもかかわらず、電子インクを一般的なグラフィカルユーザインターフェースと組み合わせる様々な手法は、サードパーティのアプリケーションの開発者にとっては扱いにくいものとなり得る。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、当該分野において、サードパーティの開発者にとって使いやすい、インクをキャプチャしてレンダリングする改良型のシステムが必要である。
【課題を解決するための手段】
【０００７】
本発明の態様は、上述した問題点の１つまたは複数に対処し、そうすることによって、サードパーティの開発者が使うための、より優れた内容のキャプチャリングおよびレンダリングを提供する。いくつかの実施形態では、インクのキャプチャリングおよびレンダリング要素(ink capturing and rendering element)は、インターフェースにおける各要素が、深さ(depth)（またはＺ‐オーダ）で指定される構造(structure)の一部であるオブジェクトとして明らかにすることができる。いくつかの場合では、オブジェクトは、インターフェースにおける様々な要素を、それぞれ指定されたＺ‐オーダ(specified z-order)でレンダリングし、次いで、最上位層(on the top-most layer)にインクをレンダリング(render ink)することができる。他の場合では、インク(ink)および他の要素(other elements)は、混ぜられる(intermingled)ことができる。
【０００８】
こうしたおよび他の態様は、図面および関連する説明に関連して扱われる。
【発明を実施するための最良の形態】
【０００９】
本発明は、添付の図面において例示のために示されるが、そうした図面に限定されるのではない。各図面において、同じ参照番号は、同様の要素を表している。
【００１０】
本発明の実施形態は、改良されたインクのキャプチャリングおよびレンダリングシステムに関する。
【００１１】
本文書は、読者を援助するために、いくつかのセクションに分けられる。こうしたセクションは、インクの特性(characteristic of ink)と、用語(term)と、汎用計算機環境と、オブジェクトの順序づけ(ordering of objects)と、オブジェクトのコンストラクタ(constructor)、プロパティ(property)、メソッド(method)、イベント(event)と、関係(relationship)と、クリッピング(clipping)とを含む。
【００１２】
インクの特性(characteristic of ink)
インクペンを使うユーザには知られているように、物理インク(physical ink)（インク容器を有するペンを使って、紙の上に置かれる種類のもの）は、線分によって連結された一連の座標よりも、多くの情報を伝えることができる。たとえば、物理インクは、ペン圧（インクの濃さによって）、ペンの角度（直線部分または曲線部分の形、およびディスクリートポイント周りのインクの動き(behavior)によって）、ならびにペン先の速度（真直度、線幅、および直線または曲線の途中での線幅の変化によって）を反映することができる。こうした追加プロパティ(additional property)のおかげで、感情、個性、強調などが、点の間の一定した線幅よりも即座に伝えられることができる。
【００１３】
電子インク（またはインク）は、ユーザがスタイラスベースの入力デバイス(stylus-based input device)を使うときにキャプチャされる電子情報(electronic information)のキャプチャおよび表示(capture and display)に関する。電子インクは、一連のストロークに関連し、各ストロークは、一連の点からなる。点は、デカルト座標（Ｘ、Ｙ）、極座標（ｒ、Ｔ）、および当該分野において公知である他の技術など様々な公知の技術を用いて表されることができる。電子インクは、圧力、角度、速度、色、スタイラスのサイズ、およびインクの不透明度など、実際のインクのプロパティの表現を含むことができる。電子インクは、中でも、ページの上にインクが置かれた順序（ほとんどの西洋言語では、左から右へ、次いで下へというラスタパターン）、タイムスタンプ（インクがいつ置かれたか示す）、インクを使って書いた人の指示、および発生元の装置（インクによる書込みが行われたマシンの識別、またはインクを置くのに使われたペンの識別の少なくとも一方）など、他のプロパティをさらに含むことができる。
【００１４】
用語(terms)
インク(ink)：プロパティを有する一連または１組のストローク。一連のストロークは、ストロークを順序づけられた形で含むことができる。ストロークの連続は、キャプチャが行われた時間によって、またはストロークがページの上に現れる場所によって順序づけられることもでき、インクの作者によって協調した状況で順序づけられることもできる。他の順序も可能である。１組のストロークは、ストロークの連続または順序づけられていないストローク、あるいはそのどの組合せも含むことができる。さらに、いくつかのプロパティは、ストローク中の各ストロークまたは点に対して一義的でよい（たとえば、圧力、速度、角度など）。こうしたプロパティは、インクレベルではなく、ストロークレベルまたは点のレベルで格納されることができる。
【００１５】
インクオブジェクト(ink object)：プロパティを伴って、または伴わずにインクを格納するデータ構造。
【００１６】
ストローク(stroke)：一連または１組の取り込まれた点。たとえば、レンダリングされると、点の連続は、線とつながれることができる。あるいは、ストロークは、点、および次の点への方向のベクトルとして表されることができる。要するに、点の基底表現および／または点をつなぐものに関わらず、ストロークは、インクに関連する点または区分のどの表現も包含することを意図されている。
【００１７】
点(point)：空間内の位置を確定する情報。たとえば、点は、キャプチャリング空間(capturing space)（たとえばデジタイザ上の点）、仮想インク空間（取り込まれたインクが配置される、空間内の座標）、および／または表示空間（表示装置の点またはピクセル）に相対して確定されることができる。
【００１８】
要素(element)：ツリー中に配置されるオブジェクトであって、ツリー中での配置(placement)が順序(order)として働く。
【００１９】
汎用計算機環境(general-purpose computing environment)
図１は、本発明の様々な態様を実施するのに用いることができる、例示的な従来の汎用デジタル計算機環境の概略図を示す。図１において、コンピュータ１００は、処理ユニット１１０、システムメモリ１２０、およびシステムバス１３０を含む。このシステムバスは、システムメモリを含む様々なシステム構成要素を処理ユニット１１０に結合する。システムバス１３０は、様々なバスアーキテクチャのどれをも使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスなどいくつかのタイプのバス構造のいずれでもよい。システムメモリ１２０は、読出し専用メモリ（ＲＯＭ）１４０およびランダムアクセスメモリ（ＲＡＭ）１５０を含む。
【００２０】
基本入出力システム１６０（ＢＩＯＳ）は、たとえば起動中にコンピュータ１００内部の要素間の情報の転送を助ける基本ルーチンを含み、ＲＯＭ１４０に格納される。コンピュータ１００は、ハードディスク（図示せず）からの読出しまたはそこへの書込みを行うハードディスクドライブ１７０、取外し可能磁気ディスク１９０からの読出しまたはそこへの書込みを行う磁気ディスクドライブ１８０、および、たとえばＣＤ  ＲＯＭまたは他の光学媒体などの取外し可能光ディスク１９２からの読出しまたはそこへの書込みを行う光ディスクドライブ１９１も含む。ハードディスクドライブ１７０、磁気ディスクドライブ１８０、および光ディスクドライブ１９１は、それぞれハードディスクドライブインターフェース１９２、磁気ディスクドライブインターフェース１９３、および光ディスクドライブインターフェース１９４によって、システムバス１３０に接続される。ドライブおよびそれに関連するコンピュータ可読媒体は、コンピュータ可読命令の不揮発性記憶装置、データ構造、プログラムモジュール、および他のデータを、パーソナルコンピュータ１００に提供する。この例の動作環境では、コンピュータによるアクセスが可能なデータを格納することができる他のタイプのコンピュータ可読媒体、たとえば磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）なども使われることができることが、当業者には理解されよう。
【００２１】
オペレーティングシステム１９５、１つまたは複数のアプリケーションプログラム１９６、他のプログラムモジュール１９７、およびプログラムデータ１９８など、いくつかのプログラムモジュールが、ハードディスクドライブ１７０、磁気ディスク１９０、光ディスク１９２、ＲＯＭ１４０、またはＲＡＭ１５０に格納されることができる。ユーザは、キーボード１０１および指示装置１０２などの入力デバイスを介して、コマンドおよび情報をコンピュータ１００に入力することができる。他の入力デバイス（図示せず）には、マイクロホン、ジョイスティック、ゲーム用パッド、衛星パラボラアンテナ、スキャナなどがあり得る。こうしたおよび他の入力デバイスはしばしば、システムバスに結合されるシリアルポートインターフェース１０６を介して処理ユニット１１０に接続されるが、他のインターフェース、たとえば並列ポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）によって接続されることもできる。［現時点で、ＵＳＢが非常に有名なので、図１にＵＳＢを特徴づけたいと思うかもしれない。］さらに、こうした装置は、適切なインターフェース（図示せず）を介してシステムバス１３０に直接結合されることができる。モニタ１０７または他のタイプの表示装置も、ビデオアダプタ１０８などのインターフェースを介してシステムバス１３０に接続される。モニタに加えて、パーソナルコンピュータは通常、他の周辺出力装置（図示せず）、たとえばスピーカおよびプリンタを含む。一実施形態では、ペンデジタイザ１６５およびそれに伴うペンまたはスタイラス１６６が、フリーハンド入力をデジタル方式で取り込むために提供される。ペンデジタイザ１６５とシリアルポートインターフェース１０６の間の直接接続が示されているが、実際には、ペンデジタイザ１６５は、直接、あるいは並列ポートまたは他のインターフェースを介して処理ユニット１１０に結合されることができ、無線方式を含むどの技術によっても、システムバス１３０に結合されることができる。また、ペン１６６は、それに関連づけられたカメラ、およびカメラによって取り込まれた画像情報を、バス１３０と相互作用するインターフェースに無線方式で伝送する送受信機を有することができる。さらに、ペンは、カメラに加えて、またはその代わりに、加速度計、磁力計、およびジャイロスコープなど、電子インクのストロークを決定する他の検知システムを有することができる。
【００２２】
さらに、デジタイザ１６５はモニタ１０７とは別に示されているが、デジタイザ１６５の使用可能な入力区域は、モニタ１０７の表示領域と同一の広がりをもつことができる。さらに、デジタイザ１６５は、モニタ１０７に統合されることもでき、モニタ１０７の表面にある、あるいはモニタに付加される別個の装置として存在することもできる。
【００２３】
コンピュータ１００は、リモートコンピュータ１０９など、１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク接続された環境において動作することができる。リモートコンピュータ１０９は、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の共通ネットワークノードでよく、通常、コンピュータ１００に関連して上述した要素の多くまたはすべてを含むが、メモリ記憶装置１１１のみが図１に示されている。図１に示される論理接続は、ローカルエリアネットワーク（ＬＡＮ）１１２およびワイドエリアネットワーク（ＷＡＮ）１１３を含む。このようなネットワーク環境は、会社、企業規模のコンピュータネットワーク、イントラネットおよびインターネットにおいてよく見られる。
【００２４】
ＬＡＮネットワーク環境において使われる場合、コンピュータ１００は、ネットワークインターフェースまたはアダプタ１１４を介してローカルネットワーク１１２に接続される。ＷＡＮネットワーク環境において使われる場合、パーソナルコンピュータ１００は通常、モデム１１５、または、たとえばインターネットなどのワイドエリアネットワーク１１３を介した通信を確立する他の手段を含むことができる。モデム１１５は、内部にあっても外部にあってもよく、シリアルポートインターフェース１０６を介してシステムバス１３０に接続される。ネットワーク接続された環境では、パーソナルコンピュータ１００に関連して図示したプログラムモジュールまたはその一部は、リモートメモリ記憶装置に格納されることができる。さらに、システムは、有線性能および／または無線性能を含むことができる。たとえば、ネットワークインターフェース１１４は、ブルートゥース、ＳＷＬａｎ、および／またはＩＥＥＥ８０２．１１クラスの連結性能を含むことができる。こうしたプロトコルと共に、またはこうしたプロトコルの代わりに、他の無線通信プロトコルが使われることができることを理解されたい。
【００２５】
図示したネットワーク接続は例示であり、コンピュータの間の通信リンクを確立する他の技術が使われることができることが理解されよう。様々な公知のプロトコル、たとえばＴＣＰ／ＩＰ、イーサネット（登録商標）、ＦＴＰ、ＨＴＴＰなど、いずれの存在も想定され、システムは、クライアントサーバ構成において動作して、ユーザがウェブベースのサーバからウェブページを検索することを可能にする。様々な従来のウェブブラウザのどれもが、ウェブページ上でデータを表示し操作するのに使われることができる。
【００２６】
図２は、本発明の様々な態様に従って使用されることができる、例示的なタブレットＰＣ２０１を示す。図１のシステムにおける特徴、サブシステム、および機能のいずれか、またはすべては、図２のコンピュータに含まれることができる。タブレットＰＣ２０１は、複数のウィンドウ２０３が表示される大型表示面２０２、たとえば、デジタルフラットパネルディスプレイ、好ましくは、液晶ディスプレイ（ＬＣＤ）スクリーンを含む。スタイラス２０４を使って、ユーザは、デジタル表示面２０２上で選択を行い、強調表示を行い、かつ／または書くことができる。適切なデジタル表示面２０２の例は、電磁的ペンデジタイザ、たとえばMutohやWacomのペンデジタイザを含む。他のタイプのペンデジタイザ、たとえば光学デジタイザも使われることができる。タブレットＰＣ２０１は、データを操作し、テキストを入力し、図面を作成し、かつ／または従来のコンピュータアプリケーションタスク、たとえば表計算、ワードプロセッサプログラムなどを実行するために、スタイラス２０４を用いて行われた手の動きを解釈する。
【００２７】
スタイラス２０４は、その選択性能を増大させるために、１つまたは複数のボタンあるいは他の特徴を備えることができる。一実施形態では、スタイラス２０４は、一方の端部は書く部分を構成し、他方の端部は「イレーザ(eraser)」端部を構成する「鉛筆(pencil)」または「ペン(pen)」として実施することができ、ディスプレイを横切って動かされると、そのディスプレイの部分が消去されるべきであることを示す。他のタイプの入力デバイス、たとえばマウス、トラックボールなども使われることができる。さらに、ユーザ自身の指が、スタイラス２０４になることができ、接触式または接近式ディスプレイ上に表示された画像の部分を選択しまたは指示するために使われることができる。したがって、本明細書で使用する「ユーザ入力デバイス(user input device)」という用語は、広範な定義を有するように意図され、スタイラス２０４など公知の入力デバイスに関する多くの変形形態を包含する。領域２０５は、ユーザが、スタイラス２０４が表示面２０２のどの部分に接触したか判定することを可能にするフィードバック領域または接触領域を示す。
【００２８】
様々な実施形態において、システムは、アプリケーションがインクを取り込み、操作し、格納するのに使うことができる１組のＣＯＭ（構成要素オブジェクトモデル）サービスとして、インクプラットフォームを提供する。あるサービスは、アプリケーションが、本明細書で開示されるインク表現を用いて、インクを読み出し、書き込むことを可能にする。インクプラットフォームは、拡張マークアップ言語（ＸＭＬ）のような言語などのマークアップ言語も含むことができる。さらに、システムは、別の実装形態としてＤＣＯＭを使うことができる。マイクロソフトコーポレーションのＷｉｎ３２プログラミングモデルおよび．Ｎｅｔプログラミングモデルを含む、さらに別の実装形態も使われることができる。
【００２９】
オブジェクトの順序づけ(ordering objects)
図３Ａおよび図３Ｂは、インターフェース中のアイテムを順序づけする様々な技術を示す。図３Ａにおいて、ウィンドウ３０１は、アイテム３０２および３０３を含む。ここで、アイテム３０２がフォーカスを有しており、アイテム３０３の前面にある。図３Ｂにおいて、内容はツリーで配列される。ここで、ルートノード（「ルート(root)」と呼ばれる）３０４は、ツリー中の他のすべてのノードが基づいているノードである。子ノード(child node)３０５および３０６は、ルートノード３０４からのツリー中に配置される。こうしたノードの互いに相対的な位置が、どのように、すなわち互いの上または下にノードがレンダリングされるか確定する。図３Ｂの左側にある軸３０７は、この例のツリー中の様々なノードの「Ｚ‐オーダ(z-order)」を示す。
【００３０】
図４は、Ｚ‐オーダの（すなわち深さ順の）順序づけ構造を有するシステムにおいて、インクがどのようにしてレンダリングされることができるかの一例を示す。ここで、ウィンドウ４０１は、内容(content)を示している。この内容は、位置(position)４０３にレンダリングされる内容(content)４０２、および位置４０５にレンダリングされる内容４０４を含む。以前の内容４０２および４０４がレンダリングされると、インク４０６は、最上位の内容（ここでは４０４）の上の位置４０７にレンダリングされることができる。インク４０６は、最上位の内容４０４に常に関連づけられてもよく、必ずしも関連づけられなくてもよい。たとえば、ユーザは、インク情報を内容４０６として受け付けるフォーム４０４を扱っている場合がある。ここで、フォーム４０４は、そこにインク４０６が置かれる前にレンダリングされることができる。
【００３１】
代替的な手法では、インクは、他の要素の下にあってもよい。たとえば、インクがレンダリングされ、次いで要素が上にレンダリングされることができる。インクのレンダリングは、要素のレンダリングと混ぜられることができる。
【００３２】
オブジェクトのコンストラクタ、プロパティ、メソッド、およびイベント(constructors, properties, methods, and events of objects)
内容の階層化順序(layering order)を制御するために、オブジェクトが、このタスクを処理するのに使われる。簡単にするために、本開示は、インクに関連するこのタスクを処理することができるオブジェクトを、（画家がどのようにして物理的なキャンバスに、塗料を層にして加えるかに機能的に類似しているという点で）「インクキャンバス(ink canvas)」オブジェクトと呼ぶ。一例では、インクキャンバスは要素でよい。別の例では、インクキャンバスはオブジェクトでよい（すべての要素がオブジェクトであるが、すべてのオブジェクトが要素であるわけではない）。簡単にするために、インクキャンバスは、本明細書ではオブジェクトと呼ばれる。インクキャンバスオブジェクトは、様々なコンストラクタ、プロパティ、メソッドおよびイベントを有して図５〜図７に示される。様々なコンストラクタ、プロパティ、メソッドおよびイベントは、例示の目的でのみ示されることを理解されたい。本発明から逸脱することなく、一部、全部、または追加のコンストラクタ、プロパティ、メソッドおよびイベントが、インクキャンバスオブジェクトの他の例において様々な形で現れることができる。インクキャンバスオブジェクトは、ゼロ以上の要素またはオブジェクトを収容することができる。インクキャンバスオブジェクトは、収容される要素またはオブジェクトのためにインクをレンダリングすることができ、あるいはそうした要素またはオブジェクトは、それ自体のためにインクをレンダリングすることができる。
【００３３】
以下の図面およびその説明では、メソッド、プロパティ、イベントおよびコンストラクタの様々な例を示す。いくつかの例では、様々なアイテムは、外部アクセスから隠されることができるが、異なる機構によるアクセスは可能であることを理解されたい。たとえば、インクオブジェクト、選択されたインクストローク、インクストリーム、またはバイトからなるアレイを返すメソッドが使われることができる。このメソッドは、この情報を含むことができるプロパティにアクセスする代わりに使われることができる。プロパティにアクセスしまたはプロパティを設定し、イベントに応答(respond)しまたはイベントを発する(throw)、などのメソッドが使われることができる。プロパティは、メソッドおよび／またはイベントの状態を記述することができる。イベントは、プロパティが設定されるとき、またはメソッドが実行されたときを示すことができる。他の例がこれに続くが、ここでは列挙されない。
【００３４】
インクキャンバスオブジェクトには、様々な態様があってもよく、なくてもよい。第１に、インクキャンバスオブジェクトは、要素(element)および／またはオブジェクト(object)を収容(host)することができる。要素およびオブジェクトは、インクキャンバスオブジェクトによってレンダリングされることもでき、それ自体をレンダリングすることもできる。インクキャンバスオブジェクトは、ツリーベースの組織構造(tree-based organizational structure)に収容(host)されることができる。インクキャンバスオブジェクトは、マークアップ言語（たとえば、ＨＴＭＬ、ＸＭＬ、および／またはＸＡＭＬなど）で作成されることができる。インクキャンバスオブジェクトは、認識機能(recognition functionality)（たとえば手書き認識、形状認識、図面認識、注釈認識など）を含むことができる。インクキャンバスオブジェクトは、拡張編集機能を含むことができる。最後に、インクキャンバスオブジェクトは、インクキャンバスオブジェクトと相互作用するアプリケーションを開発者が書くことを可能にする様々なアプリケーションプログラミングインターフェースを含むことができる。こうした態様の１つまたは複数は、インクキャンバスオブジェクトに存在することができる。
【００３５】
図５は、インクキャンバスオブジェクトに関連づけられるコンストラクタおよびプロパティを示す。インクキャンバスオブジェクトは、５０１で示される。２つのコンストラクタは、５０２および５０３で示される。コンストラクタ５０２は、デフォルトの収集(default collection)およびレンダリング性能(rendering capability)が有効(enabled)にされたパブリックコンストラクタ(public constructor)である。コンストラクタ５０３は、指定された親へのリンクを有する、インクキャンバスオブジェクト５０１の新規インスタンス(new instance)を作成(create)する。
【００３６】
図５は、プロパティ５０４〜５１８も示している。
【００３７】
・Custom Edit Behaviorプロパティ５０４は、カスタム編集ビヘイビアの設定を可能にする。
・Default Drawing Attributesプロパティ５０５は、新規に収集されたストロークの線描属性を確定する。
・Editing Modeプロパティ５０６は、現在の編集モードを設定する。
・Eraser Sizeプロパティ５０７は、消去モードが有効にされたときのイレーザのサイズを設定する。
・Eraser Shapeプロパティ５２８は、消去モードが有効にされたときのイレーザの形状（円、楕円、四角形、三角形など）を設定する。
・Inkプロパティ５０８は、インクキャンバスオブジェクトに含まれるインクの利用を可能にする。
・Clip Inkプロパティ５０９は、インクがインクキャンバスの表示領域のサイズにクリップされるときを決定する。
・Editing Mode Invertedプロパティ５１０は、ユーザのペンが反転されるとき、どの編集モード（または他の言語もしくは状態）がアクティブになるか示す。追加のペンが使われることができることに留意されたい。したがって、追加プロパティ５１０は、他のモードが他のペン先に関連づけられるように定義するために使われることができる。
・Stylus Invertedプロパティ５１１は、スタイラスが現在反転されているか示す。
・Move Enabledプロパティ５１２は、作成されたインクを動かす能力を有効にし、無効にする。
・Resize Enabledプロパティ５１３は、作成されたインクをリサイズする能力を有効にし、無効にする。
・Rotate Enabledプロパティ５１４は、作成されたインクを循環させる能力を有効にし、無効にする。
・Access Selected Elementsプロパティ５１５は、現在のインクキャンバス５０１の子である、現在選択されている要素の利用を可能にする。
・Access Selected Strokesプロパティ５１６は、現在のインクキャンバス５０１に関連づけられる、現在選択されているストロークの利用を可能にする。
・Use Custom Cursorプロパティ５１７は、開発者がカスタムマウスカーソルを使っていること、および現在のカーソルが維持されるべきであることを示す。
・User Is Editingプロパティ５１８は、インクキャンバス５０１が、現在インクを収集していることを示す。
・Selection Groupsプロパティ５２７は、グループまたはパーサを意識した選択および操作のために、どのストロークまたはインクオブジェクトがグループ化されるか示す。
【００３８】
上記のプロパティに加えて、インクキャンバスオブジェクト５０１は、１つまたは複数のインク認識プロパティをさらに含んでも、含まなくてもよい。
【００３９】
・Recognized Inkプロパティ５１９は、インクが認識されていることを示す。この認識は、現在選択されているまたは以前選択されたストロークまたはストローク群に関連づけられても、関連づけられなくてもよい。
・Detected Wordプロパティ５２０は、ストロークまたはインクオブジェクトのどの組が単語として検出されたか示す。
・Detected Imageプロパティ５２１は、ストロークまたはインクオブジェクトのどの組が画像として検出されたか示す。
・Detected Lineプロパティ５２２は、ストロークまたはインクオブジェクトのどの組が線として検出されたか示す。
・Detected Paragraphプロパティ５２３は、ストロークまたはインクオブジェクトのどの組がパラグラフとして検出されたか示す。
・Detected Shapeプロパティ５２４は、ストロークまたはインクオブジェクトのどの組が形状（および／または形状のタイプ）として検出されたか示す。
・Detected Annotationプロパティ５２５は、ストロークまたはインクオブジェクトのどの組が注釈として検出されたか示す。
・Converted Textプロパティ５２６は、インクから認識されたテキストを含む。あるいは、このプロパティは、１つまたは複数のインクストロークまたはオブジェクトのレンダリングに対して、変換されたテキストがインクの可視的な形の代わりに使われるべきであることを示すことができる。
【００４０】
上記のプロパティは、例示の目的でのみ列挙されることを理解されたい。インクキャンバスオブジェクトと共に、他のプロパティが、上記のプロパティに加えてまたはその代わりに使われることができる。
【００４１】
図６は、インクキャンバスオブジェクト６０１に関連づけられる様々なメソッドを示す。
【００４２】
・Get Default Drawing Attributes Overrideメソッド６０２は、特定のスタイラス用の、デフォルトのオーバーライド設定を入手する。たとえば、ユーザは、編集用に１つのスタイラス、および消去用に１つのスタイラスをもつことができる。このメソッドは、ユーザが特定のスタイラス用のデフォルトビヘイビア(default behavior)を制御することを可能にする。
・On Editing Mode, Inverted Changeメソッド６０３は、反転モードが変化したというイベントを発する(throw)。
・On Editing Mode, Inverted Changingメソッド６０４は、反転モードが変化中であるというイベントを発する。
・On Stylus Is Inverted Changeメソッド６０５は、スタイラスが、反転編集モードを変化させるのに使われるときイベントを発する。
・On Custom Edit Behavior Changedメソッド６０６は、カスタム編集ビヘイビアが変化したことを示すイベントを発する。
・On Custom Edit Behavior Changingメソッド６０７は、カスタム編集ビヘイビアが変化中であることを示すイベントを発する。
・On Editing Mode Changedメソッド６０８は、編集モードが変化したことを示すイベントを発する。
・On Editing Mode Changingメソッド６０９は、編集モードが変化中であることを示すイベントを発する。
・On Ink Canvas Adorner Enteredメソッド６１０は、インク用の画像装飾物（ユーザがインクを選択するとき、示されても示されなくてもよい、グラフィックによるプレースホルダー(placeholder)）が入力されるとき、イベントを発する。
・On Ink Canvas Adorner Exitedメソッド６１１は、インク用の画像装飾物が終了されるとき、イベントを発する。
・On Ink Erasedメソッド６１２は、インクが消去されるとき、イベントを発する。
・On Ink Erasingメソッド６１３は、インクが消去される処理中であるとき、イベントを発する。
・On Stroke Collectedメソッド６１４は、ストロークが収集されるとき、イベントを発する。
・On Selection Rotatingメソッド６１５は、選択(selection)が循環される処理中であるとき、イベントを発する。
・On Selection Rotatedメソッド６１６は、選択が循環されたとき、イベントを発する。
・On Selection Resizingメソッド６１７は、選択がリサイズされる処理中であるとき、イベントを発する。
・On Selection Resizedメソッド６１８は、選択がリサイズされるとき、イベントを発する。
・On Selection Movingメソッド６１９は、選択がムーブ(move)される処理中であるとき、イベントを発する。
・On Selection Movedメソッド６２０は、選択がムーブされたとき、イベントを発する。
・On Selection Changingメソッド６２１は、選択が変更される処理中であるとき、イベントを発する。
・On Selection Changedメソッド６２２は、選択が変更されたとき、イベントを発する。
・Set Default Drawing Attributes Overrideメソッド６２３は、取り込まれたストロークに関連づけられたデフォルトの線描属性をオーバーライドする。
【００４３】
上記のメソッドに加えて、インクキャンバスオブジェクト６０１は、１つまたは複数のインク認識メソッドをさらに含んでも、含まなくてもよい。
【００４４】
・On Ink Recognitionメソッド６２４は、インクが認識されたとき、１つまたは複数のイベントを発する。
【００４５】
上記のメソッドは、例示の目的でのみ列挙されることを理解されたい。インクキャンバスオブジェクトと共に、他のメソッドが、上記のメソッドに加えてまたはその代わりに使われることができる。
【００４６】
図７は、インクキャンバスオブジェクト７０１に関連づけられることができる様々なイベントを示す。
・Custom Edit Behavior Changedイベント７０２は、カスタム編集ビヘイビアが変化したときに起こる。
・Custom Edit Behavior Changingイベント７０３は、カスタム編集ビヘイビアがまもなく変化するときに起こる。
・Editing Mode Changedイベント７０４は、編集モードが変化したときに起こる。
・Editing Mode Changingイベント７０５は、編集モードがまもなく変化するときに起こる。
・Ink Canvas Adorner Enteredイベント７０６は、インクアドーナ(ink adorner)が入力(enter)されたときに起こる。
・Ink Canvas Adorner Exitedイベント７０７は、インクアドーナが終了(exit)されたときに起こる。
・Ink Erasedイベント７０８は、インクが消去されたときに起こる。
・Ink Erasingイベント７０９は、インクがまもなく消去されるときに起こる。
・Editing Mode Inverted Changedイベント７１０は、反転されたペンに関連する編集モードが変化したときに起こる。
・Editing Mode Inverted Changingイベント７１１は、反転されたペンに関連する編集モードがまもなく変化するときに起こる。
・Stylus Is Inverted, Changingイベント７１２は、ユーザがスタイラスを反転させているときに起こる。
・Stylus Is Inverted, Changedイベント７１３は、ユーザがスタイラスを反転させたときに起こる。
・Selection Changedイベント７１４は、選択が変化したときに起こる。
・Selection Changingイベント７１５は、選択がまもなく変化するときに起こる。
・Selection Movedイベント７１６は、選択がムーブしたときに起こる。
・Selection Movingイベント７１７は、選択がまもなくムーブされるときに起こる。
・Selection Resizedイベント７１８は、選択がリサイズしたときに起こる。
・Selection Resizingイベント７１９は、選択がまもなくリサイズされるときに起こる。
・Selection Rotatedイベント７２０は、選択が循環したときに起こる。
・Selection Rotatingイベント７２１は、選択がまもなく循環されるときに起こる。
・Stroke Collectedイベント７２２は、ストロークが収集(collect)されたときに起こる。
【００４７】
上記のイベントに加えて、インクキャンバスオブジェクト７０１は、インク認識イベントをさらに含んでも、含まなくてもよい。
【００４８】
・Ink Recognizedイベント７２３は、インクが認識されたときに起こる。
・Detected Wordイベント７２４は、単語(a word)が検出されたときに起こる。
・Detected Imageイベント７２５は、インクで書かれた画像が検出されたときに起こる。
・Detected Lineイベント７２６は、インクで書かれた線が検出されたときに起こる。
・Detected Paragraphイベント７２７は、インクで書かれたパラグラフが検出されたときに起こる。
・Detected Shapeイベント７２８は、インクで書かれた形状が検出されたときに起こる。
・Detected Annotationイベント７２９は、インク注釈が検出されたときに起こる。
・Converted Ink to Textイベント７３０は、インクがテキストに変換されたときに起こる。
【００４９】
上記のイベントは、例示の目的でのみ列挙されることを理解されたい。インクキャンバスオブジェクトと共に、他のイベントが、上記のイベントに加えて、またはその代わりに使われることができる。
【００５０】
関係(relationships)
図８は、インクキャンバスオブジェクト、インクエディタ、および様々なビヘイビアの間の様々な例示的関係を示す。インクキャンバスオブジェクト８０１は、１つまたは複数のサブエレメント(sub element)８０３を含む。インクキャンバスオブジェクト８０１は、インクエディタ８０２に付加され、入力イベント（フォーカス変化、キーボード入力、スタイラス入力など）を処理する。インクエディタ８０２は、中でも、構成要素化された編集ビヘイビア８０４（インクビヘイビアおよびインクに特有ではないビヘイビアを含むが、それに限定されないビヘイビア）の活動化を調整する。インク特有のビヘイビアは、インク編集ビヘイビア８０５に収集される。インク編集ビヘイビア８０５は、基本の活動化／非活動化(base activation/deactivation)発見法（ペンを上げると非活動化し、編集モードプロパティがインクキャンバスオブジェクト上で変化すると非活動化する、など）を提供する。インク編集ビヘイビア８０５は、インク収集ビヘイビア８０６、選択ビヘイビア８０７（投げ縄選択(lasso selection)を含む）、および追加のビヘイビア８０８を含む。インク特有でないビヘイビアは、ラバーバンド(rubberband)ビヘイビア８０９、ムーブビヘイビア８１０、リサイズビヘイビア８１１、および追加のビヘイビア８１２を含む。
【００５１】
インクエディタ８０２は、インクエディタ８０２からビヘイビア８０６〜８１２それぞれへの矢印によって示されるように、様々なビヘイビア８０６〜８１２を管理する。様々なビヘイビア８０６〜８１２は、関連する機能によってグループ化されることができる。たとえば、サブエレメント８０３中の内容の部分集合の作成または選択は、投げ縄選択ビヘイビア８０７およびラバーバンド選択ビヘイビア８０９を含むがそれに限定されない様々な選択ビヘイビアによって実施されることができる。サブエレメント８０３中の選択された内容は、様々なビヘイビアによっても、たとえば、（中でも）ムーブビヘイビア８１０およびリサイズビヘイビア８１１によっても同様に修正および／または操作されることができる。
【００５２】
インクキャンバスオブジェクト８０１に戻ると、これは、ユーザが書込みを行うことができる領域を有するための子をもたずに使われることができる。また、インクキャンバスオブジェクト８０１は、他のどの要素またはオブジェクトあるいは制御においても使われることができる。というのは、インクキャンバスオブジェクト８０１は、他のどのタイプの要素も収容することができるからである。このことは、開発者が、どの注釈可能なものも容易に作ること、またはインクで書くためのどのバックグラウンドも有することを可能にする。本発明の態様によると、インクは、様々なレベルでレンダリングされる（要素と混ぜられ、要素の上になり、または要素の下になる）ことができることを理解されたい。
【００５３】
インクキャンバスオブジェクトを使用するためのコードの一例は、以下のようになり得る。
【００５４】
【表１】
2007521523.tif 000003
【００５５】
ＩｎｋＣａｎｖａｓは、他のどのタイプの要素も収容することができるので、インクで書くための能力は、他のすべてのタイプのパネルに対して有効にされなくてよい。以下は、インクキャンバスとフローパネル（インクが表示される所）の間の関連づけを可能にするコードの断片の別の例である。
【００５６】
【表２】
2007521523.tif 000004
【００５７】
【表３】
2007521523.tif 000005
【００５８】
以下は、要素自体に関連づけられているインクオブジェクトを示す。このオブジェクトは、動的なプロパティとして、または便宜上、．ＮＥＴプロパティとして利用可能である。
【００５９】
【表４】
2007521523.tif 000006
【００６０】
以下は、インクキャンバスオブジェクトを使用するインクを含むＸＡＭＬの例である。
【００６１】
【表５】
2007521523.tif 000007
【００６２】
インクキャンバスオブジェクトの様々な点は、以下の１つまたは複数を含むことができる。
【００６３】
・どの要素も、ＸＡＭＬにおけるインクキャンバスの子になることができる。子は、絶対的に位置づけされることができる。
・どの動的なイベントも、ＸＭＬ属性を設定することによって付加されたコードを有することができる。
・どの動的なプロパティも、ＸＭＬ属性を設定することによって初期化されることができる。
・インクは、動的なプロパティを有しても有さなくてもよく、「インク」と呼ばれるＸＭＬ属性中に、ｂａｓｅ６４  ＩＳＦ（インクの格納形式）としてシリアル化されることができる。
・タグ本文は、最上位の認識結果列である。
【００６４】
クリッピング(clipping)
図９Ａ、図９Ｂ、および図９Ｃは、インクキャンバスオブジェクトの視覚的な属性を示す。インクキャンバスに表示されたインクは、クリップされても、されなくてもよい。一例では、インクキャンバスオブジェクトは、どの内容のクリッピングも、またはインク内容のみのクリッピングを防止するために、自動的にリサイズされることができる。あるいは、インクキャンバスは、あるサイズに設定されることができ、内容クリップまたはインク内容クリップのみをもつことができる。クリッピングは、クリッププロパティまたはクリッププロパティの組合せ（たとえば、一般的な内容クリップおよびインク特有のクリッププロパティ）によって、指定されることができる。図９Ａにおいて、インク９０１の全内容は、領域(region)９０２に示される。図９Ｂにおいて、インク全体が示される。インクの第１の部分９０３が、領域９０４に示される。インクの残りの部分９０５は、領域９０４の端からはみ出している。この場合、インククリッピングはオフである。図９Ｃにおいて、インク９０６は、領域９０７にクリップされる。この場合、クリッピングはオンである。
【００６５】
以上、本発明の例示的な実施形態を説明してきた。添付の特許請求の範囲およびその精神に含まれる多数の他の実施形態、修正形態および変形形態は、本開示を検討することによって当業者が考えつくであろう。
【図面の簡単な説明】
【００６６】
【図１】本発明による１つまたは複数の態様をサポートする汎用コンピュータを示す図である。
【図２】本発明の一実施形態による、スタイラスベースの入力システム用のディスプレイを示す図である。
【図３Ａ】本発明の一実施形態による、インターフェースの様々な例を示す図である。
【図３Ｂ】本発明の一実施形態において、どのようにして順序づけが制御されるかを示す図である。
【図４】本発明の一実施形態によって領域に加えられるインクを示す図である。
【図５】本発明の一実施形態による、オブジェクトのコンストラクタおよびプロパティを示す図である。
【図６】本発明の一実施形態による、オブジェクトのメソッドを示す図である。
【図７】本発明の一実施形態による、オブジェクトのイベントを示す図である。
【図８】本発明の一実施形態によるオブジェクトと様々なビヘイビアとの関係を示す図である。
【図９Ａ】本発明の一実施形態によって領域にクリップされるインクの様々な度合を示す図である。
【図９Ｂ】本発明の一実施形態によって領域にクリップされるインクの様々な度合を示す図である。
【図９Ｃ】本発明の一実施形態によって領域にクリップされるインクの様々な度合を示す図である。
【図１】
2007521523.tif 000008
【図２】
2007521523.tif 000009
2007521523.tif 000010
【図４】
2007521523.tif 000011
【図５】
2007521523.tif 000012
【図６】
2007521523.tif 000013
【図７】
2007521523.tif 000014
【図８】
2007521523.tif 000015
2007521523.tif 000016
【国際調査報告】
2007521523.tif 000017