JPH0756841A - プロセッサーベースの装置の操作方法 - Google Patents

プロセッサーベースの装置の操作方法

Info

Publication number
JPH0756841A
JPH0756841A JP6163458A JP16345894A JPH0756841A JP H0756841 A JPH0756841 A JP H0756841A JP 6163458 A JP6163458 A JP 6163458A JP 16345894 A JP16345894 A JP 16345894A JP H0756841 A JPH0756841 A JP H0756841A
Authority
JP
Japan
Prior art keywords
tool
display
user
overlay
tools
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6163458A
Other languages
English (en)
Inventor
Eric A Bier
エイ.ビヤ エリック
William A S Buxton
バクストン ウィリアム
Maureen C Stone
シー.ストーン モリーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xerox Corp
Original Assignee
Xerox Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xerox Corp filed Critical Xerox Corp
Publication of JPH0756841A publication Critical patent/JPH0756841A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0382Plural input, i.e. interface arrangements in which a plurality of input device of the same type are in communication with a PC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S345/00Computer graphics processing and selective visual display systems
    • Y10S345/902Menu display

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Processing Or Creating Images (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】ユーザーがより少ない動作で多くの一般的タス
クを行える。 【構成】一組の素データに処理を行いその可視表示体を
表示するためのプログラムを実行するためのプロセッサ
ーで制御される装置環境内で実行されるユーザーインタ
ーフェイス技法に関し、さらに一組のツールの視覚表示
を与える。ツールはクリックスルーツールを含み、該ツ
ールは他のツールと合成されて合成ツールを与えること
が可能である。クリックスルーツールは一般的に透明な
枠取りされたアクティブ領域を含み、該領域は可動であ
るため可視表示体の所望の部分上に置かれることが可能
である。ユーザーがアクティブ領域を通して可視表示体
と対話する場合、動作は特定のクリックスルーツールの
特性を与える。クリックスルーツールは他の該ツール上
へ重ね合わせられることが可能であり。この場合両ツー
ルを通して可視表示体上にとられた動作は、両ツールの
特性を与える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータのようなプ
ロセッサーで制御される装置に関し、より詳細には装置
とユーザーとの対話を可能とするためのユーザーインタ
ーフェイス装置に関する。
【0002】
【従来の技術】コンピュータのようなプロセッサーで制
御される装置の使用は、ユーザへ情報を伝達し、ユーザ
ーから情報を受け取ることをしばしばその目的としてい
る。これはユーザーが特定タスクを実行することを可能
にする。これから行おうとするタスクに依り、ユーザー
はしばしばワードプロセッサ(時にテキストエディタと
呼ばれる)、スプレッドシート、またはドローイングプ
ログラム(時にグラフィクスエディタと呼ばれる)のよ
うな特定タスクアプリケーションプログラムを利用す
る。多くのプログラムは少なくとも二つ以上の機能を有
しているため、特定タイプのプログラムやエディタを引
用することは、特定機能のみを有するスタンドアロンア
プリケーションプログラムを意味することを意図しては
いない。
【0003】通常のアプリケーションプログラムは、一
連の命令(アプリケーション)から成り、該命令は、関
連するデータ(時に素データと呼ばれる)の作成や修正
のための入力信号に応答して実行される。多くの場合、
関連するデータはデータファイル(時にファイルと呼ば
れる)としてディスク上に記憶され、各部分がプログラ
ム実行中にメモリへ読み込まれる。少なくともいくつか
のアプリケーションについては、データは(例えば印刷
またはスクリーン上にディスプレイされる)目視される
ドキュメントを表しており、アプリケーションはユーザ
ーがドキュメントを修正することを可能にする。
【0004】多くの場合ユーザーは、一つまたはそれ以
上の入力装置を通して少なくともいくつかの入力信号を
与える。該入力装置は、しばしば、キーボードやマウス
のようなポインタ装置となっている。マウスは作業表面
上を動かされる装置であり、通常キーボードのとなりに
置かれ、その動きにしたがったスクリーン上のカーソル
の動きを起こす位置信号を与える。カーソルはポインタ
または注意を集める手段として対話プログラムにより使
用される特別なシンボルである。マウスは付加的入力信
号を与えるための一つもしくはそれ以上のプッシュボタ
ンスイッチ(ボタン)を有しており、該信号はカーソル
イベントの一部として翻訳される。
【0005】ディスプレイ装置は通常、陰極線管(CRT)
や液晶ディスプレイ(LCD) のような視覚ディスプレイ装
置であり、ユーザーにアプリケーションや素データの情
報を与え、ユーザーが適正な入力信号を発生させて所望
の処理出力を得るために装置を制御することを可能にす
る。入力装置、ディスプレイ装置、およびアプリケ−シ
ョンが供給する情報の性質からなる組合せは、アプリケ
−ションに対するユーザーインターフェイスとして考え
られてもよい。
【0006】いづれのアプリケ−ションプログラムにつ
いてもそれが完全に自己充足的なものであることが原理
的に可能であるが、アプリケ−ションプログラムはほと
んどすべての場合においてオペレーティングシステム(O
S)と共に処理を実行する。OSは装置リソースを管理およ
び制御してアプリケ−ションプログラムと装置ハードウ
エア間のインターフェイスを可能にするプログラムであ
る。OSは通常、基本的ハウスキーピング機能を提供す
る。該機能はすべてのアプリケ−ションプログラムが必
要とするものであり、ファイルシステムのメインテナン
ス、CPU の管理、入力装置からの入力の受信、記憶装置
との通信、ディスプレイ装置へのデータの送信、および
ユーザーがファイル管理や種々のアプリケ−ションプロ
グラムを実行出来るように一般的メカニズムを供給する
こと等である。パーソナルコンピュータ(PC)およびワー
クステーションの世界において、オペレーティングシス
テムはしばしば特定タイプのハードウエア構成と関係づ
けられるが、必ずしもそうである必要はない。多くのタ
イプの装置上で過去から現在にかけてなお走り続けてい
るUnixがこの例である。
【0007】近年その使用が増加しつつあるオペレーテ
ィングシステムの一つのタイプに、グラフィカルユーザ
ーインターフェイス("GUI") を提供するものがある。Ap
pleComputer社のMacintosh OS、IBM 社のOS/2、およびM
icrosoft 社のWindows (実際には、DOS として知られ
ているキャラクタベースのオペレーティングシステムの
最上位階層で走るGUI シェル)は、PC界で知られる最良
のGUI である。Macintosh OSは、Motorola 680x0ファミ
リーのマイクロプロセッサを基本とするApple社製のPC
上でのみ使用可能であり、一方、OS/2およびWindows
は、Intel 80x86ファミリーのマイクロプロセッサを基
本とするいわゆるIBM PC上でのみ使用可能である。二つ
のタイプ以上のマイクロプロセッサ上で走ることが可能
なバージョンを有するMicrosoft 社のWindows NTによ
り、この傾向が変わりつつある。
【0008】GUI に関する一つの性質は、アプリケ−シ
ョンに対するオープンファイルにスクリーン上の可動お
よびサイズ変更可能領域であるウィンドウが通常与えら
れることである。OSはディレクトリ構造を示す自身のウ
ィンドウを有することが可能であり、OSが伴うファイル
やアプリケ−ションはアイコン(働きや項目を表す小さ
い図形表示物)により表されることが可能である。オー
プンファイルに対応しない他のウィンドウがあってもよ
い。GUI の利点はアプリケ−ションに交わるかなり一貫
したユーザー環境を提供することである。いくつかのGU
I は複数のアプリケ−ションを同時に開くことを可能と
する。
【0009】OSのタイプによらずアプリケ−ションプロ
グラムは通常、OSの多くの支援を伴い、素データの表示
体(時にスクリーンイメージまたはディスプレイイメー
ジと呼ばれる)をユーザーに提供する。ユーザーは該表
示体に働きかけ、プログラムがこれらのはたらきかけを
素データの処理に翻訳する。本文中において表示体とい
う言葉は、素データだけでなくOSや様々なタイプのユー
ティリティープログラムを含んだすべての種類のプログ
ラムの表示体に関する。
【0010】例えばワードプロセッサにおいて素データ
はテキストから成り、該テキストはドキュメントがプリ
ンタ上にプリントアウトされる時にそれがどのように見
えるかを特定する関連情報を伴っている。該関連情報は
パラグラフやコラム、およびフォント、サイズ、スタイ
ル、色等のテキスト形態のようなドキュメントのレイア
ウトに関している。特定のワードプロセッサおよびオペ
レ−ティングシステムに依り、スクリーンイメージはテ
キスト内容に限定されてもよいし、またはそれがプリン
トされる時に現れるドキュメントを実質的に示してもよ
い。(WYSIWYG;What you see is what you get; 見たも
のがそのまま得られる)DOS のようなキャラクターベー
スのOSのために設計されたプロギラムは前者に近いもの
を提供する傾向にあり、GUI のためのそれは後者に近い
ものを提供する傾向にある。
【0011】他のタイプのアプリケ−ションプログラム
においても同様な範囲のスクリーンイメージを見出すこ
とが可能である。例えばドローイングプログラムにおい
て、素データはドキュメント上に現れる各図形表示物
(オブジェクト)の記述を有している。該記述は図形表
示物に所望の外見を与えるために必要な項目を含んでお
り、該項目は、形、サイズ、ライン色および幅、充填色
およびパターン、ドキュメント平面上の相対位置、およ
びスタック順序(目的の図形表示物が他の図形表示物の
上面か背面かどうか)等を含む。スクリーンイメージ
は、図形表示物の輪郭のみ(ワイヤーフレーム図)を示
してもよく、または、完全なWYSIWYG 図であってもよ
い。
【0012】アプリケ−ションのタイプによらずユーザ
ーは所望の変化を得るようスクリーンイメージを参照し
ながら入力装置を操作する。これは通常、修正対象表示
物の表示位置に対応するスクリーン上の特定の位置にカ
ーソルを置くこと、およびキーストロークやマウス動作
のような一つまたはそれ以上のユーザーイベントの実行
によりなされる。マウス動作はボタンを押すこと、ボタ
ンをはなすこと、マウスの移動、クリック、およびドラ
ッグを含む。マウスクリックはユーザーがマウスを止め
たままで一つのボタンを押してはなすことであるが、こ
の言葉はまた一つのボタンを押す動作を言い表すことに
も使われる。ドラッグ(時にクリックドラッグ)はユー
ザーがマウスでカーソルの位置設定を行うことであり、
一つのボタンを押し、ボタンを押したままマウスを新し
い位置に動かし、新しい位置でボタンをはなすことであ
る。マウスボタンを押すこと、ボタンをはなすこと、ク
リック、およびドラッグはキーボードのキーまたは他の
マウスボタンを押したまま(もし現状がそうであれば)
行われてもよい。
【0013】例えばワードプロセッサーイメージ(画
像)においてカーソルを特定の位置に置くことは、タイ
プ入力されたテキストをその位置に挿入するために行わ
れてもよい。表示されたテキストの一部にわたるカーソ
ルドラッグは(この時スクリーン上に強調表示される)
テキストの選択であってもよく、これにより選択された
テキストに対しユーザーが他のいくつかのメカニズムに
よる(削除、移動、またはフォント変更のような)処理
を行うことが可能となる。アプリケーションおよび所望
の処理に依り、該メカニズムはメニューからの処理の選
択、またはキーボードからのコマンド入力であってもよ
い。
【0014】ドローイングプログラムにおいても同様に
クリック動作によりカーソルがツールアイコン(例えば
矩形ツール、ラインツール、多角形ツール等)上に置か
れることが可能であり、この後のカーソルクリックおよ
びドラッグにより図形表示物が作成されることが可能と
なる。すでに存在している図形表示物上での平面カーソ
ルクリックは、他のいくつかのメカニズムを通して処理
が行われるよう該表示物を選択することであってもよ
い。カーソルドラッグが図形表示物上から始まる場合、
ドラッグの結果はカーソルの動きに沿った該表示物の移
動を起こしてもよいし、または該表示物上のカーソル位
置に依る該表示物のサイズ変更を起こしてもよい。
【0015】
【発明が解決しようとする課題】ユーザーをより生産的
にするためユーザーには比較的容易に学習でき、容易に
使用でき、強力であるツールが提供されるべきである。
これらの課題は時に個別には容易に達成できるが、組み
合わせた場合はまれである。それにもかかわらずより直
覚的、効率的、融通のきくユーザーインターフェイスを
設計する試みに対しかなりの労力が費やされてきた。以
下ドローイングプログラムを例にとり、これまでどのよ
うに労力が使われてきたか、およびユーザーインターフ
ェイスの一特徴を改善することが他の特徴を低下させて
しまうことがありえることについての説明を行う。
【0016】ドローイングプログラムの一般的構成は、
ドローイング(描画)領域の片側に固定されたツールパ
レットおよびドローイング領域上部のメニューバーを有
する。ツールを変更するためユーザーはカーソルをパレ
ットへ動かし、所望ツールアイコンをクリックし、そし
て再びカーソルをドローイング領域内の適正位置へ動か
す。所望の表示物上に所望の処理を施すため、ユーザー
はカーソルを表示物へ動かし、表示物をクリックして該
表示物を選択し、カーソルをメニューバーへ動かし、マ
ウスボタンを押してメニューを引き出し、所望のメニュ
ー項目をドラッグし、そしてマウスボタンをはなす。こ
の後ユーザーはドローイング領域か、メニューバーの他
の項目か、またはツールパレットへカーソルを動かす。
これはたとえ最も単純な処理に対したとしても多くのマ
ウス移動となる。
【0017】ティーオフ(切取り)メニューおよび可動
ツールパレットは、作図が実際に行われている領域付近
にユーザーが一定量のメニューとツールパレットを継続
して開いておくことを可能とし、その結果マウスの移動
距離を減少させる。ティーオフメニューおよび可動ツー
ルパレットはユーザーのカーソル移動距離を減少させる
点ではより効率的作図をもたらすが、他の一方ではより
非効率的なことをもたらす。これらは特にユーザーが作
図している付近の多くの作図領域を占める傾向にある。
このことはメニューとパレットを作図のじゃまにならな
いように移動するためにユーザーが作図作業を常に中断
しなければならない結果となりえる。プログラムが強力
(機能的)になればなるほどメニューがながく伸びてよ
り多くの領域を占めるという事実によりこの問題は複雑
化する。前述の課題を解決しようとする際に遭遇するこ
の種のトレードオフは不幸にしてまれなものではない。
【0018】
【課題を解決するための手段】本発明はユーザーがより
少ない動作で多くの一般的タスクを行うことを可能と
し、その結果として生産性を高めるユーザーインターフ
ェイスの技法を提供する。該技法は、ユーザーが親しみ
やすく、それゆえかなり速く学習することも可能である
ような動作を利用する。本発明は単一プログラム中で実
施されてもよいし、またはオペレーティングシステムを
含む異なるプログラム間にわたって有効となるようオペ
レーティングシステムに組み込まれてもよい。
【0019】本発明はプロセッサーで制御される装置環
境内で動作し、該装置は一組の素データの処理をして可
視表示体を表示するプログラムを実行する。さらに本発
明に関するシステムは、ツールパレット、特性パレッ
ト、メニュー、スイッチ、ダイアログボックス、および
スライダーのような一組のコントローラーの視覚表示を
与える。コントローラーは集合的にツールと呼ばれ、ユ
ーザーは通常(一組の入力装置を使用して)ツールおよ
び可視表示体との対話によりプログラムに処理を指定
し、ディスプレイ装置上でこれらの処理結果を見る。ユ
ーザーは通常、カーソルを所望の位置に置き、カーソル
を用いてマウスクリックのような動作を行う。
【0020】簡潔には、本発明はクリックスルーツール
と呼ばれるもので特徴づけられ、該ツールは(他のクリ
ックスルーツールを含む)他のツールと合成されて合成
ツールを与えることが可能である。クリックスルーツー
ルの視覚表示は一般的に透明な枠取りされたアクティブ
領域を含み、該領域は可動であるため可視表示体の所望
の部分上に置かれることが可能である。ユーザーが該ア
クティブ領域を通して可視表示体と対話を行う場合、特
定のクリックスルーツールの特性についての動作が行わ
れる。可視表示体が一組の図形表示物を表すものとなる
ドローイングプログラム中で動作する本発明の実施例で
は、クリックスルーツールは表示物の作成のためのツー
ルおよび既存の表示物のコピー、変更、および削除のた
めのツールを含んでもよい。
【0021】クリックスルーツールが可視表示体に対し
ていったん置かれると、該ツールを通しての動作結果は
通常、動作が起きたアクティブ領域内の特定の位置に依
存する。他の方法を用いると、クリックスルーツールを
通しての動作結果が通常、動作が起きた時点のカーソル
下の可視表示体の一部分に依存する。従来ツールもまた
アクティブ領域を有しているが、ツール上の動作結果は
該ツールに依存し、該結果は通常、動作が起きたアクテ
ィブ領域内の位置または可視表示体に対するツールの位
置に依存しない。従来ツールは、そうあらなければなら
ない基本的理由がないにもかかわらず、通常は透明でな
い。
【0022】クリックスルーツールと他のツールを結び
つける動作は合成と呼ばれる。クリックスルーツールは
他のツールと重ね合わされることが可能であり、この場
合二つのクリックスルーツールを通して可視表示体上に
行われた動作は両ツールの特性を与える。二つのツール
は、もし必要なら単一のものとして動くようにグループ
化されることが可能である。クリックスルーツールは従
来のツール上に重ね合わされることも可能であり、クリ
ックスルーツールを通して従来のツール上へ動作が与え
られる。同様に、この動作は両ツールの特性を与える。
従来ツールが状態ツールである場合、状態ツールを用い
た結果として生じる動作は、クリックスルーツールの特
性をもつものとなる。加えて、従来の状態ツールが呼び
出されてその後の動作がクリックスルーツールを通して
行われることが可能であり、この場合従来ツールの使用
はクリックスルーツールの特性を与えるものとなる。ク
リックスルーツールが他のツールの一部分上のみに重ね
合わされる場合、ユーザーはオーバーラップしている領
域内をクリックして合成動作を行うこと、またはオーバ
ーラップしていない領域内をクリックして単位な合成さ
れていない動作を行うことの選択が可能となる。
【0023】特定の実施では各クリックスルーツールは
命令を与え、ツールがイベントを受け取った時点までに
該イベントが累積した動作とツールの動作とを合成する
役目を負う。様々な方法の内の一つを用いて既存の動作
から新たな動作が算出されることが可能であり、該方法
は動作の命令リストを既存の命令リストの終端に追加し
て合成動作を作成すること、動作の命令リストを既存の
命令リストの先頭に追加すること、命令リストからひと
つまたはそれ以上の命令を削除すること、受信した動作
のいくつかまたはすべてで使用されている命令表記を変
更すること、命令の命令表記に続き指定された論理値を
変更すること、または命令内に指定された座標<x,y> を
変更することを含む。いくつかの実施例ではツールの集
合がユーザーの制御下で共に動き、それゆえ該集合は可
視表示に対して動かすことの可能なオーバーレイ上に置
かれていると考えることが可能である。オーバーレイ
は、ユーザーの利き腕でない方の手(例えば右利きのユ
ーザーの左手)により制御される入力装置により位置設
定されることが好ましい。
【0024】
【実施例】
1.0 システム外観 図1は、本発明の実施例であるコンピュータシステム1
0を示す。従来技術に従い該システムは、バスシステム
15を通して多くの周辺装置と通信を行うプロセッサー
12を含む。これら周辺装置は通常、メモリ17および
ファイル記憶システム20を含んだ記憶装置、多くの入
力装置、およびアクティブ表示領域23を有するディス
プレイ装置22を含む。ファイル記憶システムはプログ
ラムとデータファイルを記憶し、ハードディスクドライ
ブやフロッピーディスクドライブのような標準装置を通
常含む。該装置はCD-ROMドライブや光学的ドライブ装置
のような他の装置を含んでもよい。
【0025】本文中においてバスシステムという言葉
は、システムの各構成装置に所望の双方向通信を行わせ
るためのあらゆるメカニズムを含ませるために一般的に
用いられる。入力装置とディスプレイ装置を除き、他の
構成装置は物理的に同位置にある必要はない。例えばフ
ァイル記憶システムの一部は様々な長距離ネットワーク
メディアを通して接続されることが可能である。本発明
はほとんどPCやワークステーションのプログラムにおい
て実施されることが予想されるが、前記と同様に入力装
置とディスプレイ装置はプロセッサーと同位置にある必
要はない。
【0026】入力装置はほとんどの部分が標準装置であ
り、キーボード25と一つまたはそれ以上のポインタ装
置を含む。マウス27とトラックボール30が示されて
いるが、タッチスクリーン、グラフィックタブレットま
たは電子スタイラスが用いられてもよい。従来システム
において二つ以上のポインタ装置が用いられる場合があ
るかもしれないが、ユーザーは作業時に一つの該装置の
みを使用するのが通例である。本発明はユーザーに二つ
の該装置を提供することで重要な利点を得るものであ
り、該装置は両手に提供され、同時にまたは交互に使用
される。具体性を持たせるためマウス27は三つのボタ
ン32を有するよう示されており、トラックボール30
はボール35、三つのボタン37、およびサムホイール
40を有するよう示されている。
【0027】以下本発明について、図に示された表示領
域23の内容を参照し、高度なユーザーの観点から説明
を行う。ディスプレイ装置はドローイングプログラム用
の一つめのアプリケーションウィンドウ50とワードプ
ロセッサー用の二つめのアプリケーションウィンドウ5
2を表示している。ドローイングウィンドウは三つの図
形表示物である、矩形、楕円、五角形を有するよう示さ
れている。ワードプロセッサーウィンドウはテキストを
有するよう示されている。その位置をマウス27により
制御される矢印の形のカーソル55がドローイングウィ
ンドウ内の矩形の外郭線上に位置するよう示されてお
り、これは所望の処理を行うためにユーザーが該矩形を
選択した場合であってもよい。これは代表的設定であ
り、例えばユーザーが特許明細書とそれに関する図面を
作成しているところで起こる例であってもよい。コンピ
ュータとこれから行われるタスクに依り、表示領域全体
を一つのウィンドウが占めていてもよく、また、多数の
ウィンドウがオーバーラップして占めていてもよい。
【0028】前述のコンピュータ環境および表示領域の
内容は標準的なものとなっている。本発明は該環境に他
の一態様を付加する。該付加態様は多数の枠取りされた
領域60を有する可動透明オーバーレイである。該枠取
り領域はマルチエレメントグリッド内の互いに境界を接
する複数の矩形として示されているが、後述のように必
ずしも互いに境界を接する必要はない。さらに、必ずし
も同時に複数がディスプレイ上に表示される必要はな
い。オーバーレイ上の枠取り領域を表示領域内にある表
示物と区別するための補助として、オーバーレイ上の表
示物が実線で示され、アプリケーションウィンドウと図
形表示物が点線で示されている。後述のように、オーバ
ーレイは特定される枠取り領域の重要性を指定するため
の(アイコンまたはテキストのような)指標を伴うこと
が望ましい。このためオーバーレイは透明なものとして
与えられる一方で、オーバーレイ上の枠取り領域の必要
からいくつかの不透明部または半透明部を有してもよい
と考えられる。
【0029】所定の枠取り領域が表示の一部上に置か
れ、該領域内で動作が行われる場合、該動作は特定され
た該領域の特性を持つものとなる。このように各枠取り
領域は、表示領域の関連部分に運ばれて該部分に適用さ
れることが可能となるツールのアクティブ領域と考えら
れてもよい。このようなツールの適用され方の性質が与
えられることから、該ツールは時にクリックスルーツー
ルと呼ばれる。後述の多くの説明はオーバーレイを単一
な透明シートとして扱っているが、オーバーレイは、多
くの半透明ツールをそれぞれ有し相対的に可動な複数の
透明シートの形態を含んでもよい。
【0030】適用対象表示物上にツールを現すことは最
も直覚的アプローチであると考えられ、また該アプロー
チは一般的に認められるものである。しかしこれとは逆
のスタック順序を保証する特別な環境があってもよい。
例えば、オーバーレイ上のマークによってでさえいかな
るアプリケーション表示物も不鮮明であってはならない
ようなクリティカルなアプリケーションがあってもよ
い。この場合にはアプリケーションを透明に現し、オー
バーレイをアプリケーションの背面に現すことによりア
プリケーションが可能となる。後述のように、オーバー
レイプログラムの基本的操作は前記いずれについても同
様となる。このためオーバーレイという言葉は、それが
表示領域の表示物の上面または背面に現れることにかか
わりなく、ツール関係シートの集合を表すために用いら
れる。いくつかの場合においてはあるスタック順序から
他のスタック順序へユーザーが切替えを行うことが可能
であるようにすることが好ましい場合もある。
【0031】ユーザーが表示領域に対してオーバーレイ
を置く方法はたくさんあるが、これはトラックボール3
0を用いてユーザーの利き腕でないほうの手により行わ
れることが好ましい。直線運動的位置設定はボール35
の回転により行われてもよく、この他の操作はボタン3
7を用いて行われてもよい。オーバーレイおよびその内
容の変更はサムホイール40の回転により行われてもよ
い。
【0032】クリックスルーツールとオーバーレイは新
たなユーザーインターフェイス素子を提示するが、該素
子は標準インターフェイス素子と共に用いられてもよ
い。従来技術プログラムの多くに使用されるタイプの定
型的ツールパレット62が例として示されている。プロ
グラムとOSに依り、与えられたプログラムに特有のツー
ルとパレットはプログラムウィンドウにしっかり固定さ
れてもよいし、または該プログラムのための他のウィン
ドウに対し相対的に可動な別個のウィンドウとして現れ
てもよい。オーバーレイツールの実施例に関する後述の
説明の大部分はクリックスルーツールを扱うが、パレッ
ト62内にあるような従来ツールがオーバーレイ上に結
合され、該オーバーレイ上の他のツールと共に動かされ
てもよい。パレット62は実線で示されており、これは
該パレットがオーバーレイ上にあることを示している。
従来ツールは一つまたはそれ以上のオーバーレイシート
をクリックスルーツールと共有することが可能であり、
また別個のオーバーレイシート上に隔離されることも可
能である。
【0033】図2は、メモリ17またはファイル記憶シ
ステム20に記憶された各データ項目が表示領域23に
現れるよう処理される過程を表すフローダイヤグラムを
示す。プログラムの素データ70は通常、各プログラム
特有のフォーマットで記憶されている。該フォーマット
はプログラムの特性であり、プログラム操作のためにほ
ぼ最適化されている。データは翻訳装置(または翻訳プ
ログラム)72による処理に従い、該装置(またはプロ
グラム)はデータをディスプレイ上に現れるべき表示を
特定する画像データ構造73に変換する。フォーマット
は多数あり、例えば画像データ構造73はビットマップ
であってもよいし、また、Display PostscriptやQuickd
raw のようなプログラム言語の一連の命令であってもよ
い。詳細はともかくとして、画像データ構造は(まだビ
ットマップになっていない場合)ディスプレイの解像度
において表示が可能となるよう充分な情報を有していな
ければならない。そうでない場合にはディスプレイ上の
表示のための処理が加えられる。
【0034】オーバーレイも同様な階層構造により特性
づけられる。該階層構造においてオーバーレイの素デー
タ75は、該データをオーバーレイ画像データ構造80
に変換する翻訳装置(または翻訳プログラム)77によ
り処理される。前記二つの画像データ構造は結合ノード
82で示される地点で結合され、最終的ディスプレイイ
メージ83に変換される。画像データ構造を結合するた
めに特定される技法は、オーバーレイが不透明部または
部分的不透明な指標を伴う透明シートとして現れること
を保証しなければならない。後述のようにオーバーレイ
はビジュアルフィルタと呼ばれるようなものを含んでも
よいし、またビジュアルフィルタを組み込むツールを含
んでもよい。そのような具体例において、結合ノードは
ディスプレイイメージの各部を修正したりフィルタ処理
することが可能である。オーバーレイの構成および外観
の仕様について、各ツールの具体例と共に以下詳細な説
明を行う。
【0035】本発明のシースルーインターフェイスは三
つの概念的ユーザーインターフェイス層であるカーソル
層、オーバーレイ層、アプリケーション層の相対的位置
設定を必要とする。カーソル層はその最小限として、平
面内の識別された点(カーソル位置)により定義され、
該識別点と共に正確に動く一つまたはそれ以上の表示物
を含む。オーバーレイ層はその最小限として、共に組み
合わされて動く一組のツールを含む。アプリケーション
層は表示体を伴う一つまたはそれ以上のプログラムを含
む。これら各層は順にサブレイヤーを含んでもよい。例
えばカーソルはドラッグドロップ表示物を伴ってもよい
し、オーバーレイのツールは単純なツールを互いに積み
重ねることで作られてもよいし、また各アプリケーショ
ンはオーバーラップウィンドウシステムのようにオーバ
ーラップしてもよい。
【0036】図3は、これら三層間の関係およびオーバ
ーレイ85とアプリケーションプログラム87、88
(アプリケーション#1、#2として示されている)と
の間の情報のやりとりのフロー図を示す。オーバーレイ
ツールが表示体の上面に現れるか背面に現れるかに関係
なく、オーバーレイとアプリケーション間の情報のやり
とりは同一となる。
【0037】トリガーがかかるとオーバーレイツールは
アプリケーションへ命令を送出する。該命令は任意のデ
ータ構造を含んでもよい。アプリケーションは自身のデ
ータ構造を変えることで該命令に応答してもよいし、オ
ーバーレイへデータを送り帰すことで応答してもよい。
加えて、自身をペイントする時はいつでも、アプリケー
ションは自身の表示体(スクリーン上の現行表示)に関
する情報を与えることでオーバーレイに応答する。オー
バーレイは該表示体を(例えばビジュアルフィルターを
用いることなどによって)ユーザに提示する前に修正し
てもよい。
【0038】アプリケーションは一定のコマンドに応答
してオーバーレイへデータを送り帰すため、図はアプリ
ケーションからオーバーレイへの前記とは逆の経路も示
している。本発明の詳細な実施例に関する後述の説明は
クリックスルーツールを扱うが、その基本的内容はオー
バーレイ上の従来ツールにも適用される。
【0039】オーバーレイソフトウェアはウィンドウマ
ネージャー92と共に処理を実行する。該ウィンドウマ
ネージャーはオペレーティングシステムの一部であって
もよく、ウィンドウフレームを作成してもよいし、ディ
スプレイ上のウィンドウの作成、移動、サイズ変更およ
び記述を監督してもよい。ウィンドウマネージャーは入
力信号を入力装置からそのまま受け取り、該信号を適正
なアプリケーション(通常はカーソル直下のウィンドウ
を有するそれ)へ送り、位置情報をアプリケーションの
座標系で表された座標に翻訳する。ウィンドウマネージ
ャーはまた、ウィンドウの内容をどこに描くかの情報を
アプリケーションに与える。
【0040】オーバーレイへの入力信号は(例えばマウ
スイベント座標のような)OSからの入力信号そのままで
あってもよいし、ドラッグドロップ対象表示物または他
のアプリケーションにより与えられてもよい。加えて、
オーバーレイツールの重ね合わせが可能であるような実
施例については、他のオーバーレイとして見えるものか
ら入力信号が来てもよい。オーバーレイへの一組の付加
入力信号(図には明示されていない)は、表示体に対す
るオーバーレイの位置設定のための信号を含んでもよ
い。
【0041】図の実施例においては入力信号は汎用言語
の命令に翻訳され、該命令は適正なアプリケーションの
ための翻訳装置(またはプログラム)ヘ送出される。入
力信号がアプリケーション#1へ送出される命令を起こ
す位置情報を有していた場合、該命令は翻訳装置(また
はプログラム)93へ送出される。該翻訳装置(または
プログラム)は該命令のうちのいくつかをアプリケーシ
ョン#1の入力言語の命令へ変換し、また該命令のうち
のいくつかをアプリケーション#1の処理呼出しへ直接
変換する。アプリケーション入力言語の命令は、該命令
を処理呼出しへ変換する命令解析装置(またはプログラ
ム)95へ送出される。図は入力信号がアプリケーショ
ン#2に関係する場合についても示しており、この場合
汎用言語の命令は翻訳装置(またはプログラム)97へ
送出され、次にアプリケーション#2の処理呼出しを発
生させる命令は命令解析装置(またはプログラム)98
へ送出されることが可能となる。
【0042】汎用言語の命令を前記両アプリケーション
言語の命令に変換する一実施例について以下に説明を行
う。ビットマップの処理をするペイントプログラムおよ
び座標指定された表示物の処理をするドロープログラム
の実施例を考える。さらに、カーソル下のオーバーレイ
ツールが色を赤に変更することを指定する場合を考え
る。通常、命令は一連の位置情報である演算子を含んで
おり、また、一つまたはそれ以上のパラメータを含むこ
とが可能である。汎用言語の命令が含む実施例として以
下を想定することが可能である。
【0043】SetColor<x,y>red, SelectCorner<x,y>,and Scale<x,y><x',y'>2.0. 前記SetColor命令について考える。ピクセルの処理をす
るペイントプログラムにとって、カーソル位置は必要と
される動作を決定するすべての位置情報を与え、また単
一命令が必要とされるすべてである。関連するペイント
プログラム言語の単一命令として以下が想定されてもよ
い。
【0044】SetColorPixel<x,y>red. ドロープログラムにとってどの表示物が選択されたかを
カーソル位置に基づき決定することが第一に必要である
ことと想定され、この後該表示物に対し色が指定され
る。関連するドロープログラム言語の命令シーケンスと
して以下が想定されてもよい。
【0045】SelectObject<x,y> SetColorSelectedShape red. 選択された表示物の色設定処理がオーバーレイ上の従来
ツールで行われた場合、命令シーケンスは同一になるこ
とが想定されるが、該命令シーケンスは二つのステップ
に分かれることが想定される。第一ステップはユーザー
が従来方法で表示物を選択することであり、その次のス
テップはユーザーが従来のカラーパレット内の赤いボタ
ンをクリックすることである。
【0046】前記設定における(クリックスルーツール
を用いた場合に対する)変化事項は、入力信号が汎用言
語の命令へ変換されることを避けるためにオーバーレイ
とアプリケーション翻訳装置(またはプログラム)をし
っかり結合させておくこととなることが想定される。さ
らに、オーバーレイはそれがどのアプリケーションをサ
ポートしているかについての情報を維持しなければなら
ないこと、および入力信号を適正なアプリケーション入
力言語に変換することが想定される。 2.0 オーバーレイツール実施例概観 オーバーレイが有用なものとなるために、オーバーレイ
はユーザーのアプリケーションの利用を支援する一組の
ツールを有していなければならない。多くの該ツールに
ついて以下に説明を行う。これらツールのいくつかはそ
れのみで本発明に関するものであり、またそれら以外は
オーバーレイの内容物としてのみ本発明に関する。利き
腕でない方の手でできるタスクのほとんどは、現行タス
クを中断する代償を払えば利き腕によってもなされるこ
とが可能である。しかし両手使用を必要とするいくつか
のタスクがある。後述の説明のツールの多くはクリック
スルーツールとなっている。この言葉は、前述のように
表示体の一部上をツールを通してクリックすることでツ
ールが適用されることを表している。
【0047】該ツールは以下の内容を含む多くの興味深
い特性を有している。該ツールはいくつかの対話ステッ
プを一つにまとめることをしばしば可能とする。ユーザ
ーの目は作業領域から離れる必要がなくなる。インター
フェイスは直接的、視覚的、また注意深く選択されたツ
ールを用いることで簡単に学習できるものとなる。ユー
ザーの利き腕でない方の手は大まかな位置設定にのみ寄
与し、微調整はマウスをもつ手で行われる。実施例は画
面内の図形表示物を作成、修正、および削除するための
ツールを伴うドローイングプログラム(グラフィカルエ
ディタ)環境を基本的に意図している。
【0048】ほとんどのツールの説明は図面を用いて行
われ、用いられる図面は異なる処理段階での作図場面の
外観、およびいくつかの場合にはツールのそれを示す一
連の描写を含む。いくつかの実施例については、本発明
のツールを用いた特定の処理が従来のドローイングプロ
グラムツールと技法を用いた同一の処理と対比される。
図8、13および23を除き、画面内の表示物は点線で
描かれ、またオーバーレイツールは実線で描かれる。こ
れは図1の取決めと逆なものとなる。
【0049】特定タイプのプログラムやエディタの引用
は、スタンドアロンアプリケーションプログラムを意味
することを意図してはいない。実際、いわゆるドローイ
ングプログラムの多くは非常に高度なテキスト処理能力
を有しているし、またいわゆるワードプロセッサーの多
くは強力なドローイングモジュールを有している。単一
プログラムで多くのタイプのプログラムの機能を提供す
る集積プログラムパッケージ(いわゆるワークスプログ
ラム)により、プログラムの区分けはさらにあいまいな
もとのとなる。従って特定タイプのプログラムの引用
は、明確に規定された機能を有するプログラムの引用と
してとらえられるべきであり、該プログラムがドローイ
ングプログラム、ワードプロセッサー、データベースプ
ログラム、またはスプレッドシート等として市販されて
いることによらない。
【0050】多くのツールはスナップドラッギングと呼
ばれる特徴をもつグラフィカルエディタと共に説明が行
われる。これはBierとStone の文献(文献Bier86)にス
ナップドラッギングとして記載されている(ある表示物
が他の表示物を引きつける)引力技法を引用したもので
ある。該技法ではキャレット(脱字記号)と呼ばれる特
別な点が表示物の角のような引力が与えられた位置に取
り付き、他の表示物が作成されると該表示物がキャレッ
トに取りつくことが可能となる。
【0051】ボタン、メニュー、パレットという言葉が
多くのツールと共に後述の説明で用いられる。これらの
言葉は一般に知られている意味で用いられるが、本発明
のオーバーレイがこれらに新たな特性を与えて既知のも
のとは別の手段にしてしまうため、一般的意味からの多
少の逸脱が時に必要となる。一般にボタンはディスプレ
イ上の一つの定義された領域を言い、これがクリックさ
れる時に所望の処理が起こる。オーバーレイで用いられ
るいくつかのボタンは、ボタン上の特定位置をクリック
することでユーザーが特定の結果を得ることを可能にす
る。一般にメニュー(しばしばプルダウンまたはポップ
アップが前に付けられる)は項目または特性のリストで
あり、メニューバーまたはメニューアイコンをクリック
して所望の項目にドラッグすることでユーザーが選択で
きるものである。パレットという言葉はボタンの集合表
示を言い、そこでは一つまたはそれ以上のボタンの選択
がクリックにより可能である。
【0052】ティーオフメニューは実質的にプルダウン
またはポップアップメニューのための代用パレットであ
る。従ってメニュー選択はメニュー項目選択の単一ステ
ップからなり、メニューバーのメニューを選択してから
メニュー項目を選択する複合ステップを取る必要はな
い。後述の説明で用いられるパレットメニューという言
葉はパレットまたはティーオフメニューを表し、利き腕
でない方の手により動かすことができ、ユーザーを現行
の主要タスクからそらすことなく作業領域に持ち込ま
れ、その後取り去られるものである。
【0053】後述の特定ツールのいくつかは、ビジュア
ルフィルタ、フィルタまたはレンズと呼ばれるものを利
用する。各フィルタは目視領域と呼ばれるスクリーン領
域であり、該領域内に表示された図形に対しワイヤーフ
レーム形式の拡大、透視、およびスップレッドシートセ
ル内の隠れた同一物の表示のような処理を行う作用素子
を伴う。これらフィルタは、ピクセル以外の多くの表示
形態、および拡大以外の多くの処理に対し汎用性を与え
るものである。表示出力を生成するために、これらフィ
ルタは現行の表示体を生成しているオリジナルなアプリ
ケーションデータ構造を利用する。従ってこれらフィル
タはアプリケーションデータ構造を実質的に異なるフォ
ーマットで表すことが可能であり、これにより従来そう
することが困難であった情報の強調表示、現行処理に関
係しない情報の圧縮、または従来表示されることのなか
ったデータ構造の部分的情報でさえ表示することが可能
となる。このようなビジュアルフィルタはオーバーレイ
ツール、特に該ビジュアルフィルタにより表示または強
調表示されるデータ構造の一部に関わる処理を行うツー
ルと協調して動作する。
【0054】ビジュアルフィルタはアプリケーションデ
ータ構造の修正表示だけでなく、特定されたアプリケー
ション図形に対し置かれる一時的オーバーレイツールを
生成してもよい。ユーザーはこれら一時的オーバーレイ
ツールをオーバーレイ上の他のツールと同様な方法で使
用することが可能である。例えばこれらツールはボタン
を含んでもよく、ユーザーはボタンの背面にあるアプリ
ケーションに送出されるべき命令を起こすために該ボタ
ンをクリック、クリックスルー、またはドラッグするこ
とが可能となる。
【0055】いくつかのフィルタが組み合わされて表示
物に順に処理を行う場合、表示物がフィルタの層を下か
ら上へ逐次的に通過するように見える効果を生じる。加
えて、あるフィルタがその下に他のフィルタを有する場
合、これら他のフィルタがスクリーン上に与えた境界を
該フィルタ自身の境界内に修正してもよい。 2.01 画面内への表示物の挿入および図形の作成 図4は、オーバーレイ上の図形パレットを用いて新たな
図形をグラフィカル画面に加える方法を示す。ユーザー
はツール上の円をグラフィカル画面内の矩形付近に大ま
かに位置設定したところである。ユーザーがマウスボタ
ンを押してその状態を保つと、ツールと同サイズの新た
な円が画面内に生成され、オーバーレイが消え、位置設
定の微調のために円はその中心を(例えば)カーソルの
矢に取り付ける。スナップドラッギング(文献Bier86)
のような引力技法を用いることでその中心が正確に矩形
の角上になるよう新たな円が置かれることが可能であ
る。ユーザーがマウスボタンをはなすと新しい図形はそ
の最終的位置となり、ツールが再び現れる。ユーザーが
三角形のようないくつかの角を有する図形を置いた場
合、マウスボタンが押された時点でカーソルにいちばん
近い角が該図形をカーソルに取り付ける点となったこと
が想定される。
【0056】前記の実施例では、メニュー内のサイズ
が、それがアプリケーションに適用された時点で、作成
図形のサイズを決定している。線、矩形、円、および他
の図形の選択の場合のような多くの場面では、ユーザー
は図形の一般的形を選択してからサイズや位置を特定す
ることを望む。オーバーレイは、両手を用いて選択、位
置設定、およびサイズ設定タスクを流暢で自然な形態で
行うことができる利点を有する新たな技法を可能とす
る。
【0057】図5は、矩形の四つの角すべてを同時に置
くことを可能とする矩形作成の実施例を示す。最初に、
利き腕でない方の手が画面内の矩形上にツールの矩形を
置いたところである。ユーザーはマウスカーソルでツー
ル矩形をクリックし、マウスボタンを押して画面内に初
期サイズの矩形を作成し、位置設定する。その後ツール
が消える。マウスカーソルにいちばん近い矩形角が該カ
ーソルに取り付く。該矩形角の対角に新たなカーソルが
現れ、該カーソルの位置は利き腕でない方の手で操作さ
れる。矩形の該両対角は同時に位置設定されることが可
能であり、またスナップドラッギングを用いて即座に置
かれることが可能である。マウスボタンがはなされると
矩形が置かれてツールが再び現れる。この両手作図技法
は他の図形の各位置に対しても使用されることが可能で
あり、該位置としては、線分の両端点、円の中心と円周
上の点(円の平行移動とサイズ設定が同時に行なわれる
ことが可能となる)、三角形の二角(三角形の平行移
動、回転、およびサイズ設定が同時に行なわれることが
可能となる)を含む。 2.02 クリックスルーボタン ほとんどのユーザーインターフェイスでは、ボタンが行
う処理を記述するテキストは該ボタン自体のアクティブ
領域内に置かれる。しかしオーバーレイ上においては、
アクティブ領域を透明にしてその近辺にテキスト、アイ
コン、または処理を示す他の指標表示を伴わせるほうが
好ましいことがしばしばである。これによりユーザーが
ボタン内に見える表示物に処理を行うことが可能とな
る。各アクティブ領域はクリックスルーボタンと呼ばれ
る。クリックスルーボタンは表示物のピックアップに用
いることも可能である。
【0058】図6は、削除、移動、およびコピー処理の
ためのクリックスルーボタン、および画面から表示物
(楕円)を削除するための処理シーケンスを示す。ユー
ザーは削除ボタンが表示物グループの上になるようオー
バーレイの位置設定を行い、この一方でこれら表示物の
うちの一つにカーソルを置く。特定の処理の実行におい
てシステムは、マウスボタンがその上ではなされた時に
処理されることとなる表示物をマウスボタンが押されて
いる期間にわたり強調表示する。ユーザーがマウスボタ
ンをはなすと選択された表示物が削除される。いくつか
の表示物は削除ボタンに交差するが、ユーザーがマウス
カーソルで示した表示物のみが実際に削除される。この
ことは処理対象表示物の厳密な特定を可能とする。また
クリックスルーボタンはユーザーが処理と処理対象表示
物を単一な両手動作で選択することを可能とする。ユー
ザーが前記と異なる処理を行おうとしていた場合は、別
のクリックスルーボタンが使用されることが想定され
る。
【0059】図7は、カラーパレットとして用いられる
クリックスルーボタンのアレイ、および画面内の表示物
(五角形)の色変更のための処理シーケンスを示す。こ
の場合各ボタンは、右上部角に色を示す(各色は異なる
パッチパターンで表される)三角形領域を有する矩形と
なっている。ユーザーはカラーパレットの所望の色をも
つ部分を五角形上に置き、マウスでその上をクリックす
る。楕円も該ボタンの下となっているが、ユーザーがマ
ウスカーソルで示す五角形のみがその色を変更する(ユ
ーザーが表示物のない領域をボタンを通してクリックす
る場合、プログラムは該動作を無視するか、または該動
作を省略した翻訳をすることが可能である)。従来のド
ローイングプログラムでは、ユーザーは(選択ツールを
得るためにカーソルをツールパレットへ動かすような動
作を必ず最初に行った後で)色が変更される表示物へカ
ーソルを動かし、表示物の選択のため該表示物上をクリ
ックし、そして所望の色の選択のためカーソルをカラー
パレットまたはメニューへ動かすことが想定される。
【0060】カラーパレットボタンは互いに境界を接す
るように示されているが、削除、移動、およびコピーボ
タンの場合のように互いに離れていてもよい。さらに、
ボタン上の色領域は不透明部として示されているが、そ
れは透明に近くてもよい。色領域の背面が透けて見える
場合、色領域はボタン領域全体をカバーすることが可能
となる。表示物の輪郭色を変更するために、同様のクリ
ックスルーボタンのアレイが提供されることが可能であ
る。与えられるボタンの色は前述のように表示されるこ
とが可能であるが、色は三角形領域の外周のみに与えら
れるか、もしくはボタンの外周にわたり与えられるよう
にされる。
【0061】図8は、ドキュメント内のテキストのスタ
イルを設定するための特性パレットとしてのクリックス
ルーボタンのアレイを示す。各スタイル(regular 、bo
ld等々)はツール上にアクティブ領域を有している。こ
の実施例ではボタン機能を記述するテキストがアクティ
ブ領域内に位置している。該領域内に表示されているテ
キストの選択が該テキストのスタイルを変更する。この
実施例ではユーザーはボールド(bold)ボタン内のテキス
トを選択しており、この結果選択されたテキストはボー
ルドフェイスに変換される。プログラムがテキスト選択
として認識する特定イベントは、該イベントが所望のボ
タンから始まっている限りさして重要でない。テキスト
選択のメカニズムが所望のテキスト上のカーソルドラッ
グである場合、ユザーは選択のためにアクティブ領域内
に開始位置を設定し、マウスボタンを押し、選択を完了
させるためドラッグを行い、そしてマウスボタンをはな
すことが想定される。マウスボタンがはなされる時点で
カーソルはアクティブ領域の外となる傾向にあるが、こ
れはどちらでもよい。 2.03 クリップボード クリップボードツールはその背面にある表示物から図形
や特性をピックアップし、多くのアプリケーションで良
く知られているコピーやペーストキイを表示化したもの
のように動作する。クリップボードは表示物全体、また
は色、線パターン、もしくはフォントのような特性をピ
ックアップすることが可能である。クリップボードは単
一または複数の表示物コピーを保持することが可能であ
る。クリップボード上に捕捉された表示物または特性
は、パレットツールの場合のようにその上をクリックす
ることで該クリップボードからコピーされることが可能
である。クリップボードツールでピックアップされた表
示物または形態は、ある意味でツールの一部となる。こ
のことはユーザーがオーバーレイをカスタマイズするこ
とを可能にする一般的特徴の一具体例にほかならない。
該特徴については後に詳細な説明を行う。
【0062】図9は、対称クリップボードの処理動作を
示しており、該クリップボードはユーザーがクリックし
た図形をピックアップし、該図形を90°ずつ回転させ
て得られるすべての図形を生成する。クリップボードを
動かして再びクリックする結果、ユーザーは運ばれた該
対称図形のコピーを作図領域上に落とす。クリップボー
ドの左上角の小さい正方形のクリックは、新たな図形を
クリップできるようクリップボードの内容を消去する。
【0063】図10は、表示物の図形的特性をピックア
ップしてこれを他の表示物に与える一対のツールを示
す。図は楕円の色を矩形へ転写する特定シーケンスを示
す。ユーザーは表示物の領域色に感受性をもつツールシ
ートを通して楕円上をクリックする。領域色が図形から
与えられて(または円形切片がその色ごとコピーされ)
ツールシートの一部となる。該円形切片もその色がどこ
から来たかの指標として保持される。
【0064】この後ユーザーはツールシートを動かし、
特性アプリケータとして動作するツールシートの円形タ
ブを矩形上に置く。ユーザーがマウスをクリックすると
該矩形はツールシートから色を得る。二つめのツールシ
ートは、別の表示物から二つめの充填色を得るために用
いられることが可能であり、別のアプリケーションのた
めにいくつかの色を保存することを可能とする。
【0065】図11は、その背面にある表示物の形状を
コピーし、該形状の選択された部分を再びアプリケーシ
ョンに移すことをユーザーに可能とするツールの処理動
作を示す。ユーザーがツールを通して表示物(この場合
は曲線)をクリックした時点で、曲線またはそのコピー
がツールの一部となる。後にユーザーが新たな図形を作
成する時、該ツールは雲型定規のような使われかたをす
る。すなはち、ユーザーは新たな図形の近くにツールを
置き、曲線のどの部分が新たな図形に付加されるかを特
定するため曲線上の二点をクリックし(特定された部分
は強調表示されてもよいし、色が変えられてもよい)、
そして選択された部分がこれにいちばん近い新たな図形
の端に付加される。 2.04 クリックスルーボタンとビジュアルフィルタ 前述の各クリックスルーボタンでは、各クリックスルー
ボタンのアクティブ領域は完全に透明であり、ボタン背
面の表示物をボタンがないかのように見せていた。しか
し、適正に処理を行うために必要となる情報を強調して
ボタン背面の表示物を表すことが多くのアプリケーショ
ンに対し有用となることが想定される。このことは前述
のビジュアルフィルタを用いて行うことが可能である。
【0066】図12を例にとると、ユーザーは多くの積
み重ねられた矩形に対しており、中間にある矩形の左上
部角を選択しようとしている。該角は最上部の矩形によ
り覆われており、指示することが困難となっている。し
かし頂点選択ボタンを有するツールが該角の所在を明ら
かにするワイヤーフレーム図(線状図)を表示し、これ
によりその選択を容易にする。
【0067】ビジュアルフィルタとオーバーレイツール
の組合せは特に有用なものとなり得る。従来のドローイ
ングプログラムでは、表示物のワイヤーフレーム図を生
成するためにユーザーは個別の命令を送出しなければな
らないことが想定される。該命令がいったん与えられる
と、処理対象表示物だけでなくすべての表示物がワイヤ
ーフレーム図として作図されることが想定される。この
ことはユーザーの適正な処理対象表示物確認を助けるた
めに重要となる該表示物の内容を失うことになる可能性
がある。一方前記例ではユーザーは、局部表示処理、命
令編集、および処理対象表示物これらすべてを単一な両
手動作で一括指示する。 2.05 オーバーレイとユーザー動作の合成 本発明のオーバーレイ技法はいづれの既存のユーザーイ
ンターフェイス技法とも組み合わせることが可能であ
り、また該組合せによりツールに興味深い特性を与える
ことが可能となる。
【0068】このようなインターフェイス技法の一つと
してユーザー動作を利用するものがあり、該動作は通常
一つまたはそれ以上のポインタ装置ストロークとなって
いる。一つのユーザー動作は通常一つまたはそれ以上の
特徴的点(例えばストローク経路の開始および終了点、
二つのストロークの交差点等)により特性づけられる。
【0069】図13は、オーバーレイを用いてパイメニ
ューと単一ストローク動作を組み合わせるツールを使用
する処理例を示す。該ツールは、多くの形態メニュー部
分と原型表示物の保持領域に囲まれたアクティブ領域中
心(表示領域)を与える。
【0070】最初ツールの一部である原型表示物は、点
線の外周と一つめの充填色を有する矩形である。ユーザ
ーは実線の外周と二つめの充填色を有して画面内にある
三角形上にツールの該中心領域を置く。三角形から充填
色メニュー領域へのストローク(カーソルドラッグ)に
より、ユーザーは三角形の充填色を原型表示物に与える
ことを指示する。この時点で原型表示物の色が変更され
る。しかし該パイメニューは逆に原型表示物の特性を表
示領域の表示物へ与えることにも用いられる。例えばユ
ーザーが点線メニュー領域から三角形へストロークする
場合、原型表示物の点線パターンが三角形へ与えられ
る。
【0071】単一の特性だけでなく任意の特性集合また
は図形全体でさえも表示領域へ与えることを可能とする
別のパイメニューが作られることも可能である。例えば
原型表示物領域から表示領域へのストロークは原型表示
物のすべての特性を指示された表示物へ与えてもよい
し、また原型表示物自身を表示領域へコピーしてもよ
い。
【0072】中心から外へ、または外から内へのストロ
ークが可能なパイメニューはそれ自体で本発明に関す
る。しかしオーバーレイの内容物となっていないと意味
をなさないことが想定される。片手動作パイメニュー
は、ストロークがはじまると該ストロークの始点上に中
心を置いて現れる(文献Hopkins91 )。従って外から内
への初期ストロークの容易な方法はない。しかし本発明
のパイメニューはオーバーレイ上にあることから、スト
ロークが始まる以前にパイメニューが現れてその内側へ
のストロークが可能である。ボタン内部および外部へス
トロークする考え方はパイメニューのような円形形態に
限られない。いづれのボタン形状もこの機能を可能とす
る。
【0073】図14は、KurtenbachとBuxton(文献Kurt
enbach91)による単一ストローク動作とオーバーレイの
組み合わせを可能にする図形作成ツールを形成するため
の方法を示す。図は色のパレットから成るツールを示し
ているが、図7のような設計を用いることも可能であ
る。ユーザーは作図画面内の所望の位置にカーソルを置
き、所望の色がカーソル下となるようボタンを動かす。
特定の色のボタン上からストロークを始めることで、ユ
ーザーは該色の表示物を作成しようとしていることをシ
ステムに告げる。ストロークの方向は作成される図形の
形を決定し、ストローク長はそのサイズを決定する。ス
トロークが始まるとオーバーレイが消えて図形のパイメ
ニューが現れ、ストローク方向と図形との対応をユーザ
ーに示す。ストロークが完了すると新たな図形が画面に
付加される。KurtenbachとBuxtonが述べているように、
この処理の速度をさらに上げる多くの方法がある。例え
ばユーザーがストロークを瞬時に行った場合、パイメニ
ューは現れる必要がない。
【0074】ユーザーが単一の短い両手動作で新たな表
示物の位置、色、サイズ、および形を特定することを可
能にすることは注目すべきことである。従来のドローイ
ングプログラムでは、ユーザーはまず矩形ツールの選択
のためにカーソルをツールパレットへ動かし、カーソル
を所望の開始位置へ戻し、所望の位置とサイズに矩形を
作成し、そして所望の色選択のためにカーソルをカラー
パレットまたはメニューへ動かすことが想定される。従
来のカラーパレットは図7または図14のクリックスル
ーボタンのアレイのように見えることが可能であるが、
従来のパレットは通常、透明でないことが想定される。 2.06 オーバーレイツールの画面内への取り付け 前述の各実施例では、画面上のオーバーレイの動きは画
面の内容とは独立であった。しかし本発明は、画面内の
一つまたはそれ以上の表示物と列をなすよう自身(また
はオーバーレイシート全体)の位置を自動設定する有用
なツールも提供する。後述の実施例では特定の表示物を
画面上の各点に取り付けるために利き腕でない方の手が
用いられることが可能であり、一方利き腕は他の処理を
行う(または行う準備をする)ための自由な状態とな
る。
【0075】図15は、スナップドラッギング(文献Bi
er86)で用いられるようなルーラー・コンパス系の形成
のための照準線を作成することに用いられるツールの例
を示す。該ツールは共通点(円の中心)を異なる角度で
通過する多くの照準線を有する。照準線のうちの一つ
(例えば45°の線)がソフトウェアカーソル(例えば
図に示されているスナップドラッギングキャレット)の
付近を通過する場合、該線はキャレットに取り付いて長
く伸び、ツールは選択された該照準線の傾きを表示す
る。この後ユーザーは該線を(例えばトラックボールボ
タンクリック、またはツール中心部の円上をマウスクリ
ックすることで)その場所に固定する。この結果ユーザ
ーはキャレットを照準線に取り付ける新たな処理を行う
ことが可能となる。図は、該照準線を指標に用いた新た
な線分の作図を示している。
【0076】前記スナップ技法は線以外の他の照準表示
物に対しても用いることが可能である。図16は、矩形
の左下角にキャレットが置かれた図面上に位置設定され
た照準円パレットを示す。これら円のうちの一つ(例え
ば右の大きな円内の小さな円)の中心がキャレットの付
近を通過する場合、該円は色を変えることで強調され、
中心がキャレット先端へ正確に取り付く。この実施例で
はパレット全体が取り付くが、単一の円のみが一時的に
パレットの他の円から離れるようにすることも可能であ
る。
【0077】ユーザーはキャレット先端のような特定点
以外の画面内の任意の点にツールを取り付けてもよい。
図17は、スナップドラッギングでサイズ設定中心また
は回転中心として用いられるアンカー(浮動固定点)表
示物の例を示す。ここではユーザーはアンカーが矩形角
近くになるまでオーバーレイを動かす。こうするとユー
ザーがそれ以上オーバーレイを動かさなくてもアンカー
が矩形角に取り付く。ユーザーはオーバーレイを固定
し、利き腕でアンカーの周りに矩形を回転させる。
【0078】図18は、回転、サイズ設定、および傾斜
のいづれの処理も行えるように図17のツールに汎用性
をもたせたツールを示す。該ツールはアンカー位置の設
定、処理の選択、および処理の実行を単一の両手動作で
行うことを可能とする。すなはち、アンカー自身の周り
に処理のパイメニューが置かれる。ユーザーが矩形角へ
アンカーを取り付けたところを再び仮定する。ユーザー
は処理名、すなはち回転処理、上へカーソルを置きマウ
スボタンでクリックすることで処理を開始する。マウス
ボタンが押されると、システムはBierとStone の文献
(文献Bier86)に記述されているスナップドラッギング
のように表示物を回転させる。特に、アンカーを回転中
心とした表示物の初期位置からの回転角度は、キャレッ
トの動きを通して生じた角度と等しく保たれる。対話処
理(この場合は回転)の期間中オーバーレイは消えてい
ることが好ましい。
【0079】画面表示物に取り付く前述の各ツールは、
仮想ルーラー、コンパス、または分度器のような仮想作
図ツールをユーザーに提供するオーバーレイの使用実施
例ともなっている。現実のこれらのツールと同じく、利
き腕でない方の手はツールの位置および方向を制御する
ことが可能であり、一方利き腕は表示物または線の作成
に用いられる。現実のツールを用いることと同様に、ツ
ール付近に作られる表示物または角はツールの制約に影
響される。この種のアプリケーションにオーバーレイを
用いることの一つの利点は、パレットメニューの場合に
見られる如くツールの制約が持ち込まれた後すぐさま容
易にその影響をなくすことが可能になることである。 2.07 オン/オフボタンとパレットメニューの合成 多くのシステムはトグルボタンを押すことでオンおよび
オフできるような各状態を有している。さらにそのよう
なボタンはパレットメニュー上に置くことができ、この
結果これらボタンを利き腕でない方の手によってカーソ
ル付近に置くことによりカーソルのボタンへの移動量を
低減でき、またユーザーの視線を作業領域からそらす必
要をなくすことが可能となる。また、パレットメニュー
は大きなもの(全体が同時に画面上にある必要はなく、
容易にスクロールオンおよびオフできるようにすること
が可能である)になり得るため、より大きく目立つオン
/オフボタン表示が用いられてもよい。
【0080】図19は、異なる傾きをもつ線として表示
された一組のオン/オフボタンの例を示し、ここでユー
ザーはスナップドラッギング照準表示物のクラスを指定
できるようになっている。画面内の矩形はその四つの角
および中心をホットポイントとして明示している。ユー
ザーが特定の照準線(例えば垂直線)をクリックする
と、該線は強調され、ホットポイントを有するすべての
表示物は該クラスの照準線、すなはち垂直照準線、を最
大に伸ばす。ツールはまた選択された照準線の傾きの数
値指標を(右下のボックス内に)与えるよう示されてい
る。ユーザーが一つ以上の傾きの異なる照準線を選択す
る場合、数値指標は表示されないことが想定される。 2.08 仮想ガイドラインおよびグリッド 2.04章ではオーバーレイとビジュアルフィルタの組
合せについて説明した。これらの実施例でビジュアルフ
ィルタは、表示物に対する処理を促進するよう通常とは
異なる方法で画面表示物を提示した。しかしビジュアル
フィルタはまた、通常ではまったく表示できない表示物
を表示したり、そのような表示物に処理を施すことを可
能にするために用いられることも可能である。例えばビ
ジュアルフィルタはガイドラインやグリッドを局部的に
表示することに用いられることが可能である。図20
は、それぞれ異なる種類のグリッド表示を行う三つのツ
ールを示す。左の最初の二つのグリッドは間隔の異なる
矩形グリッドである。最後のグリッドは六角形グリッド
である。各グリッドはビジュアルフィルタが置かれた時
のみ現れるが、オーバーレイが動いてもグリッド点が動
かないようグリッドの座標系は画面に拘束される。従っ
てグリッド点をクリックしてオーバーレイを動かすこと
で、ユーザーはこれらグリッドを用いて画面を編集する
ことが可能となる。ユーザーはグリッド点から線を引き
始め、オーバーレイを上へ動かし、そしてグリッドを用
いて線を引き終えたところである。従来のプログラムで
はグリッドの外観はそのグリッドをオンした時のみ見る
ことができた。しかし前記ツールを用いることで、ユー
ザーはいづれの与えられたツールについてもそれが与え
るグリッドを使用前に見ることが可能となる。すべての
ビジュアルフィルタツールはある程度まではこの特性を
有している。
【0081】図21は、ユーザーにカスタマイズされた
グリッドツールの作成および使用を可能とする方法を示
す。カスタマイズされたグリッドツールは一組の選択さ
れた図形をピックアップし、ユーザーがこれをカスタマ
イズされたグリッドとして使用することを可能とする。
該クリッドは他のグリッドと同様に表示物を正確に置く
ために使用されることが可能である。このツールは2.
03章でクリップボードとして説明したオーバーレイの
特性を利用したものである。画面内の各線は、ユーザー
が二列コラムレイアウトのテンプレートの仕様化のため
に(例えばエディタを用いて)作成したグリッドであ
る。ユーザーは該グリッドをカスタマイズされたグリッ
ドツールとして使用し、該ツール上で各グリッド線はツ
ールの一部となる。しかしグリッドツールに関する前述
の説明のように、各グリッド線はたとえツールが動かさ
れても各位置を維持し、このためこれらは信頼性の高い
基準点であり続ける。結果として、各グリッド線はグリ
ッドツールが提示されている時のみ現れることとなる。
図は、ユーザーが矩形を変形することを始め、最終的に
矩形を左コラム下部へ取り付ける様子を示している。
【0082】一つの可能な拡張は、いづれの画面内表示
物もアプリケーションからオーバーレイ上へ移植を可能
とすることである。このようにされた表示物は画面内表
示物が取り付くよう引力が与えられることが想定され、
これによりユーザーが自身のカスタマイズされたガイド
ラインおよびガイド曲線を作成することが可能となる。 2.09 計測および定義ツール 前述の各ツールの作成は表示物の図形的特性を抽出する
こととなる。図22は、幾何学的特性、すなはち座標、
長さ、傾き、および角度等を計測するクリックスルーボ
タンツールの使用を示す。ユーザーが表示物の端点上を
このツールを通してクリックすると、該端点の座標がレ
ポートされる。ユーザーがもう一回クリックする場合、
システムは最初の点から二つめの点への長さおよび傾き
をレポートする。ユーザーが三回クリックを行う場合、
システムは最近クリックされた三点によってできる角度
をレポートする。マウスが現在指示しているものに基づ
く情報を表示するツールはまた、ワードプロセッサに有
用である。例えばツールはそれを通して選択された単語
の定義を表示することが可能である。 2.10 利き腕でない方の手による対象物指示 ほとんどのツールはオーバーレイの位置設定に利き腕で
ない方の手を用い、対象物指示には利き腕を用いるが、
指示される表示物が大きい場合、指示に利き腕でない方
の手を用いることも有意義なこととなる。例えばテキス
トドキュメントではパラグラフは通常大きいため、利き
腕でない方の手で指示することが可能となる。図23
は、オーバーレイと共に動いて矢印先端下のパラグラフ
の隠れた構造を表すツールを示す。該ツールはパラグラ
フをプリンタ用にフォーマットするための印刷フォーマ
ット名を常に表示する。この実施例ではボディーと言う
名のフォーマットとなっているパラグラフを矢印は指示
している。 2.11 ユーザ動作翻訳ツール オーバーレイの特に興味深い応用の一つは、ユーザーに
完全な局部入力翻訳装置(またはプログラム)を与える
ことである。例えばドローイングプログラムは通常、マ
ウス入力を選択、移動、線の作成等々の一連の命令とし
て翻訳することが想定される(例えばRubineの文献のユ
ーザー動作を用いた図形の編集(文献Rubine91)または
GoldbergとGoodisman の文献のユーザー動作を用いたテ
キストの編集(文献Goldberg91)参照)。ユーザ動作翻
訳ツールを画面上に置くことにより、ユーザーはこれま
でと異なる方法で同じエディタと対話することが想定さ
れる。例えば図24において、ユーザーはユーザ動作翻
訳ツール上にXを描く。Xがツールにとって削除を意味
する場合、X直下の表示物は削除されることが想定され
る。
【0083】このようなユーザ動作翻訳装置(またはプ
ログラム)は様々なアプリケーションで使用されること
が可能である。例えばそれはマウスベースのワードプロ
セッサのユーザーインターフェイス層の最上位にユーザ
ー動作インターフェイス層を形成する方法を与える。ペ
イントプログラムでは、ユーザ動作翻訳ツールが置かれ
ていない時はマウスまたはペン動作をやめることが可能
であり、また該ツールが置かれていれば命令編集処理が
行われることが可能となる。さらにユーザ動作翻訳ツー
ルにより与えられるインターフェイスは異なるアプリケ
ーション間で共通化することが可能である。例えばオー
バーレイがウィンドウシステムにより与えられる場合、
同一のユーザ動作翻訳装置(またはプログラム)がドロ
ーイングプログラムからワードプロセッサヘ移されるこ
とが可能であり、このことはユーザーが特定動作を複数
の内容で使用することを可能とする。例えば図24のX
は、ドローイングプログラムでは図形削除、ワードプロ
セッサではパラグラフ削除、またペイントプログラムで
は領域削除に用いられることが可能である。 2.12 局部命令翻訳装置(またはプログラム)とビ
ジュアルフィルタの合成 局部命令翻訳装置(またはプログラム)を持たせる考え
方はビジュアルフィルタと組み合わされることが可能で
ある。例えば多くのドローイングプログラムはハンドル
と呼ばれる小さいユーザーインターフェイス表示物を画
面の表示物上に表示する。これらハンドルをカーソルで
指示してマウスボタンを押すことで、ユーザーは表示物
の移動、サイズ設定、および変形処理等を行うことが可
能となる。この考え方はオーバーレイと組み合わされて
様々な異なる種類のハンドルを与えることが可能とな
る。例えば図25において、ユーザーは画面内の三つの
表示物から二つを選択したところであり、選択された表
示物は小さな黒い正方形で強調される。変形ハンドルツ
ールを置くことによりユーザーは一連の制御ハンドル
(小さな白い正方形)のいずれをも見ることができ、ま
た指示することが可能となる。中心ハンドル上でのクリ
ックおよびドラッグは選択された表示物を移動させる。
他のいづれかのハンドルのクリックおよびドラッグは選
択された表示物を変形させる。
【0084】一時的ツールの付加を行いアプリケーショ
ン表示物に関し置かれるビジュアルフィルタの有用性
は、いくつかの該フィルタが単一オーバーレシート上で
有効な場合特に明確に現れる。この場合ユーザーは一時
的ツールから成る異なる集合を交互に利用することが可
能となる。例えばあるツールの集合は前述のような移動
および変形を可能とする編集ハンドルを与えてもよい。
他のもう一つの集合は図形中心またはその図形のいづれ
かの角を中心とした回転を与えてもよい。これらツール
が同時に与えられる場合、一時的ツールは受け入れがた
い煩雑なものとなってしまうことが想定される。しかし
前記二つのツールは、アプリケーション表示物の(位
置、タイプ、数を含む)形態に依存した(位置、タイ
プ、数を含む)形態を有するツールの大きな多様性の利
点をユーザーに与えるものであり、それゆえ該ツールは
特別に調整されて該表示物に効果的に処理を行うものと
なる。 2.13 ログおよびデバッグツール ツールはアプリケーションの通常処理に用いられるだけ
でなく、ユーザーがアプリケーションについてのヘルプ
機能(コメント)を得たり、プログラマーがアプリケー
ションのデバッグを行ったりすることも可能とする。ツ
ール境界内で行われる単一のユーザー動作またはマウス
動作が、これからユーザーが行おうとする命令に関する
情報の表示を該ツールに起こすようなツールがその例で
ある。図26は、マウスの絵を表示するツールの例を示
す。カーソルがツール内にある間にユーザーがマウスボ
タンを押すと、ツール上に表示されたマウスアイコンが
どのマウスボタンが現在押されているかを示す。このよ
うなツールは、例えば対話ツールのビデオテープを作成
する場合便利であることが想定される。この種のツール
のより高度なバージョンは、実行されている命令の名前
をも表示したり、該命令を実行しているソースコードを
開示したりもすることが想定される。 2.14 挿入点を用いる処理 クリックスルーボタンはオーバーレイによって作られる
ことが可能な特に興味深い種類のボタンであるが、通常
のボタンも有用である。図27は、数字のキーパッドと
して動作するボタンアレイの例を示す。該キーパッドは
ユーザーが作業しており、ペンやカーソルを用いて起動
している領域付近に置かれることが可能であり、これに
よりいくつかの処理についてはキーボードを不要にす
る。マウスが数字をクリックするたびにオーバーレイは
一文字の幅だけ右に動く。このキーパッドは計算機とし
ても使用されることが可能であり、ユーザーが計算値を
ドキュメント中へ容易に挿入することを可能とする 2.15 回転可能ツール 照準線ツールのような前述のツールのいくつかは、オー
バーレイシートに対し平行移動が可能である。ツールが
オーバーレイシートに対し回転やサイズ変更が可能なよ
うにすることもできる。図28は、タイプフェイスおよ
び/またはタイプテキスト選択のためのツールの例をし
めす。任意の傾きにテキストを作成するため、ユーザー
はツールを回転させることが可能である。この実施例で
はユーザーがツールの計測領域(ツールの角)を通して
画面上の二点をクリックする場合、ツールは該二点間を
結ぶ直線の傾きに自身の方向をむける。その後ユーザー
が該ツールからフォントを選択すると、該フォントの新
たなテキストが前記の計測された傾斜で付加される。図
に示された実施例は他の計測がなされるまで方向変更し
たままの状態を維持するが、ツールに一時的な方向変更
をさせることもまた可能である。 2.16 図形検索、ガイドラインおよび表示物作成の
合成 前述のようにオーバーレイツールは、いくつかのタスク
ステップを単一な両手動作にまとめることが可能であ
る。図29は、ステップリダクションの効果を示す一実
施例である図面ラベルツールを示す。該ツールは、規約
ベースの図形検索(文献Kurlander92 )、スナップドラ
ッギング照準線、ビジュアルフィルタ、およびプッシュ
スルー表示物テンプレートをを組み合わせる。該ツール
はすべての図面の矩形境界内の指定位置に図面ラベルを
付加するために用いられる。該ツールが表示領域上を動
かされると、表示領域内にあるすべての大きな矩形を見
つけるために規約ベースの図形検索機能が用いられる。
そのような各矩形に対し、該ツールは矩形の各端からあ
る設定された距離をおいて照準(位置合わせ)線を描
く。ユーザーはマウスを用いてツール表面上のテキスト
ラベルのうちの一つを選択し、該ラベルをスナップドラ
ッギングを用いて照準線に取り付ける。 2.17 ウィンドウへのドキュメントロードのための
ツール 一つまたはいくつかの表示物の図面への付加に加え、オ
ーバーレイツールはディスクファイル全体をエディタウ
ィンドウ、ドキュメントフレーム、または他の領域へロ
ードするために用いられることも可能である。図30は
そのようなツールを示す。図の最初の部分はツールをし
めしており、該ツールはドキュメントウィンドウの集合
上に置かれた多くのドキュメントアイコンを有する。ユ
ーザーが一つのアイコンをクリックすると、対応するド
キュメント(図の実施例では該ドキュメントはテキスト
と図形を有している)がカーソル背面のウィンドウ内に
開かれる。図の実施例ではユーザーは選択されたウィン
ドウ内に置かれた一連の有効ファイルから家という名前
のファイルを選択し、その後ファイル家の内容が選択さ
れたウィンドウ内に表示される。これとは別のアプロー
チとして、ユーザーがツールを所望のウィンドウ付近に
置きアイコンを該ウィンドウ内へドラッグする方法が考
えられる。 3.0 オーバーレイのカスタマイズおよび使用 システムの設計者がどんなにユーザーの要求に整合しよ
うとしても、ユーザーの見本のようなものは存在しな
い。従ってシステムは、ユーザーがオーバーレイツール
とツールレイアウトを自身の基準に適合するようカスタ
マイズし、これから行おうとする特定タスクにオーバー
レイを適合させることを許容することが予想される。本
章ではユーザーがそうすることを可能にする多くの方法
についての説明を行う。さらに、オーバーレイの使用に
対し簡潔で一貫した取決めがある場合、オーバーレイは
より効果的に使用されることが可能である。本章ではユ
ーザーがより効果的にオーバーレイを使用することを可
能とする多くの方法についての説明を行う。 3.01 移動、コピー、および削除ツール 少なくともユーザーは、一種類以上のツールを作成して
しまえばそれ以外のものは望まない傾向にあり、またツ
ールを共通化して使えるようにそれをクラスターへ置く
ことを望む傾向にある。ユーザーがオーバーレイの形成
に係わる能力を持たなければならない場合、ユーザーは
少なくとも移動、コピー、および削除ツールの能力をオ
ーバーレイシートから与えられなければならない。図3
1は、この能力を与えるための、すなはちツール上でこ
れらの処理を行うハンドルを与える、一つの技法を示
す。特定される実施例は、図9を用いて説明が行われた
転写ツールである。図31に示すように各ハンドルは所
望の処理を与えるツール側部のアイコンである。ツール
を動かすためにユーザーがハンドルをクリックしている
ところが示されている。実際には、ツール上のハンドル
はおそらくもっと小さいはずであり、図に示されたもの
よりももっと大まかな表示のはずである。さらに、各ハ
ンドルはツールの通常使用の間は表示されない(および
効果を持たない)ように、またツール編集状態での処理
にのみ寄与するように作られることが可能である。 3.02 ツール編成 アプリケーションは自身のインターフェイス内に多くの
ツールを有する傾向にある。混乱を避けるため、これら
ツールとシートを編成してユーザーが直ちにいづれの所
望のツールをも見つけることが可能なようにすることが
必要である。一つのアプローチは、すべてのツールを単
一シート上に置いてスクロールとズームでこれらを指示
することである。各ツールは矩形面(タイル)上に編成
させることが可能であり、このようにされた各矩形面を
境界を接して結合させることで単一の大きなシートを形
成することが可能となる。この後ユーザーは特定のツー
ルを見つけるために所望の矩形面を画面上へスクロール
し、そして所望のツールをその場へスクロールすること
が想定される。クロールとズームを共に用いることで、
ユーザーはかなり大きな矩形面内におけるツール指示が
可能となることが想定される。加えて、トラックボール
の動きとオーバーレイの動きとの間の対応は、トラック
ボールが素早く動かされた場合かなり大きい動きになり
得ることから、小さいトラックボールの動きが必要とな
る。
【0085】矩形面の数が非常に多くなる場合、該矩形
面の編成に加えて階層構造をなす編成を使用することが
可能となる。例えばユーザーは、それぞれが特定タスク
に適用される多くのオーバーレイシートを有する仮想ボ
ックスを作成してもよい。またこれとは別に、アレイと
なった各矩形面は実際には矩形面の積み重ねであっても
よい。ユーザーは現行画面に表示する矩形面をボタン上
の繰り返しクリックまたはポップアップメニューの使用
により選択することが可能である。ユーザーはまた(ア
レイよりもむしろ)一連のタイプ変化を行う単一の矩形
面を使用することも可能である。
【0086】本説明の原型ツールで用いられる技法は、
単一のシートが異なるツール集合を異なる場面で表示す
ることを可能とする。表示される集合はいくつかの方法
で選択されることが可能である。(Apple ComputerのHy
perCard (登録商標)の矢印の手法のように)ユーザー
は集合内の特別なツールをクリックし、他の集合への転
移を起こすことが可能である。加えて、マスター表示は
有効な集合の内容表示を与え、これによりユーザーはい
づれの集合へも転移が可能となる。異なる集合を同時に
使用するためにユーザーは付加的シートを作成する。 3.03 ツール合成−ビジュアルマクロ クリックスルーツールとビジュアルフィルタはこれらを
オーバーラップさせることで合成されることが可能であ
り、それゆえ従来処理を組み合わせて新たな処理を対話
的に作成する能力をユーザーに与える。これは直覚的で
強力なマクロ(複合)能力を与える。図32は、充填色
を(例えば赤に)変更するツールと線色を(例えば青
に)変更するツールが合成されて充填色と線色の両方を
変更するツールを形成する、ユーザーの立場から見た、
様子を示す。該実施例で二つのツールは、それらのアク
ティブ領域が部分的にオーバーラップするよう一緒に運
ばれる。ユーザーが該ツールのオーバーラップしていな
い部分をクリックする場合、結果として行われる処理は
単一ツールにより通常与えられる処理のみとなる。一方
ユーザーがオーバーラップ領域をクリックする場合、結
果として行われる処理は量ツールの処理の組合せとな
る。
【0087】ツールの合成は二つの方法で行うことが可
能である。まず、二つのツールを一体となって動くよう
同一オーバーレイシート上にオーバーラップすることが
可能である。合成ツールが頻繁に使用される傾向にある
場合、これは便利である。独立に動けるようツールを別
々のオーバーレイシート上に置いてこれを合成すること
も可能であり、これらは特定の組合せが必要な場合に応
じて一緒に運ばれる。
【0088】オーバーラップされたツール(またはフィ
ルタ)のスタックが入力(例えばマウスクリック)を受
け取る場合、該入力イベントは該ツールの上から底へ通
過させられる。各ツールは順に命令列を修正し、これは
その後アセンブルされることとなる。例えばツールは現
行命令列に付加的命令を接続してもよい。線色を青に変
更するツールと合成されて充填色と線色の両方を変更す
るツールを形成する、ユーザーの観点から説明が行われ
た、前述の充填色を赤に変更するツールの実施例を考え
る。線色ツールが最上部にある場合、該ツール通過後の
命令列はSetLineColor blue となることが想定され、ま
た両ツール通過後の命令列はSetLineColor blue;SetFil
lColor redとなることが想定される。 3.04 より複雑なマクロ 前述のツール合成はマクロ操作のための強力な技法であ
る。しかしユーザーが数個以上のツールを合成したい場
合、ツールが煩雑になって視覚直覚的利点が失われる危
険がある。これをふまえてオーバーレイは合成ツール作
成のための別の技法を与える。該技法はいくつかのプロ
グラムで見られるマクロ記録機能に類似したものであ
る。これは通常、ユーザーがシステムをマクロ作成のた
めの状態に置き、その後所望の処理シーケンスを単一表
示物に施すことを必要とすることが想定される。システ
ムは該表示物に行われるすべての処理の合成ツールを自
動作成することが想定される。
【0089】前記合成ツールは多くの利点を有する。例
えばまだ作成されていない表示物を含む多くの表示物に
あるまとまった処理を行いたい場合、追加される表示物
に対する処理は所望の個別処理から成る全体シーケンス
を再び施すよりも単一ステップのほうが都合がよい。加
えて、ユーザーは単一表示物または同時に選択された表
示物集合の両方に対しあるまとまった処理を容易に施す
ことが可能となる。 3.05 選択表示物の記憶 ユーザーが表示物の集合を選択し、各表示物に対し同時
にまたは個別に処理を行う場合、いづれの場合も時に問
題を生じる。処理を行った後、ユーザーは該処理を修正
または取消たい場合がある。オーバーレイは、そのツー
ルがどの表示物に適用されたかを記憶する能力を各ツー
ルに持たせる技法を与えることが可能である。各表示物
集合に処理を行った後に別の処理が必要であることに気
がついた場合、ユーザーは各表示物を思い出したり明確
な選択処理を行うことなしに該表示物集合を取り戻すこ
とが可能となる。ツールがいちばん最近選択された図形
集合しか記憶しない場合でもこのメカニズムは有用であ
る。 3.06 ツールの作成および変更 ツールを作成および変更するための技法のいくつかにつ
いてはすでに説明を行った。これらはオーバーレイを構
成するための移動、コピー、削除、およびオーバーラッ
プツールについての前述の規定と、表示物の形や特性を
コピーして2.03章で述べたような特別なクリップボ
ードツールを作成するための技法とを含んでいる。本発
明はユーザーがオーバーレイツールの作成および変更を
さらに柔軟に行えることを意図している。例えば新たな
オーバーレイツールの幾何学的構造物を作成するために
ドローイングプログラムまたはワードプロセッサが用い
られることが可能であり、その後埋め込みボタン構造
(文献Bier90,Bier91a,Bier92 )を用いて該構造物に特
性が与えられる。
【0090】さらに、オーバーレイの一つのシートを他
のシートの編集に使用することも可能である。そのよう
な環境ではグラフィカルエディタ環境での作図と同様の
形式でオーバーレイシートが編集可能になることが想定
され、また前述の様々なツールや技法がもり込まれるこ
とが可能となる。さらに、利き腕出ない方の手が位置変
更だけでなくオーバレイシートのサイズ変更も可能とす
る場合、ユーザーは特別なアプリケーションのためにツ
ールを大きくしたり小さくしたりすることが可能とな
る。
【0091】本発明ではオーバーレイツール作成のため
に二つのツールキットを用いる。一つめはオブジェクト
指向プログラミングを通してツールが作成される従来の
ツールキットである。二つめのツールキットは埋め込み
ボタン技法に基づくものであり、ユーザーはグラフィカ
ルエディタを用いて新たなツールまたはツールの集合を
作図し、その後これら図形に特性(例えばクリックスル
ーボタン機能等)を与える。該特性はユーザーがカスタ
マイズした言語で表される。 3.07 ズームおよびスクロール アプリケーション上でのオーバーレイシートの位置設定
については、ユーザーにとって等価な二つの方法があ
る。ユーザーがオーバーレイを表示画面上で動かしてい
る間、表示画面が固定され続けることが可能であり、ま
たユーザーがオーバーレイ下の表示画面を動かしている
間、オーバーレイが固定され続けることが可能である。
ユーザーにこの種の両機能を与えることは有意義なこと
となる。アプリケーションのスクロールはユーザーが該
アプリケーションの表示画面外の部分を表示画面上ツー
ルへ運ぶことを可能にし、広面積なアプリケーションの
操作を可能にする。アプリケーション上でのオーバーレ
イのスクロールはユーザーが表示画面外のツールを表示
画面上のアプリケーション表示物へ運ぶことを可能に
し、広面積なオーバーレイシートの使用を可能にする。
表示体に対するオーバーレイの位置設定を言う場合は、
平行移動だけでなく回転も含めて考えられなければなら
ない。
【0092】利き腕を使いマウスボタンを押してシート
境界上をドラッグすることでオーバーレイシートの移動
が可能となるが、利き腕でない方の手と二つめの入力装
置(例えばトラックボール)の利用が好ましい。トラッ
クボールボタンとこれらの機能の対応の一方法は次のよ
うになる。左のボタンクリックはトラックボールとサム
ホイールをそれぞれ表示画面(アプリケーション)のス
クロールとズーム用にする。右のボタンクリックはトラ
ックボールとサムホイールをそれぞれオーバーレイのス
クロールとズーム用にする。中間のボタンクリックは表
示画面とオーバーレイを一体にしてスクロールとズーム
が行われることを可能とする。このような対応はユーザ
ーによりカスタマイズされることが可能である。例えば
ユーザーがオーバーレイを必要ない時は消し、必要な時
は再び現わすことを簡単に行いたい場合、トラックボー
ルボタンの一つにこのオンおよびオフのトグル機能を持
たせてもよい。さらに、複数のオーバーレイシートがあ
る場合については、各シートが独立にスクロールおよび
ズームされることを可能とする付加的対応を与えること
が望ましい。これは異なるシートに対して異なるトラッ
クボールボタンの組合せをユーザーがクリックするよう
にすることで可能となる。
【0093】これらの移動およびサイズ制御を用いるこ
とでユーザーはいづれのアプリケーション表示物上にも
ツール中心を置くことが可能となり、また所望の表示画
面領域をカバーするようツールのサイズ変更を行うこと
が可能となる。いくつかの表示物にツールを適用する場
合のシート動作を最小にするため大きなツールが用いら
れることが可能である。作業領域全体をカバーするよう
引き伸ばされたツールはアプリケーション全体にわたり
効果的に命令状態(モード)を設定する。前述のツール
のいくつかについては、オーバーレイをある意味で固定
できるようにすることが必要である。例えば2.06章
のスナップツールは、画面表示物が取りつくことができ
るよう照準線が固定されることを必要とする。(例えば
中間のトラックボールボタンがクリックされて)オーバ
ーレイシートが表示画面に固定される場合、これらツー
ルをオーバーレイシートに対して固定することが一つの
慣例になると想定される。オーバーレイのズームやスク
ロールと同様の効果を与えるものとしてツールレイアウ
トが考えられる。この場合あるツール集合がより大き
く、また他のそれがより小さく描かれ、より大きく描か
れた該集合がユーザーの制御下に入る。これはある意味
でツールの魚眼表示に類似するものであり、ユーザーが
多くの表示画面スペースを占めることなく多くのツール
を見ていくつかのツールを選択することを可能とする。 3.08 オーバーレイ移動のためのキーボード 前述の各実施例はトラックボールのような入力装置を利
用しており、該入力装置はオーバーレ内の大きな動作お
よび小さな動作の両方を一連の位置信号として容易に起
動可能である。一方キーボードのようなオンオフ変化の
みを知らせる入力装置から一連の位置信号を与えること
もまた可能である。例えばコンピュータキーボードのあ
るまとまったキーがオーバーレイを一定方向に一定距離
だけ動かすようにすることが可能である。これらのキー
を一回またはそれ以上押すことでユーザーは与えられた
ワークピース上に異なる枠取り領域を置くことが可能と
なる。このアプローチを用いてオーバーレイ上のツール
レイアウトを正常に動作するよう調整することが可能と
なる。例えば各ツールは標準アレーにレイアウトされる
ことが可能であり、この場合の全体間隔はオーバーレイ
移動キーのクリックでオーバーレイが移動する距離の倍
数となる。
【0094】これとは別に、キーボードキーは反転クラ
ッチとして使用されることが可能であり、これによりオ
ーバーレイが容易にマウスの動きと結合したり離れたり
することが可能となる。このキーが押されている場合オ
ーバーレイはマウスカーソルと共に動く。このキーがは
なされるとオーバーレイはその時の位置に止まり、マウ
スカーソルは独立に動く。
【0095】オーバーレイのスクロールに関してのキー
ボード使用は、トラックボールやマウスで構成されてい
ないコンピュータのユーザーに比較的容易なオーバーレ
イ使用を可能にする利点がある。 3.09 状態ツール 両手使用のユーザーはマウスカーソルとツールの両方を
表示画面上で動かすことで様々な表示物に繰り返して処
理を行うことが可能であるが、これは多くの設定を必要
とし、またオーバーレイとマウスカーソルの位置変更を
逐次に行わなければならない片手使用のユーザーにとっ
て都合のわるいこととなる傾向にある。この問題はオー
バーレイ環境とより従来形態に近いインターフェイスと
の間でスムースな転移を可能とすることで克服すること
が可能である。例えば3.01章で述べたツールハンド
ルは、カーソルを該ツールに対応するツール状態に置く
ためのボタンを含むことが可能である。該状態期間中ユ
ーザーはあたかも該ツールを通してクリックしているか
のように繰り返して処理を行うことが可能となる。該状
態が継続していることの指標としてカーソルは該ツール
に似た外形を帯びることが可能である。
【0096】クリックスルーツールが一時的な状態ツー
ルになることを可能にすることは、一時的状態ツールを
他のツールと共に動作させることを可能にするかどうか
の問題を提起する。一つのアプローチは、一時的な状態
ツールがクリックスルーツールが合成されるのと同一の
方法で他のツールと合成されることを可能とすることで
ある。もう一つのアプローチは、一時的な状態ツールが
素データに処理を行える唯一のツールとなるようシステ
ムに要求することである。すなはち、ツールを該状態に
置くことはこれ以外のツールの使用を排除することが想
定される。そのような場合オーバーレイシートがボタン
により再び置かれてユーザーが該状態を出ることが可能
である。そのような状態から出たり入ったりすることは
ユーザー動作を用いて行うことも可能である。例えばツ
ール内のダブルクリックで該状態に入ってもよい。ダブ
ルクリックを再び行うことで該状態から出ることが想定
される。 3.10 ツールのドラッグアウト 通常のツールの使用は、マウスカーソルをツール内へ動
かすこと、マウスボタンの一つを押すこと、および行わ
れるべき中間動作の後マウスボタンがはなされることと
を含む。マウスボタンが押されることとはなされること
の間には多くのことが考えられる。これらは、マウスが
まったく動かないこと、マウスが動いてツール内に止ま
ること、マウスがツールを離れること、およびマウスが
ツールを離れて再び戻ってくることとを含む。処理がツ
ール内で始まる場合、マウスボタンがはなされるまで該
処理が継続することが一つの慣例になり得る。該慣例は
ツールを比較的小さくすることを可能とし、一方ユーザ
ーが処理をツール内で始めてその後該処理をツール外へ
継続することを可能とする。 3.11 クリックスルーツールおよびオーバーレイと
従来ツールの合成 前述のように従来ツールはオーバーレイツールと共に、
またはオーバーレイツール自体として使用されることが
可能である。本発明はクリックスルーツールを伴うオー
バーレイが既存のプログラムの強化機能として与えられ
ることを意図する。従来のユーザーインターフェイスを
利用する初期バ−ジョンプログラムに親しんだユーザー
は、強力で新たなユーザーインターフェイスを前にする
と慎重に事を進めることが想定される。従ってユーザー
は従来ツールのほとんどをマウスカーソルで可動な一連
のパレットとしては保持するが、該ツールはほとんどオ
ーバーレイには付加されないことが想定される。ユーザ
ーがオーバーレイの使用および利き腕でない方の手の使
用にさらに親しんで短時間で容易にツール設定を行うよ
うになるに従い、ユーザーはより多くのツールをオーバ
ーレイに付加することが可能になる。ユーザーは最初従
来ツールのみを用いて一つまたはそれ以上のオーバーレ
イシートを作成し、いくつかのクリックスルーツールの
試用を始め、その後にクリックスルーツールと従来ツー
ルを同一シート上に混在させることが想定される。
【0097】従来ツールとクリックスルーツールを合成
することもまた可能である。例えば図7に示すようなク
リックスルーカラーパレットは、一組の従来形態の作図
ツールと合成されることが可能であり、該ツールの場合
ユーザーはツール上をクリックしてカーソルを作図領域
へ動かし、そしてカーソルをクリックまたはドラッグし
て図形を形成する。そのような合成は、所望の色のクリ
ックスルーボタンを所望の従来の作図ツール上に重ね合
わせることでユーザーが色と図形を単一ステップで選択
することを可能とする。ユーザーはそれでもまだ従来方
法でカーソルを動かし図形を形成しなければならない。
これは図14に示されるツールを特徴づけるツール動作
の全体的効率化を与えないが、それでもユーザーは単一
クリックで色と図形を選択可能になることで効率化を得
る。状態ツールもまたクリックスルーボタンおよびその
複合体と共に用いられることが可能であり、該ボタンは
線幅、点線形態、およびこれらに類似の他の表示物の特
性を特定し、該複合体は一つ以上の表示物特性の特定に
用いられる。
【0098】前記のような合成のもう一つの実施例は、
ユーザーが最初に従来の作図ツールをクリックし、その
後所望の一連の特性の特定のために一つまたはそれ以上
のクリックスルーボタンを通して作図を進める場合であ
る。この方法では従来の作図ツールのクリックにより表
示物の外形があらかじめ選択されているため、ユーザー
は単一ステップで描かれるべき表示物の特性および位置
の選択が可能である。 4.0 特定の実施 本章ではオーバーレイツールおよびビジュアルフィルタ
を含むシースルーインターフェイスの一般的実施につい
て説明を行う。ソフトウェアは、Sun Microsystems SPA
RCステーションおよびこの他のコンピュータ上のSunOS
UNIX(登録商標)と互換性のあるオペレーティングシス
テム上で走るセダープログラム言語および環境(文献Sw
inehart86 )内のMulti-Device Multi-User Multi-Edit
or(MMM)構造体(文献Bier91b )内で実行される。MMM
内に組み込まれたガーゴイルグラフィクスエディタ
(文献Pier88)がインターフェイステストのための複合
アプリケーションとして動作する。ユーザー入力装置は
利き腕用に標準的マウスを、また利き腕でない方の手の
ためにMicroSpeed FastTRAP (登録商標)トラックボー
ルを含む。該トラックボールは三つのボタンおよびサム
ホイールを含み、これらはインターフェイスに付加的パ
ラメータを与える。
【0099】本章では三つのオーバーレイサブシステム
について説明を行う。一つは二つのポインタ装置からの
同時入力を処理して複数の同時変化の後の表示画面の更
新を行うものであり、もう一つは位置指定イベントがツ
ールおよびビジュアルフィルタを通過する時に該イベン
トの変更を行うものであり、そしてもう一つは図形出力
が各ツールおよびビジュアルフィルタから送出される時
に該出力の変更を行うものである。 4.01 複数装置入力 シースルーインターフェイスは、次に述べるようなMMM
の特徴に依存している。MMM はマウスやトラックボール
のような複数の入力装置からイベントを受け取り、どの
装置がどのイベントを発生したのかを追跡し、そしてす
べてのイベントを単一の待ち行列上に置く。MMM は各イ
ベントを待ち行列から順に解除してどのアプリケーショ
ンに該イベントが送出されるべきかを決定する。各MMM
アプリケーションは階層構造に置かれており、該構造は
各アプリケーションが表示画面上でどのように入れ子に
されるかを示す。各イベントはルートアプリケーション
へ送られ、該アプリケーションはイベントをその子供
(下位)のアプリケーションへ送ることが可能であり、
下位のアプリケーションはイベントを階層ツリー上の更
に下位へ順に送ることが可能である。マウスイベントは
一般に入れ子の最深部のアプリケーションへ送られ、該
アプリケーションの表示画面領域はマウス座標を有して
いる。しかしユーザーが特定なアプリケーション内で表
示物のドラッグやサイズ変更を行っている場合、ドラッ
グやサイズ変更が完了するまですべてのマウス座標は該
アプリケーションへ行く。キーボードイベントは現在選
択されているアプリケーションへ行く。オーバーレイを
サポートするため、トラックボール入力を処理するため
のMMM の規約が変更された。オーバーレイが可動な場合
トラックボールおよびサムホイールイベントは最上位の
アプリケーションへ行き、該アプリケーションは各イベ
ントをそれぞれシートの移動およびサイズ変更命令とし
て翻訳する。シートが可動でない場合トラックボールお
よびサムホイールイベントは選択されたアプリケーショ
ンへ送られ、該アプリケーションは各イベントをそれぞ
れ該アプリケーションのスクロールおよびズーム命令と
して翻訳する。
【0100】図33は、ユーザー入力ルーチンのフロー
チャートを示し、該ルーチンは入力イベントに応答して
とられる適正な動作を決定する。オーバーレイを有する
システムが入力を受信する場合、システムはイベントが
オーバーレイの移動、カーソルの移動、オーバーレイの
起動、または通常の方法による従来アプリケーションへ
の該イベントの送出のどれを意図するかを決定し、その
後該決定に従って動作しなければならない。ルーチンは
最初に入力がオーバーレイ移動装置からかどうかをテス
トし、もしそうなら該装置の動作機能に従いオーバーレ
イを動かす。もしそうでない場合、ルーチンは入力がオ
ーバーレイサイズ変更装置からかどうかをテストし、も
しそうなら該装置の動作機能に従いオーバーレイのサイ
ズを変更する。もしそうでない場合、ルーチンは入力が
カーソル移動装置からかどうかをテストし、もしそうな
ら該装置の動作機能に従いカーソルを動かす。次に、そ
れが適正なものであればイベントはルートアプリケーシ
ョン(これは例えばウィンドウマネージャーであっても
よい)へ送られ、該アプリケーションはイベントが次に
どこへ送出されるかを決定する。
【0101】オーバーレイ移動装置という言葉は、オー
バーレイを動かすものとして現在指定された装置を意味
する。装置テーブルと呼ばれるソフトウェアデータ構造
体がある装置をオーバーレイ移動装置として現在指定し
ていれば、特定の物理的装置は特定な時点でオーバーレ
イ移動装置となる。この指定はユーザーによりいつでも
変更可能である。同じことがオーバーレイサイズ変更装
置という言葉にもあてはまる。 4.02 ツールおよびビジュアルフィルタによる入力
のフィルタ処理 MMM 入力イベントは通常、ルート(根)アプリケーショ
ンからリーフ(葉)アプリケーションヘ向かって規則正
しく移動する。しかし本発明を実行するシステムは各ア
プリケーションにわたり共通な多くのオーバーレイシー
トを有してもよい。オーバーレイをサポートするため、
各入力イベントは階層ツリーの下から上へ送り返されな
ければならない。図34の(A )は、アプリケーション
#1、#2、#3、#3A 、#3B および#4、および
オーバーレイシート#1および#2の間のアプリケーシ
ョン階層構造の例を示す。図34の(B )は、これらの
アプリケーションウィンドウとオーバーレイシートが該
階層構造に対しどのように画面上に現れるかを示す。
【0102】アプリケーション#1はルートアプリケー
ションであり、そのウィンドウはこれに関連する他のす
べてのアプリケーションウィンドウを有している。この
実施では該アプリケーションは最上位のMMM 矩形エディ
タとなっていることが想定され、該アプリケーションは
ウィンドウシステムとして動作する。この階層ツリーの
上から二段めの左から右への順序は表示画面上の上から
下へのアプリケーションの順序を指定しており、従って
アプリケーション#4が最上部のアプリケーションとな
る。オーバーレイシート#1はアプリケーション#3と
#4の間に置かれており、一方シート#2はアプリケー
ション#4の上に置かれる。アプリケーション#3A お
よび#3B はアプリケーション#3のウィンドウ内に含
まれるように示されているが、これらは別の方法で#3
のウィンドウと関係づけられてもよい。
【0103】入力イベントは最初にオーバーレイへ送ら
れ、ユーザーがツールまたはビジュアルフィルタと対話
しようとしているかどうかが決定される。もしそうなら
該イベントはオーバーレイにより変更される。いづれの
場合でもイベントはルートアプリケーションへ戻され、
該アプリケーションは該イベント自体を受け入れるか、
さもなくば階層ツリーのさらに右方向に現れる下位のア
プリケーション上へ該イベントを送る。図34の(B )
に示すように、各オーバーレイシートのアクティブ領域
内およびアプリケーション#3上にカーソルが置かれる
場合の実施を考える。マウスボタンを押すことのような
起動イベントをユーザーが与える場合、該イベントは最
初にシート#2を通り、次にシート#1を通り、そして
カーソル座標を有するアプリケーションであるアプリケ
ーション#3B へ送られることが想定される。
【0104】MMM イベントを表すデータ構造は三つの方
法で変更されてオーバーレイをサポートする。一つめの
方法として、既に通過したアプリケーションツリーの部
分を表す注釈(belowChildおよびbelowTool と呼ばれる
イベントフィールド)がイベントに付加される。これに
よりルートアプリケーションが二回以上シートへイベン
トを送ることが避けられる。二つめの方法として、所望
のアプリケーションへ到達したときに翻訳される命令列
がイベントに付加される。例えばカラーパレットクリッ
クスルーボタンは各マウスクリックイベントに指定色で
修飾されたSetFillColor命令を付加する。最後の方法と
して、ツールがビジュアルフィルタを有する場合、イベ
ントが所望の表示物に対し適正に指示されるよう該イベ
ントのマウス座標が修正され、ビジュアルフィルタを通
して該表示物がカーソル下に現れる。
【0105】図34の(C )は、前記イベントが適正な
アプリケーションへ送られる様子を示す。特に、イベン
トが適正な装置座標を伴い適正な順序で各シートおよび
アプリケーション層へ送られるようにするため、イベン
トはアプリケーション階層構造を上下に移動する。 4.03 イベント送出ルーチン 前記4.02章では、入力イベントが適正なオーバーレ
イシートを通って所望のアプリケーションへ送られる方
法について説明を行った。本章以降では、フローチャー
トと疑似符号を参照し、いくつかの重要なルーチンにつ
いてのイベント処理のより詳細な説明を行う。該ルーチ
ンは、ユーザー入力ルーチン、イベント−アプリケーシ
ョンルーチン、イベント−オーバーレイルーチン、イベ
ント−ツールルーチン、翻訳および実行ルーチン、およ
び合成ルーチンである。
【0106】図34の(A )から図34の(C )に示さ
れる前述のようなオーバーレイを通してのアプリケーシ
ョンへのイベント送出は、次の三つのルーチンを使用し
ている。
【0107】イベント−アプリケーションルーチン;こ
のルーチンはイベントが標準的アプリケーションへ送ら
れる場合に実行される。
【0108】イベント−オーバーレイルーチン;このル
ーチンはイベントがオーバーレイへ送られる場合に使用
される。
【0109】イベント−ツールルーチン;このルーチン
はイベントがオーバーレイ上の特定ツールへ送られる場
合に実行される。 これら各ルーチンは他の一つまたはそれ以上のルーチン
を呼び出してもよい(例えばイベントが標準的アプリケ
ーションからオーバーレイへ、またはオーバーレイから
標準的アプリケーションへ送られる場合であり、このよ
うなことは前述の実施例で何回か起こる)。
【0110】与えられたイベントE は、階層ツリー内の
各アプリケーションおよびシートヘ入るごとにフィール
ドbelowChildを持ち、該フィールドはアレイ(または他
の多値データ構造)を有する。各通過段階での論理値be
lowChild A は、A の子供(下位)であるアプリケーシ
ョンまたはシートへのポインタであり、またイベントが
これまでに入った最後がA であることを示している。同
様なフィールドbelowTool は各通過段階でbelowTool O
を持ち、これはイベントがこれまでに入った最後である
O のポインタとなる。
【0111】図35は、イベント−アプリケーションル
ーチンのフローチャートを示す。該ルーチンは新たなイ
ベントが発生するたびごとにいくつかの変数が初期化さ
れることを前提としている。例えばbelowChild A は、
アプリケーションA の子供およびA のすべての子供の最
上位として定義される仮想アプリケーションに対し初期
化される。
【0112】図36は、イベント−オーバーレイルーチ
ンのフローチャートを示す。入力イベントがオーバーレ
イにより受信される場合、オーバーレイはそれが有する
各枠取り領域、すなはちツールのうちどれが該イベント
を処理するのかを決定する。いくつかの場合には数個の
ツールが順にイベントを処理する。ツールがクリックス
ルーツールである場合、該ツールは命令リストと呼ばれ
るデータ構造を算出し、これが該ツール背面の各ツール
(もしあるなら)またはオーバーレイ全面の背後にある
各アプリケーションへ(オーバーレイの親プログラムを
通して)送られる。該ルーチンは新たなイベントが発生
するたびごとにいくつかの変数が初期化されることを前
提としている。例えばbelowTool O は、O の背面にある
最上部として定義される仮想ツールに対し初期化され
る。オーバーレイが最初に作成される場合、それはユー
ザー動作状態になく、それが有するいづれのツールもユ
ーザー動作処理ツールにならない。
【0113】図37は、イベント−ツールルーチンのフ
ローチャートを示す。イベントE が特定なオーバーレイ
ツールT により受信される場合、T はE のタイプからど
の動作A が行われるべきかを決定する。T が従来の(非
クリックスルー)ツールである場合、T は即座に動作を
行う。そうでない場合T はそのオーバーレイ背面のアプ
リケーションへ該イベントを送るか、もしくは直接また
は他のツールを通してそのオーバーレイまたは他のオー
バーレイへ該イベントを送る。E が他のツールによりす
でに処理されている場合、T はすでにイベントE と関係
を持った他のいづれかの動作とA とを合成する必要があ
る場合がある。 4.04 翻訳および実行ルーチン外観 与えられる動作A は一般に、適当なプログラム言語で書
かれた任意の符号体であってもよい。該言語はC やPasc
alのようないづれの汎用プログラム言語であってもよい
が、もしそれが翻訳された簡潔な言語である場合はオー
バーレイツールのユーザーカスタマイズ化をより良くサ
ポートする。そのような言語にはApple社のHyperTalk
、Jhon Ousterhout によるTcl (文献Ousterhout9
0)、またはInterleaf (文献English90 )や埋め込み
ボタン構造(文献Bier90,Bier91a,Bier92 )で用いられ
ているようなLISPの小規模バージョンがある。各アプリ
ケーションが高密度処理状態で走るUNIXのような環境中
でのオーバーレイツール使用をサポートするため、A は
X ウィンドウシステムにより与えられるような中間処理
メッセージとして表されることが可能である。オーバー
レイツールの一般的実行は、小規模なLISP類似言語を用
いたセダープログラム環境(文献Swinehart86 )内、お
よび動作表現のためにX ウィンドウメッセージを用いた
UNIX/Xウィンドウ内で行われる。
【0114】与えられたソフトウェアプログラムP が動
作A を受信した場合、該プログラムは自身の文中で該動
作を翻訳しなければならない。いくつかのプログラムに
より処理が可能な動作をA が記述している場合、P はA
を自身の言語に翻訳した後自身(P )のデータ構造上で
A の処理を行わなければならない。符号体を特定な文
(スコープとも呼ばれる)へ翻訳することは良く知られ
たコンピュータサイエンス技法である。A が正常に翻訳
されるために特定なプログラムP はA で使用されるすべ
ての変数に対し結合子(論理値)をあたえなければなら
ない。後述の各実施例は前述の一般的実行における該技
法の特定な使用を示しており、該技法はアプリケーショ
ンと独立なツールに適用される。 4.05 汎用プログラムを用いた動作 例えばマウスカーソル背面にあるいづれかの矩形のサイ
ズを二倍にすることを意図する動作A は、次の疑似符号
に似た符号を有することが想定される。
【0115】 FOREEACHSHAPE,s,in PICTURE do ifISRECTANGLE s and INCLUDES s, cursorPoint then SCALE s, 2.0 endloop 該動作を翻訳するためP は前記の各単語に対して自身の
定義を与えなければならない。P は、図面内の各図形に
わたる繰り返しを指示するFOREEACHSHAPE に対し自身の
処理動作を、変数 PICTUREに対し自身の論理値を、図形
が矩形かどうかをテストするISRECTANGLE に対し自身の
ルーチンを、また図形のサイズ変更を行うSCALE に対し
自身の処理手続きを与えなければならない。加えてP
は、前述の各オーバーレイルーチンによりP に送られる
現行のカーソル位置を変数cursorPoint が有しているこ
とを明確にしなければならない。
【0116】オーバーレイ動作を簡潔なものとするた
め、セダーにおけるオーバーレイの一般的実行は前述の
実施例に示されるような汎用プログラムをサポートしな
い。その代わりとして一般的実行は各動作を命令リスト
に置き換える。この場合各命令は一連の論理値で修飾さ
れる命令符号となる。該論理値はオーバーレイで算出さ
れ、アプリケーションでは算出されない。 4.06 一つまたはそれ以上の命令を用いた動作 例えばカーソルから四分の一インチの範囲内でカーソル
点<23,37> 付近にある最上部の表示物をP が選択するこ
とを規定する単一命令は、次のようになることが想定さ
れる。
【0117】(SelectObject<23,37>0.25 ) LISP言語のように命令全体が括弧でくくられ、命令の始
まりと終わりがどこであるかを容易に知らせる。表示物
を選択して充填色を赤に、輪郭色を青にする次に示す動
作のように、各動作はいくつかの命令を有してもよい。
【0118】 ((SelectObject<23,37>0.25)(SetFillColor red) (SetLineColor blue)) この場合一対の付加的括弧が動作全体の始まりと終わり
を表す。これは前述のフローチャートにおいてL として
引用されている命令リストの一実施例となっている。 4.07 命令の翻訳 このような動作表現は一般的原型ツールで特に容易に翻
訳される。これはオーバーレイがすでに実行されている
ソフトウェアプログラムはみなこの形式で表現された命
令を翻訳するためである。従って前述のプログラム依存
のない命令リストを特定なプログラムP により翻訳可能
な命令リストに翻訳するために、各汎用命令をP が理解
できる一つまたはそれ以上の命令に翻訳することが必要
となる。例えばP はSelectObject命令を有さずにSelect
命令をその所望機能と共に有してもよい。Selectはその
二つめのアーギュメントをインチ形式の代わりにピクセ
ル形式とすることが想定される(72ピクセル/インチの
場合0.25インチ=18 ピクセル)。同様にP はSetFillCol
or命令を有さずにSetAreaColor命令を有してもよい。P
がSetLineColor命令を有する場合、命令リストの適切な
翻訳の一つは次のようになる。
【0119】((Select<23,37>18)(SetAreaColor red) (SetLineColor blue)) 命令列の長さが常に保持されるとは限らない。例えば該
動作は(SetFillColorAtPoint cursorPoint red) 命令を
有してもよく、これはカーソルにいちばん近い表示物の
色を赤に変える。特定プログラムP はこのような処理を
単一命令として与える必要はない。この場合単一命令(S
etFillColorAtPoint cursorPoint red) は(Select cuso
rPoint)(SetAreaColor red) の二つの命令に翻訳されて
もよい。
【0120】P がそのような命令リストに対する翻訳を
まだ実行しておらず、所望の機能を与える一連の処理手
続きを与える場合、各動作は直接処理呼び出しに翻訳さ
れることが可能となる。例えば前記動作は次のようなセ
ダープログラム言語の三つの処理呼び出しに翻訳される
ことが想定される。
【0121】SelectShape picture, 23,27 ,18 ; shape''GetSelectedShape picture ; SetAreaColor shape,red ; SetLineColor shape,blue ; 4.08 反転データフロー これまでに述べた動作は、命令およびデータをツールか
らアプリケーションへ伝達するものであった。命令によ
りアプリケーションからツールへデータを戻すこともま
た可能である。このことは命令リスト中にいくつかの空
白な記憶領域を持たせることで可能となる。例えばコピ
ーおよびペーストツールは次のようにして該動作を与え
ることが可能である。
【0122】 ((Select<23,37>18)(GetSelected fillInValue)) この場合fillInValue は後の論理値記録のためのラベル
fvのポインタである。
【0123】図38の(A )および38の(B )は、命
令により要求されたデータをアプリケーションが戻す前
後での該記録を示す。該記録はフィールドvalue を含
み、該フィールドにアプリケーションにより戻されるデ
ータに対するポインタが置かれる。二つめのフィールド
ready?はフィールドvalue に論理値が与えられるまで論
理値false を有する。最後のフィールドcondVar はセダ
ープログラム言語により与えられる状態変数と呼ばれる
同期表記を有する。状態変数は現在これを待っている各
プログラムのリストを含んでいる。該変数が有効になる
と、該変数に論理値を与えるアプリケーションが現在該
変数を待っている各プログラムにこれを知らせる。
【0124】この実施例ではアプリケーションP が座標
<23,37> で図形を選択した後フィールドvalue にポイン
タを記憶する。P がT と異なる処理過程を走っている場
合、T はP がポインタを記憶するまで待たなければ(状
態を保留しなければ)ならない。これはT がそのポイン
タをfvに主張しており、いったんvalue が受入状態にな
ったことが知らされると該ポインタがfvのフィールドva
lue に到達することが可能になるためである。 4.09 合成ルーチン 二つまたはそれ以上のオーバーレイが(図34の(B )
のオーバーレイ#1および#2のように)オーバーラッ
プされる場合、各イベントE は前面から背面の順に(オ
ーバーレイ#2の後オーバーレイ#1)すべてのオーバ
ーレイにより処理された後最終的に受け取られるべきア
プリケーション(図34の(C )のアプリケーション#
3B )へ送られる。結果的に、動作A はいくつかのまた
はすべてのオーバーレイからの寄与を含む処理を記述す
ることが可能である。そのような動作は各オーバーレイ
により独自に決定されることが想定される各動作の合成
としてとらえることができる。現在の実行では各オーバ
ーレイO はそれぞれの動作とイベントがその時点までに
累積した動作とを合成する役目を負っている。新たな動
作は様々な方法のうちの一つを用いて既存の動作から算
出されることが可能であり、該方法は追加、先頭追加、
削除、命令変更、アーギュメント変更、または座標変更
等を含む。これら各方法について以下に説明を行う。 4.09.01 追加 その動作を追加するツールは既存の命令リストの終端に
該動作の命令リストを単純に付加する。例えばオーバー
レイO がその座標<x,y> がO のツールT で指定されるイ
ベントE を受信する場合、およびツールT が輪郭色を変
更するツールである場合を考える。なにものにも依ら
ず、イベントE に対するT の対応は次のような動作を発
生することであると想定される。
【0125】 ((SelectShape<x,y>)(SetLineColor blue)) しかしE が充填色を赤にすることを規定するツールをす
でに通過していた場合、次のような動作が行われたこと
が想定される。
【0126】((SelectShape<x,y>)(SetFillColor red)) T が追加ツールである場合、T はその命令リストを既存
の命令リストへ追加して次のようなより長い動作を形成
する。
【0127】((SelectShape<x,y>)(SetFillColor red) (SelectShape<x,y>)(SetLineColor blue)) 4.09.02 先頭追加 先頭追加は新たな命令リストが既存の命令リストの先頭
に追加されることを除き追加に類似している。命令の順
序づけが関係する場合、先頭追加は追加と異なる結果を
与える場合がある。例えばイベントE が図形を45°回転
させる既存の命令(RotateShape45) を伴って入ってくる
場合、およびツールT が図形をy 方向はそのままでx 方
向に二倍する命令(ScaleShape21)を通常発生する場合を
考えると、最終的命令は((ScaleShape21)(RotateShape4
5)) となることが想定される。これは((Rotate45)(Scal
eShape21))とは異なる効果を有する。 4.09.03 削除 ツールT はイベントから一つまたはそれ以上の命令を取
り除くことが可能である。例えばT は表示画面を編集す
るすべての命令を削除することでその直下の図面が編集
されないようにすることを可能とする。T がイベント
((SelectShape<x,y>)(SetLineColor blue)) を受信した
場合、背後の図面を修正していたはずの(SetLineColor
blue) 命令は取り除くが、その時図面内で選択される表
示物の変更のみを行う(SelectShape<x,y>)命令は残して
おくことが想定される。この結果生じる命令は(SelectS
hape<x,y>)となることが想定される。 4.09.04 命令変更 ツールT は受信された動作で使用されているいくつかま
たはすべての命令表記を変更することが可能である。例
えばT はSetFillColorへのすべての呼び出しをSetFancy
FillColor へのすべての呼び出しに、またSetLineColor
へのすべての呼び出しをSetFancyLineColor への呼び出
しに変更することが可能である。このことはユーザーが
オーバーレイO の前面にあるオーバーレイ上の親しんだ
ツールを使用しつつ新たな装飾的命令を試行して作りだ
すことを可能とする。そのようなツールが命令 ((SelectShape<x,y>)(SetFillColor red) (SelectShape<x,y>)(SetLineColor blue)) を受信する場合、該ツールは命令 ((SelectShape<x,y>)(SetFancyFillColor red) (SelectShape<x,y>)(SetFancyLineColor blue)) を作成することが想定される。 4.09.05 アーギュメント変更 アーギュメント変更の場合、T は命令の命令表記の後に
規定される論理値を変更する。例えばT はその前のツー
ルにより受信されたいづれかの色を変更してそれらをよ
り鮮明にすることが想定される。そのようなツールが命
令(SetLineColor blue) を受信する場合、該ツールは命
令(SetLineColor vivid-blue) を作成することが想定さ
れる。 4.09.06 座標変更 座標変更はアーギュメント変更の特別な場合である。こ
の場合ツールT は命令内に規定された座標<x,y> を変更
する。T がO の背面にある図面の表示を変更するビジュ
アルフィルタを有する場合、このことは特に有用にな
る。例えばT が直下の図面を拡大する場合、T の前面に
あるツールからの座標は該ツールからの命令がT を通し
て実際に現れる表示物に適用されるよう縮小変換値を有
さなければならない。従ってT がその背面の図面を二倍
に拡大する場合、T は該座標を0.5倍にしなければなら
ない。受信された命令が(SelectShape<x,y>)である場
合、TはSelectShape(0.5*<x,y>)を作成する。 4.09.07 マーク座標について イベント−オーバーレイルーチンは、翻訳のためにマー
クされた命令リスト内の座標<x,y> を認識する。一般に
カーソル座標はこのようにマークされる。該マークは合
成ルーチンにより保持され、この結果入力命令がマーク
座標を有する場合には合成により作成される該座標に対
応した命令内座標もマークされる。 4.10 基本的出力処理 背面にあるアプリケーションプログラムへの入力イベン
トの送出に加え、オーバーレイはこれらアプリケーショ
ンプログラムの表示の修正も行う。特にほとんどのツー
ルは該ツールのアクティブ領域の境界を示すアイコンを
表示する。加えてツールはビジュアルフィルタを有して
いてもよく、該フィルタはアプリケーションの表示のフ
ィルタ処理、外形、色、サイズ、およびその他の図形的
特性の修正を行う。本章以降ではオーバーレイメカニズ
ムがどのようにビジュアルフィルタの動作を制御するか
についての説明を行う。
【0128】MMM 出力は通常、リーフアプリケーション
からその上位へ向かって合成される。ビジュアルフィル
タをサポートするため、通常の表示画面リフレッシュ処
理が拡張されて情報が階層ツリー内を自由に流れること
が可能となる。例えば図34B のツールが一つまたはそ
れ以上のビジュアルフィルタを有し、またこれらビジュ
アルフィルタのいづれかがグラフィカルエディタ上に設
定されている場合、各ビジュアルフィルタは自身を描く
ために(階層構造ではビジュアルフィルタの同胞であ
る)該グラフィカルエディタの内容を検定しなければな
らない。 4.10.01 変更領域の算出 オーバーレイにより与えられる表示画面リフレッシュル
ーチンのいくつかの部分は入力処理のルーチンに類似し
ているが、データはこれと逆方向へ送られる。図34の
(C )に示されたように、オーバーレイルーチンは入力
イベントが各オーバーレイを前面から背面の順に通過し
て目的のアプリケーションへ送られることを保証しなけ
ればならない。アプリケーション#3B の内容が変更さ
れる場合に表示画面のどの部分が書き換えられなければ
ならないかを算出するため、アプリケーション#3B の
変更部分の情報が図39に示される経路に沿って送られ
る。これは図34の(C )の経路の逆経路となってい
る。
【0129】変更領域情報はこのツリー内のノードから
ノードへ送られるため、変更領域はこれを受信する各ノ
ードの座標系に変換され、各ノードにより容易に理解さ
れる。加えて各オーバーレイノードは、その上に見えて
いる現時点の表示フィルタに基づく変更領域を変更する
可能性がある。例えば与えられたオーバーレイO が拡大
フィルタを有するツールT を含む場合、O は表示画面領
域のサイズを増大させることが想定され、このことはア
プリケーション#3B 自体の変更により影響を受ける。
O は変更領域データ構造のサイズを適正に増大させ、変
更されたデータ構造を連鎖内の次のノードへ送る。 4.10.02 表示画面更新 ビジュアルフィルタが無い場合、アプリケーションおよ
びオーバーレイ両者を表す新たなスクリーンイメージの
作成は、階層構造内の各ノードを層順を優先して上層か
ら順に、また同一層では下位から順に背面から前面へ描
くことで行われる(すなはち各アプリケーションはその
子供が描かれる前および後の両方で描かれる)。図39
の実施例では、各ノードは次のような順序で描かれるこ
とが想定される。アプリケーション#1開始、アプリケ
ーション#2開始および終了、アプリケーション#3開
始、アプリケーション#3A 開始および終了、アプリケ
ーション#3B 開始および終了、アプリケーション#3
終了、オーバーレイ#1開始および終了、アプリケーシ
ョン#4開始および終了、オーバーレイ#2開始および
終了、アプリケーション#1終了。
【0130】しかしオーバーレイがひとつまたはそれ以
上のビジュアルフィルタを有する場合、そのような各フ
ィルタはビジュアルフィルタの特徴である変換動作を用
いて階層構造の部分が描き直されることを必要とするこ
とが想定される。描き直される階層構造の部分は、オー
バーレイの親および該オーバーレイの背面にある該オー
バーレイのすべての同胞を含む。例えばオーバーレイ#
1がビジュアルフィルタを含む場合、アプリケーション
#2、アプリケーション#3A 、アプリケーション#3
B 、アプリケーション#3、およびアプリケーション#
1のノードが(この順に)描き直される。図40は、こ
のツリー断片を示す。 5.0 利点 本章ではオーバーレイの様々な実施例の多くの利点を要
約する。これら利点のいくつかは前述の様々なツールに
関連付けて明確に説明を行ったが、これらの利点をまと
めておくことは有用である。 5.01 タスクのより高速な実行 いくつかのステップを単一ステップにまとめることで、
オーバーレイツールは時間を節約することが可能であ
る。前述のようにクリックスルーボタンは命令選択と処
理対象選択を単一なユーザー動作にまとめる。ビジュア
ルフィルタの使用を加えることで、これらボタンはまた
処理対象領域内にカスタマイズされた表示を作成し、こ
の場合該表示を明確にオンおよびオフするためのキース
トロークはまったく必要ない。加えてユーザーの視線お
よびカーソルの両方が作業領域を離れることがない。こ
のことはユーザーがタスクに集中することを持続させ、
またユーザーが作業領域外に置かれたパレットと作業領
域の間を繰り返しカーソル移動することを必要とするシ
ステムに比較して時間の節約となる。 5.02 時間的状態の減少 オーバーレイを用いることで、処理を与えるツール上に
カーソルがある場合にはいつでも処理が可能となる。本
質的にオーバーレイは空間的命令状態を与える。(例え
ばツール上のラベルにより)ユーザーが容易に現行状態
を見ることができ、また(例えばカーソルをツールの外
へ動かして)容易にその状態からでる様子を見ることが
できるため、空間的状態はしばしば時間的状態よりも望
ましい。 5.03 より良好なグラフィカルフィードバック、エ
ラーの減少 時間的状態を用いるシステムは頻繁にユーザーにフィー
ドバックを与え、現行命令の正常な完了を助ける。例え
ばグラフィカルエディタのテキスト編集状態では、エデ
ィタはすべての編集可能なテキスト列を強調表示するこ
とが可能である。オーバーレイツールはこれと同じタイ
プのフィードバックを与えることが可能であるが、それ
はツールの境界内に限られる。実際、スクリーン上でい
くつかのツールを同時に用いることでいくつかの異なる
フィードバックが各ツール内に与えられることが可能と
なる。加えて、ツールをエディタの全体サイズに拡大す
ることで、ユーザーは時間的状態を用いることで可能と
なるフィードバックと同じフィードバックを可能にす
る。いくつかのツールが同時に見える場合、各ツール内
のフィードバックは二つの役割を行う。それはユーザー
がツールを適正に使用することを助け、またユーザーが
適正なツールを選択することを助ける。
【0131】加えて、ツール内でのビジュアルフィルタ
の使用は、従来与えられることのなかったフィードバッ
クの一種を与える。これは表示画面の一部を修正して表
示し、一方表示画面の残りの領域はその内容の標準的表
示を行う。ビジュアルフィルタは隠れた頂点のような隠
れた情報を表示することが可能である。加えて、それは
与えられた処理に対する適正な処理対象となる表示物の
特定を助けることが可能である。例えば表示物の境界色
を変更するツールは境界の外形のみを表示することが想
定される。そのようなフィードバックは、充填色の変更
のような前記と異なる目的のためのツールを誤って使用
したユーザーにとっては不都合になることが想定され
る。 5.04 容易なカスタマイズ化 表示画面スペースを占領してしまうようなツールを有す
るアプリケーションでは、ユーザーカスタマイズ化の効
果は限られたものとなる。ユーザーが新たなボタン、ス
ライダー、およびこの他の対話装置を作成できたとして
も、これらを置くスペースがほとんどない。しかし本質
的にオーバーレイは制限を受けないスペースを与え、該
ツールが作業領域全体から取り払われるだけでなく、そ
れらは表示画面領域外へ置かれて必要なときに表示画面
上へスクロールされることも可能となる。加えて、オー
バーレイツールとビジュアルフィルタはオーバーラップ
することで合成されることが可能なため、これらはユー
ザーが個人仕様のマクロを構築する容易な方法を与え
る。 5.05 学習時間の軽減 オーバーレイツールはいくつかのタスクステップを単一
にまとめることが可能なため、ユーザーがこれらステッ
プを個々に学習する必要が無くなる。例えば表示物を選
択してそれに色を与えることを学習する代わりに、ユー
ザーはカラークリックスルーボタンの使用を学習する。
同様に、初心者が自然とエキスパートになる。熟練した
ユーザーは各ツールが置かれている場所、および効果的
なツールの合成方法を知っており、またツールを短時間
に所望の位置へ動かすことをすでに学習している。各ツ
ールの空間的配置およびツールの合成を学習すること、
および共通して使用される動作をこれがユーザーの運動
神経の一部となるまで繰り返すことで初心者はエキスパ
ートになっていく。これらのタスクは自覚的努力をほと
んど必要としない。 5.06 アプリケーションに依存しないツール いくつかのユーザー命令は多くのアプリケーションで共
通なため、それらはカットおよびペーストキーのように
キーボード内に組み込まれる。ユーザーがそのようなキ
ーの一つを押す場合、ウィンドウマネージャーは該キー
ストロークをユーザーの現行アプリケーションへ送る。
オーバーレイはこのようなアプリケーションに依存しな
い命令が置かれる新たな基体を提示する。特にオーバー
レイシートがアプリケーション間を平行移動できる場
合、オーバーレイの各ツールは、その適用が意味を持つ
ときはいつでもその背面にあるいかなるアプリケーショ
ンに対しても現行アプリケーションを識別する必要なく
適用されることが可能である。例えば色を変更するクリ
ックスルーボタンは、異なるエディタ内の各表示物の色
を変更することが可能である。 5.07 片手または両手による使用 多くのグラフィカルユーザーインターフェイスはユーザ
ーが両手を連係させて使用することを必要とする。例え
ばユーザーはマウスを同時に使用する一方でコントロー
ルまたはシフトキーを押し止めてもよい。オーバーレイ
は両手を用いてより素早く使用されることが可能である
が、片手によっても使用されることが可能であり、この
場合オーバーレイとカーソルの位置設定が逐次的に行わ
れる。オーバーレイは、片手が使えないユーザーまたは
片手を電話やコーヒーカップを持つことのようなタスク
に使用している器用なユーザーによっても操作されるこ
とが可能である。 5.08 異なった表示サイズ 現在のコンピュータはポケットサイズから壁掛けサイズ
の多くの異なるサイズのディスプレイを備えている。オ
ーバーレイはこのようなサイズ範囲にわたりインターフ
ェイスを行う。オーバーレイツールはスクロールおよび
ズームを行うため、固定ツールパレットのためのスペー
スがほとんど無いかまたはまったく無い小さなディスプ
レイ上で使用されることが可能である。加えて、非常に
大きなディスプレイ上ではユーザーは各ツールを表示画
面のいづれの部分へも動かすことが可能であり、これは
固定メニュー領域にアクセスするためにディスプレイ上
を横切るような動きを不必要なものとする。 6.0 結論 本発明はユーザーインターフェイスの新たな形態を提供
する。該インターフェイスは、アクティブなツール定義
領域を有する透明なオーバーレイの表示に基づくシース
ルーインターフェイスである。該シースルーインターフ
ェイスは、時間的状態よりもむしろ空間的状態に基づく
ユーザーインターフェイスのための新たな設計領域を提
示し、また両手を使用した対話のための自然な情報媒体
を提供する。該インターフェイスは可動であり、またア
プリケーション領域上を覆うため、固定的表示画面領域
をまったく持たず、また広範囲なディスプレイサイズに
容易に適用が可能である。オーバーレイツールはオーバ
ーレイを動かすことだけで選択されて作業領域へ運ばれ
るため、ユーザーの視線が作業領域に継続して注がれる
ことが可能となる。動作および表示が空間的に定義され
るため、ユーザーは全体的内容物を変更することなく作
業をおこなうことが可能である。
【0132】さらに本発明のオーバーレイは、ビジュア
ルフィルタと共に用いられる場合、スプレッドシート内
の同一物、グラフィカルエディタ内の表示物集合、また
は建築モデル内の水道管のようなアプリケーションの隠
れた場所に対する処理を可能とする。ユーザーはこの隠
れた場所を表示して編集することが可能である。この場
合、固定的表示画面領域および命令の記憶はまったく必
要ない。
【0133】加えて、シースルーインターフェイスは開
放型ソフトウェアアーキテクチャをサポートする新たな
範例を提供する。オーバーレイツールは単一のアプリケ
ーションウィンドウに拘束されることなくアプリケーシ
ョン間にわたり動かされることが可能であるため、該ツ
ールはいくつかのアプリケーションの共通機能に対する
インターフェイスを提供し、またより多くのアプリケー
ションに共通機能を提供することが可能である。
【0134】さらに、オーバーレイシートは非常に多く
のツールを有することが可能なため、ユーザーが自身の
カスタマイズしたツールおよびツール集合を作成するこ
とが可能な新たな可動基体を提供する。実際、該シート
はユーザーにユーザーインターフェイスエディタを提供
し、該エディタはユーザーが既存のツールを移動および
コピーすること、ツールをオーバーラップさせてマクロ
を合成すること、およびスナップツールを付加して新た
な構成にすることを可能にする。あるオーバーレイシー
トが他のシートを編集するために用いられることさえも
現実に可能である。
【0135】前述の説明は、本発明の詳細な実施例に関
する完結した説明となっているが、様々な変更、別の構
成、および前述と等価なものが用いられてもよい。例え
ばオーバーレイツールに関する前述の説明はアプリケー
ションを図形編集に限っているが、前述の多くのツール
は本質的にいづれの表示画面ベースのアプリケーション
においても使用されることが可能であり、該アプリケー
ションはスプレッドシート、テキストエディタ、マルチ
メディアエディタ、ペイントプログラム、ソリッドモデ
ラ、サーキットエディタ、サイエンティフィックビジュ
アライザ、およびミーティングサポートツールを含む。
オーバーレイはビデオおよびコンピュータグラフィクス
を含む画像メディア上で使用されることが可能である。
これはかなり強制的なアプリケーション領域である。動
いているメディアを見ているユーザーにとって視線をワ
ークピースから画面側のメニューヘ動かすことは、重要
なイベントを見失う可能性があるためかなり不都合なこ
ととなるからである。画像メディアの内容物中ではメデ
ィア自身がボタンを起動するイベントを与えてもよい。
例えばアニメーションフレームの表示物の色をオレンジ
にする処理を正常に行うため、ユーザーは該表示物が現
れる場所にボタンを押し止めておくことが想定される。
新たなフレームが描かれるたびに該ボタンはフレーム内
の該場所で該表示物へ自動的に適用されることが想定さ
れる。加えて、前述の説明ではアプリケーションプログ
ラムに関連したオーバーレイツールの使用が強調された
が、オーバーレイはウィンドウシステム内において各ウ
ィンドウを置いたり、ウィンドウ境界色、キーボードマ
クロおよびこれに類似するもののようなウィンドウパラ
メータの設定に使用されることが可能である。
【0136】従って前述の説明は請求項で定義される本
発明の範囲を制限するように捉えられるべきではない。 7.0 文献 Bier86 Eric A.Bier and Maureen C.Stone.Snap-draggi
ng.In Proceedings ofSiggrapf`86(Dallas,Augest),Co
mputer Graphics,Vol.20,No.4,ACM,1986,pages233-240. Bier88 Eric A.Bier.Snap-Dragging:Interactive Geome
tric Design in Two and Three Dimensions. Report N
o.UCB/CSD 88/416,April28,1988,Computer Science Div
ision,Department of Electrical Engineering and Com
puter Science,University of California,Berkeley,CA
94720.または Xerox PARC technical report EDL-89-2. Bier90 Eric A.Bier and Aaron Goodisman.Documents a
s user interfaces. InR.Furuta(ed).EP90,Proceedings
of the International Conferencs on Electronic Pub
lishing,Document Manipulation and Typography,Cambr
idge University Press,1990,pages249-262. Bier91a Eric A.Bier.Embedded Buttons:documents as
user interfaces. In Proceedings of the ACM SIGGRAP
H Symposium on User Interface Software andTechnolo
gy(South Carolina,November),ACM,1991,pages45-53. Bier91b Eric A.Bier and Steve Freeman. MMM:a user
interface architecture for shared editors on a sin
gle screen. In Proceedings of the ACM SIGGRAPH Sym
posium on User Interface Software and Technology(H
ilton Head,SC,November 11-13),ACM,1991,pages79-86. Bier92 Eric A.Bier. Embedded Buttons:Supporting Bu
ttons in Documents.ACM Transactions on Information
Systems,Vol.10,No.4,October 1992,pages381-407. English90 Paul M.English,Ethan S.Jacobson,Robert
A.Morris,Kimbo B.Mundy,Stephen D.Pelletier,Thomas
A.Polucci,and H.David Scarbro. An extensible,objec
t-oriented system for active documents. In R.Furut
a(ed).EP90,Proceedings of the International Confer
encs on Electronic Publishing,DocumentManipulation
and Typography,Cambridge University Press,1990,pa
ges263-276 Goldberg91 David Goldberg and Aaron Goodisman. Sty
lus user interfaces for manipulating text In Proce
edings of the ACM Symposium on User Interface Soft
ware and Technology(UIST `91,Hilton Head South Ca
rolina,November),1991,pages127-135. Hopkins91 Don Hopkins. The design and implementati
on of pie menus. Dr.Dobb's Journal. Vol.16,No.12,D
ecember 1991,pages16-26. kurlandder92 David Kurlander and Steven Feiner. In
teractive constraint-based search and replace. In
Proceedings of CHI `92(Monterey,California,May),H
uman Factors in Computing Systems,ACM,New York,199
2,pages609-618. Kurtenbach91 Gordon Kurtenbachand Wiiliam Buxton.
Isses in combining marking and direct manipulation
techniques. In Proceedings of the ACM Symposium o
n User Interface Software and Technology(UIST`91,
South California,November),ACM,1991,pages137-144. Ousterhout90 J.K.Ousterhout. Tcl:An embbedable com
mand language. In winter USENIX Conference Proceed
ings,1990. Pier88 Ken Pier,Eric A.Bier,and Maureen C.Stone. A
n Introduction to Gargoyle:An Interactive Illustra
tion Tool. Proceedings of the InternationalConfere
ncs on Electronic Publishing,Document Manipulation
and Typography(Nice,France,April).Cambridge Unive
rsity Press,1988,pages223-238 Rubine91 Dean Rubine. Specifying gestures by examp
le. In Proceedings ofACM SIGGRAPH`91,Computer Gra
phics,Vol.25,No.4,July 1991,pages329-337. Swinehart86 Daniel C.Swinehart,Polle T.Zellweger,R
ichard J.Beach,RobertB.Hagmann. A Structural View
of the Cedar Programming Environment. ACM Transact
ions on Programming Languages and Systems,Vol.8,N
o.4,1986,pages419-490.またはXerox PARC Technical R
eport CSL-86-1.
【0137】
【発明の効果】本発明によりユーザーがより少ない動作
で多くの一般的タスクを行うことが可能となり、この結
果ユーザーの生産性が高められる。
【図面の簡単な説明】
【図1】本発明の実施例であるコンピュータシステムの
ブロック図を示す。
【図2】プログラムおよびオーバーレイの素データを可
視表示体に変換する方法を示す。
【図3】オーバーレイへの入力信号を処理呼び出しに変
換する方法を示す。
【図4】作図ツールを示す。
【図5】作図ツールの特別な使用例を示す。
【図6】削除、移動、およびコピーツールを示す。
【図7】カラーパレットツールを示す。
【図8】テキストスタイルパレットツールを示す。
【図9】対称クリップボードツールを示す。
【図10】表示物特性を転写するツールを示す。
【図11】図形特性を転写するツールを示す。
【図12】頂点選択ツールを示す。
【図13】ユーザー動作を利用する特性選択ツールを示
す。
【図14】ユーザー動作を利用する色および作図ツール
を示す。
【図15】照準(位置合わせ)線ツールを示す。
【図16】表示物に取り付く図形付加ツールを示す。
【図17】回転ツールを示す。
【図18】回転、サイズ設定、および傾斜ツールを示
す。
【図19】照準(位置合わせ)表示物を起動するツール
を示す。
【図20】グリッドツールを示す。
【図21】カスタマイズしたグリッドツールを示す。
【図22】幾何計測ツールを示す。
【図23】テキストフォーマット表示ツールを示す。
【図24】ユーザー動作翻訳ツールを示す。
【図25】制御ハンドルツールを示す。
【図26】デバッグツールを示す。
【図27】数字キーパッドツールを示す。
【図28】テキスト作成およびテキスト回転ツールを示
す。
【図29】ラベル付加ツールを示す。
【図30】ドキュメントをウィンドウへロードするツー
ルを示す。
【図31】ハンドルを用いてツールを移動、コピー、お
よび削除するツールを示す。
【図32】ツールが合成されて新たなツールが作成され
る例を示す。
【図33】特定な実行のためのユーザー入力ルーチンの
フローチャートを示す。
【図34】(A)はアプリケーションの階層構造を、
(B)はアプリケーションの階層構造の画面表を、
(C)はアプリケーションの階層構造のイベント送出順
序をそれぞれ示す。
【図35】特定な実施のためのイベント−アプリケーシ
ョンルーチンのフローチャートを示す。
【図36】特定な実施のためのイベント−オーバーレイ
ルーチンのフローチャートを示す。
【図37】特定な実施のためのイベント−ツールルーチ
ンのフローチャートを示す 。
【図38】(A)は(アプリケーションがデータを戻す
前の)データに対する要求を含む命令を、(B)は(ア
プリケーションがデータを戻した後の)データに対する
要求を含む命令をそれぞれ示す。
【図39】表示画面更新のためのイベント送出順序を示
す。
【図40】表示画面更新のための階層構造部分を示す。
【符号の説明】
10 本発明の実施例であるコンピュータシステム 12 プロセッサー 15 バスシステム 17 メモリ 20 ファイル記憶システム 22 ディスプレイ装置 23 表示画面 25 キーボード 27 マウス 30 トラックボール 32 マウスボタン 35 ボール 37 トラックボールボタン 40 サムホイール 50 ドローイングプログラムのアプリケーションウィ
ンドウ 52 ワードプロセッサのアプリケーションウィンドウ 55 カーソル 60 オーバーレイツール 62 パレット 70 プログラム素データ 72 翻訳装置(プログラム) 73 プログラム画像データ構造 75 オーバーレイ素データ 77 翻訳装置(プログラム) 80 オーバーレイ画像データ構造 82 結合ノード 83 ディスプレイイメージ 85 オーバーレイ 87 アプリケーション#1 88 アプリケーション#2 92 ウィンドウマネージャー 93 翻訳装置(プログラム)#1 95 命令解析装置(プログラム)#1 97 翻訳装置(プログラム)#2 98 命令解析装置(プログラム)#2
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウィリアム バクストン カナダ国 エム4エル 1エックス6 オ ンタリオ州トロント ケルンス アヴェニ ュー 83 (72)発明者 モリーン シー.ストーン アメリカ合衆国 94022 カリフォルニア 州 ロス アルトス パイン レーン 191

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサーベースの装置の操作方法で
    あって、前記装置はユーザー入力装置と、ディスプレイ
    装置と、ユーザー入力装置およびディスプレイ装置に結
    合されるプロセッサーと、命令を含む情報を記憶するた
    めの記憶装置を含み、該命令はプロセッサーおよび一連
    の関連するデータにより実行される少なくとも一つのプ
    ログラムを定義し、前記方法は処理ステップを実行する
    ためにプロセッサ−を動作させることを含み、該処理ス
    テップはデータの処理を行って可視表示体をディスプレ
    イ装置上に表示するためにプログラムを実行するステッ
    プと、複数のツール定義領域の視覚表示をディスプレイ
    装置に表示するステップと、各ツール定義領域は該領域
    内のカーソルイベントに応答してデータに行われる特定
    の動作の少なくとも一部分を指定し、各ツール定義領域
    およびそれが指定する動作はツールと呼ばれ、クリック
    スルーツールと呼ばれるツールの少なくとも一つが、デ
    ータの処理結果がツール定義領域内のカーソルイベント
    の位置に依存する特性を持ち、第一のツール定義領域を
    可視表示体に対し置くステップと、少なくとも部分的に
    第一のツール定義領域とオーバーラップするようクリッ
    クスルーツールに相当する第二のツール定義領域を置く
    ステップと、ユーザー入力装置からの一組の信号に応答
    してカーソルを可視表示体に対し置くステップと、ツー
    ル定義領域のオーバーラップ領域内のカーソルイベント
    に応答して第一および第二のツール定義領域により少な
    くとも部分的に指定される合成動作と呼ばれる動作を行
    うステップと、を含むプロセッサーベースの装置の操作
    方法。
  2. 【請求項2】 第一のツールがクリックスルーツールで
    あり、オーバーラップ領域内のカーソルイベントに応答
    して合成動作がデータに行われ、該合成動作が第一のツ
    ールにより指定される動作および第二のツールにより指
    定される動作を含む請求項1の方法。
  3. 【請求項3】 第一のツールが表示物特性を指定するク
    リックスルーツールであり、第二のツールが特定タイプ
    の表示物の作成を指定するクリックスルーツールであ
    り、表示物が第一のツールにより指定される特性を有し
    ている場合に第二のツールにより指定されるタイプの表
    示物の作成が合成動作の結果となる請求項1の方法。
  4. 【請求項4】 第一のツールが第一の表示物特性を指定
    するクリックスルーツールであり、第二のツールが第二
    の表示物特性を指定するクリックスルーツールであり、
    特定の既存表示物を指定する位置情報によりオーバーラ
    ップ領域内のカーソルイベントが特徴づけられ、既存の
    表示物に第一のツールで指定された第一の特性をもたせ
    ることおよび第二のツールで指定された第二の特性をも
    たせることが合成動作の結果となる請求項1の方法。
  5. 【請求項5】 第一のツールが動作結果が第一のツール
    定義領域内のカーソルイベント位置に依存しない特性を
    有する従来のツール呼ばれるツールであり、第一のツー
    ルのツール定義領域内のカーソルイベントの結果が、そ
    の後のカーソルイベントの組の結果が特定のタイプの表
    示物の作成となるモードにカーソルを置き、第二のツー
    ルが特定の表示物特性を指定するクリックスルーツール
    であり、合成動作が、その後のカーソルイベントの組の
    結果が第二のツールで指定される特性を有する表示物を
    用いて第一のツールにより指定されるタイプの表示物の
    作成となるモードにカーソルを置く請求項1の方法。
  6. 【請求項6】 表示画面と表示画面に関する表示物の位
    置設定に適した少なくとも一つの入力装置とに結合する
    プロセッサーと、該プロセッサーが実行し、表示画面の
    少なくとも一部を制御し、入力装置に応答するユーザー
    インターフェイスソフトウェアとを備える対話型コンピ
    ュータ環境において特定の特性を有するソフトウェアツ
    ールをワークピースに適用する方法であって、該方法
    が、プロセッサー、ユーザーインターフェイスソフトウ
    ェア、および表示画面を用いてワークピースを表す内容
    を有するウィンドウを表示するステップと、プロセッサ
    ー、ユーザーインターフェイスソフトウェア、および表
    示画面を用いて第一のツールを表す第一の透明な表示物
    および少なくとも部分的に第一のツールとオーバーラッ
    プする第二のツールを表す第二の透明な表示物を表示す
    るステップと、プロセッサー、ユーザーインターフェイ
    スソフトウェア、および入力装置を用いてワークピース
    を表すウィンドウに関してツールのオーバーラップ領域
    を位置指定することで第一および第二のツールと対話す
    るためにワークピースの少なくとも一部分を選択するス
    テップと、プロセッサー、ユーザーインターフェイスソ
    フトウェア、および入力装置を用いて前記のように選択
    されたワークピースの一部分へオーバーラップするツー
    ルを、ワークピースの選択部分の内容をオーバーラップ
    するツールの少なくとも部分的特性により決定されるよ
    うに変更するよう選択的に適用するステップと、を含む
    ソフトウェアツールのワークピースへの適用方法。
JP6163458A 1993-07-21 1994-07-15 プロセッサーベースの装置の操作方法 Pending JPH0756841A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US9544593A 1993-07-21 1993-07-21
US095445 1993-07-21

Publications (1)

Publication Number Publication Date
JPH0756841A true JPH0756841A (ja) 1995-03-03

Family

ID=22252069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6163458A Pending JPH0756841A (ja) 1993-07-21 1994-07-15 プロセッサーベースの装置の操作方法

Country Status (6)

Country Link
US (1) US5617114A (ja)
EP (1) EP0635780B1 (ja)
JP (1) JPH0756841A (ja)
CA (1) CA2124624C (ja)
DE (1) DE69426548T2 (ja)
ES (1) ES2153407T3 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002536676A (ja) * 1999-01-29 2002-10-29 ソニー エレクトロニクス インク ビデオズーミングシステム及び方法
JP2010003319A (ja) * 1998-03-16 2010-01-07 Seiko Epson Corp 対話型処理システム
JP2014059634A (ja) * 2012-09-14 2014-04-03 Canon Inc 画像処理装置、画像処理方法、およびプログラム
US8832597B2 (en) 1995-06-06 2014-09-09 Autodesk, Inc. Method and apparatus for producing, controlling and displaying menus

Families Citing this family (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0605945B1 (en) 1992-12-15 1997-12-29 Sun Microsystems, Inc. Method and apparatus for presenting information in a display system using transparent windows
US5638501A (en) 1993-05-10 1997-06-10 Apple Computer, Inc. Method and apparatus for displaying an overlay image
US5479603A (en) * 1993-07-21 1995-12-26 Xerox Corporation Method and apparatus for producing a composite second image in the spatial context of a first image
JPH087120A (ja) * 1994-06-21 1996-01-12 Wacom Co Ltd 画像処理装置及び画像処理方法
US5924106A (en) * 1995-05-19 1999-07-13 Brother Kogyo Kabushiki Kaisha Tape printing device and method
US5761656A (en) * 1995-06-26 1998-06-02 Netdynamics, Inc. Interaction between databases and graphical user interfaces
US5666499A (en) * 1995-08-04 1997-09-09 Silicon Graphics, Inc. Clickaround tool-based graphical interface with two cursors
US6127990A (en) 1995-11-28 2000-10-03 Vega Vista, Inc. Wearable display and methods for controlling same
US5930813A (en) * 1995-12-21 1999-07-27 Adobe Systems Incorporated Method and system for designating objects
US5889514A (en) * 1996-03-29 1999-03-30 International Business Machines Corp. Method and system for a multimedia application development sequence editor using spacer tools
US6118427A (en) * 1996-04-18 2000-09-12 Silicon Graphics, Inc. Graphical user interface with optimal transparency thresholds for maximizing user performance and system efficiency
US6317128B1 (en) 1996-04-18 2001-11-13 Silicon Graphics, Inc. Graphical user interface with anti-interference outlines for enhanced variably-transparent applications
US5805163A (en) * 1996-04-22 1998-09-08 Ncr Corporation Darkened transparent window overlapping an opaque window
JP3422897B2 (ja) * 1996-05-17 2003-06-30 株式会社テクノクラフト 文字列抽出システム及び文字列抽出方法
US6064384A (en) * 1996-08-26 2000-05-16 E-Brook Systems Pte Ltd Computer user interface system and method having book image features
US6407757B1 (en) 1997-12-18 2002-06-18 E-Book Systems Pte Ltd. Computer-based browsing method and computer program product for displaying information in an electronic book form
US5909207A (en) * 1996-08-26 1999-06-01 E-Book Systems Pte Ltd Browsing system and method for computer information
AU4408197A (en) * 1996-08-26 1998-03-19 Seng Beng Ho A browsing system and method for computer information
US5892511A (en) * 1996-09-30 1999-04-06 Intel Corporation Method for assisting window selection in a graphical user interface
US6012073A (en) * 1996-10-21 2000-01-04 Corbis Corporation Method and system for displaying original documents and translations thereof
US6067478A (en) * 1996-10-29 2000-05-23 Philips Electronics North America Corporation Control system with macro creation based on recording responses
US6304272B1 (en) * 1996-12-10 2001-10-16 Micrografx, Inc. Graphics system and method having objects conformed to a template
US6233726B1 (en) * 1997-02-05 2001-05-15 Sybase, Inc. Development system with reference card and parameter wizard methodologies for facilitating creation of software programs
US6075530A (en) * 1997-04-17 2000-06-13 Maya Design Group Computer system and method for analyzing information using one or more visualization frames
US5874959A (en) * 1997-06-23 1999-02-23 Rowe; A. Allen Transparent overlay viewer interface
US6128010A (en) * 1997-08-05 2000-10-03 Assistive Technology, Inc. Action bins for computer user interface
GB9722766D0 (en) 1997-10-28 1997-12-24 British Telecomm Portable computers
US6448956B1 (en) 1997-10-31 2002-09-10 Eastman Kodak Company Systems and methods for direct image manipulation
US6075531A (en) * 1997-12-15 2000-06-13 International Business Machines Corporation Computer system and method of manipulating multiple graphical user interface components on a computer display with a proximity pointer
US6091395A (en) * 1997-12-15 2000-07-18 International Business Machines Corporation Computer system and method of manipulating a graphical user interface component on a computer display through collision with a pointer
US6147684A (en) * 1998-02-06 2000-11-14 Sun Microysytems, Inc. Techniques for navigating layers of a user interface
US6874123B1 (en) 1998-02-09 2005-03-29 International Business Machines Corporation Three-dimensional model to facilitate user comprehension and management of information
US6304259B1 (en) * 1998-02-09 2001-10-16 International Business Machines Corporation Computer system, method and user interface components for abstracting and accessing a body of knowledge
US6275227B1 (en) 1998-02-09 2001-08-14 International Business Machines Corporation Computer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor
US6308187B1 (en) 1998-02-09 2001-10-23 International Business Machines Corporation Computer system and method for abstracting and accessing a chronologically-arranged collection of information
US6184885B1 (en) 1998-03-16 2001-02-06 International Business Machines Corporation Computer system and method for controlling the same utilizing logically-typed concept highlighting
US6307552B1 (en) 1998-03-16 2001-10-23 International Business Machines Corporation Computer system and method for controlling the same utilizing an abstraction stack with a sequence of predetermined display formats
US6104393A (en) * 1998-06-11 2000-08-15 International Business Machines Corporation Integration of procedural and object-oriented user interfaces
US6336052B1 (en) 1998-07-08 2002-01-01 Forensic Technology Wai Inc. Data acquistion image analysis image manipulation interface
US6549212B1 (en) * 1998-07-16 2003-04-15 Silicon Graphics, Inc. System for user customization of attributes associated with a three-dimensional surface
ATE401611T1 (de) * 1998-09-01 2008-08-15 Juergen Held Verfahren und vorrichtung zum manuellen erfassen unterschiedlicher ereignisse oder zustände
EP1116211A4 (en) 1998-09-22 2001-11-21 Vega Vista Inc INTUITIVE CONTROL OF A PORTABLE DATA PRESENTATION SCREEN
US6337698B1 (en) 1998-11-20 2002-01-08 Microsoft Corporation Pen-based interface for a notepad computer
US6650338B1 (en) 1998-11-24 2003-11-18 Interval Research Corporation Haptic interaction with video and image data
US6249290B1 (en) 1998-12-14 2001-06-19 Sony Corporation Object oriented zooming graphical user interface
US6275232B1 (en) 1998-12-14 2001-08-14 Sony Corporation Polymorphic event handling for zooming graphical user interface
US6275228B1 (en) 1998-12-14 2001-08-14 Sony Corporation Interchangeable pick handler for zooming graphical user interface
US6377285B1 (en) 1999-01-29 2002-04-23 Sony Corporation Zooming space-grid for graphical user interface
US20060061550A1 (en) * 1999-02-12 2006-03-23 Sina Fateh Display size emulation system
US20060061551A1 (en) * 1999-02-12 2006-03-23 Vega Vista, Inc. Motion detection and tracking system to control navigation and display of portable displays including on-chip gesture detection
US20060279542A1 (en) * 1999-02-12 2006-12-14 Vega Vista, Inc. Cellular phones and mobile devices with motion driven control
US6480813B1 (en) * 1999-02-24 2002-11-12 Autodesk, Inc. Method and apparatus for defining a precision drawing in a drawing program
US6323878B1 (en) 1999-03-03 2001-11-27 Sony Corporation System and method for providing zooming video capture
US6469715B1 (en) * 1999-03-19 2002-10-22 Corel Inc. System and method for controlling the operation of a graphical object using a project
US6469716B1 (en) * 1999-03-19 2002-10-22 Corel Inc. System and method for processing data for a graphical object
US6456296B1 (en) 1999-05-28 2002-09-24 Sony Corporation Color scheme for zooming graphical user interface
US6288704B1 (en) 1999-06-08 2001-09-11 Vega, Vista, Inc. Motion detection and tracking system to control navigation and display of object viewers
US6366294B1 (en) 1999-06-10 2002-04-02 Sony Corporation Snapshot damage handling for rendering objects in a zooming graphical user interface
US6337678B1 (en) 1999-07-21 2002-01-08 Tactiva Incorporated Force feedback computer input and output device with coordinated haptic elements
AU1232301A (en) * 1999-10-27 2001-05-08 Team Works Technology, Inc. System and method for automated visual configuration
US7434177B1 (en) * 1999-12-20 2008-10-07 Apple Inc. User interface for providing consolidation and access
US6686938B1 (en) * 2000-01-05 2004-02-03 Apple Computer, Inc. Method and system for providing an embedded application toolbar
US7027663B2 (en) * 2000-02-11 2006-04-11 Sony Corporation Masking tool
US7391929B2 (en) * 2000-02-11 2008-06-24 Sony Corporation Masking tool
US7334216B2 (en) * 2000-04-04 2008-02-19 Sosy, Inc. Method and apparatus for automatic generation of information system user interfaces
US6681383B1 (en) 2000-04-04 2004-01-20 Sosy, Inc. Automatic software production system
US7576730B2 (en) * 2000-04-14 2009-08-18 Picsel (Research) Limited User interface systems and methods for viewing and manipulating digital documents
US6879691B1 (en) * 2000-05-12 2005-04-12 Bluetie, Inc. Information autocompletion system
US8234203B1 (en) 2000-05-12 2012-07-31 Adventive, Inc. E-commerce system including online automatable inventory monitor and control system
US6577296B2 (en) 2000-11-14 2003-06-10 Vega Vista, Inc. Fixed cursor
US6907580B2 (en) * 2000-12-14 2005-06-14 Microsoft Corporation Selection paradigm for displayed user interface
US20020109673A1 (en) * 2001-01-04 2002-08-15 Thierry Valet Method and apparatus employing angled single accelerometer sensing multi-directional motion
JP2002244781A (ja) * 2001-02-15 2002-08-30 Wacom Co Ltd 入力システム、プログラム、及び、記録媒体
US6956590B1 (en) * 2001-02-28 2005-10-18 Navteq North America, Llc Method of providing visual continuity when panning and zooming with a map display
US6864905B2 (en) 2001-03-23 2005-03-08 International Business Machines Corporation Method to redisplay active panels
US6795096B2 (en) 2001-03-26 2004-09-21 International Business Machines Corporation Method to refresh view of a collection of objects
US7454714B2 (en) * 2001-03-30 2008-11-18 Aol Llc, A Delaware Limited Liability Company Visually distinguishing menu items
KR100480770B1 (ko) * 2001-07-12 2005-04-06 삼성전자주식회사 3차원 공간상의 정보 포인팅 방법
US6971068B2 (en) 2001-07-26 2005-11-29 International Business Machines Corporation Dialog box positioning
US9508101B1 (en) 2001-09-21 2016-11-29 Google Inc. Systems and methods for providing stock ticker information
JP2003122492A (ja) * 2001-10-10 2003-04-25 Wacom Co Ltd 入力システム、プログラム、および、記録媒体
US7345671B2 (en) * 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
US7046230B2 (en) * 2001-10-22 2006-05-16 Apple Computer, Inc. Touch pad handheld device
US7312785B2 (en) * 2001-10-22 2007-12-25 Apple Inc. Method and apparatus for accelerated scrolling
WO2003036558A1 (en) 2001-10-24 2003-05-01 Nik Multimedia, Inc. User definable image reference points
US7602991B2 (en) * 2001-10-24 2009-10-13 Nik Software, Inc. User definable image reference regions
US9189467B1 (en) * 2001-11-07 2015-11-17 Apple Inc. Method and apparatus for annotating an electronic document
US6801215B1 (en) * 2001-11-29 2004-10-05 At&T Corp. Hardware-assisted visibility-ordering algorithm
US7092584B2 (en) * 2002-01-04 2006-08-15 Time Warner Entertainment Company Lp Registration of separations
US7333092B2 (en) * 2002-02-25 2008-02-19 Apple Computer, Inc. Touch pad for handheld device
US20080040675A1 (en) * 2002-04-30 2008-02-14 Aol Llc Instant messaging interface having a tear-off element
US7127685B2 (en) 2002-04-30 2006-10-24 America Online, Inc. Instant messaging interface having a tear-off element
US7421661B1 (en) 2002-04-30 2008-09-02 Aol Llc Instant messaging interface having an informational tool tip
US7281215B1 (en) 2002-04-30 2007-10-09 Aol Llc IM conversation counter and indicator
US7549127B2 (en) * 2002-08-01 2009-06-16 Realnetworks, Inc. Method and apparatus for resizing video content displayed within a graphical user interface
US20070152977A1 (en) 2005-12-30 2007-07-05 Apple Computer, Inc. Illuminated touchpad
US7499040B2 (en) * 2003-08-18 2009-03-03 Apple Inc. Movable touch pad with added functionality
US20060253787A1 (en) * 2003-09-09 2006-11-09 Fogg Brian J Graphical messaging system
US20060212830A1 (en) * 2003-09-09 2006-09-21 Fogg Brian J Graphical messaging system
US20060212831A1 (en) * 2003-09-09 2006-09-21 Fogg Brian J Graphical messaging system
US7213206B2 (en) * 2003-09-09 2007-05-01 Fogg Brian J Relationship user interface
US7495659B2 (en) 2003-11-25 2009-02-24 Apple Inc. Touch pad for handheld device
US8059099B2 (en) 2006-06-02 2011-11-15 Apple Inc. Techniques for interactive input to portable electronic devices
US20050138564A1 (en) * 2003-12-17 2005-06-23 Fogg Brian J. Visualization of a significance of a set of individual elements about a focal point on a user interface
US20050140696A1 (en) * 2003-12-31 2005-06-30 Buxton William A.S. Split user interface
US20050171940A1 (en) * 2004-02-04 2005-08-04 Fogg Brian J. Dynamic visualization of search results on a user interface
US7478328B2 (en) * 2004-02-17 2009-01-13 Think-Cell Software Gmbh Method of entering a presentation into a computer
KR101065943B1 (ko) 2004-08-16 2011-09-20 애플 인크. 터치 감지 장치의 공간 해상도를 증가시키는 방법
US20060047628A1 (en) * 2004-08-31 2006-03-02 Vadim Fux System and method for managing databases in a handheld electronic device
US20060059432A1 (en) * 2004-09-15 2006-03-16 Matthew Bells User interface having viewing area with non-transparent and semi-transparent regions
EP1637979A1 (en) 2004-09-15 2006-03-22 Research In Motion Limited User interface having viewing area with non-transparent and semi-transparent regions
WO2006056243A1 (en) * 2004-11-24 2006-06-01 3Dconnexion Holding Sa Setting input values with group-wise arranged menu items
US8225195B1 (en) 2004-12-15 2012-07-17 Amazon Technologies, Inc. Displaying links at varying levels of prominence to reveal emergent paths based on user interaction
US7467349B1 (en) 2004-12-15 2008-12-16 Amazon Technologies, Inc. Method and system for displaying a hyperlink at multiple levels of prominence based on user interaction
DE102005004202B4 (de) * 2005-01-29 2013-07-25 Volkswagen Ag Anzeigevorrichtung für eine Datenverarbeitungseinrichtung in einem Fahrzeug
US8122354B1 (en) 2005-02-25 2012-02-21 The Mathworks, Inc. Systems and methods for providing an indicator of detection of input related to an element of a user interface
WO2006137078A1 (en) * 2005-06-20 2006-12-28 Hewlett-Packard Development Company, L.P. Method, article, apparatus and computer system for inputting a graphical object
US7535480B2 (en) * 2005-08-24 2009-05-19 Microsoft Corporation Compositing rendering layers
US7671837B2 (en) * 2005-09-06 2010-03-02 Apple Inc. Scrolling input arrangements using capacitive sensors on a flexible membrane
US7647175B2 (en) * 2005-09-09 2010-01-12 Rembrandt Technologies, Lp Discrete inertial display navigation
US20070057911A1 (en) * 2005-09-12 2007-03-15 Sina Fateh System and method for wireless network content conversion for intuitively controlled portable displays
US7880729B2 (en) 2005-10-11 2011-02-01 Apple Inc. Center button isolation ring
US20070152983A1 (en) 2005-12-30 2007-07-05 Apple Computer, Inc. Touch pad with symbols based on mode
US7873237B2 (en) * 2006-02-17 2011-01-18 Dassault Systèmes Degrading 3D information
US20080057481A1 (en) * 2006-03-17 2008-03-06 William Charles Schmitt Common Format Learning Device
US7925993B2 (en) * 2006-03-30 2011-04-12 Amazon Technologies, Inc. Method and system for aggregating and presenting user highlighting of content
US8260924B2 (en) 2006-05-03 2012-09-04 Bluetie, Inc. User load balancing systems and methods thereof
DE102006021399B4 (de) * 2006-05-08 2008-08-28 Combots Product Gmbh & Co. Kg Verfahren und Vorrichtung zum Bereitstellen eines einem dargestellten Symbol zugeordneten Auswahlmenüs
DE102006021400B4 (de) * 2006-05-08 2008-08-21 Combots Product Gmbh & Co. Kg Verfahren und Vorrichtung zum Bereitstellen eines einem dargestellten Symbol zugeordneten Auswahlmenüs
US8056082B2 (en) 2006-05-31 2011-11-08 Bluetie, Inc. Capacity management and predictive planning systems based on trended rate change of monitored factors and methods thereof
US8743060B2 (en) 2006-07-06 2014-06-03 Apple Inc. Mutual capacitance touch sensing device
US9360967B2 (en) 2006-07-06 2016-06-07 Apple Inc. Mutual capacitance touch sensing device
US8022935B2 (en) 2006-07-06 2011-09-20 Apple Inc. Capacitance sensing electrode with integrated I/O mechanism
US7795553B2 (en) 2006-09-11 2010-09-14 Apple Inc. Hybrid button
US9767460B2 (en) 2006-09-18 2017-09-19 Adventive, Inc. Methods for integrating revenue generating features within a software application and systems thereof
US20080111822A1 (en) * 2006-09-22 2008-05-15 Yahoo, Inc.! Method and system for presenting video
US8274479B2 (en) 2006-10-11 2012-09-25 Apple Inc. Gimballed scroll wheel
US20080088621A1 (en) * 2006-10-11 2008-04-17 Jean-Jacques Grimaud Follower method for three dimensional images
US20080088597A1 (en) * 2006-10-11 2008-04-17 Apple Inc. Sensor configurations in a user input device
US20080091726A1 (en) * 2006-10-16 2008-04-17 Bluetie, Inc. Methods for scheduling and completing reservations within an application and systems thereof
US10430845B2 (en) * 2006-10-23 2019-10-01 Adventive, Inc. Systems and methods for automated purchase requests
US20080098000A1 (en) * 2006-10-23 2008-04-24 Blue Tie, Inc. System and method for storing user data in a centralized database and intelligently reducing data entry
US20080097815A1 (en) * 2006-10-23 2008-04-24 Bluetie, Inc. Methods for employing temporary time zones and predictive locations and systems thereof
US8482530B2 (en) 2006-11-13 2013-07-09 Apple Inc. Method of capacitively sensing finger position
US20080120570A1 (en) * 2006-11-22 2008-05-22 Bluetie, Inc. Methods for managing windows within an internet environment and systems thereof
JP4888165B2 (ja) * 2007-03-12 2012-02-29 富士ゼロックス株式会社 画像処理装置及びプログラム
USD609714S1 (en) * 2007-03-22 2010-02-09 Fujifilm Corporation Electronic camera
US9654104B2 (en) 2007-07-17 2017-05-16 Apple Inc. Resistive force sensor with capacitive discrimination
US8683378B2 (en) 2007-09-04 2014-03-25 Apple Inc. Scrolling techniques for user interfaces
US7910843B2 (en) 2007-09-04 2011-03-22 Apple Inc. Compact input device
US9122367B2 (en) * 2007-09-26 2015-09-01 Autodesk, Inc. Navigation system for a 3D virtual scene
CN101399897B (zh) * 2007-09-30 2010-12-29 宏达国际电子股份有限公司 图像处理方法
US8416198B2 (en) 2007-12-03 2013-04-09 Apple Inc. Multi-dimensional scroll wheel
US8015485B2 (en) * 2007-12-11 2011-09-06 International Business Machines Corporation Multidimensional web page ruler
US9690474B2 (en) * 2007-12-21 2017-06-27 Nokia Technologies Oy User interface, device and method for providing an improved text input
US8125461B2 (en) 2008-01-11 2012-02-28 Apple Inc. Dynamic input graphic display
US8820133B2 (en) 2008-02-01 2014-09-02 Apple Inc. Co-extruded materials and methods
US9489177B2 (en) * 2008-02-25 2016-11-08 Adventive, Inc. Methods for integrating and managing one or more features in an application and systems thereof
US8266524B2 (en) * 2008-02-25 2012-09-11 Microsoft Corporation Editing a document using a transitory editing surface
US9454256B2 (en) 2008-03-14 2016-09-27 Apple Inc. Sensor configurations of an input device that are switchable based on mode
US9507651B2 (en) 2008-04-28 2016-11-29 Microsoft Technology Licensing, Llc Techniques to modify a document using a latent transfer surface
US8816967B2 (en) 2008-09-25 2014-08-26 Apple Inc. Capacitive sensor having electrodes arranged on the substrate and the flex circuit
US8395590B2 (en) 2008-12-17 2013-03-12 Apple Inc. Integrated contact switch and touch sensor elements
US8527894B2 (en) 2008-12-29 2013-09-03 International Business Machines Corporation Keyboard based graphical user interface navigation
JP5470861B2 (ja) * 2009-01-09 2014-04-16 ソニー株式会社 表示装置及び表示方法
US10019081B2 (en) * 2009-01-15 2018-07-10 International Business Machines Corporation Functionality switching in pointer input devices
DE102009002136B4 (de) 2009-04-02 2014-10-30 Trumpf Werkzeugmaschinen Gmbh + Co. Kg Verfahren zum Darstellen einer aktuellen Taskliste auf der graphischen Benutzeroberfläche eines Steuerungscomputers einer Bearbeitungsmaschine
US20100275122A1 (en) * 2009-04-27 2010-10-28 Microsoft Corporation Click-through controller for mobile interaction
US9354751B2 (en) 2009-05-15 2016-05-31 Apple Inc. Input device with optimized capacitive sensing
US8872771B2 (en) 2009-07-07 2014-10-28 Apple Inc. Touch sensing device having conductive nodes
US9710097B2 (en) * 2009-07-10 2017-07-18 Adobe Systems Incorporated Methods and apparatus for natural media painting using touch-and-stylus combination gestures
US9134789B2 (en) * 2009-07-14 2015-09-15 Adobe Systems Incorporated Multi-layer computer application with a transparent portion
KR20110037040A (ko) * 2009-10-05 2011-04-13 삼성전자주식회사 휴대 단말기 및 그의 화면 표시 방법
US20110231793A1 (en) * 2010-03-17 2011-09-22 Promethean Ltd User interface selection modes
JP5237325B2 (ja) 2010-04-28 2013-07-17 株式会社スクウェア・エニックス ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
US9092128B2 (en) 2010-05-21 2015-07-28 Apple Inc. Method and apparatus for managing visual information
DE202010007315U1 (de) 2010-05-27 2010-10-07 Omikron Data Quality Gmbh Bedienvorrichtung für eine Nutzerschnittstelle
BR112014000615B1 (pt) 2011-07-12 2021-07-13 Snap Inc Método para selecionar funções de edição de conteúdo visual, método para ajustar o conteúdo visual, e sistema para fornecer uma pluralidade de funções de edição de conteúdo visual
US9342322B2 (en) 2011-09-12 2016-05-17 Microsoft Technology Licensing, Llc System and method for layering using tile-based renderers
CN102591577A (zh) * 2011-12-28 2012-07-18 华为技术有限公司 一种弧形菜单索引显示方法及相关装置
US9043722B1 (en) 2012-06-19 2015-05-26 Surfwax, Inc. User interfaces for displaying relationships between cells in a grid
CN103514147A (zh) * 2012-06-29 2014-01-15 腾讯科技(深圳)有限公司 复制粘贴网页内容的方法和***
CN103679777A (zh) * 2012-09-07 2014-03-26 腾讯科技(深圳)有限公司 一种页面遮罩的实现方法及装置
US8994828B2 (en) 2013-02-28 2015-03-31 Apple Inc. Aligned video comparison tool
KR20140144056A (ko) * 2013-06-10 2014-12-18 삼성전자주식회사 객체 편집 방법 및 그 전자 장치
JP6249486B2 (ja) * 2013-08-19 2017-12-20 株式会社ワコム 描画装置
US9501163B2 (en) 2014-05-06 2016-11-22 Symbol Technologies, Llc Apparatus and method for activating a trigger mechanism
US10217438B2 (en) * 2014-05-30 2019-02-26 Apple Inc. User interface and method for directly setting display white point
US20160162152A1 (en) * 2014-12-03 2016-06-09 ACCO Brands Corporation Method to indirectly detect a user input
US10348997B2 (en) * 2015-07-09 2019-07-09 Genetec Inc. Security video monitoring client
US10073583B2 (en) 2015-10-08 2018-09-11 Adobe Systems Incorporated Inter-context coordination to facilitate synchronized presentation of image content
US10540084B2 (en) 2016-04-29 2020-01-21 Promethean Limited Interactive display overlay systems and related methods
IL273279B2 (en) * 2017-09-15 2024-04-01 Eli Zeevi Integrated document editor
BE1025610B1 (nl) * 2017-09-29 2019-04-29 Inventrans Bvba Werkwijze, inrichting en computerprogramma voor het overlayen van een grafisch beeld
WO2019063496A1 (en) * 2017-09-29 2019-04-04 Inventrans Bvba METHOD, DEVICE AND SYSTEM FOR PROVIDING DUAL MOUSE SUPPORT
USD942506S1 (en) * 2017-10-17 2022-02-01 Adobe Inc. Display screen or portion thereof with icon
US11210859B1 (en) 2018-12-03 2021-12-28 Occam Video Solutions, LLC Computer system for forensic analysis using motion video
BE1026977B1 (nl) * 2019-01-20 2020-08-24 Inventrans Bvba Werkwijze en inrichting en systeem voor het verschaffen van dubbele muis ondersteuning
EP3683659A1 (en) * 2019-10-09 2020-07-22 Inventrans Bvba Method and device and system with dual mouse support

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE32632E (en) * 1982-07-19 1988-03-29 Apple Computer, Inc. Display system
US4622545A (en) * 1982-09-30 1986-11-11 Apple Computer, Inc. Method and apparatus for image compression and manipulation
US4555775B1 (en) * 1982-10-07 1995-12-05 Bell Telephone Labor Inc Dynamic generation and overlaying of graphic windows for multiple active program storage areas
US4686522A (en) * 1985-02-19 1987-08-11 International Business Machines Corporation Method of editing graphic objects in an interactive draw graphic system using implicit editing actions
JPS62165232A (ja) * 1986-01-17 1987-07-21 Mitsubishi Electric Corp キ−入力装置
US4748441A (en) * 1986-09-17 1988-05-31 Brzezinski Stephen R M Multiple function control member
US4788538A (en) * 1986-11-17 1988-11-29 Lotus Development Corporation Method and apparatus for determining boundaries of graphic regions
US4917516A (en) * 1987-02-18 1990-04-17 Retter Dale J Combination computer keyboard and mouse data entry system
US4827253A (en) * 1987-05-18 1989-05-02 Dubner Computer Systems, Inc. Video compositing using a software linear keyer
JPH0213015A (ja) * 1988-03-31 1990-01-17 Internatl Business Mach Corp <Ibm> 項目の選択方法及び装置
US4896291A (en) * 1988-05-20 1990-01-23 International Business Machines Corporation Valuator menu for use as a graphical user interface tool
US4931783A (en) * 1988-07-26 1990-06-05 Apple Computer, Inc. Method and apparatus for removable menu window
US4982343A (en) * 1988-10-11 1991-01-01 Next, Inc. Method and apparatus for displaying a plurality of graphic images
US4910683A (en) * 1988-12-20 1990-03-20 Sun Microsystems, Inc. Method and apparatus for fractional double buffering
US5157384A (en) * 1989-04-28 1992-10-20 International Business Machines Corporation Advanced user interface
JPH03219324A (ja) * 1990-01-25 1991-09-26 Hitachi Ltd 座標入力方法及びデータ処理装置
US5204947A (en) * 1990-10-31 1993-04-20 International Business Machines Corporation Application independent (open) hypermedia enablement services
US5341466A (en) * 1991-05-09 1994-08-23 New York University Fractal computer user centerface with zooming capability
US5283560A (en) * 1991-06-25 1994-02-01 Digital Equipment Corporation Computer system and method for displaying images with superimposed partially transparent menus
US5381158A (en) * 1991-07-12 1995-01-10 Kabushiki Kaisha Toshiba Information retrieval apparatus
US5250929A (en) * 1991-07-29 1993-10-05 Conference Communications, Inc. Interactive overlay-driven computer display system
CA2069118A1 (en) * 1991-09-16 1993-03-17 Craig Henry Becker Multiple action icon
US5287417A (en) * 1992-09-10 1994-02-15 Microsoft Corporation Method and system for recognizing a graphic object's shape, line style, and fill pattern in a pen environment

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832597B2 (en) 1995-06-06 2014-09-09 Autodesk, Inc. Method and apparatus for producing, controlling and displaying menus
JP2010003319A (ja) * 1998-03-16 2010-01-07 Seiko Epson Corp 対話型処理システム
JP2002536676A (ja) * 1999-01-29 2002-10-29 ソニー エレクトロニクス インク ビデオズーミングシステム及び方法
JP2011141559A (ja) * 1999-01-29 2011-07-21 Sony Electronics Inc ビデオズーミングシステム及び方法
JP4966451B2 (ja) * 1999-01-29 2012-07-04 ソニー エレクトロニクス インク ビデオズーミングシステム及び方法
JP2014059634A (ja) * 2012-09-14 2014-04-03 Canon Inc 画像処理装置、画像処理方法、およびプログラム

Also Published As

Publication number Publication date
DE69426548T2 (de) 2001-05-10
EP0635780B1 (en) 2001-01-10
CA2124624A1 (en) 1995-01-22
US5617114A (en) 1997-04-01
DE69426548D1 (de) 2001-02-15
ES2153407T3 (es) 2001-03-01
EP0635780A1 (en) 1995-01-25
CA2124624C (en) 1999-07-13

Similar Documents

Publication Publication Date Title
JP3866302B2 (ja) プロセッサーベースの装置の操作方法
EP0635780B1 (en) User interface having clickthrough tools that can be composed with other tools
JPH0756840A (ja) プロセッサーベースの装置の操作方法
US11474665B2 (en) Multiple menus for use with a graphical user interface
Bier et al. A taxonomy of see-through tools
US5729704A (en) User-directed method for operating on an object-based model data structure through a second contextual image
US5986657A (en) Method and apparatus for incorporating expandable and collapsible options in a graphical user interface
US5666499A (en) Clickaround tool-based graphical interface with two cursors
EP0635808B1 (en) Method and apparatus for operating on the model data structure on an image to produce human perceptible output in the context of the image
US5467441A (en) Method for operating on objects in a first image using an object-based model data structure to produce a second contextual image having added, replaced or deleted objects
US5596690A (en) Method and apparatus for operating on an object-based model data structure to produce a second image in the spatial context of a first image
US5450538A (en) Graphical user interface control for expansion and re-sizing of data fields in forms
US5611031A (en) Graphical user interface for modifying object characteristics using coupon objects
US5818455A (en) Method and apparatus for operating on the model data structure of an image to produce human perceptible output using a viewing operation region having explicit multiple regions
US5396590A (en) Non-modal method and apparatus for manipulating graphical objects
US7302650B1 (en) Intuitive tools for manipulating objects in a display
JP2003529818A (ja) グラフィックユーザインタフェース
WO1996009579A1 (en) Popup menus with directional gestures
JPH0778244A (ja) 機械操作方法
JPH0721754B2 (ja) グラフィカル・ユーザ・インターフェース
US7703038B1 (en) Methods and apparatus for creating a quick canvas
Buxton 1| ll| l|| 1l| l| ll1llllllllllI111I111| l| l1|| l1ll| 1111ll|| ll| l1| l| l1l| 1| ll|
CAN DAS BIER
PARTNER User interface having movable sheet with click-through tools
Noble Scribble: A diagram editor with a minimal interface

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041026

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050322