JP2004030632A - ドキュメントの上に電子インクを重ねる方法 - Google Patents
ドキュメントの上に電子インクを重ねる方法 Download PDFInfo
- Publication number
- JP2004030632A JP2004030632A JP2003136561A JP2003136561A JP2004030632A JP 2004030632 A JP2004030632 A JP 2004030632A JP 2003136561 A JP2003136561 A JP 2003136561A JP 2003136561 A JP2003136561 A JP 2003136561A JP 2004030632 A JP2004030632 A JP 2004030632A
- Authority
- JP
- Japan
- Prior art keywords
- ink
- inkoverlay
- control
- inkpicture
- document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/171—Editing, e.g. inserting or deleting by use of digital ink
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04804—Transparency, e.g. transparent or translucent windows
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Editing Of Facsimile Originals (AREA)
- Inks, Pencil-Leads, Or Crayons (AREA)
- Exposure Or Original Feeding In Electrophotography (AREA)
- Document Processing Apparatus (AREA)
- Dot-Matrix Printers And Others (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
【解決手段】典型的なシナリオは、手書きのコメント、ドローイングなどを下にあるドキュメントの上に作成することなどにより、ドキュメントを電子インクでマークアップすることが有用である場合である。ある実施形態では、開発者は、ドキュメントの上に、透明または不透明なウィンドウなどのインキング表面を容易に画定することができる。インキング表面は、ドキュメント自体がマークアップされるように見えるようにインキング表面上にユーザが書き込むことができるような入力インターフェースとして働くことができる。
【選択図】 図2
Description
【発明の属する技術分野】
本発明の態様は、一般に電子インクをオーバーレイ化する方法および装置を対象とし、より詳細には、様々なインクオーバーレイ化機能を開発者が容易に利用することを可能にするアプリケーションプログラミングインターフェースを対象とする。
【0002】
典型的なコンピュータシステム、特にMicrosoft WINDOWS(登録商標)などのグラフィカルユーザインターフェース(GUI)システムを使用するコンピュータシステムは、テキストを入力するためのキーボードや、ユーザインターフェースを駆動するための1つまたは複数のボタンを有するマウスなどのポインティングデバイスなどの、1つまたは複数の別個の入力装置からユーザ入力を受け入れるうに最適化されている。ユービキタスキーボードおよびマウスインターフェースにより、ドキュメント、スプレッドシート、データベースフィールド、ドローイング、写真などの高速な作成および変更が可能となる。しかし、キーボードやマウスのインターフェースによって提供されるフレキシビリティは、コンピュータでない(すなわち標準的な)ペンや紙と比べて著しいギャップがある。標準的なペンや紙を使用した場合、ユーザはドキュメントを編集し、余白にメモを書き込み、絵や他の形状などを描く。ある場合、キーボードやマウスのインターフェースに制限されずに自由にメモを取ることができるために、ユーザは、画面上でドキュメントを検討するよりも、ペンを使用してドキュメントに書き込むことを望むことがある。
【0003】
ユーザが画面上に描画することを可能にするコンピュータシステムがある。例えば、Microsoft READERアプリケーションは、電子インク(本明細書では「インク」とも呼ぶ)をドキュメントに加えることを可能にする。このシステムは、インクを格納し、要求されたときにユーザにインクを提供する。他のアプリケーション(例えば、当技術分野で知られているドローイングアプリケーションは、Palm 3.xおよび4.xオペレーティングシステム、並びにPocketPCオペレーティングシステムに関連する)は、ドローイングのキャプチャおよび格納を可能にする。さらに、Coral Drawなどの様々なドローイングアプリケーションや、Photoshopなどのフォト/編集アプリケーションを、Wacomタブレット製品などのスタイラスベースの入力製品と共に使用することができる。これらのドローイングは、ドローイングを作成するのに使用するインクストロークに関連する他のプロパティを含む。例えば、線幅や色をインクと共に格納することができる。これらのシステムの1つの目標は、1枚の紙に付着する物理的インクのルックアンドフィールを複製することである。しかし、紙上の物理的インクは、座標の電子的集合と線分の接続ではキャプチャされない著しい情報量を有する可能性がある。この情報の一部には、(物理的インクの幅からわかるように)使用するペンチップの厚さまたは紙に対するペンの角度、ペンチップの形状、インクが付着するときの速度などが含まれる可能性がある。
【0004】
【発明が解決しようとする課題】
電子インクに伴って別の問題も生じている。電子インクは、電子インクが書き込まれるアプリケーションの一部とみなされてきた。これにより、電子インクの豊かさを他のアプリケーションまたは環境に提供することは基本的にできない。テキストは(例えば、クリップボードを使用することによって)様々なアプリケーション間で移植(port)することができるが、インクは、インクと対話する能力を有することができない。例えば、「8」の文字のイメージを作成し、作成したイメージをクリップボードにコピーしてドキュメントにペーストし、次いでインクをボールド体にすることができない。1つの困難は、アプリケーション間でイメージを移植することができないことである。
【0005】
【課題を解決するための手段】
本発明の態様は、プロパティと対話し、メソッドを起動し、かつ/または電子インクに関係するイベントを受け取る、フレキシブルで効率的なインターフェースを提供し、それによって従来の装置およびシステムで識別された問題のうちの1つまたは複数を解決する。本発明のある態様は、格納されたインクの内容を改善することに関する。他の態様は、格納されたインクを変更することに関する。
【0006】
開発者が、開発者の既存のアプリケーションおよび新規のアプリケーションにインク機能に関する最高のサポートを容易に追加することが可能となることが望ましい。インクが使用可能なアプリケーションに対して一貫したルックアンドフィールを適合させることを促進することも望ましい。例えば、通常はインク入力を受け入れることができ、または受け入れられないドキュメントに対する書込み、および/またはそのドキュメントとの対話に関するサポートを追加できることが望ましい。
【0007】
本発明の上記その他の特徴は、以下の好ましい実施形態の詳細な説明を考慮するときに明らかとなるであろう。
【0008】
前述の課題を解決するための手段と、以下の好ましい実施形態の詳細な説明は、添付の図面とともに読む場合に最もよく理解されよう。添付の図面は、例として含めるのであって、特許請求の範囲に記載された発明に関して限定するものではない。
【0009】
【発明の実施の形態】
以下に、ドキュメント上に電子インクを重ねる方法を説明する。
【0010】
一般的コンピューティングプラットフォーム
図1は、本発明の様々な態様を実装するのに使用することができる従来の汎用デジタルコンピューティング環境の一例の機能ブロック図である。図1では、コンピュータ100は、処理装置110と、システムメモリ120と、システムメモリを含む様々なシステム構成要素を処理装置110に結合するシステムバス130とを含む。システムバス130は、様々なバスアーキテクチャのうちのいずれかを用いる、メモリバスまたはメモリコントローラと、周辺バスと、ローカルバスとを含むいくつかのタイプのバス構造のうちのいずれでもよい。システムメモリ120は、読取り専用メモリ(ROM)140およびランダムアクセスメモリ(RAM)150を含む。
【0011】
起動中などにコンピュータ100内の要素間で情報を転送する助けになる基本ルーチンを含む基本入出力システム(BIOS)160が、ROM140内に格納される。コンピュータ100はまた、ハードディスク(図示せず)を読み書きするためのハードディスクドライブ170と、取外し可能磁気ディスク190を読み書きするための磁気ディスクドライブ180と、CD−ROMまたは他の光媒体などの取外し可能光ディスク192を読み書きするための光ディスクドライブ191とを含む。ハードディスクドライブ170、磁気ディスクドライブ180、および光ディスクドライブ191は、それぞれハードディスクドライブインターフェース192、磁気ディスクドライブインターフェース193、および光ディスクドライブインターフェース194によってシステムバス130に接続される。ドライブと、付随するコンピュータ可読媒体により、パーソナルコンピュータ100に対するコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性記憶が実現される。磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)など、コンピュータがアクセス可能な、データを格納することができる他のタイプのコンピュータ可読媒体もこの例示的動作環境で使用できることを当業者は理解されよう。
【0012】
いくつかのプログラムモジュールを、オペレーティングシステム195、1つまたは複数のアプリケーションプログラム196、他のプログラムモジュール197、およびプログラムデータ198を含むハードディスクドライブ170、磁気ディスク190、光ディスク192、ROM140、またはRAM150上に格納することができる。ユーザは、キーボード101およびポインティングデバイス102などの入力装置を介して、コンピュータ100にコマンドおよび情報を入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。これらの入力装置や他の入力装置はしばしば、システムバスに結合されるシリアルポートインターフェース106を介して処理装置110に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェースで接続することもできる。さらに、これらの装置は、適切なインターフェース(図示せず)を介してシステムバス130に直接接続することもできる。モニタ107または他のタイプのディスプレイ装置も、ビデオアダプタ108などのインターフェースを介してシステムバス130に接続される。モニタに加えて、パーソナルコンピュータは一般に、スピーカおよびプリンタなどの他の周辺出力装置(図示せず)を含む。好ましい実施形態では、フリーハンドの入力をデジタル式にキャプチャするために、ペンデジタイザ165と、添付のペンまたはスタイラス166が提供される。ペンデジタイザ165と処理装置110の間の直接接続を図示してあるが、実際には、ペンデジタイザ165は、シリアルポート、パラレルポート、または他のインターフェースペンデジタイザ165を介して処理装置110に接続することができ、当技術分野で周知のシステムバス130に接続することができる。さらに、デジタイザ165をモニタ107と別々に図示してあるが、デジタイザ165の使用可能入力エリアがモニタ107の表示エリアと同一の範囲を有することが好ましい。さらに、デジタイザ165をモニタ107に統合することができ、あるいはデジタイザ165は、モニタ107と重複するか、またはモニタ107に添付される独立の装置として存在することができる。
【0013】
コンピュータ100は、リモートコンピュータ109などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピュータ109は、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の共通ネットワークノードでよく、一般にコンピュータ100に関して上記で述べた要素のうちの多くまたはすべてを含むが、図1にはメモリ記憶装置111だけを示してある。図1に示す論理接続は、ローカルエリアネットワーク(LAN)112および広域ネットワーク(WAN)113を含む。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的なものである。
【0014】
LANネットワーキング環境で使用する際、コンピュータ100は、ネットワークインターフェースまたはアダプタ114を介してローカルネットワーク112に接続される。WANネットワーキング環境で使用する際、パーソナルコンピュータ100は一般に、インターネットなどの広域ネットワーク113を介して通信を確立するためのモデム115または他の手段を含む。モデム115は内蔵でも外付けでもよく、シリアルポートインターフェース106を介してシステムバス130に接続される。ネットワーク環境では、パーソナルコンピュータ100に関して示したプログラムモジュールまたはその一部を、リモートメモリ記憶装置に格納することができる。
【0015】
図示するネットワーク接続は例示的なものであって、コンピュータ間の通信リンクを確立する他の技法も使用できることを理解されよう。TCP/IP、イーサネット(登録商標)、FTP、HTTPなどの様々な周知のプロトコルのうちのいずれの存在も想定され、このシステムは、ユーザがウェブベースのサーバからウェブページを取り出すことが可能となるようにクライアントサーバ構成で動作することができる。ウェブページ上にデータを表示し、ウェブページ上のデータを操作するのに、様々な従来型ウェブブラウザのうちのいずれも使用することができる。
【0016】
図2に、本発明の様々な態様に従って使用することができるスタイラスベースのコンピュータ処理システム(タブレットPCとも呼ばれる)201の一例を示す。図1のシステムの特徴、サブシステム、および機能のいずれかまたはすべてを、図2のコンピュータに含めることができる。タブレットPC201は、複数のウィンドウ203が表示される大表示面202、例えばデジタル化フラットパネルディスプレイ、好ましくは液晶ディスプレイ(LCD)画面を含む。使用することができる他のディスプレイ技術には、限定はしないが、OLEDディスプレイ、プラズマディスプレイなどが含まれる。スタイラス204のチップ(本明細書では、チップを「カーソル」とも呼ぶ)を使用して、ユーザは、デジタル化表示エリアを選択し、強調表示し、デジタル化表示エリアに対して書き込むことができる。適切なデジタル化表示パネルの例には、MutohまたはWacomのペンデジタイザなどの電磁ペンデジタイザが含まれる。他のタイプのペンデジタイザ、例えば光デジタイザも使用することができる。タブレットPC201は、データを操作し、テキストを入力し、スプレッドシート、ワードプロセッシングプログラムなどの従来型コンピュータアプリケーションタスクを実行するために、スタイラス204を使用して作成されたマークを解釈する。
【0017】
スタイラスは、選択機能を高めるために、ボタンまたは他の機構を備えることができる。一実施形態では、スタイラスは、一端が書込み部分を構成し、他端が、ディスプレイを移動するときに、ディスプレイの各部分を消去すべきことを指示する「イレーザ」端を構成する「鉛筆」または「ペン」として実装することができる。マウス、トラックボールなどの他のタイプの入力装置も使用することができる。加えて、タッチ検知ディスプレイまたは接近検知ディスプレイ上の表示イメージの各部分を選択また指示するために、ユーザ自身の指を使用することもできる。したがって、本明細書で使用する用語「ユーザ入力装置」は、広範な定義を有し、周知の入力装置に対する多くの変形形態を包含するものとする。
【0018】
電子インク、およびインクオブジェクトの概念
本明細書で使用するインクは電子インクを指す。電子インクは、一続きのストロークまたは1組のストロークとして構成することができ、各ストロークは、一続きのポイントまたは1組のポイントを含む。一続きのストロークおよび/またはポイントは、キャプチャされた時間順に並べることができ、かつ/またはストロークおよび/またはポイントがページ上のどこに現れるかによって並べることができる。1組のストロークは、ストロークおよび/またはポイントの順序列、並びに/あるいは非整列のストロークおよび/またはポイントを含むことができる。ポイントは、デカルト座標(X,Y)、極座標(r,Θ)、および当技術分野で周知の他の技法を含む、様々な周知の技法を使用して表すことができる。あるいは、ストロークは、ポイントと、次のポイントの方向のベクトルとして表すこともできる。ストロークは、基礎となるポイントの表現、および/または何がポイントを接続するかに関わらず、インクに関するポイントまたはセグメントのどんな表現も包含するものとする。インクの集合は通常、デジタイザ(表示面202のデジタイザなど)で始まる。ユーザは、デジタイザ上にスタイラスを配置し、書込みまたはドローを開始する。その時点で、新しいインクパケット(すなわち、インク関係のデータのパケット)を生成することができる。ユーザはまた、デジタイザが検知するように、デジタイザに十分接近した空中でスタイラスを移動させることもできる。これが行われるとき、検知したスタイラスの空中の移動に従って、データのパケット(本明細書では「In−Airパケット」と呼ぶ)を生成することができる。パケットは、位置情報だけではなく、スタイラス圧力情報および/または角度情報も含むことができる。
【0019】
インクを格納するために、スタイラス204が表示面202および/または他の入力上に描いたインクの元のストロークを表すインクオブジェクトを生成することができる。収集されるインクのストロークは、表示面202上のどこからでも収集することができ、または特定のウィンドウなど、表示面202の画定した部分からのみ収集することができる。インクオブジェクトは、本質的にインクデータのコンテナである。インクをインクオブジェクト内に格納する具体的なフォーマットは、本発明にとって重要ではない。しかし、当初描かれたインクストロークをインクオブジェクト内に格納することが好ましい。
【0020】
インクオブジェクトの2つの例示的タイプを定義することができる。tInkオブジェクト(「t」は「テキスト」を意味する)は、文字またはワードを形成すると予想されるインクを表すOLEオブジェクトとして実施することができる。tInkオブジェクトにより、手書きのインクをテキスト認識器などによってテキストに変換することが可能となる。tInkオブジェクトは、インクと関係し、かつテキストコンテキストを有するインクオブジェクトと呼ぶことができる。テキストインクの色および/またはフォントサイズ、並びにテンキストインクをアンダーライン、ボールド、および/またはイタリックなどにすべきかどうかなどをプログラム的に設定することができ、それらは、tInkオブジェクトの周りのテキストの属性に基づくことができる。言い換えれば、tInkオブジェクトの意図される挿入点の周囲のプロパティをtInkオブジェクトに適用することができる。一実施形態では、tInkオブジェクトは、センテンスが複数のtInkオブジェクトを含むことができるように、テキスト認識器にサブミットする単一のワードだけを含む。一方、ワードを形成するとは予想されないインクを表すオブジェクトとして、sInkオブジェクト(「s」は「スケッチ」を意味する)も定義することができる。sInkオブジェクトもOLEオブジェクトとすることができる。したがって、sInkオブジェクトは、ドローイングコンテキストまたは任意の他の非テキストコンテキストとして解釈することができる。sInkオブジェクトは、複数のワードを表すのにも有用であることがある。インク互換アプリケーション(および/またはユーザ)は、あるインクオブジェクトをtInkオブジェクトとしてマークし、他のインクオブジェクトをsInkオブジェクトとしてマークすることができる。本明細書では、この2つのタイプのインクを「tInk」および「sInk」として説明する。しかし、使用することができる様々なタイプのインクオブジェクトを表すのに他の名前も使用できることを理解されたい。さらに、所望のフォーマットで電子インクを格納するために別のタイプのオブジェクトを使用することもできる。
【0021】
インク制御APIの概要
図3を参照すると、本明細書でインク制御APIと呼ぶAPIが、様々なオブジェクトおよび制御についてのモデルを開発者に提供している。インク制御APIは、MicrosoftネイティブWin32 COM API、Microsoft ActiveX API、および/またはMicrosoft Managed APIなどの様々なアプリケーション開発ソフトウェアを使用する開発者が利用可能である。インク制御APIにより、開発者は、既存のインク非互換アプリケーションおよび新規のアプリケーションに、インクに関する最高のサポートを容易に追加することが可能となる。開発者が行う必要があるのは、単に適切な制御を追加し、様々なプロパティを設定することだけである。インク制御APIはさらに、インク使用可能なアプリケーションに対して一貫したルックアンドフィールを適合させることを促進する。インク制御APIは、ユーザ体験を実装するための優れた開始点として働くことができる。加えて、インク制御APIは、開発者が望む可能性が高いが、普通ならそれ自体をスクラッチから作成しなければならなかったインキングユーザインターフェース要素を提供する。
【0022】
インク制御APIの様々なオブジェクトおよび制御は、InkCollector自動化オブジェクト302、InkCollector管理オブジェクト306、InkOverlay自動化オブジェクト303、InkPictureActiveX制御304、InkOverlay管理オブジェクト305、PictureBox WinForms制御301、および/またはInkPicture WinForms制御307を含む。InkCollectorオブジェクト302は、ユーザが(表示面202上などに)描いたインクを収集する。InkOverlayオブジェクトは、開発者が、アプリケーションに注釈機能を容易に追加し、InkCollectorオブジェクト302のインク収集機能を拡張し、インクの選択、移動、消去などの基本編集のサポートを提供することを可能にする。InkPicture制御は、InkOverlayオブジェクトのAPI要素の一部またはすべてを包含し、開発者がインクの収集および編集のためのウィンドウにエリアを追加することを可能にする。InkPicture制御はさらに、開発者が背景のピクチャ、イメージ、および/または色をウィンドウに追加することを可能にする。
【0023】
以下でさらに説明するこれらのオブジェクトおよび制御は、ActiveXホストアプリケーション(例えばVB6)および/またはWin32ホストアプリケーション(301と総称する)、および/または共通言語ランタイム(CLR)ホストアプリケーション(VB7/C#)306などの1つまたは複数のホストアプリケーションと対話することができる。ネイティブのWin32/ActiveX開発者は、InkOverlay自動化オブジェクト303およびInkPicture ActiveX制御304を使用することができ、CRLを使用する開発者は、InkOverlay管理オブジェクト305およびInkPicture WinForms制御307を使用することができる。この図では、実線の矢印が例示的な継承メタファーを表し、破線の矢印が例示的な使用法メタファーを示す。
【0024】
InkCollectorオブジェクト
InkCollectorオブジェクトを使用して、インク入力装置からインクをキャプチャすることができ、かつ/またはインクをアプリケーションに送達することができる。InkCollectorオブジェクトはある意味で、1つまたは複数のインクストロークとしてインクを収集し、インクを1つまたは複数の関連するインクオブジェクト内に格納することによって、1つまたは複数の異なる、かつ/または別個のインクオブジェクトにインクを「注ぐ」蛇口として振る舞う。InkCollectorオブジェクトは、InkCollectorオブジェクト自体を周知のアプリケーションウィンドウに付加することができる。次いでInkCollectorオブジェクトは、任意またはすべての利用可能なタブレット装置(スタイラス204および/またはマウスを含めることができる)を使用することにより、そのウィンドウに対してリアルタイムインキングを提供することができる。InkCollectorオブジェクトを使用するために、開発者はそれを作成し、描画されたインクを収集するウィンドウを割り当て、オブジェクトを使用可能にすることができる。InkCollectorオブジェクトを使用可能にした後、インクストロークおよび/またはジェスチャを収集する様々なインク収集モードでインクを収集するようにInkCollectorオブジェクトを設定することができる。ジェスチャは、レンダリングされたインクとして解釈されるのではなく、あるアクションまたは機能を実施するための要求またはコマンドとして解釈される、スタイラス204の移動または他のアクションである。例えば、インクを選択するために特定のジェスチャを実施することができ、一方別のジェスチャは、インクをイタリックにするためのジェスチャとすることができる。デジタイザ入力上、またはその近傍でスタイラスが移動するごとに、InkCollectorオブジェクトがストロークおよび/またはジェスチャを収集することになる。
【0025】
InkOverlayオブジェクト
InkOverlayオブジェクトは、エンドユーザが必ずしもインクに対する認識を実施することに関心がないが、インクのサイズ、形状、色、および位置に関心のある可能性のある注釈シナリオに対して有用なオブジェクトである。これは、ノートを取ることや、基本的な走り書きに非常に適している。このオブジェクトの主に意図される使用法は、インクをインクとして表示することである。デフォルトユーザインターフェースは、不透明なインクを有する透明な長方形である。InkOverlayは、いくつかの方式でInkCollectorクラスを拡張する。例えば、InkOverlayオブジェクト(および/または以下で論じるInkPicture制御)は、インクの選択、消去、およびサイズ変更、並びに削除、カット、コピー、およびペーストの各コマンドをサポートすることができる。
【0026】
InkOverlayオブジェクトが有用である典型的なシナリオは、下にあるドキュメントの上に手書きのコメント、図面などを作成することなどによってドキュメントをマークアップすることである。InkOverlayオブジェクトにより、このシナリオのために必要なインキング機能およびレイアウト機能を容易に実装することが可能となる。例えば、InkOverlayオブジェクトを扱うために、InkOverlayオブジェクトをインスタンス化し、別のウィンドウのhWndにInkOverlayを付加し、InkOverlay使用可能プロパティを真に設定することができる。
【0027】
図4を参照すると、InkOverlayオブジェクトの内部依存関係および外部依存関係を構成するコンポーネントパーツの高レベルブロック図が示されている。矢印は使用法メタファーを示す。InkOverlayオブジェクト401はInkCollectorオブジェクト402からインクを受け取ることができる。InkOverlayオブジェクト401は、選択管理機能403および/または編集機能404を有することができる。以下の例で論じるように、InkOverlayオブジェクト401は、別のオブジェクト、ウィンドウ、または紙をスキャンした形式などの他の表示項目を透過的に重ねるために、透過性オーバーレイウィンドウ管理機能を有することができる。外部では、InkOverlayオブジェクト401は様々なアプリケーションおよびAPIと対話することができる。例えば、アプリケーションは、様々な低レベルインキング機能を実装するのにInkOverlayオブジェクト401を使用することができる。一実施形態では、このようなアプリケーションはMicrosoft Windows(登録商標)INK SERVICES PLATFORM(登録商標)(WISP)406でよい。アプリケーション406はWISPに限定されず、かつ、本明細書で論じる他の要素と同様に、Microsoft WINDOWS(登録商標)環境に限定されないことに留意されたい。InkOverlayオブジェクト401はさらに、低レベルWISP406機能の多くを自動化するAPIと対話することができる。この実施形態では、このようなAPIは自動化API407と呼ばれる。自動化API407は、上記で論じたインク制御APIを含み、かつインクオブジェクト、InkCollectorオブジェクト、InkOverlayオブジェクト、およびInkPictureオブジェクトを含むオブジェクトモデルを開発者に提供する。InkOverlayオブジェクト401はさらに、Microsoft Windows(登録商標)Win32 API408および/またはMicrosoft.NET(登録商標)APIなどの、1つまたは複数のオペレーティングシステムAPIと対話することができる。
【0028】
InkOverlayオブジェクト401の選択管理機能403はインクの選択をサポートする。インクは、lassoツール(トレース領域中に含まれるオブジェクトの選択)などの様々な方式で選択することができる。InkOverlayオブジェクト401はまた、インクオブジェクトがクリックオンされ、かつ/またはインクオブジェクトの近くが選択されるタップ選択をサポートすることもできる。インクオブジェクトまたは1組のインクオブジェクトが選択されたとき、サイズ変更ハンドル(例えば8個のサイズ変更ハンドル)がインクのバウンディングボックスの4つのコーナと、隣接するコーナ間の1つまたは複数の中点に出現することができる。サイズ変更ハンドルを移動することにより、選択したインクをハンドルの移動に従ってサイズ変更させることができる。キーボードまたは他の修飾子を使用して、サイズ変更中に元のアスペクト比を維持するようにInkOverlayオブジェクトに指令することができる。インクはさらに、所望の他の任意の手段を使用してサイズ変更することができる。さらに、キーボードまたは他の修飾子を使用して、ドラッグ中にインクをサイズ変更するのではなく、選択したインクをドラッグ操作中にコピーするようにInkOverlayオブジェクトに指令することができる。選択した領域内のどこかをユーザが押下して保持する場合、インクは制御内部で移動可能となる。長方形選択メタファー、並びに/あるいはワード、センテンス、および/またはパラグラフの選択メタファーをさらに使用することができる。例えば、インクワード内部をクリックすることによりワードが選択され、インクセンテンス内部のどこかをクリックすることによりセンテンス全体が選択され、インクパラグラフ内部のどこかをクリックすることにより、同様にパラグラフ全体が選択される。選択のための他の手段には、インクストロークの選択を示すインクストローク上またはその近くでのシングルクリック、ワード全体を選択するワード上またはその近くでのダブルクリック、およびセンテンス全体を選択するトリプルクリックなどの、選択挙動を示す特定のジェスチャを使用することが含まれる。加えて、InkOverlayオブジェクトのAPIをプログラム式に、またはエンドユーザの入力によって直接呼び出すことにより、インクを選択および/または変更することができる。
【0029】
加えて、InkOverlayオブジェクトはインク消去機能を提供することができる。例えば、InkOverlayオブジェクトは、ストローク消去モードおよび/またはポイント消去モードを提供することができる。ストローク消去モードでは、カーソルが下降し、かつ既存のインクストロークと接触する場合、ストロークは完全に除去される。ポイント消去モードでは、カーソルが下降し、かつ既存のインクストロークと接触する場合、カーソルとインクストロークの重なる領域だけが消去される。
【0030】
InkOverlay API
次に、図5を参照しながら、InkOverlayオブジェクトに関する例示的アプリケーションプログラミングインターフェース(API)を論じる。図5では、InkOverlayオブジェクト501がボックスで表され、APIの様々な要素(または機能的にグループ化された要素)が、InkOverlayオブジェクト501を表すボックスから出て、かつ/またはボックスに入る、符号を付けた矢印542〜558として示されている。一般には、InkOverlayオブジェクト501ボックスに入る矢印は、大部分は(InkOverlayオブジェクト501のプロパティのうち1つを変更することによって)InkOverlayオブジェクト501を変更し、かつ/またはInkOverlayオブジェクト501に情報を提供するAPI要素(または機能的にグループ化された要素)を指す。InkOverlayオブジェクト501ボックスから出る矢印は、大部分はフラグ、またはInkOverlayオブジェクト501によってInkOverlayオブジェクト501の環境に提供される何らかの他の情報を表すAPI要素(または機能的にグループ化された要素)を指す。しかし、矢印の方向は限定的なものではなく、したがって、InkOverlayオブジェクト501に入る矢印は、InkOverlayオブジェクト501により、InkOverlayオブジェクト501の環境に提供される情報も表すことを防げられているわけではない。同様に、InkOverlayオブジェクト501から出る矢印は、InkOverlayオブジェクト501に対する情報を変更または提供することを防げられているわけではない。図5はさらに、InkOverlayオブジェクト501の複数のプロパティ502〜520を示す。
【0031】
例示的実施形態でのInkOverlay APIは、以下の列挙(図示せず)の一部またはすべてを、任意の組合せまたはサブコンビネーションとして有する。アプリケーションジェスチャ列挙は、1組のアプリケーション特有のジェスチャへの関心を設定する値を定義する。収集モード列挙は、InkOverlayオブジェクトの収集モード設定を決定する値を定義する。イベントインタレスト列挙は、InkOverlayオブジェクトおよび/またはInkColletorオブジェクトを使用する開発者が受け取ることに関心のあるイベントを定義する。InkOverlayオブジェクトはイベントインタレスト列挙を使用して、イベントを介して開発者に提供する情報を決定する。マウスポインタ列挙は、表示すべきマウスポインタのタイプを指定する値を定義する。この列挙は、InkPicture制御およびInkCollectorオブジェクトでも現れる。オーバーレイ付加モード列挙は、新しいInkOverlayオブジェクトを付加する場所(InkOverlayオブジェクトが付加されるウィンドウ中の制御および/またはテキストの後ろまたは前)を指定する値を定義する。InkOverlayオブジェクトが前に付加される場合、ウィンドウ中の制御および/またはテキストの前にインクがレンダリングされることを意味する。InkOverlayオブジェクトが後に付加される場合、インクが付加されるウィンドウ中に直接インクがレンダリングされ、したがってウィンドウ階層内の他の任意の制御または子ウィンドウの後ろにレンダリングされることを意味する。オーバーレイ編集モード列挙は、InkOverlayオブジェクトが使用すべき編集モード(インクのドローイング、インクの削除、インクの編集)を指定する値を定義する。イレーザモード列挙は、削除するように編集モード列挙が設定されるときにインクを消去する方式を指定する値を定義する。システムジェスチャ列挙は、1組のオペレーティングシステム特有のジェスチャへの関心を設定する値を定義する。
【0032】
例示的実施形態でのInkOverlay APIはまた、設定することができ、それが表す情報を返すことができる以下のプロパティのうちの1つまたは複数も、任意の組合せまたはサブコンビネーションとして有する。付加モードプロパティ502は、オブジェクトが所与のウィンドウの後ろに付加されるのか、それとも前に付加されるのかを表す。自動再描画プロパティ503は、ウィンドウが無効にされたときにInkCollectorが再ペイントされるかどうかを表す。インク収集プロパティ504は、オブジェクトがインクの収集でビジーであるかどうかを表す。収集モードプロパティ505は、オブジェクトがインクだけを収集しているのか、ジェスチャだけを収集しているのか、それともインクとジェスチャを共に収集しているのかを表す。カーソル収集関係のプロパティ506は、オブジェクトが直面するカーソルの集合を表す。ドローイング属性プロパティ507は、インクを収集および表示する際に使用するデフォルトドローイング属性を表す。このプロパティで指定されるドローイング属性は、新しいカーソルに割り合てられる属性であり、このドローイング属性を、デフォルトドローイング属性がヌルに設定されるカーソル集合中のカーソルに適用することができる。パケット記述プロパティ508は、InkOverlayオブジェクト501のパケット記述を表す。動的レンダリングプロパティ509は、インクが収集されるときにInkOverlayオブジェクト501がインクを動的にレンダリングするかどうかを表す。編集モードプロパティ510は、オブジェクトがインクモードにあるのか、削除モードにあるのか、それとも選択/編集モードにあるのかを表す。InkCollector使用可能プロパティは、InkCollectorがペン入力(In−Airパケット、レンジイベント中のカーソルなど)を収集するかどうかを表す。様々なイレーザプロパティ512は、インクがストロークで消去されるのか、それともポイントで消去されるのか、インクをどのように消去するのか、並びにイレーザペンチップの幅を表す。ウィンドウハンドルプロパティ513は、InkOverlayオブジェクト501によりInkOverlayオブジェクト501自体が付加されるハンドルを表す。関連インクオブジェクトプロパティ514は、InkOverlayオブジェクトに関連するインクオブジェクトを表す。マージンプロパティ515は、付加されているウィンドウハンドルに関連するウィンドウ長方形の周囲のInkOverlayオブジェクト501の、画面座標であることが好ましいx軸マージンおよびy軸マージンを表す。さらに、マージンプロパティ515は、以下で議論するウィンドウ長方形メソッド555に関連する挙動を達成する別の手段を提供することができる。1つまたは複数のカスタムマウスカーソルプロパティ516は、現在のカスタムマウスアイコン、オブジェクトのインク可能部分の上などのInkOverlayオブジェクト501の上にマウスがあるときに表示されるマウスポインタのタイプ、および/またはアクティブなポインティングデバイス(例えばマウス102のスタイラス204)により、表示されるカーソルがInkOverlayオブジェクトの上にされるときに表示されるカーソルを表す。レンダラプロパティ517は、画面上にインクを描画するのに使用するレンダラを表す。選択プロパティ518は、現在選択されているインクストロークの集合を表す。高コントラストインクプロパティ519は、インクが高コントラストで、例えば1色だけでレンダリングされるかどうか、およびシステムが高コントラストモードにあるとき、すべての選択UI(例えば選択バウンディングボックスおよび選択ハンドル)が高コントラストで描画されるかどうかを表す。タブレットプロパティ520は、カーソル入力を収集するためにオブジェクトが現在使用しているタブレットを表す。
【0033】
例示的実施形態でのInkOverlay APIはまた、複数の関連するイベントおよびメソッドを、任意の組合せまたはサブコンビネーションとして有する。例えば、カーソル関係のイベントおよびメソッド542、544が存在する可能性がある。このようなカーソル関係のイベントは、カーソル(スタイラス204のチップなど)がタブレットコンテキストの物理的検出範囲内にあるかどうかに応じて、またはカーソルがデジタル化タブレット表面(例えば表面202)と物理的に接触していることに応答して発生する。カーソル関係のメソッドは、それぞれのカーソル関係のイベントが発生することに応答して呼び出される。これらの機能により、開発者がInkOverlayオブジェクトのカーソル機能を拡張および上書きすることが可能となる。
【0034】
InkOverlay APIはさらに、カーソルボタン関係のイベントおよびメソッド543を有することができる。このようなカーソルボタンイベントは、カーソル(例えばスタイラス204)上のボタンが上がっているか、それとも押下されているかに応じて発生する。カーソルボタン関係のメソッドは、それぞれのカーソルボタン関係のイベントが発生することに応答して呼び出される。これらの機能により、開発者がInkOverlayオブジェクトのカーソルボタン機能を拡張および上書きすることが可能となる。
【0035】
InkOverlay APIはさらに、ジェスチャ関係のイベントおよびメソッド545、554を有することができる。このようなジェスチャ関係のイベントは、システムジェスチャが認識されること、またはアプリケーション特有のジェスチャが認識されることに応答して発生する。あるジェスチャ関係のメソッドは、それぞれのジェスチャ関係のイベントが発生することに応答して呼び出される。別のジェスチャ関係のメソッドは、所与の1組のジェスチャへのInkOverlayオブジェクト501の関心を指定し、またはその関心を取り出す。これらの機能により、開発者がInkOverlayオブジェクトのジェスチャ機能を拡張および上書きすることが可能となる。
【0036】
InkOverlay APIはさらに、タブレット関係のイベントおよびメソッド546、558を有することができる。あるタブレット関係のイベントは、タブレットがシステムに追加され、またはシステムから除去されることに応答して発生する。タブレット関係のメソッドは、それぞれのタブレット関係のイベントが発生することに応答して呼び出される。他のタブレット関係のメソッド558は、InkOverlayオブジェクト501を、全タブレットモードまたは統合タブレットモードに設定することを指定する。全タブレットモード(デフォルトモードでよい)では、複数の装置がシステムに取り付けられる場合にすべてのタブレット装置が統合される。タブレット装置のすべてが統合されるので、利用可能なカーソルをタブレット装置のいずれにも使用することができ、各タブレットが、同じドローイング属性を使用して画面全体にマッピングされる。統合タブレットモードでは、統合タブレットスタイルコンピュータ入力面が、ディスプレイ画面と同じ表面を共有する。このことは、タブレットスタイルコンピュータ入力面全体が画面全体にマッピングされ、ウィンドウの自動更新が可能となることを意味する。
【0037】
InkOverlay APIはさらに、パケット関係のイベントおよびメソッド547を有することができる。このようなパケット関係のイベントは、新しく描画されたパケット、および新しいIn−Airパケットに応答する。パケット関係のメソッドは、それぞれのパケット関係のイベントが発生したことに応答して呼び出される。これらの機能により、開発者がInkOverlayオブジェクトのスタイラス機能および応答性を拡張および上書きすることが可能となる。
【0038】
InkOverlay APIはまた、ペインティング関係のイベントおよびメソッド548も有することができる。このようなペインティング関係のイベントは、InkOverlayオブジェクト501がインクを選択すると共にインクをペイントする直前に発生し、それによって開発者がインクの外観を変更し、またはインク自体を変更する機会が許される。ペインティング関係のイベントはまた、InkOverlayオブジェクト501がインクのペインティングを完了したことに応答して発生することもでき、それによって開発者が、既に描画したインクに加えて何かを描画することが可能となる。ペインティング関係のメソッドは、それぞれのペインティング関係のイベントが発生したことに応答して呼び出される。この機能により、開発者がInkOverlayオブジェクトのインクレンダリング挙動を拡張および上書きすることが可能となる。これらのペインティング関係のメソッドはまた、実際にはInkOverlayオブジェクトの一部でなくともよく、その代わりに、開発者が、ペインティング関係のイベントがファイアされることに応答して適切に呼び出されるようにそのようなメソッドを実装し、かつそれをInkOverlayオブジェクトに接続する目的で利用可能である。
【0039】
InkOverlay APIはまた、選択関係のイベントおよびメソッド549も有することができる。ある選択関係のイベントは、選択が変更される前に発生し、それによって発生しようとしている選択変更を変更する機会が開発者に与えられる。選択関係のイベントはまた、変更を完了した選択に、プログラム的に、またはエンドユーザアクションの結果として応答することもできる。他の選択関係のイベントは、移動しようとしている現在の選択の位置に応答して、または現在の選択の位置が変更されたときに発生する。さらに別の選択関係のイベントは、変更されようとしている現選択のサイズ、または変更された現選択のサイズに応答して発生する。選択関係のメソッドは、それぞれの選択関係のイベントが発生したことに応答して呼び出される。これらの機能により、開発者がInkOverlayオブジェクトの選択機能および編集機能を拡張および上書きすることが可能となる。
【0040】
InkOverlay APIはさらに、インクストローク関係のイベントおよびメソッド550、551を有することができる。あるこのようなストローク関係のイベントは、ユーザが新しいストロークを任意のタブレット上に描画することに応答する。他のストローク関係のイベントは、削除されようとしているストローク、または削除されたストロークに応答する。ストローク関係のメソッドは、それぞれのストローク関係のイベントが発生したことに応答して呼び出される。これらの機能により、開発者がInkOverlayオブジェクトのインク消去機能を拡張および上書きすることが可能となる。
【0041】
InkOverlay APIは、様々な別の多岐にわたるメソッドを有することができる。例えば、ドローメソッド552は、提供される装置コンテキスト(例えば画面、プリンタなど)内の指定の長方形に関するインクおよび選択Ulを描画することができる。他のメソッド553は、特定のInkOverlayイベントの現状態(例えば、イベントがリスニングされているか、それとも使用されているか)を設定し、その現状態を取り出す。さらに別のメソッド555セットは、インクが描画されるウィンドウ座標として、設定するウィンドウ長方形を指定し、またはそのウィンドウ長方形を取り出す。別のメソッド556は、所与の座標がサイズ変更ハンドルのうちの1つに対応するか、選択した領域の内部に対応するか、または全く選択されていないかを判定する。コンストラクタ557は、指定のウィンドウハンドルに付加することができ、指定のタブレット上に位置することができ、ウィンドウ入力長方形をタブレット入力長方形にマッピングすることができる新しいInkOverlayオブジェクトの作成を指定する。
【0042】
例示的実施形態でのInkOverlay APIはまた、様々なマージン定数(図示せず)も有することができる。第1のマージン定数はストロークがデフォルトのマージンの外側にあるとき、ストロークをクリップすべきかどうかを指定する値を返す。第2のマージン定数は、マージンプロパティによって使用されるデフォルトマージンを返す。これらの定数は、InkCollectorオブジェクトおよびInkPicture制御内のプロパティとしても現れる。
【0043】
InkPicture制御
前述のように、インクの収集および編集のためのウィンドウを開発者が追加することを可能にする制御(本明細書ではInkPicture制御と呼ぶ)を作成することができる(例えば、ActiveX制御でよい)。InkPicture制御により、ユーザがインクを追加することができるアプリケーションまたはウェブページ内にイメージを配置することができる。イメージは、.jpg、.bmp、.png、または.gifフォーマットなどのどんなフォーマットでもよい。InkPicture制御は主に、必ずしもインクをテキストとして認識する必要がなく、その代わりに、または追加でインクとして格納することができるシナリオのためのものである。例示的実施形態では、InkPicture制御のための実行時ユーザインターフェースは、例えば、不透明または半透明なインクを含む不透明な背景(単色の背景、ピクチャの背景、またはその両方など)を有するウィンドウである。例示的実施形態では、InkPicture制御は、ActiveXまたは他の制御を有するInkOverlayオブジェクトをラッピングする。
【0044】
InkPicture API
図6を参照すると、例示的InkPicture制御601が示されている。InkPicture制御601は、InkOverlayオブジェクト501のAPI要素の一部またはすべてを公開し、加えて図6に示すAPI要素の一部またはすべてを公開する。例えば、1つの例示的実施形態では、InkPicture制御601により、付加モードプロパティ502および/またはウィンドウハンドルプロパティ513を除き、InkOverlay API要素のすべてにアクセスすることが可能となる。InkPicture制御601は、以下で論じるように、InkOverlayAPIの機能に追加されるInkPicture制御601自体のAPIを有することができる。ある実施形態では、InkPicture制御601はActiveX制御でよく、InkOverlayオブジェクト501と比較して以下の機能を追加することができる。その機能とは、キーボードイベント、制御サイジングイベント、追加のマウスイベント、および/または背景色、およびイメージ関係のプロパティである。加えて、InkPicture制御601はMicrosoft PictureBoxを継承することができる。例えば、PictureBoxは、背景イメージなど、InkPicture制御601に関して本明細書で論じたプロパティの一部またはすべてを実装することができる。
【0045】
図6では、InkPicture制御601はボックスで表されており、APIの様々な要素(または機能的にグループ化された要素)が、InkPicture制御601を表すボックスから出て、かつ/またはボックスに入る、符号を付けた矢印640〜658として示されている。一般には、InkPicture制御601ボックスに入る矢印は、大部分は(例えばピクチャ制御601のプロパティのうち1つを変更することによって)ピクチャ制御601を変更し、かつ/またはInkPicture制御601に情報を提供するAPI要素(または機能的にグループ化された要素)を指す。InkPicture制御601ボックスから出る矢印は、大部分はフラグ、またはInkPicture制御601によってInkPicture制御601の環境に提供される何らかの他の情報を表すAPI要素(または機能的にグループ化された要素)を指す。しかし、矢印の方向は限定的なものではなく、したがって、InkPicture制御601に入る矢印は、InkPicture制御601により、InkPicture制御601の環境に提供される情報も表すことを防げられているわけではない。同様に、InkPicture制御601から出る矢印は、InkPicture制御601に対する情報を変更または提供することを防げられているわけではない。図6はさらに、InkPicture制御601の複数のプロパティ602〜626を示す。
【0046】
例示的実施形態では、InkPicture制御601に関するAPIは、1つまたは複数の列挙(図示せず)を有することができる。例えば、インクピクチャサイズ列挙は、ピクチャが制御内に適合するように自動サイズ変更するか、または制御内の中心に来るか、または制御内で通常のサイズで現れるか、または制御内で広げられるかなど、背景ピクチャのInkPicture内部での振舞いを指定する値を定義する。さらに、ユーザインターフェース列挙は、フォーカスキューおよびキーボードキューの状態、フォーカス長方形がステータスの変更後に表示されるかどうか、および/またはステータスの変更後にキーボードキューにアンダーラインを引くかどうかなど、InkPicture制御に関するユーザインターフェースの状態を指定する値を定義する。
【0047】
例示的実施形態では、InkPicture制御601に関するAPIは、様々な関連するプロパティ602〜626の一部またはすべてを、任意の組合せまたはサブコンビネーションとして有することができる。例えば、1つまたは複数のアクセス可能性プロパティ602は、アクセス可能性クライアントアプリケーションと、InkPicture制御のアクセス可能な役割が使用するInkPicture制御の名前および記述を表す。アンカプロパティ603は、InkPicture制御のどの端部がInkPicture制御のコンテナの端部に固定されるかを表す。1つまたは複数の背景プロパティ604は、InkPicture制御に関する背景色と、InkPicture制御内に表示される背景イメージを表す。枠スタイルプロパティ605は、InkPicture制御に関して使用する枠スタイルを表す。妥当性検査プロパティ606は、InkPicture制御が、フォーカスを受け取ったときに、妥当性検査を必要とする何らかの制御に対して妥当性検査を実施させるかどうかを表す。コンテナプロパティ607は、InkPicture制御を含むコンテナを表す。ドックプロパティ608は、InkPicture制御がドッキングされる、親コンテナの1つまたは複数の端部を表す。1つまたは複数のドラッグプロパティ609は、ドラッグアンドドロップ操作でポインタとして表示すべきアイコンと、ドラッグアンドドロップ操作に対してマニュアルドラッグモードを使用するか、それともオートドラッグモードを使用するかを表す。使用可能プロパティ610は、InkPicture制御がフォーカス可能であるかどうかを表す。1つまたは複数の寸法プロパティ611は、InkPicture制御の高さ、InkPicture制御の幅、並びにInkPicture制御の高さおよび幅の両方を表す。これらの寸法プロパティは、ピクセルなどのどんな単位でもよい。コンテキスト感応型ヘルププロパティ612は、InkPicture制御の関連するコンテキスト識別を表し、このコンテキスト感応型ヘルププロパティ612を使用して、アプリケーションに関するコンテキスト感応型ヘルプを提供することができる。ウィンドウハンドルプロパティ613は、インクを描画するウィンドウのハンドルを表す。イメージプロパティ614は、InkPicture制御内に表示されるイメージを表す。制御アレイインデックスプロパティ615は、制御アレイ中のInkPicture制御を識別する番号を表す。1つまたは複数の位置プロパティ616は、制御の内部の左端と制御のコンテナの左端との間の距離、並びに制御の内部の上端と制御のコンテナの上端との間の距離を表す。ロックプロパティ617は、InkPicture制御の内容を編集することができるかどうかを表す。可視性プロパティ618は、InkPicture制御が可視であるかどうかを表す。制御名プロパティ619は、InkPicture制御の名前を表す。オブジェクトプロパティ620は、InkPicture制御に対応するオブジェクトを表す。親オブジェクトプロパティ621は、制御がその上に位置するオブジェクトを表す。サイズモードプロパティ622は、InkPicture制御がイメージの配置およびサイズ変更をどのように処理するかを表す。1つまたは複数のタブプロパティ623は、InkPicture制御の親コンテナ内のInkPicture制御のタブ順序と、ユーザがタブキーを使用してInkPicture制御にフォーカスを与えることができるかどうかを表す。オブジェクトタグプロパティ624は、オブジェクトについての拡張プロパティ、またはカスタムデータを表す。ツールチッププロパティ625は、マウス(またはスタイラス)がInkPicture制御の上で停止したときに表示されるテキストを表す。ヘルププロパティ626は、InkPicture制御の関連するコンテキスト番号を表す。「What’s This?」ポップアップを使用する、アプリケーションに関するコンテキスト感応型ヘルプを提供するために、ヘルププロパティ626を使用することができる。
【0048】
例示的実施形態でのInkPictureAPIはさらに、複数の関連するイベントおよびメソッドを、任意の組合せまたはサブコンビネーションとして有することができる。例えば、フォーカス設定メソッド640は、InkPicutre制御にフォーカスを割り当てるべきであることを指定する。1つまたは複数のフォーカスイベント641は、InkPicture制御がフォーカスを失い、またはフォーカスを受け取ったことに応答して発生する。ユーザインターフェースフォーカスイベント642は、フォーカスキューまたはキーボードユーザインターフェースキューが変化したことに応答して発生する。zオーダメソッド643は、InkPicture制御のグラフィカルレベル内のzオーダの前または後ろにInkPicture制御を配置することを指定する。制御サイズイベント644は、InkPicture制御がサイズ変更されたことに応答して発生する。サイズモードイベント645は、サイズモードプロパティ622が変更されたことに応答して発生する。サイズ変更/移動メソッド646は、InkPicture制御の移動および/またはサイズ変更を指定する。スタイルイベント647は、InkPicture制御のスタイルの変化に応答して発生する。作成メソッド648は、新しいInkPicture制御の作成を指定する。ドラッグメソッド649は、InkPicture制御に対するドラッグ操作の開始端および/または取消しを指定する。1つまたは複数のマウス/スタイラスボタンイベント650は、マウス/スタイラスポインタがInkPicture制御の上にあり、マウスボタン(またはスタイラスのボタン)が押下または解放されたことに応答して発生する。1つまたは複数のクリックイベント651は、InkPicture制御がクリックまたはダブルクリックされたことに応答して発生する。1つまたは複数のマウスエントリ/終了イベント652は、マウス/スタイラスポインタがInkPicture制御に関連する表示エリアに入り、またはそこから出ることに応答して発生する。1つまたは複数のマウス移動イベント653は、マウス/スタイラスポインタがInkPicture制御の上を移動し、またはInkPicture制御の上で停止することに応答して発生する。マウスホイールイベント654は、InkPicture制御がフォーカスを有している間にマウスホイールが動くことに応答して発生する。ドラッグオーバイベント655は、オブジェクトがInkPicture制御の境界の上をドラッグされることに応答して発生する。ドラッグアンドドロップイベント656は、ドラッグアンドドロップ操作が完了したことに応答して発生する。1つまたは複数のハンドルメソッド657は、ハンドルが作成され、または破棄されたことに応答してイベントを発生する。1つまたは複数のキーイベント658は、InkPicture制御がフォーカスを有している間にキーが押下され、または解放されることに応答して発生する。InkPicture制御601はさらに、InkOverlayオブジェクト501に関して先に議論したイベントのいずれか、またはすべてを送ることができる。
【0049】
電子インクのオーバーレイ化
図7を参照すると、ドキュメント701を生成または提供することができる。図7の例示的実施形態でのドキュメントはテキストドキュメントである。しかし本明細書では、ドキュメントという用語は、限定はしないが、ワードプロセッシングドキュメント(Microsoft WORD(登録商標)を使用して生成されるものなど)、イメージドキュメント、グラフィカルドキュメント、テキストとグラフィックスを組み合わせたドキュメント、紙をスキャンしたドキュメント、スプレッドシートドキュメント、写真、および/または複数のフィールドを有するフォームなど、他の任意のタイプのドキュメントであると広く解釈すべきである。本発明を説明する際に本明細書で使用する用語「ドキュメント(document)」はまた、ソフトウェアアプリケーションもその範囲内に含む。ドキュメント701の一部またはすべての上に配置された1つまたは複数のインキング表面(ウィンドウなど)を作成するように、InkOverlayオブジェクトおよび/またはInkPicture制御を定義することができる。ウィンドウまたは他のインキング表面は、下にあるドキュメント701が閲覧可能となるように透明(完全に透明か、または半透明)であることが好ましい。しかし、ウィンドウの一部またはすべてを不透明にすることもでき、かつ/または(例示的InkPicture制御の例示的背景プロパティ604のうち1つまたは複数を使用することなどによって)背景イメージおよび/または背景色を有することもできる。背景イメージを使用する場合、別々のドキュメントの上にウィンドウを重ねることの別の方法として、背景イメージをドキュメント自体とすることができる。任意選択で、ウィンドウは、枠702(本明細書では点線として例示的に示す)を有することができる。枠702は不透明でよく、または可視でよい。ユーザがスタイラス204を使用してウィンドウのエリア内の画面上に書き込むとき、インクデータが筆跡から収集され、インクデータをレンダリングすることができ、電子インク703としてウィンドウ内に表示することができる。したがって、手書きインクがドキュメント701上に書き込まれるかのように見える。インクデータはまた、インクオブジェクトなどのオブジェクト内に格納することもできる。さらに、ペインティング関係のイベント548などの1つまたは複数のイベントを、レンダリング中、および/またはレンダリングの開始時、および/またはインクのレンダリングが完了したときにトリガすることができる。
【0050】
ユーザはさらに、既にレンダリングされたインク703の一部を選択し、選択した部分を様々な方式で変更することができる。(例えば、選択する部分の周りにスタイラス204で円を描くことによって)インク703の少なくとも一部を選択した場合、選択した部分への参照(reference)を格納することができる。選択部分を移動および/またはサイズ変更することができ、その場合に、イベント549などの1つまたは複数のイベントを、選択の移動中またはサイズ変更中、および/または移動またはサイズ変更の開始時、および/または選択が移動またはサイズ変更を完了したときにトリガすることができる。インク703の一部またはすべて(1つまたは複数のストロークなど)は、さらに削除することができる。例えばユーザおよび/またはアプリケーションは、インク703の少なくとも一部を削除するように要求することができ、インクが削除される間、および/またはインクの削除開始時、および/またはインクを削除したときに、イベント551などの1つまたは複数のイベントをトリガすることができる。
【0051】
上記に鑑みて、アプリケーション開発者は、InkOverlayオブジェクトおよび/またはInkPicture制御内部のインクへのプログラム式アクセスを有することができる(すなわち、内部構造を直接変更することができ、必ずしもユーザ入力または制御APIを介する必要がない)。開発者および/またはユーザはさらに、インクの選択および/または様々な他のプロパティを変更することができる。次いでInkOverlayオブジェクトは、タブレットコンテキストの確立、デジタイザイベントのリスニング、および/またはその現モードに従うインクストロークの収集および解釈の内部詳細を管理することができる。
【0052】
例えば、開発者は、新しいストロークに関連するイベントへのアクセスを容易に有することができ、新しいストロークから位置メタデータを取り出すことにより、新しいインクストロークの位置を、下にあるドキュメント701内のテキストおよび/またはオブジェクトと比較することができる。したがって、本明細書で説明する様々なイベントおよびメソッドへのアクセスを有することにより、アプリケーション開発者は、アプリケーションにデータ構造を追加して、アプリケーションデータへのインクのマッピングを容易にすることができる。これにより例えば、ユーザおよび/またはアプリケーションがInkOverlayオブジェクトを介してジェスチャおよび/または他のコマンドを発行し、下にあるドキュメント701を変更することが可能になる。例えば、図7に示すように、ドキュメント701内のテキストの一部がインクで囲まれ、大きい「B」がその囲まれた部分に描かれている。これは、囲まれたドキュメント701内のテキストをボールド体のテキストに変更するコマンドと解釈することができる。あるいは、図7に示すように、ジェスチャおよび/または他のコマンドを使用して語を削除および/または挿入することができる(例えば、下にあるドキュメント701内の語「defence」を削除し、新しく挿入した語「defense」で置換する)。これらのジェスチャの結果を図8に示す。
【0053】
開発者はさらに、InkOverlayオブジェクト内のインクを、下にあるドキュメント701内の、下にあるテキストおよび/またはオブジェクトが移動するときに再構成するように自分のアプリケーションを容易に構成することができる。このことは例えば、InkOverlayオブジェクトウィンドウ内にインクストロークを位置付け、ストロークを移動および/またはサイズ変更することによって実施することができる。
【0054】
開発者はさらに、本明細書で述べた様々なイベントをリスニングし、強調表示などの様々な概念を含めることにより、InkOverlayオブジェクトの固有編集機能を容易に拡張することができる。このことは例えば、デフォルトドローイング属性プロパティを上書きすることによって実施することができる。開発者はまた、(特定のストロークのユーザ操作を選択的に拒否することによる)選択読取り専用ストローク、並びに(ストロークを認識器に供給することによる)解析、および/または(「newcursor」イベントをリスニングし、InkOverlay制御のモードを切り換えることによる)スタイラス204の後退で消去するような自然なユーザジェスチャなどの機能を追加することもできる。
【0055】
さらに、複数のInkOverlayオブジェクトおよび/またはInkPicture制御をどんなときにもドキュメント701の上に配置することができ、これらの複数のオブジェクトおよび/または制御を重ねることができる。図9を参照すると、第2InkOverlayオブジェクト(例えば)をインスタンス化することができ、第2InkOverlayオブジェクトは、第2の任意選択の枠901を有する第2ウィンドウを有することができる。同じユーザまたは別のユーザは、第2InkOverlayオブジェクトウィンドウ上にインク902を書き込むことができ、関連するインクデータをInkOverlayオブジェクト内に格納し、かつ/または第2InkOverlayオブジェクトのウィンドウ内にレンダリングすることができる。あるいは、ユーザは、第1InkOverlayオブジェクトウィンドウ内の第1ウィンドウと第2ウィンドウが重なる位置にインクを書き込むことができ、インクを第2ウィンドウに送ることができる。
【0056】
本発明の様々な態様を具体化する、本明細書で説明した例示的システムおよび方法を例示的に示したが、もちろん、本発明がこれらの実施形態に限定されないことを理解されよう。特に前述の教示に照らして、当業者は修正を行うことができる。例えば、前述の実施形態の要素それぞれを単独で使用することができ、または他の実施形態の要素と組み合わせて使用することができる。頭記の特許請求の範囲を用いて本発明を定義したが、この特許請求の範囲は、本明細書に記載の要素およびステップを任意の組合せまたはサブコンビネーションとして含むように本発明が意図されるという点で例示的である。したがって、明細書から、説明、特許請求の範囲、および図面を含む1つまたは複数の要素を様々な組合せまたはサブコンビネーションとして組み込む、本発明を定義する任意の数の別の組合せが存在する。本明細書に照らして、本発明の態様の別の組合せを単独で、または本明細書で定義される1つまたは複数の要素またはステップと組み合わせ、本発明の修正または変更として、あるいは本発明の一部として使用できることは、関係のある技術分野の技術者には明らかであろう。本明細書に含まれる本発明の書面による説明は、このようなすべての修正および変更を包含するものとする。さらに、本明細書で様々な名前のオブジェクトや他のAPI要素を与えたが、このような名前は単なる例であって、本発明の範囲から逸脱することなく、どんな名前も使用できることを理解されたい。
【図面の簡単な説明】
【図1】本発明の様々な態様を実装するのに使用することができる例示的な汎用デジタルコンピューティング環境の機能ブロック図である。
【図2】本発明の様々な態様に従って使用することができる例示的なタブレットコンピュータおよびスタイラスの平面図である。
【図3】本発明の様々な態様に従って使用することができる例示的なアーキテクチャおよびインターフェースの機能ブロック図である。
【図4】本発明の様々な態様に従って使用することができる例示的なアーキテクチャおよびインターフェースの機能ブロック図である。
【図5】本発明の様々な態様に従って使用することができる例示的なアーキテクチャおよびインターフェースの機能ブロック図である。
【図6】本発明の様々な態様に従って使用することができる例示的なアーキテクチャおよびインターフェースの機能ブロック図である。
【図7】本発明の様々な態様による1つまたは複数のインクオーバーレイオブジェクトを有するドキュメントの例示的スクリーンショットを示す図である。
【図8】本発明の様々な態様による1つまたは複数のインクオーバーレイオブジェクトを有するドキュメントの例示的スクリーンショットを示す図である。
【図9】本発明の様々な態様による1つまたは複数のインクオーバーレイオブジェクトを有するドキュメントの例示的スクリーンショットを示す図である。
【符号の説明】
100 コンピュータ
101 キーボード
102 ポインティングデバイス
106 シリアルポートインターフェース
107 モニタ
108 ビデオアダプタ
109 リモートコンピュータ
110 処理装置
111 メモリ記憶装置
112 ローカルエリアネットワーク(LAN)
113 広域ネットワーク(WAN)
114 ネットワークインターフェースまたはアダプタ
115 モデム
120 システムメモリ
130 システムバス
140 読取り専用メモリ(ROM)
147 モニタ
150 ランダムアクセスメモリ(RAM)
160 基本入出力システム(BIOS)
165 ペンデジタイザ
166 ペンまたはスタイラス
170 ハードディスクドライブ
180 磁気ディスクドライブ
190 取外し可能磁気ディスク
191 光ディスクドライブ
192 取外し可能光ディスク
192 ハードディスクドライブインターフェース
193 磁気ディスクドライブインターフェース
194 光ディスクドライブインターフェース
195 オペレーティングシステム
196 1つまたは複数のアプリケーションプログラム
197 他のプログラムモジュール
198 プログラムデータ
201 コンピュータ処理システム
202 表示面
203 ウィンドウ
204 スタイラス
301 WinForms制御
302 InkCollector自動化オブジェクト
303 InkOverlay自動化オブジェクト
304 InkPicture ActiveX制御
305 InkOverlay管理オブジェクト
306 InkCollector管理オブジェクト
307 InkPicture WinForms制御
401 InkOverlayオブジェクト
402 InkCollectorオブジェクト
403 選択管理機能
404 編集機能
406 アプリケーション、Microsoft Windows(登録商標)INK SERVICES PLATFORM(登録商標)(WISP)
407 自動化API
408 Microsoft Windows(登録商標)Win32 API
501 InkOverlayオブジェクト
502 付加モードプロパティ
503 自動再描画プロパティ
504 インク収集プロパティ
505 収集モードプロパティ
506 カーソル収集関係のプロパティ
507 ドローイング属性プロパティ
508 パケット記述プロパティ
509 動的レンダリングプロパティ
510 編集モードプロパティ
512 イレーザプロパティ
513 ウィンドウハンドルプロパティ
514 関連インクオブジェクトプロパティ
515 マージンプロパティ
516 カスタムマウスカーソルプロパティ
517 レンダラプロパティ
518 選択プロパティ
519 高コントラストインクプロパティ
520 タブレットプロパティ
601 InkPicture制御
602 アクセス可能性プロパティ
603 アンカプロパティ
604 背景プロパティ
605 枠スタイルプロパティ
606 妥当性検査プロパティ
607 コンテナプロパティ
608 ドックプロパティ
609 ドラッグプロパティ
610 使用可能プロパティ
611 寸法プロパティ
612 コンテキスト感応型ヘルププロパティ
613 ウィンドウハンドルプロパティ
614 イメージプロパティ
615 制御アレイインデックスプロパティ
616 位置プロパティ
617 ロックプロパティ
618 可視性プロパティ
619 制御名プロパティ
620 オブジェクトプロパティ
621 親オブジェクトプロパティ
622 サイズモードプロパティ
623 1つまたは複数のタブプロパティ
624 オブジェクトタグプロパティ
625 ツールチッププロパティ
626 ヘルププロパティ
701 ドキュメント
702,901 枠
703,902 電子インク
Claims (13)
- ドキュメントの上にインクを重ねる方法であって、
前記ドキュメントの上に透明なインキング表面を生成するステップと、
前記インキング表面内のインクデータを収集するステップと、
レンダリングしたインクとして前記インクデータを前記インキング表面内にレンダリングするステップと
を含むことを特徴とする方法。 - 前記インクデータをオブジェクトとして格納するステップをさらに含むことを特徴とする請求項1に記載の方法。
- 前記インキング表面は半透明であることを特徴とする請求項1に記載の方法。
- 前記インキング表面は不透明な枠を有することを特徴とする請求項1に記載の方法。
- 前記ドキュメントはテキストドキュメントを含むことを特徴とする請求項1に記載の方法。
- 前記ドキュメントはMicrosoft WORD(登録商標)ドキュメントを含むことを特徴とする請求項1に記載の方法。
- 前記レンダリングするステップ中に第1イベントを生成するステップと、
前記レンダリングするステップの完了時に第2イベントを生成するステップとをさらに含むことを特徴とする請求項1に記載の方法。 - 前記レンダリングしたインクの少なくとも一部を削除する要求を受け取るステップと、
前記要求に応答して第1イベントを生成するステップと、
前記レンダリングしたインクの前記少なくとも一部を削除するステップと、
前記削除するステップの完了時に第2イベントを生成するステップと
をさらに含むことを特徴とする請求項1に記載の方法。 - 要求を受け取り、前記レンダリングしたインクの少なくとも一部を選択するステップと、
前記レンダリングしたインクの前記少なくとも一部を選択するステップと、
前記インクの前記少なくとも一部への参照を格納するステップと
をさらに含むことを特徴とする請求項1に記載の方法。 - 前記レンダリングしたインクの少なくとも一部を選択するステップと、
前記レンダリングしたインクの前記少なくとも一部を変更する要求を受け取るステップと、
前記要求に応答して第1イベントを生成するステップと、
前記レンダリングしたインクの前記少なくとも一部を変更するステップと、
前記変更するステップの完了時に第2イベントを生成するステップと
をさらに含むことを特徴とする請求項1に記載の方法。 - 前記変更するステップは、選択された前記レンダリングしたインクの前記少なくとも一部の量を変更することを含むことを特徴とする請求項10に記載の方法。
- 前記変更するステップは、前記レンダリングしたインクの前記少なくとも一部を、前記レンダリングしたインクの別の少なくとも一部に変更することを含むことを特徴とする請求項10に記載の方法。
- ドキュメントの上にインクを重ねる方法であって、
前記ドキュメントの少なくとも一部を含む背景を有するウィンドウを生成するステップと、
前記ウィンドウ内のインクデータを収集するステップと、
レンダリングしたインクとして前記インクデータを前記ウィンドウ内にレンダリングするステップと
を含むことを特徴とする方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37974902P | 2002-05-14 | 2002-05-14 | |
US37978102P | 2002-05-14 | 2002-05-14 | |
US10/183,987 US8166388B2 (en) | 2002-05-14 | 2002-06-28 | Overlaying electronic ink |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004030632A true JP2004030632A (ja) | 2004-01-29 |
Family
ID=29273574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003136561A Pending JP2004030632A (ja) | 2002-05-14 | 2003-05-14 | ドキュメントの上に電子インクを重ねる方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8166388B2 (ja) |
EP (1) | EP1363231B1 (ja) |
JP (1) | JP2004030632A (ja) |
CN (1) | CN1318940C (ja) |
AT (1) | ATE365950T1 (ja) |
DE (1) | DE60314563T2 (ja) |
HK (1) | HK1061586A1 (ja) |
TW (1) | TWI291114B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007156219A (ja) * | 2005-12-07 | 2007-06-21 | Seiko Epson Corp | 情報表示システム、情報表示装置および位置指示装置 |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019845A1 (en) | 2000-06-16 | 2002-02-14 | Hariton Nicholas T. | Method and system for distributed scripting of presentations |
US7397949B2 (en) * | 2000-06-21 | 2008-07-08 | Microsoft Corporation | Serial storage of ink and its properties |
US7284200B2 (en) * | 2002-11-10 | 2007-10-16 | Microsoft Corporation | Organization of handwritten notes using handwritten titles |
US7634729B2 (en) * | 2002-11-10 | 2009-12-15 | Microsoft Corporation | Handwritten file names |
US20040117724A1 (en) * | 2002-12-03 | 2004-06-17 | Microsoft Corporation | Extensible schema for ink |
US7551187B2 (en) * | 2004-02-10 | 2009-06-23 | Microsoft Corporation | Systems and methods that utilize a dynamic digital zooming interface in connection with digital inking |
US7284192B2 (en) | 2004-06-24 | 2007-10-16 | Avaya Technology Corp. | Architecture for ink annotations on web documents |
US20060064643A1 (en) | 2004-09-14 | 2006-03-23 | Hariton Nicholas T | Distributed scripting for presentations with touch screen displays |
US20060059432A1 (en) * | 2004-09-15 | 2006-03-16 | Matthew Bells | User interface having viewing area with non-transparent and semi-transparent regions |
US7818660B2 (en) | 2006-01-29 | 2010-10-19 | Litera Technology Llc | Method of compound document comparison |
US7774722B2 (en) * | 2006-01-31 | 2010-08-10 | Microsoft Corporation | Creation and manipulation of canvases based on ink strokes |
EP2013709A4 (en) * | 2006-04-14 | 2012-07-18 | Vertafore Inc | METHOD, SYSTEM AND COMPUTER-READABLE MEDIUM FOR MAINTAINING AND / OR PURGING FILES OF A DOCUMENT MANAGEMENT SYSTEM |
US20080168402A1 (en) | 2007-01-07 | 2008-07-10 | Christopher Blumenberg | Application Programming Interfaces for Gesture Operations |
US20080168478A1 (en) | 2007-01-07 | 2008-07-10 | Andrew Platzer | Application Programming Interfaces for Scrolling |
US20090219250A1 (en) * | 2008-02-29 | 2009-09-03 | Ure Michael J | Interface with and communication between mobile electronic devices |
KR101383716B1 (ko) * | 2007-08-17 | 2014-04-10 | 삼성디스플레이 주식회사 | 전기 영동 표시 장치의 구동 장치 및 구동 방법 |
US8645827B2 (en) | 2008-03-04 | 2014-02-04 | Apple Inc. | Touch event model |
US7930642B1 (en) * | 2008-03-20 | 2011-04-19 | Intuit Inc. | System and method for interacting with hard copy documents |
US9186579B2 (en) | 2008-06-27 | 2015-11-17 | John Nicholas and Kristin Gross Trust | Internet based pictorial game system and method |
US10685177B2 (en) | 2009-01-07 | 2020-06-16 | Litera Corporation | System and method for comparing digital data in spreadsheets or database tables |
US9684521B2 (en) | 2010-01-26 | 2017-06-20 | Apple Inc. | Systems having discrete and continuous gesture recognizers |
US8566045B2 (en) | 2009-03-16 | 2013-10-22 | Apple Inc. | Event recognition |
US8136031B2 (en) | 2009-03-17 | 2012-03-13 | Litera Technologies, LLC | Comparing the content of tables containing merged or split cells |
US9063932B2 (en) * | 2009-12-18 | 2015-06-23 | Vertafore, Inc. | Apparatus, method and article to manage electronic or digital documents in a networked environment |
US8700682B2 (en) * | 2009-12-24 | 2014-04-15 | Vertafore, Inc. | Systems, methods and articles for template based generation of markup documents to access back office systems |
CN101882432B (zh) * | 2010-02-01 | 2012-07-04 | 深圳市同洲电子股份有限公司 | 一种焦点元素显示方法、装置及数字电视接收终端 |
US10216408B2 (en) | 2010-06-14 | 2019-02-26 | Apple Inc. | Devices and methods for identifying user interface objects based on view hierarchy |
US9323807B2 (en) * | 2010-11-03 | 2016-04-26 | Sap Se | Graphical manipulation of data objects |
US9384198B2 (en) | 2010-12-10 | 2016-07-05 | Vertafore, Inc. | Agency management system and content management system integration |
US8731973B2 (en) | 2011-04-19 | 2014-05-20 | Vertafore, Inc. | Overlaying images in automated insurance policy form generation |
KR101873741B1 (ko) * | 2011-10-26 | 2018-07-03 | 엘지전자 주식회사 | 휴대 단말기 및 그 제어 방법 |
US9529486B2 (en) * | 2012-03-29 | 2016-12-27 | FiftyThree, Inc. | Methods and apparatus for providing a digital illustration system |
US9280524B2 (en) * | 2012-06-28 | 2016-03-08 | Texas Instruments Incorporated | Combining a handwritten marking with a rendered symbol to modify the rendered symbol |
KR101899816B1 (ko) * | 2012-07-26 | 2018-09-20 | 엘지전자 주식회사 | 단말 장치 및 이의 필기 공유 방법 |
US9733716B2 (en) | 2013-06-09 | 2017-08-15 | Apple Inc. | Proxy gesture recognizer |
US9696810B2 (en) | 2013-06-11 | 2017-07-04 | Microsoft Technology Licensing, Llc | Managing ink content in structured formats |
JP6201488B2 (ja) * | 2013-07-29 | 2017-09-27 | 富士通株式会社 | 選択文字特定プログラム、選択文字特定方法、及び、選択文字特定装置 |
US9507814B2 (en) | 2013-12-10 | 2016-11-29 | Vertafore, Inc. | Bit level comparator systems and methods |
US9367435B2 (en) | 2013-12-12 | 2016-06-14 | Vertafore, Inc. | Integration testing method and system for web services |
KR102266869B1 (ko) | 2014-04-03 | 2021-06-21 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 디스플레이 방법 |
US10270819B2 (en) | 2014-05-14 | 2019-04-23 | Microsoft Technology Licensing, Llc | System and method providing collaborative interaction |
US9552473B2 (en) | 2014-05-14 | 2017-01-24 | Microsoft Technology Licensing, Llc | Claiming data from a virtual whiteboard |
US9747556B2 (en) | 2014-08-20 | 2017-08-29 | Vertafore, Inc. | Automated customized web portal template generation systems and methods |
KR102393295B1 (ko) | 2014-09-18 | 2022-05-02 | 삼성전자주식회사 | 컨텐트를 스타일링하는 장치 및 방법 |
JP2016071819A (ja) * | 2014-10-02 | 2016-05-09 | 株式会社東芝 | 電子機器および方法 |
CN104391834A (zh) * | 2014-12-11 | 2015-03-04 | 成都明日星辰科技有限公司 | 一种对电子书内容进行注释的方法 |
US10089291B2 (en) | 2015-02-27 | 2018-10-02 | Microsoft Technology Licensing, Llc | Ink stroke editing and manipulation |
US9950542B2 (en) | 2015-03-12 | 2018-04-24 | Microsoft Technology Licensing, Llc | Processing digital ink input subject to monitoring and intervention by an application program |
US9600400B1 (en) | 2015-10-29 | 2017-03-21 | Vertafore, Inc. | Performance testing of web application components using image differentiation |
US20170351650A1 (en) * | 2016-06-01 | 2017-12-07 | Cisco Technology, Inc. | Digital conversation annotation |
US10699746B2 (en) | 2017-05-02 | 2020-06-30 | Microsoft Technology Licensing, Llc | Control video playback speed based on user interaction |
CN111524211B (zh) * | 2020-04-17 | 2024-01-23 | 杭州海康威视数字技术股份有限公司 | 笔迹擦除方法、装置及设备 |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6002799A (en) | 1986-07-25 | 1999-12-14 | Ast Research, Inc. | Handwritten keyboardless entry computer system |
US5125039A (en) | 1989-06-16 | 1992-06-23 | Hawkins Jeffrey C | Object recognition system |
US5309555A (en) | 1990-05-15 | 1994-05-03 | International Business Machines Corporation | Realtime communication of hand drawn images in a multiprogramming window environment |
US5347295A (en) | 1990-10-31 | 1994-09-13 | Go Corporation | Control of a computer through a position-sensed stylus |
US5220649A (en) | 1991-03-20 | 1993-06-15 | Forcier Mitchell D | Script/binary-encoded-character processing method and system with moving space insertion mode |
EP0566293B1 (en) | 1992-04-15 | 2003-07-16 | Xerox Corporation | Graphical drawing and editing systems and methods therefor |
US5583543A (en) * | 1992-11-05 | 1996-12-10 | Sharp Kabushiki Kaisha | Pen input processing apparatus |
US5404442A (en) | 1992-11-30 | 1995-04-04 | Apple Computer, Inc. | Visible clipboard for graphical computer environments |
JPH06310472A (ja) | 1993-04-21 | 1994-11-04 | Rohm Co Ltd | 透明基板上の薄膜段差の平坦化法 |
US5528743A (en) * | 1993-05-27 | 1996-06-18 | Apple Computer, Inc. | Method and apparatus for inserting text on a pen-based computer system |
US5710831A (en) | 1993-07-30 | 1998-01-20 | Apple Computer, Inc. | Method for correcting handwriting on a pen-based computer |
US5367453A (en) | 1993-08-02 | 1994-11-22 | Apple Computer, Inc. | Method and apparatus for correcting words |
US5500937A (en) | 1993-09-08 | 1996-03-19 | Apple Computer, Inc. | Method and apparatus for editing an inked object while simultaneously displaying its recognized object |
US5749070A (en) | 1993-09-09 | 1998-05-05 | Apple Computer, Inc. | Multi-representational data structure for recognition in computer systems |
US5546538A (en) * | 1993-12-14 | 1996-08-13 | Intel Corporation | System for processing handwriting written by user of portable computer by server or processing by the computer when the computer no longer communicate with server |
US5534893A (en) | 1993-12-15 | 1996-07-09 | Apple Computer, Inc. | Method and apparatus for using stylus-tablet input in a computer system |
US5561446A (en) | 1994-01-28 | 1996-10-01 | Montlick; Terry F. | Method and apparatus for wireless remote information retrieval and pen-based data entry |
EP0769175B9 (en) | 1994-07-01 | 2005-01-12 | Palm Computing, Inc. | Multiple pen stroke character set and handwriting recognition system |
JPH0816313A (ja) | 1994-07-04 | 1996-01-19 | Sanyo Electric Co Ltd | 手書き入力方法及び装置 |
US5680480A (en) | 1994-07-29 | 1997-10-21 | Apple Computer, Inc. | Method and apparatus for training a recognizer |
JPH0869351A (ja) | 1994-08-26 | 1996-03-12 | Toshiba Corp | ペン入力装置及びペン入力方法 |
US5768607A (en) | 1994-09-30 | 1998-06-16 | Intel Corporation | Method and apparatus for freehand annotation and drawings incorporating sound and for compressing and synchronizing sound |
DE69422406T2 (de) | 1994-10-28 | 2000-05-04 | Hewlett-Packard Co., Palo Alto | Verfahren zum Durchführen eines Vergleichs von Datenketten |
JPH08305821A (ja) | 1995-04-28 | 1996-11-22 | Canon Inc | データ処理方法とその装置 |
EP0741379A1 (en) * | 1995-05-04 | 1996-11-06 | Winbond Electronics Corporation | Scaled video output overlaid onto a computer graphics output |
US5761328A (en) | 1995-05-22 | 1998-06-02 | Solberg Creations, Inc. | Computer automated system and method for converting source-documents bearing alphanumeric text relating to survey measurements |
US5682439A (en) | 1995-08-07 | 1997-10-28 | Apple Computer, Inc. | Boxed input correction system and method for pen based computer systems |
JPH09160914A (ja) | 1995-12-08 | 1997-06-20 | Matsushita Electric Ind Co Ltd | ペン入力装置 |
US5917493A (en) | 1996-04-17 | 1999-06-29 | Hewlett-Packard Company | Method and apparatus for randomly generating information for subsequent correlating |
JPH09305698A (ja) | 1996-05-10 | 1997-11-28 | Sharp Corp | 文字入力表示装置 |
US5850480A (en) | 1996-05-30 | 1998-12-15 | Scan-Optics, Inc. | OCR error correction methods and apparatus utilizing contextual comparison |
US5862256A (en) | 1996-06-14 | 1999-01-19 | International Business Machines Corporation | Distinguishing gestures from handwriting in a pen based computer by size discrimination |
JP3839877B2 (ja) | 1996-07-05 | 2006-11-01 | キヤノン株式会社 | 手書きパターン処理装置及び手書きパターン処理方法 |
US6128007A (en) | 1996-07-29 | 2000-10-03 | Motorola, Inc. | Method and apparatus for multi-mode handwritten input and hand directed control of a computing device |
JPH1069479A (ja) | 1996-08-29 | 1998-03-10 | Sharp Corp | 文書作成方法および文書作成プログラムを記録した媒体 |
US5953523A (en) | 1996-10-28 | 1999-09-14 | International Business Machines Corporation | Method and apparatus for creating "smart forms " |
US5889888A (en) | 1996-12-05 | 1999-03-30 | 3Com Corporation | Method and apparatus for immediate response handwriting recognition system that handles multiple character sets |
JPH1186015A (ja) | 1997-09-09 | 1999-03-30 | Canon Inc | 情報処理方法及び装置及びその記憶媒体 |
JPH11143986A (ja) | 1997-10-17 | 1999-05-28 | Internatl Business Mach Corp <Ibm> | ビットマップイメージの処理方法及び処理装置、ビットマップイメージの処理を行うイメージ処理プログラムを格納した記憶媒体 |
US6000946A (en) * | 1998-03-09 | 1999-12-14 | Hewlett-Packard Company | Collaborative drawing device |
US6584479B2 (en) * | 1998-06-17 | 2003-06-24 | Xerox Corporation | Overlay presentation of textual and graphical annotations |
US6563494B1 (en) | 1998-10-08 | 2003-05-13 | International Business Machines Corporation | Cut and paste pen for pervasive computing devices |
US6389435B1 (en) * | 1999-02-05 | 2002-05-14 | Fuji Xerox, Co, Ltd. | Method and system for copying a freeform digital ink mark on an object to a related object |
US6565611B1 (en) | 1999-02-26 | 2003-05-20 | Xerox Corporation | Automatic index creation for handwritten digital ink notes |
US20010040551A1 (en) | 1999-07-29 | 2001-11-15 | Interlink Electronics, Inc. | Hand-held remote computer input peripheral with touch pad used for cursor control and text entry on a separate display |
US6909439B1 (en) | 1999-08-26 | 2005-06-21 | International Business Machines Corporation | Method and apparatus for maximizing efficiency of small display in a data processing system |
US6813396B1 (en) | 2000-02-16 | 2004-11-02 | Telefonatiebolaget L.M. Ericsson (Publ) | Method for sharing information between electronic reading devices |
US6924791B1 (en) | 2000-03-09 | 2005-08-02 | Palmone, Inc. | Method and apparatus for automatic power-up and power-down of a computer system based on the positions of an associated stylus and/or hinge |
JP2001266071A (ja) | 2000-03-21 | 2001-09-28 | Fujitsu Ltd | 手書き文字入力装置と方法及びそれを実現するためのプログラムを記録した記録媒体 |
US6355889B1 (en) | 2000-06-28 | 2002-03-12 | International Business Machines Corporation | Method and apparatus for linking electronic ink to electronic personal information systems |
US6961029B1 (en) | 2000-11-08 | 2005-11-01 | Palm, Inc. | Pixel border for improved viewability of a display device |
GB2372339A (en) * | 2001-01-17 | 2002-08-21 | Priorlease Ltd | An arrangement for applying handwriting to an HTML document |
US6741749B2 (en) | 2001-01-24 | 2004-05-25 | Advanced Digital Systems, Inc. | System, device, computer program product, and method for representing a plurality of electronic ink data points |
US6661409B2 (en) | 2001-08-22 | 2003-12-09 | Motorola, Inc. | Automatically scrolling handwritten input user interface for personal digital assistants and the like |
US6903751B2 (en) | 2002-03-22 | 2005-06-07 | Xerox Corporation | System and method for editing electronic images |
US7120872B2 (en) | 2002-03-25 | 2006-10-10 | Microsoft Corporation | Organizing, editing, and rendering digital ink |
US7158675B2 (en) | 2002-05-14 | 2007-01-02 | Microsoft Corporation | Interfacing with ink |
-
2002
- 2002-06-28 US US10/183,987 patent/US8166388B2/en not_active Expired - Fee Related
-
2003
- 2003-04-17 TW TW092108987A patent/TWI291114B/zh not_active IP Right Cessation
- 2003-04-23 EP EP03008806A patent/EP1363231B1/en not_active Expired - Lifetime
- 2003-04-23 AT AT03008806T patent/ATE365950T1/de not_active IP Right Cessation
- 2003-04-23 DE DE60314563T patent/DE60314563T2/de not_active Expired - Lifetime
- 2003-05-14 JP JP2003136561A patent/JP2004030632A/ja active Pending
- 2003-05-14 CN CNB031314449A patent/CN1318940C/zh not_active Expired - Fee Related
-
2004
- 2004-06-17 HK HK04104422A patent/HK1061586A1/xx not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007156219A (ja) * | 2005-12-07 | 2007-06-21 | Seiko Epson Corp | 情報表示システム、情報表示装置および位置指示装置 |
US7956852B2 (en) | 2005-12-07 | 2011-06-07 | Seiko Epson Corporation | Information display system, information display apparatus, and position indicating apparatus |
Also Published As
Publication number | Publication date |
---|---|
HK1061586A1 (en) | 2004-09-24 |
EP1363231B1 (en) | 2007-06-27 |
US8166388B2 (en) | 2012-04-24 |
EP1363231A3 (en) | 2004-06-30 |
ATE365950T1 (de) | 2007-07-15 |
TW200406696A (en) | 2004-05-01 |
TWI291114B (en) | 2007-12-11 |
CN1318940C (zh) | 2007-05-30 |
CN1461986A (zh) | 2003-12-17 |
US20030217336A1 (en) | 2003-11-20 |
EP1363231A2 (en) | 2003-11-19 |
DE60314563D1 (de) | 2007-08-09 |
DE60314563T2 (de) | 2007-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8166388B2 (en) | Overlaying electronic ink | |
US8072433B2 (en) | Ink editing architecture | |
US7158675B2 (en) | Interfacing with ink | |
US20030214553A1 (en) | Ink regions in an overlay control | |
JP4637455B2 (ja) | ユーザインタフェースの利用方法並びにコンピュータで使用可能な媒体を含む製品 | |
TWI269195B (en) | Method for manipulating ink, and graphical user interface configured to interface a user with a control | |
US8132125B2 (en) | Freeform encounter selection tool | |
US7870501B2 (en) | Method for hollow selection feedback | |
US6965384B2 (en) | In-situ digital inking for applications | |
US20040257346A1 (en) | Content selection and handling | |
AU2010219367B2 (en) | Ink collection and rendering | |
US20050015731A1 (en) | Handling data across different portions or regions of a desktop | |
KR100952562B1 (ko) | 스타일러스-기반 입력 시스템 및 그를 위한 컴퓨터-구현 프로세스 | |
RU2365979C2 (ru) | Ввод и воспроизведение электронных чернил |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060404 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071228 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080328 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080402 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080424 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080808 |