JP2008538631A - ウィンドウ・マネジャにおけるライブ・ウィンドウのサムネールを操作するインターフェース及びシステム - Google Patents

ウィンドウ・マネジャにおけるライブ・ウィンドウのサムネールを操作するインターフェース及びシステム Download PDF

Info

Publication number
JP2008538631A
JP2008538631A JP2008507639A JP2008507639A JP2008538631A JP 2008538631 A JP2008538631 A JP 2008538631A JP 2008507639 A JP2008507639 A JP 2008507639A JP 2008507639 A JP2008507639 A JP 2008507639A JP 2008538631 A JP2008538631 A JP 2008538631A
Authority
JP
Japan
Prior art keywords
thumbnail
window
source window
source
destination
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.)
Granted
Application number
JP2008507639A
Other languages
English (en)
Other versions
JP4981032B2 (ja
JP2008538631A5 (ja
Inventor
シェクター,グレッグ
サックス,ジェヴァン
フォーティア,クリス
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008538631A publication Critical patent/JP2008538631A/ja
Publication of JP2008538631A5 publication Critical patent/JP2008538631A5/ja
Application granted granted Critical
Publication of JP4981032B2 publication Critical patent/JP4981032B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction 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 using icons
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本発明は、アプリケーション・ウィンドウに対応するサムネールが修正可能であるウィンドウをディスプレイに表示するインターフェース、システム又は方法を提供する。サムネールの修正は、リアルタイムに達成される。また、本発明は、ディスプレイにウィンドウ又はサムネールを表示するインターフェース、システム及び方法を提供するのであるが、その際に、デスクトップ・ウィンドウ・マネジャ(DWM)がソース・ウィンドウと宛先ウィンドウとを登録する、及び/又は、ソース・ウィンドウと関連するサムネールを更新又は修正する。特別な効果をサムネールに与えることができる。本発明は、更に、サムネール及びその属性を登録及び/又は修正する方法や、サムネール登録のリストを維持する方法も提供する。

Description

本発明の特徴は、ウィンドウのサムネールに関し、更に詳しくは、ウィンドウ・マネジャにおけるサムネールの操作のためのインターフェース及びシステムに関する。
コンピュータ・システムズは、ユーザがデータを入力するかもしれないか、データを操作するかもしれないか、手続きを活性化してもよい様々なウィンドウを表示する。
1つを超えるアプリケーションを同時に起動する場合、いくつかのウィンドウはコンピューター・ディスプレイ(アプリケーションに対応する個別窓)上に表示されるかもしれない。任意の1つのアプリケーション用マルチウィンドウがさらにあるかもしれない。例えば、さらに表計算プログラムで働く間に、ユーザがワードプロセッシングプログラムへテキストを入力していれば、ディスプレイ上で開いた2つのウィンドウがあるかもしれない。ウィンドウのうちの1つはワードプロセッシングアプリケーション・ウィンドウである。また、第2のウィンドウは表計算プログラムウィンドウである。ユーザがメディア・プレイヤー・アプリケーション上のビデオをさらに見ていれば、メディア・プレイヤー・アプリケーションに対応する付加的なウィンドウがあるだろう。活発なアプリケーションの数が増加するように、コンピューター・ディスプレイ上に表示されるウィンドウの数も増加する。
多数のアプリケーションを同時に使用するユーザは、ディスプレイ上で見られたクラッタからの混乱およびフラストレーションに結びつく、取り乱されたデスクトップを引き起こすディスプレイ上の多くのウィンドウにしばしば直面する。例えば、非常に多くのオーバーラップするウィンドウがディスプレイ上であるかもしれないので、ユーザは、ユーザが異なるアプリケーションでのタスクを終えたいごとに、希望のウィンドウを見つけて時間を浪費しなければならないかもしれない。この問題を緩和するために、ユーザはウィンドウを最小化するか、あるいはクラッタ(またディスプレイ上のウィンドウの数)を減少させるためにアプリケーションをすべて中止するかもしれない。しかしながら、ウィンドウが最小化される場合、ユーザはもはや対応するアプリケーションに対して即時アクセスを持っていない。ウィンドウが最小化された特定のアプリケーションで行為を得る必要がある場合、ユーザは最初に希望のウィンドウを見つけて、ウィンドウを見つけた後に希望のウィンドウを開けなければならない。このプロセスは非常に時間を消費する。同様に、ユーザがデスクトップ・クラッタを取り除くためにアプリケーションをすべて中止すれば、アプリケーションはもはや活発ではない。この場合、ユーザは希望のタスクおよび不用のより多くの時間を終えるために再度アプリケーションを始めなければならない。さらに、アプリケーションが進行中の機能を行なう場合、その機能はアプリケーションが活発でなかった間失われる。
典型的に、アプリケーションウィンドウが最小化される場合、タスクバー・ボタンはアプリケーションが活発であることを示すためにタスクバーに表示されるかもしれない。
アプリケーションが活発であることをタスクバー・ボタンは示すかもしれないが、多くの場合タスクバー・ボタンにアイコンあるいはアプリケーションの名前だけがある。追加情報なしでは、ユーザは、ウィンドウのコンテンツを見るためにウィンドウを開けなければならないだろう。しかしながら、開閉によって、ウィンドウ、単にウィンドウ(例えばウィンドウの同一性を確認すること)のコンテンツをチェックするために、ユーザは、効率と生産性の損失を引き起こす時および労力を浪費する。ユーザが希望のウィンドウを見つけるために多くのウィンドウを開けて閉じなければならないとともに、活発なアプリケーションの数およびウィンドウの数が増加する場合、この問題は悪化する。
したがって、システム用の芸術、およびサムネールおよびサムネール内容のディスプレイでの柔軟性を提供する方法で、ウィンドウまたはアプリケーションのサムネールおよび表現するサムネールを操作することへの便利な標題音楽のアクセスを提供する方法に必要が存在する。さらに、プログラミングインターフェース、および(有効に管理するプログラミングインターフェースおよび道具アプリケーションウィンドウ、インプリメントする、サムネール)方法用の芸術および柔軟な方法でウィンドウとサムネールを表現することに必要がある。
発明の概要
本発明の特徴によると、ディスプレイにウィンドウを表示することにより、上述した1又は複数の問題点に対応するインターフェース、システム又は方法が提供される。アプリケーション・ウィンドウに対応する動的なサムネールも提供され、その場合は、アプリケーション・ウィンドウにおけるコンテンツの修正は、対応する動的サムネールに反映される。アプリケーション・ウィンドウのコンテンツの修正は、対応する動的なサムネールにおいてリアルタイムで反映される。
このドキュメントはリーダを支援するためにセクションに分割される。これらのセクションは次のものを含んでいる:概観;汎用コンピュータ環境;サムネール。
様々な接続が次の銘柄でエレメント間で述べられることは注目される。
それは注目される、これらの接続一般、もし、また指定されなかったならば―〈―そうでなければ〉、直接かもしれないか間接かもしれない、そして、この仕様は、この点で制限するようには意図されない。
概観
A.静的なサムネール
1つのアプローチでは、サムネールはアプリケーションに関係しているかもしれない。サムネールで、アプリケーションウィンドウの小さなバージョンはユーザがウィンドウの近似の内容を識別することを可能にして、アプリケーションウィンドウのオリジナルコンテンツを示すために表示されるかもしれない。しかしながら、これらのサムネールは、アプリケーションウィンドウの最新の内容を提供しないかもしれない。したがって、変更がアプリケーションウィンドウになされた場合、サムネールは時代遅れかもしれないし、アプリケーションウィンドウの実際の内容の特有画像を提供しないかもしれない。したがって、アプリケーションウィンドウを自体開く必要なしに望まれたアプリケーションウィンドウを適切に識別することはユーザにとって難しい。
さらに、サムネールは、内容、職業紹介のディスプレイ、サイジングおよび(または)結果の点から柔軟性を欠く。アプリケーションウィンドウのサムネールは、アプリケーションウィンドウのオリジナルコンテンツの静止画像を提供する。しかしながら、だけでなく、内容を行う、静的・潜在的に時代遅れのままである、また、サムネールの特性および職業紹介は先決されるかもしれないし、ユーザの必要によって(どの時間にも)異ならないかもしれない。
コンピューター・オペレーティングシステムはサムネールのようなユーザ・インターフェース・オブジェクトを管理し監査用プログラム適用業務にユーザ・インターフェース・サービスを提供することの原因であるソフトウェア層を使用する。ソフトウェア層はデスクトップ・ウインドウマネージャ(DWM)と呼ばれるかもしれない。レンダーリング・ロジック、入力イベントルーティングおよびデスクトップ・ウインドウマネージャ(DWM)のアプリケーションプログラムインターフェイス(API)は、集団的にユーザ・インターフェース保険証券を具体化する。それは、次にはオペレーティングシステムの全面的なユーザ・エクスペリエンスを定義する。デスクトップを与える際に、DWMは、典型的には表示画面上に直接描いて調和することにより、ウィンドウの移動ような画面更新を処理する。従って、オーバーラップするウィンドウが閉じられるか移される場合、新しく表示された根本的なウィンドウあるいはデスクトップは塗り重ねられるに違いない。これは時間とリソースが無益に浪費される遅いプロセスである。さらに、典型的に行われるように、ウィンドウがディスプレイ上で特別の位置で、および特別の構成中で直接描かれる場合、ウィンドウの該当イメージは特にその位置および構成でセットされる。ウィンドウの位置か構成への変更は、イメージを塗り重ねることをリソースの大規模な消費に要求するだろう。
B. ダイナミック(動的)なサムネール
本発明の別の実施例では、インターフェース、システムおよび方法は、デスクトップ・ウインドウマネージャ(DWM)がソース・ウィンドウおよび宛先ウィンドウを登録するアプリケーションプログラムインターフェイス(API)を提供するディスプレイ上にサムネールを表示するために提供される。この例において、宛先ウィンドウはサムネールが与えられるかもしれないウィンドウである。宛先ウィンドウ内に与えられたサムネールは、少なくとも対応するソース・ウィンドウの一部を表わすかもしれない。従って、サムネールは、少なくとも少なくとも宛先ウィンドウの一部に引っ張って行かれたソース・ウィンドウの一部の提供により、ソース・ウィンドウと宛先ウィンドウの間の関連性を表わすかもしれない。DWMは宛先ウィンドウに相当するソース・ウィンドウおよびHWNDに対応するウィンドウ・ハンドル(HWND)を受け取るかもしれない。そのアプリケーションは、ソース・ウィンドウに対応するサムネールのレジストレーションを表わすハンドルをさらに受け取るかもしれない。
本発明の別の実施例では、インターフェース、システムおよび方法は、デスクトップ・ウインドウマネージャ(DWM)が対応するソース・ウィンドウに関連したサムネールを更新するか修正するディスプレイ上にサムネールを表示するために提供される。この例において、DWMはするかもしれない、受信データ、宛先ウィンドウのサイズの定義、サムネールとしての宛先ウィンドウへ引くソース・ウィンドウのリージョン、サムネールの不透明度、サムネールの視程、サムネールなどの特殊効果
本発明の一層の実施例は、サムネール・ハンドルを登録し、サムネール・レジストレーションのリストを維持し、ソース・ウィンドウ(そこではソース・ウィンドウはアプリケーションウィンドウかもしれない)に基づいたサムネールまたは宛先のウィンドウを引き、サムネールのプロパティを更新し、ダイナミックなサムネールを登録しないためにアプリケーションプログラムインターフェイスを輸出することを含むダイナミックなサムネールをさらに提供する。さらに、ソース・ウィンドウへの変更は宛先ウィンドウ中の対応する変更を達成するために自動的に扱われるかもしれない。
様々な接続が次の銘柄でエレメント間で述べられることは注目される。それは注目される、これらの接続一般、もし、また他の方法で指定されなかったならば、直接かもしれないか間接かもしれない、そして、このスペックは、この点で制限するようには意図されない。
本発明の実施例は、ウィンドウあるいはディスプレイ上のサムネールのようなウィンドウの他の表現のような表示要素のディスプレイのコントロールのためにアプリケーションプログラムインターフェイス(API)、システムおよび方法を提供する。本発明の1つの例では、アプリケーションウィンドウの交互のバージョンはアプリケーションウィンドウのより小さなバージョンで、ディスプレイ上に表示される。アプリケーションウィンドウのより小さなバージョンは、場所に原出願ウィンドウとは異なるディスプレイ上にさらに表示されるかもしれない。あるいは、アプリケーションウィンドウのより小さなバージョンがディスプレイ上に表示される間に、原出願ウィンドウが表示されないように、原出願ウィンドウは最小化されるかもしれない。さらに、例えば、ディスプレイ上の追加スペースが望まれる場合、アプリケーションウィンドウのより小さなバージョンはそれ自体最小化されるかもしれない。アプリケーションウィンドウの交互のバージョンが記述されるようなアプリケーションのより小さなバージョンかもしれない間、アプリケーションウィンドウの交互のバージョンが原出願ウィンドウあるいはユーザの必要に依存する他のサイズより大きいかもしれないことが注目される。
例えば、アプリケーションウィンドウの交互のバージョンはアプリケーションウィンドウのサムネールかもしれない。サムネールは、典型的により大きなグラフィックの小さなイメージか表現、あるいはより大きなイメージ(アプリケーションウィンドウに対応する)の一部である。サムネールは、さらに、サムネールのソースか内容、およびサムネールがソース・ウィンドウからの内容を提供するウィンドウかもしれない宛先ウィンドウを提供して、ソース・ウィンドウ間の関連性を表わすかもしれない。サムネールは、ディスプレイ上の宇宙利用を最小化する間に便利なフォーマットで直ちにいくつかのウィンドウを表示する能力という利点を備えている。さらに、サムネールはイメージとウィンドウをより容易に選択しソートするのに使用されてもよい。
本発明の別の実施例では、要求された時、アプリケーションウィンドウのサムネールか交互のバージョンはディスプレイ上に表示されるかもしれない。例えば、タスクバー・ボタンに関するカーソルを抱くことは、アプリケーションウィンドウのサムネールのディスプレイを呼び出すかもしれない。1例において、サムネールはダイナミックなサムネールで、原出願ウィンドウが修正されるとともに修正されるかもしれない。例えば、アプリケーションウィンドウに行なわれた変更は、アプリケーションウィンドウに対応するダイナミックなサムネールに反映されている。例えば、そのような変更は実時間のダイナミックなサムネールに反映されているかもしれない。
本発明の別の実施例では、サムネールあるいはダイナミックなサムネールは別のウィンドウ、あるいは宛先ウィンドウ内に配列されるかもしれない。
例えば、異なるアプリケーションからの多数のダイナミックなサムネールは宛先ウィンドウに含まれているかもしれない、そのようなもの、宛先ウィンドウディスプレイ・サムネール、から、個々、異なるアプリケーションの。
さらに、宛先ウィンドウに表示されたダイナミックなサムネールのうちのどれでも、対応するアプリケーションウィンドウの現状ステータスを反映するかもしれない。
あるいは、サムネールは別のサムネールに表示されるかもしれない。あるいは、最初のサムネールが3番めのサムネールなどに表示されるかもしれない(順番に)、別のサムネールに表示されるかもしれないように、サムネールが滝のように落とされるかもしれない。
本発明の別の実施例では、システムと方法は画面外のウィンドウを準備するために提供される。その後、ウィンドウの合成は遂行され、したがって、スクリーン上でコンピュータリソースを保存するかもしれない。さらに、画面外で、スクリーン上のウィンドウを合成しているウィンドウの準備は本発明に述べられているようなサムネール機能性を可能にする。
汎用コンピュータ環境
図IAは、発明が実行されるかもしれない適切な計算機システム環境100の例を例証する。計算機システム環境100は適切なコンピュータ環境の単なる1つの例で、使用あるいは発明の機能性のスコープに関してどんな制限も示唆するようには意図されない。
また、コンピュータ環境100はどんな従属性あるいは任意のものあるいは典型的な操作環境100に例証されたコンポーネントの組合せに関係のある要求も持っているとは解釈されるべきでない。
その発明は、多数の他の汎用または専用の計算機システム環境か構成で使用可能である。有名な計算機システムの例、環境、または、構成、それは発明加算を備えた使用にふさわしいかもしれない、しかし制限されていない、に、パーソナルコンピュータ、サーバーコンピュータ、携帯型のデバイスあるいはラップトップ・デバイス、マルチプロセッサーシステム、マイクロプロセッサー−基づいたシステム、プログラム可能な家電、ネットワークPC、ミニコンピュータ、メインフレーム・コンピューター、分散コンピューティング環境、それは、上記のシステムあるいはデバイスのうちのどれでも含んでいる、など。
図IAに関して、発明を実行するための実例となるシステムは汎用コンピューティング装置をコンピューター110の形で含んでいる。コンピューター110のコンポーネントは含んでいるかもしれない、しかし制限されない、演算処理装置120、システムメモリー130、および演算処理装置120へのシステムメモリーを含む様々なシステムコンポーネントを連結するシステム・バス121。システム・バス121は、様々なバス方式のうちのどれでも使用して、メモリーバスかメモリーコントローラー、周辺バスおよびローカルバスを含むいくつかのタイプのバス構造のいずれかかもしれない。制限ではなく例経由で、そのようなアーキテクチャは産業標準アーキテクチャ(ISA)バス(マイクロチャネル・アーキテクチャ(MCA)バス)を含んでいる、ISA(EISA)バス、ビデオエレクトロニクス標準組織(VESA)ローカルバス、およびメザニーン・バスとして知られている周辺の構成要素の相互接続(PCI)バスを向上させた。
コンピューター110は典型的には様々なコンピューター読取り可能な媒体を含んでいる。コンピューター読取り可能な媒体は揮発性・不揮発性の媒体(取外し可能で、非取外し可能な媒体)を含んでいる。制限ではなく例経由で、コンピューター読取り可能な媒体はコンピュータ記憶装置媒体および通信メディアおよび加算を含むかもしれないが、制限されない、RAM、ROM、EEPROM、フラッシュ・メモリーあるいは他のメモリ技術、CD−ROMディジタル・バーサタイル・ディスク(DVD)あるいは他の光学ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置あるいは他の磁気記憶装置、あるいは希望情報を格納するために使用することができ、できる他のミディアム、コンピューター110によってアクセスされた。通信メディアは、典型的にはコンピューター読取り可能な命令、データ構造、プログラムモジュールあるいは他のデータを搬送波あるいは他の移送機構のような変調データ信号で具体化し、どんな情報配送媒体も含んでいる。用語「変調データ信号」は、信号中のエンコード情報にような方法で1つあるいはその特性のそれ以上のをセットするか変更される信号を意味する。
制限ではなく例経由で、通信メディア、有線ネットワークか直接の有線接続のようなインターネットを利用している媒体および無線メディアを含んでいる、のように、音響、RF、赤外線および他の無線メディア。組合せ、上記のもののうちのどれでもコンピューター読取り可能な媒体の範囲内で含まれているべきである。
システムメモリー130は、コンピュータ記憶装置媒体を揮発性および(または)読み取り専用メモリ(ROM)131およびランダムアクセス記憶装置(RAM)132のような不揮発性メモリーの形で含んでいる。操業開始中にのようにコンピューター110内のエレメント間の情報を転送するのを支援する基礎的なルーチンを含んでいる基本入出力システム133(BIOS)は、ROM 131に典型的に格納される。RAM 132は典型的にはデータおよび(または)直ちにアクセス可能なプログラムモジュールを含んでいる、に、または演算処理装置120によってまもなく作動されること制限ではなく例経由で、図1はオペレーティングシステム134、アプリケーション・プログラム135、他のプログラムモジュール136および番組データ137を示す。
コンピューター110はさらに他のものを含んでいるかもしれない、取外し可能な/非取外し可能、揮発性の/不揮発性のコンピュータ記憶装置媒体。例のみ経由で、図1は、非取外し可能で不揮発性の磁気媒体から読むか、書くハードディスク・ドライブ140、取外し可能で不揮発性の磁気ディスク152から読むか、書く磁気ディスク装置151、およびCD ROMあるいは他の光学の媒体のような取外し可能で不揮発性の光ディスク156から読むか、書く光ディスクドライブ155を示す。取外し可能な/非取外し可能な他のもの、揮発性の/不揮発性のコンピュータ記憶装置媒体、それは典型的な操作環境加算の中で使用することができるが、制限されない、磁気カセットテープ、フラッシュ・メモリカード、ディジタル・バーサタイル・ディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM、など。ハードディスク・ドライブ141は、インターフェース140のような非リムーバブルメモリ・インターフェースを通ってシステム・バス121に典型的に接続される。また、磁気ディスク装置151および光ディスクドライブ155はインターフェース150のようなリムーバブルメモリ・インターフェースによってシステム・バス121に典型的に接続される。
上に議論され、図IAで例証されたドライブおよびそれらの関連するコンピュータ記憶装置媒体は、コンピューター110のためにコンピューター読取り可能な命令、データ構造、プログラムモジュールおよび他のデータの記憶を提供する。図IAでは、例えば、ハードディスク・ドライブ141は、オペレーティングシステム144、アプリケーション・プログラム145、他のプログラムモジュール146および番組データ147の格納として例証される。これらのコンポーネントが同じでありえることに注目する、として、あるいはオペレーティングシステム134、アプリケーション・プログラム135、他のプログラムモジュール136および番組データ137と異なるオペレーティングシステム144、アプリケーション・プログラム145、他のプログラムモジュール146および番組データ147は、最小では、それらが異なるコピーであることを例証するためにここで異なる数を与えられる。ユーザは、マウス、トラックボールあるいはタッチパッドと一般に呼ばれるキーボード162のような入力装置およびポインティング・デバイス161によってコンピューター20へコマンドと情報を入力してもよい。他の入力装置(図示せず)はマイクロホン、ジョイスティック、ゲーム・パッド、衛星放送アンテナ、スキャナーなどを含んでいるかもしれない。これらおよび他の入力装置は、ユーザ入力によって演算処理装置120にしばしば接続される、システム・バスにつながれるが、パラレルポート、ゲームポートあるいはユニバーサル・シリアル・バス(USB)のような、他のインターフェースおよびバス構造によって接続されるかもしれない160を接続する。モニター191あるいは他のタイプの表示装置もビデオインタフェース190のようなインターフェース経由でシステム・バス121に接続される。モニターに加えて、コンピューターは、さらにスピーカー197およびプリンタ196のような他の周辺の出力デバイスを含んでいるかもしれない。それはアウトプット周辺インタフェース190によって接続されるかもしれない。
コンピューター110は、リモートコンピューター180のような1つ以上のリモートコンピューターへの論理結合を使用して、ネットワーク化された環境中で作動するかもしれない。リモートコンピューター180は、パーソナルコンピュータ、サーバー、ルーター、ネットワークPC、貴族デバイスあるいは他の共通ネットワークノードで典型的には多数含んでいる。あるいは、要素はすべて上に記述した、記憶装置デバイス181だけは図IAで例証されたが、コンピューター110に関連のある図IAで描かれた論理結合はローカルエリアネットワーク(LAN)171および広域ネットワーク(WAN)173を含んでいるが、さらに他のネットワークを含んでいるかもしれない。そのようなネットワーキング環境はオフィスで普通である、企業−広いコンピューターネットワーク、イントラネットおよびインターネット。
LANネットワーキング環境の中で使用された時、コンピューター110はネットワークインターフェイスまたはアダプターの170によってLAN 171に接続される。
WANネットワーキング環境の中で使用された時、コンピューター110は典型的にはモデム172あるいはインターネットのようなWAN 173の上のコミュニケーションを確立するための他の手段を含んでいる。モデム172(それは内部かもしれないか外部かもしれない)は、ユーザ入力インターフェース160経由のシステム・バス121、あるいは他の適切な機構に接続されるかもしれない。ネットワーク化された環境では、コンピューター110(すなわちそれの部分)へのプログラムモジュールに描かれた関係詞は、遠隔記憶記憶装置に格納されるかもしれない。制限ではなく例経由で、図IAはメモリ・デバイス181上で駐在するとして遠隔のアプリケーション・プログラム185を例証する。示されたネットワーク接続がコンピューター間の通信リンクが使用されてもよいと確証する典型的・他の手段であることが認識されるだろう。
示されたネットワーク接続がコンピューター間の通信リンクを使用することができると確証する典型的・他の手段であることは認識されるだろう。TCP/IP、イーサネット(登録商標)、FTP、HTTPなどのような様々な有名なプロトコルのうちのいずれかの存在有無は推定される。また、システムはクライアント中で操作することができる−ユーザがウェブ・ベースのサーバーからウェブ・ページを検索することを可能にするサーバー構成。様々な従来のウェブ・ブラウザのうちのどれはウェブ・ページにデータを表示し操作するために使用することができる。
プログラミングインターフェース(より単に「インターフェース」)は、任意の機構、プロセス、コードの1つ以上のセグメントが1時までに提供される機能性と通信するかあるいはアクセスすることを可能にするためのプロトコルあるいはコードのより多くの他のセグメントとして見られるかもしれない。あるいは、プログラミングインターフェースは、他のコンポーネントに1つ以上の機構、方法、関数呼出し、モジュールなどへの通信するカップリングに有能なシステムのコンポーネントに1つ以上の機構、方法、関数呼出し、モジュール、オブジェクトなどとして見られるかもしれない。用語「コードのセグメント」は、前の文で1つ以上の命令あるいは命令行を含むように意図され含んでいる、例えばコード・モジュール、オブジェクト、サブルーチン、機能など、用語にかかわらず、適用された、あるいは、コードセグメントが別々にコンパイルされても、あるいは、コードセグメントが実行時システムかプロセスで利用されても、コードセグメントがソース、中間物あるいはオブジェクトコードとして提供されても、あるいは、それらが同じか異なるマシンに置かれるか、多数のマシンを横切って分配されても、あるいはかどうか、コードのセグメントによって表わされる機能性、全くハードウェア、あるいはハードウェアとソフトウェアの組み合わせ中で全くソフトウェア中でインプリメントされる。
概念的に、図IBあるいは図の中で1C示されるように、プログラミングインターフェースは属に関して見られるかもしれない。図IBは、第1と第2コードセグメントが通信する導管としてインターフェース、インターフェース1を例証する。図1Cはインターフェース・オブジェクトIlおよび12(それらは1番目と2番目コードセグメントの一部かもしれないし、でないかもしれない)を含むとしてインターフェースを例証する。それはシステムの第1と第2コードセグメントがミディアムMによって通信することを可能にする。図1Cの視界では、人は、Ilと12がミディアムMを加えてインターフェースを含むことにそれが反対すると同システムの個別のインターフェースおよび一つとしてIlと12がさらに思うかもしれないことにインターフェースが反対すると思うかもしれない。図、IBおよび1Cは、フロー(単に一方向(あるいは下記に述べられるような情報の流れはない)の中にインプリメンテーションが情報の流れを持っているかもしれないか、単に一面でインターフェース・オブジェクトを持っているかもしれなくてある)の両側の双方向フローおよびインターフェースを示す。制限ではなく例経由で、名付ける、アプリケーションプログラムインターフェイス(API)、入口点、方法、機能、サブルーチン、リモート・プロシージャ・コールおよびコンポーネント・オブジェクト・モデル(COM)インターフェースのように、プログラミングインターフェースの定義内に包含される。
そのようなプログラミングインターフェースの実施例は方法を含んでいるかもしれない、それによって、第2のコードセグメントへの最初のコードセグメント送信情報(ここで(コマンド、要求する、など)「情報」はその最も広い意味の中で使用され、データを含んでいる);それによって第2のコードセグメントが情報を得る方法;また構造、シーケンス、シンタックス、構成、スキーマ、タイミングおよび情報の内容。この点では、根本的な輸送培地はそれ自身インターフェースのオペレーションに些細かもしれない、かどうか、ミディアム、インターネットを利用している、あるいはワイヤレス、あるいは両方の組合せ、情報が運ばれる限り、インターフェースによって定義された方法。あるシチュエーションで、1つのコードセグメントが別のコードセグメントによって行なわれた機能性に単にアクセスする場合ので、情報転送が別の機構(例えば、バッファーに置かれた情報、ファイルなどは、コードセグメント間の情報の流れから分離する)によってか、あるいは存在しないかもしれないので、情報は1あるいは従来の感覚の両方の方角に判決を下されないかもしれない。これらの実施例のうちのどれあるいはすべてでも与えられたシチュエーションで重要かもしれない、例えば、コードセグメントが疎結合か密結合の構成中のシステムの一部かどうかに依存すること、それで、このリストは、実例となり、制限しない、と考えられるべきである。
プログラミングインターフェースについてのこの概念は当業者に知られており、発明の先の詳述から明らかである。しかしながら、プログラミングインターフェースをインプリメントする他の方法がある、また、もし明らかに除外されなかったならば、これらはこのスペックの終わりに述べられたクレームによって包含されるようにまた意図される。他のそのような方法は、もっと精巧かあるいは図IBおよび1Cの極度に単純化した視界より複雑なように見えるかもしれない。しかし、それらは、同じ全面的な結果を遂行するためにそれにもかかわらず相似関数を行なう。我々は、今プログラミングインターフェースのいくつかの実例となる代替インプリメンテーションについて概説するだろう。
くくり出し(ファクタリング)
あるコードセグメントから別のコードセグメントまでのコミュニケーションは、多数の離散的なコミュニケーションへコミュニケーションを壊すことにより間接的に遂行されるかもしれない。これは、図IDおよびIEで概略的に描かれる。示されると、いくつかのインターフェースは、機能性の割り切れるセットの点から記述することができる。したがって、図のインターフェース機能性、ちょうど一つが数学上2回3回24、あるいは2回を提供するかもしれないように、IBおよび1Cは同じ結果を達成するために因数分解されるかもしれない、2.従って、図IDで例証されるように、インターフェース・インターフェース1によって提供される機能は同じ結果を達成する間にインターフェースのコミュニケーションを複合のインターフェース、インターフェースIA、インターフェースIB、インターフェースの1Cなどに変換するために細分されるかもしれない。図IEの中で例証されるように、インターフェースIlによって提供される機能は複合のインターフェースhaへ細分されるかもしれない、Hb、彼、など、同じ結果を達成している間。同様に、最初のコードセグメントから情報を得る、第2のコードセグメントのインターフェース12は、複合のインターフェースI2a、I2b、I2cなどの要因として考慮されるかもしれない。代理商として働く場合、第1のコードセグメントで含まれたインターフェースの数は第2のコードセグメントで含まれたインターフェースの数と一致する必要はない。図の場合のどちらかでは、IDおよびIE、インターフェース、インターフェース1の機能的な精神およびIlは、それぞれ図IBおよび1Cでのと同じ物ままである。
インターフェースのくくり出しはさらに結合性の数学的なプロパティ、交換のプロパティおよび他のプロパティにくくり出しが認識するのが難しいかもしれないそのように続くかもしれない。例えば、オペレーションの順序は些細かもしれない。また、従って、インターフェースによって実行された機能は、もう1個のコードあるいはインターフェースによって、インターフェースに到着する進歩中でよく実行されるかもしれないか、システムの個別のコンポーネントによって行なわれるかもしれない。さらに、プログラムする芸術における通常の熟練のうちの1つは、同じ結果を達成する異なる関数呼出しを行う様々な方法があることを認識することができる。
再定義
ある場合には、意図した結果をまだ遂行する間にプログラミングインターフェースのある実施例(例えばパラメーター)を無視するか、加えるか、再定義することが可能かもしれない。これは図IFおよびIGの中で例証される。例えば、図IBのインターフェース、インターフェース1が関数呼出し二乗(インプット、精度、アウトプット)、3つのパラメーター、インプット、精度およびアウトプットを含んでいる呼び出し、および第1のコードセグメントから第2のコードセグメントまでどれが出されるかを含むと仮定する。図IFの中で示されるように、中央のパラメーターの精度が与えられたシナリオ中の関係である場合、それ、できた、かえって都合がよい、無視されるか、無意味な(このシチュエーションで)パラメーターとさらに取り替えられる。一つはさらに重要でない付加パラメータを加えるかもしれない。いずれにしても、インプットが第2のコードセグメントによって2乗された後、アウトプットが返される限り、二乗の機能性は達成することができる。精度は、非常によく計算機システムのある下流か他の部分への意味のあるパラメーターかもしれない;しかしながら、一旦精度が二乗を計算する狭い目的に必要ではないことが認識されれば、それは交換されるかもしれないし無視されるかもしれない。例えば、有効な精度価値を判決を下す代わりに、結果に悪影響を及ぼさずに、生年月日のような無意味な値を判決を下すことができるかもしれない。同様に、図IGの中で示されるように、インターフェースIlはインターフェースへのパラメーターを無視するか加えると再定義されて、インターフェースH’と取り替えられる。インターフェース12は、不必要なパラメーター、あるいは他のところに処理されるかもしれないパラメーターを無視すると再定義されて、インターフェース’12として同様に再定義されるかもしれない。ここのポイントは、ある場合には、プログラミングインターフェースがパラメーターのような実施例を含むかもしれないということである。それはある目的に必要とされない。したがって、それらは無視されるかもしれないし、再定義されるかもしれないか、他の目的のためにどこか他のところに処理されるかもしれない。
インライン・コーディング
それらの間の「インターフェース」が形式を変更するように、2つの別個のコード・モジュールの機能性のうちのいくらかあるいはすべてを合併することも実現可能かもしれない。例えば、図IBおよび1Cの機能性は図IHおよびIIの機能性にそれぞれ変換されるかもしれない。図IHの中で、前、図IBの第1と第2コードセグメントはそれらを両方とも含んでいるモジュールへ合併される。この場合、コードセグメントは、まだ互いに伝達しているかもしれない。しかし、インターフェースは、シングルモジュールに、よりふさわしい形式に適しているかもしれない。したがって、例えば、儀礼的訪問とリターンのステートメントはもはや必要ではないかもしれない。しかし、インターフェース1を接続するのに準ずる同様の処理あるいはレスポンスはまだ有効かもしれない。同様に、図IIの中で示されて、図1Cからのインターフェース12の一部(あるいは万物)はインターフェースIlへインラインで、インターフェースHを形成するために書かれるかもしれない。」例証されるように、インターフェース12はI2aとI2bに分割される。また、インターフェース部分I2aはインターフェースHを形成するためにインターフェースIlに従ってコード化された。」具体的な例については、図1CからのインターフェースIlが関数呼出し二乗(インプット、アウトプット)(それはインターフェース12によって受け取られる)を行なうと思う、どれ、値の処理がインプット(インプットの二乗の計算)で第2のコードセグメントによって通過していった後、パス、後ろに、アウトプットを備えた2乗された結果。そのような場合では、第2のコードセグメント(2乗するインプット)によって行なわれた処理は、インターフェースへの呼び出しのない最初のコードセグメントによって行なうことができる。
離婚
あるコードセグメントから別のコードセグメントまでのコミュニケーションは、多数の離散的なコミュニケーションへコミュニケーションを壊すことにより間接的に遂行されるかもしれない。これは、図IJおよびIKの中で概略的に描かれる。図Uの中で示されるように、1以上個のコード(それらが機能性および(または)オリジナルのインターフェースからのインターフェース機能を離婚させるので、離婚インターフェース)はそれらを異なるインターフェースに順応させるために最初のインターフェース(インターフェース1)上のコミュニケーションを変換するために提供される、この場合、インターフェースInterface2A、Interface2BとInterface2C。これは行われるかもしれない、例えば、インターフェース1に従って例えば、オペレーティングシステムを通信するように設計されたアプリケーションのインストールベースがあるところに、プロトコルを作る、しかし、その後、オペレーティングシステムはこの場合異なるインターフェースを使用するために変更される、インターフェースInterface2A、Interface2BとInterface2C。ポイントは、第2のコードセグメントによって使用されるオリジナルのインターフェースが、それが第1のコードセグメントによって使用されるインターフェースともはや互換性をもたないそのように変更されるということである、それで1つの、仲介、古く新しいインターフェースを互換性をもつようにするために使用される。同様に、図IKの中で示されるように、3番めのコードセグメントは、インターフェースIlから知らせを受ける離婚インターフェースDIlおよびジ2で働くのデザインを変更されて、例えばインターフェースI2aおよびI2bにインターフェース機能性を送信する離婚インターフェース・ジ2で開始することができる、しかし同じ機能的な結果を提供すること 同様に、同じか同様の機能的な結果を提供している間、DIlとジ2はインターフェースIlおよび図のうちの12の機能性を新しいオペレーティングシステムに1C翻訳するためにともに働くかもしれない。
書換え
しかし、別の可能な変形は、インターフェース機能性を他のものだがどれが同じ全面的な結果を達成するかに取り替えるためにダイナミックにコードを書き直すことである。例えば、実行環境(.Netフレーム・ワーク、Java(登録商標)実行時環境あるいは他の同様のランタイム・タイプ環境によって提供されるそのような)中のジャスティン時間(JIT)コンパイラーかインタープリターに中間言語(例えばマイクロソフトIL、Java(登録商標) ByteCodeなど)で示されたコードセグメントが提供されるシステムがあるかもしれない。JITコンパイラーはダイナミックにつまり、それらを第2のコードセグメント(オリジナルあるいは異なる別のコードセグメントのいずれか)によって要求されるかもしれないのと同じくらい異なるインターフェースに順応させるためにコミュニケーションを第1のコードセグメントから第2のコードセグメントに変換するように書かれるかもしれない。これは図ILおよびIMで描かれる。図ILで見ることができるように、このアプローチは上に記述された離婚シナリオに似ている。それは行われるかもしれない、例えば、どこで、アプリケーションのインストールベース、インターフェース1に従ってオペレーティングシステムと通信するように設計されている、プロトコルを作る、しかし、その後、オペレーティングシステムは異なるインターフェースを使用するために変更される。
オペレーティングシステムの新しいインターフェースへのインストールベース・アプリケーションから急いでコミュニケーションを準拠するためにJITコンパイラーを使用することができるかもしれない。図IMの中で描かれるように、ダイナミックにインターフェースを書き直すこのアプローチはダイナミックに代理商として働くかあるいはそうでなければ、同様にインターフェースを変更するために適用されるかもしれない。
代替実施例によってインターフェースと同じか同様である結果を達成するための上記シナリオも、様々な方法で連続的に、並列中で、あるいは他の中間コードで組み合わせられるかもしれないことはさらに注目される。したがって、上に示された代替実施例は相互排除でなく、図IBおよび1Cの中で示された総括的なシナリオに同じか等価なシナリオを生産するために混合され、一致し、組み合わせられるかもしれない。さらに、それは注目される、それはそこで、ほとんどのプログラミングコンストラクトでのように、ここに記述されないかもしれないが、それにもかかわらず発明の趣旨およびスコープによって表わされるインターフェースの同じか同様の機能性を達成する他の同様の方法である、つまり、それが少なくとも部分的にそばに表わされた機能性、および可能にされた有利な結果であることは注目される、インターフェース、それはインターフェースの値の基礎となる。
サムネール
図4Aおよび4Bは、アプリケーションウィンドウのサムネールを提供する際に本発明のアプリケーションの1つの例を実証する。図4Aの例では、タスクバー・ボタンを含んでいるタスクバー400は例証される。タスクバー・ボタンの各々は活発なアプリケーションに相当する。タスクバー・ボタン402はコンピューター上で現在作動する一つ珠アプリケーション・プログラムに相当する。同様に、タスクバー・ボタン403はワードプロセッシングアプリケーション・プログラム・ウィンドウに相当する。タスクバー・ボタン405はメディア・プレイヤー・アプリケーション・プログラム・ウィンドウに相当する。また、タスクバー・ボタン406は計算機アプリケーション・プログラム・ウィンドウに相当する。一つ珠サムネール401は一つ珠アプリケーション・プログラム・ウィンドウのために提供される。また、メディア・プレイヤー・サムネール404はメディア・プレイヤー・アプリケーション・プログラムのために提供される。対応するサムネールは様々な方法で呼び出されるかもしれない。1つの非制限的な例では、サムネールは対応するタスクバー・ボタンに関するカーソルを抱くことにより呼び出されるかもしれない。例えば、一つ珠サムネール401は一つ珠タスクバー・ボタン402に関するカーソルを抱くことにより呼び出されるかもしれない。
図4Aの中で例証されて、ダイナミックなサムネールは更新されて、提供するかもしれないか、あるいはアプリケーション・プログラムに対応する内容を「実践する」。例えば、メディア・プレイヤー・アプリケーションはビデオを再生しているかもしれない。メディア・プレイヤー・アプリケーションウィンドウ(図示せず)中のビデオ・プレーとして、ビデオは、さらにメディア・プレイヤー・サムネール404に遊ぶ。メディア・プレイヤー・アプリケーションウィンドウがそれ自体最小化される場合、メディア・プレイヤー・サムネール404は最小化前にメディア・プレイヤー・アプリケーションウィンドウ中の最終場面を表示するかもしれない。あるいは、たとえメディア・プレイヤー・アプリケーションウィンドウがそれ自体最小化されても、それがメディア・プレイヤー・アプリケーションで遊び続けるとともに、メディア・プレイヤー・サムネール404はビデオを表示し続けるかもしれない。
図4Bは、本発明のサムネールの別の例を例証する。タスクバー410は、一つ珠アプリケーションウィンドウ(図示せず)に対応する一つ珠タスクバー・ボタン411、ワードプロセッシングアプリケーション・ウィンドウ(図示せず)に対応するワードプロセシング・タスクバー・ボタン412、メディア・プレイヤー・アプリケーションウィンドウ(図示せず)に対応するメディア・プレイヤー・タスクバー・ボタン413、および計算機アプリケーションウィンドウ(図示せず)に対応する計算機タスクバー・ボタン414を含んで例証される。この例において、計算機サムネール415は提供される。計算機サムネール415は、計算機アプリケーションウィンドウの現在と更新された内容を表示する。本発明の1つの実施例では、計算機サムネール415はさらにアプリケーションウィンドウを更新するかもしれない。例えば、計算は数学的な結果を達成するために計算機サムネール415によって行なわれるかもしれない。この結果は計算機アプリケーションウィンドウ(図示せず)にも計算機サムネール415にも表示することができる。この例において、「=」キーは計算機サムネール415に選択されている。また、結果は計算機サムネール(つまり「4」)に表示される。たとえ計算が計算機サムネール415によって行なわれたとしても、この結果も、計算機アプリケーションウィンドウに同様に(図示せず)映っているかもしれない。
図5は、サムネールがALT−TABメニューに表示される本発明のサムネールの別のアプリケーションを例証する。図5が例証するとともに、ディスプレイ500はアプリケーションウィンドウを表示する。この場合、計算機アプリケーションウィンドウ502の一部および一つ珠アプリケーションウィンドウ501の一部は、ディスプレイ500上で目に見える。アプリケーションの各々はタスクバーに対応するタスクバー・ボタンを持っている。計算機アプリケーションは対応する計算機タスクバー・ボタン503を持っている。また、一つ珠アプリケーションには対応する一つ珠タスクバー・ボタン504がある。さらに、メディア・プレイヤー・アプリケーションは活発である(図示せず)。また、さらに、対応するメディア・プレイヤー・タスクバー・ボタン506はタスクバーの中にある。
図5で示された例において、ALT−TABメニュー505は、それが活発なアプリケーションのダイナミックなサムネールを表示すると規定される。この例に、ダイナミックなサムネール・ディスプレイの各々は、対応するアプリケーションウィンドウの内容を「実践する」(つまり、更新された)。ダイナミックなサムネール内容は実時間において更新されるかもしれない。アプリケーションウィンドウが修正されるか更新されるとともに、対応するダイナミックなサムネールも従って更新されるかもしれない。ダイナミックなサムネールの更新も実時間において遂行されるかもしれない。この例において、ALT−TABメニュー505はダイナミックなサムネールを含んでいる、個々、対応するアプリケーションのアプリケーションウィンドウがディスプレイ上で目に見えても目に見えなくても、活発なアプリケーションに。計算機サムネール507、メディア・プレイヤー・サムネール508および一つ珠サムネール509は、ALT−TABメニュー505に一つ珠サムネール509を選択して例証される。ダイナミックなサムネールの各々は「実際の」内容を提供するかもしれない。例えば、ビデオは実時間のメディア・プレイヤー・サムネール508に遊んでいるかもしれない。
図2Aおよび2Bはサンプル表示のコンポーネントを例証するダイアグラムである。
デスクトップは、エレメント200としてシーングラフまたはディスプレイの木の図2Aの中で表わされ、デスクトップの壁紙201と2アプリケーション、計算機202および一つ珠203を含んでいる。さらに、デスクトップはさらにタスクバー208を含んでいる。表現のこの方法では、ウィンドウおよび個別窓のクライアント領域のまわりのフレームはすべてシーングラフの一部である。ウィンドウ移動はディスプレイ木の変わる変換価値になる。この例におけるアプリケーションの各々はウィンドウフレーム204、205をそれぞれ含んでいる、そしてウィンドウ内容206、207、それぞれ。タスクバー208はウィンドウ内容209を含んでいる。図2Aでは、ディスプレイ上のエレメントは左から右まで与えられる。従って、デスクトップの壁紙201は、一つ珠202アプリケーションウィンドウの後ろに与えられる計算機203アプリケーションウィンドウの後ろに与えられる。
図2Bは図2 Aの中で表わされるようなディスプレイを例証する。そのディスプレイはバックグラウンドにデスクトップの壁紙220を含んでいる。計算機アプリケーションウィンドウ222はデスクトップの壁紙の前に表示される。また、一つ珠アプリケーションウィンドウ221は、計算機アプリケーションウィンドウ222およびデスクトップの壁紙220の前に表示される。図2Bの中で示されるように、アプリケーションウィンドウの各々はタスクバー・ボタンによってタスクバー225に表わされるかもしれない。この例において、計算機アプリケーションはタスクバー・ボタン223によってタスクバー225に表わされる。また、一つ珠アプリケーション・プログラムはタスクバー・ボタン224によってタスクバー225に表わされる。計算機アプリケーションウィンドウ222および一つ珠アプリケーションウィンドウ221の各々は、デスクトップの壁紙220に表示されるようなウィンドウフレームとウィンドウの内容を含んでいる。
図2Aの中で描かれるような木のどんなサブノードも、木の別のノードの内容として使用されてもよい。そうすることによって、1部の木のコンテンツは、別の場所で木のどこか他のところに見られるかもしれない。別の場所で木のノードの演出を木のどこか他のところに達成する多くの方法がある。1つの非リミッティング例として、視覚的なブラシは使用されてもよい。「VisualBrush」は技術である、常にシーングラフの既存の部分を参考文献として載せた、しかし位置、スケール、ローテーション、不透明度、効力などのようなグラフィックスコンテキストの「現在の」セットでそれを与えることこれは、他のところに与えられる1つの場所に与えられた木の一部を引き起こす。例えば、計算機アプリケーションウィンドウのダイナミックなサムネールが望まれる場合、適切なプログラミングインターフェース(例えばアプリケーションプログラムインターフェイスかAPI)はサムネール・ホストHWNDあるいはウィンドウ・ハンドルを提供するために呼ばれるかもしれない。この例は図3Aおよび3Bの中で実証される。
[58] 図3Aは、本発明のディスプレイのコンポーネントの例を例証するシーングラフまたはディスプレイの樹形図である。デスクトップはエレメントまたはノードの300として図3 Aの中で表わされ、デスクトップの壁紙301と2アプリケーション、計算機302および一つ珠303を含んでいる。この例におけるアプリケーションの各々はウィンドウフレーム305、306をそれぞれ含んでいる、そしてウィンドウ内容307、308、それぞれ。この例におけるデスクトップは、さらにタスクバー307を含んでいる。
この例において、計算機アプリケーションウィンドウのサムネールは適切なAPIを呼ぶことにより提供される。図3Aの中で例証されるように、サムネール・ホストHWND304ウィンドウ・ハンドルはアプリケーションによって作成され、計算機アプリケーションのようなアプリケーションのサムネールを登録してもよい。例えば、図3Aでは、タスクバー307はサムネール・ホストHWND 304およびウィンドウ内容310を含んでいる。サムネール・ホストHWND 304は計算機サムネール311を含んでおり、サムネール・ホストにアプリケーションウィンドウのサムネールを付けてもよい。図3 Aの中の点のある矢は、サムネール・ホストHWND 304の計算機サムネール311が後ろに指すか計算機アプリケーションウィンドウからの計算機を描き直すことを例証する。その結果、「実際の」ダイナミックなサムネールは、それがアプリケーションウィンドウ内容についての単に静的な見方ではなく対応するアプリケーションウィンドウ(この場合計算機アプリケーションウィンドウ)の最新の内容を示すと規定される。
図2Aの例でのように、図3 Aの中で表わされたディスプレイ上の要素は、左から右まで与えられる。従って、デスクトップの壁紙301は、一つ珠303アプリケーションウィンドウおよびタスクバー208の後ろに与えられる計算機302アプリケーションウィンドウの後ろに与えられる。図3Bは図3Aに対応するディスプレイを実証する。図3Bが例証するとともに、ディスプレイはバックグラウンドにデスクトップの壁紙320を含んでいる。計算機アプリケーションウィンドウ322はデスクトップの壁紙320の前に表示される。また、一つ珠アプリケーションウィンドウ321は、計算機アプリケーションウィンドウ322およびデスクトップの壁紙320の前に表示される。さらに、タスクバー326が表示される。アプリケーションの各々はタスクバー326に対応するタスクバー・ボタンに関係している。この例において、計算機アプリケーションはタスクバー・ボタン324に関係している。また、一つ珠アプリケーションはタスクバー・ボタン325に関係している。さらに、図3Bは、サムネールが、それが計算機アプリケーションに関係していると規定されることを例証する。計算機アプリケーション・プログラムおよびウィンドウ322はタスクバー326および一つ珠アプリケーション・プログラムにタスクバー・ボタン324に関係している。また、ウィンドウ321はタスクバー・ボタン325に関係している。
さらに図3Bの中で例証された、計算機アプリケーションのダイナミックなサムネール323である’ウィンドウ322。サムネール323は、後ろに指すか、ウィンドウフレーム305および図3 Aの中で描かれるような計算機アプリケーション302のウィンドウ内容308を描き直すサムネール・ホストHWND 304の計算機サムネール・ノード311によって提供される。結果は、それがそうであるという計算機アプリケーションウィンドウ322のダイナミックなサムネール323である「生きている。」つまり、対応する変更がアプリケーションウィンドウ自体になされるとともに、サムネールが修正される。図3Bの中で例証されるように、計算機アプリケーションウィンドウ322に計算された「243」の値も、対応するサムネール323に反映されている。
本発明の実施例では、ダイナミックなサムネールはサムネールのレジストレーション、登録解除(登録解除)および更新するプロパティによって達成される。そのようなレジストレーション、登録解除、およびサムネールの更新するプロパティか、変更は、デスクトップ・ウインドウマネージャ(DWM)の中でアプリケーションプログラムインターフェイス(API)によって遂行されるかもしれない。典型的な3つのAPIが本発明のサムネールを達成すると説明される。APIエグザンプル1 − サムネールのレジストレーション
サムネールはウィンドウ(例えばアプリケーションウィンドウ)から生成されるかもしれない。アプリケーションウィンドウがサムネールの内容に基礎を提供するとともに、アプリケーションウィンドウはこの場合、ソース・ウィンドウである。1例において、サムネールはアプリケーションウィンドウの小型化したバージョンで、アプリケーションウィンドウの全コンテンツを含んでいる。あるいは、サムネールは、ソース・ウィンドウの選択された部分だけを含んでいるかもしれない。
ソース・ウィンドウからのサムネールの内容は別のエリアに翻訳される。この第2のエリアは、ソース・ウィンドウに基づいたサムネールの内容を提供する宛先ウィンドウと指示される。宛先ウィンドウは、サムネール自体の基礎を形成するかもしれない。例えば、アプリケーションウィンドウに基づいたサムネールを表示するために、アプリケーションウィンドウ以外の場所の小さなウィンドウフレーム、ディスプレイでの指定地域あるいはポップアップ・メニューは、宛先ウィンドウとして使用されてもよい。
サムネールが登録される場合、ソース・ウィンドウと宛先ウィンドウの関係を築くオペレーションは行なわれるかもしれない。宛先ウィンドウを指定するウィンドウ・ハンドル(HWND)が指定されるかもしれない。指定された宛先ウィンドウは、サムネール・レンダーリングのターゲットとして役立つかもしれないし、サムネールを呼ぶか登録するプロセスによって所有される。サムネールを登録するプロセスがさらに宛先ウィンドウを所有する場合、他のアプリケーションによるアプリケーションの望まれない変更は回避することができる。同様に、ソース・ウィンドウ用のHWNDも指定されるかもしれない。
[66] サムネールのキャッシュに入れられたビットマップのサイズも指定されるかもしれない。例えば、システムにソース・ウィンドウの最後の既知のビットマップのことが通知されるように、最小サイズは示されるかもしれない。このように、ソース・ウィンドウが続いて最小化され、ディスプレイ上で目に見えない場合、ウィンドウのビットマップはしかしながら保存される。また、サムネールはまだ利用可能である。サイズは、呼び出しのアプリケーションの必要によって異なるかもしれない。同じソース・ウィンドウの多重登録がある場合、プロセスはどのサムネール・サイズが現在のニーズに基づいて当てはまるか決めるかもしれない。例えば、サムネール・サイズを変える多重登録の場合には、最大のサイズは使用されてもよい。
APIは、さらにサムネールのレジストレーションを表わすハンドルを含んでいるかもしれない。このハンドルは、呼び出しをサムネールが、それが登録されたプロセスからのみ続いて未登録かもしれないそのように出しているプロセスに特有かもしれない。
サムネールを登録するためのAPIの一例は以下のとおりである:
Figure 2008538631
その中でdstWindowは宛先ウィンドウを表わす、srcWindowはソース・ウィンドウを表わす、lpMinimizedSizeはサイズを表わす、いったんsrcウィンドウが最小化されれば、ソース・ウィンドウ(srcウィンドウ)およびlphThumbnailの最後の既知のビットマップがそうであるシステム・キャッシュ、呼び出しで作られたレジストレーションを表わすユニークなハンドルを表わす返される値。APIエグザンプル2 − 修正するサムネール・プロパティあるいはセットするサムネール・プロパティ
サムネール・レジストレーションの後に、ソース・ウィンドウからの内容(すなわちそれの部分)はサムネールとして宛先ウィンドウに置かれる。例えば、呼ばれた時、アップデート・サムネール・プロパティAPIは宛先ウィンドウ中のサムネールのレンダーリングのプロパティを修正するかもしれないし更新するかもしれない。例えば、UpdateThumbnailプロパティは視程、形、長方形などのようなサムネールのプロパティをセットするために使用されてもよい。アップデート・サムネール・プロパティAPIは、更新されるサムネールのハンドルを示すかもしれない。サムネールへの最新版は、サムネールのどんな変更も含んでいる、サムネールのポジショニングを含み、これらに限定されずに、サムネールのサイズ、サムネールに使用されるソース・ウィンドウの部分、サムネールに使用される宛先ウィンドウの部分、サムネールの不透明度あるいは透明度、サムネールの視程、サムネールなど(例えば、回転する曲げて、粉々になるなど)の特殊効果
別の例において、サムネールは、それらが登録されたプロセスから更新されるかもしれないし修正されるかもしれない。1例において、サムネールが宛先ウィンドウのまわりで移動されるかもしれないように、サムネール・ハンドルは宛先ウィンドウに繰り返し呼ばれる。この場合、サムネールの位置は宛先ウィンドウ内に変えられるかもしれない。例えば、ALT−TABウィンドウ中で、サムネールは、宛先ウィンドウにサムネールを呼び戻すことによりオーダーを変える際に再整理されるかもしれない。
パラメーターはサムネール・プロパティを修正するかセットするのに使用されてもよい。サムネール・プロパティを修正するかセットするためのパラメーターの多くの例がある、のように、しかしフラグに制限されていなかった。パラメーターの使用を通じて、API構造はAPIを将来のアップグレードに対してより柔軟にして、より容易に修正されるかもしれない。パラメーターは、使用されるサムネールのプロパティを指示するかもしれないし、指定された定数によってそれら自身定義されるかもしれない。例えば、パラメーターは、ソース・ウィンドウ未満全体がサムネールに使用されることが望まれる場合に、宛先ウィンドウの中でサムネールとして使用されるソース・ウィンドウのエリアか部分を定義するソース・ウィンドウ・パラメーターを定義し相当するかもしれない。この例において、ソース・ウィンドウ・パラメーターによって示されるようなソース・ウィンドウの指定相続分だけが、宛先ウィンドウの中でサムネールに使用される。1例において、宛先ウィンドウの中でサムネールとして使用されるソース・ウィンドウの部分は、ディスプレイの座標として指定される。例えば、希望の部分がソース・ウィンドウ内の長方形である場合、APIは、サムネールとして使用される最終長方形を得るソース・ウィンドウを備えた交差する長方形の座標を示すためにパラメーターを指定するかもしれない。例として、座標(0と0)はウィンドウ領域の左上コーナーとしてセットされるかもしれない。パラメーターを希望のソース・ウィンドウ・パラメーターを定義し一致することはサムネール(提供される座標の点から定義されているソース・ウィンドウの指定相続分)としてソース・ウィンドウの指定相続分だけが使用されることになっていることを示すためにセットされるかもしれない。座標およびソース・ウィンドウの希望の部分を指定する多くの方法があるが、1例は交差した実原始ウィンドウを備えた提供される長方形の交切によって定義されたソース・ウィンドウの部分を使用することを含んでいるかもしれない。
さらに、サムネールに使用される宛先ウィンドウの部分は、宛先ウィンドウ・パラメーターを定義し相当するパラメーターによって指定されるかもしれない。この場合、宛先ウィンドウ全体がサムネールに使用されることが望まれず、宛先ウィンドウの一部だけがサムネールに使用されることになっている場合、サムネールが翻訳されるかもしれない宛先ウィンドウのエリアは宛先ウィンドウ・パラメーターによって指定されるかもしれない。
その場合、1つのアプローチは、宛先ウィンドウ・パラメーター(つまりレンダーリングが指定地域の外部で生じる場合、イメージを切り取って)によって定義されるような希望の指定地域内にのみ与えることだろう。さらに、サムネールが引っ張って行かれるかもしれない宛先ウィンドウの部分の場所を決定する1つの方法は、使用される宛先ウィンドウおよび宛先ウィンドウ自体の部分の交切を決定する予定である。これは指定地域に外部のレンダーリングを防ぐ。さらに、パラメーターを宛先ウィンドウ・パラメーターを定義し一致することはソース・ウィンドウからのサムネールとして使用されるように指定地域内のエリアを選定するために使用されてもよい。この例において、宛先ウィンドウ・パラメーターが定義されない場合、指示されたウィンドウ全体はサムネール内容に使用されてもよい。
他のサムネール・プロパティのどんな数もAPIの中で指定されるかもしれない。例えば、サムネールの不透明度あるいは透明度は指定されるかもしれない。本発明のこの例の1つの実施例では、パラメーターはサムネールの不透明度(あるいは透明度)を指定するために譲渡されるかもしれない、例えば、完全に透明なものとして、0が譲渡されているかもしれない一方、完全に不透明なものとして、255が譲渡されるかもしれない。したがって、パラメーターを不透明度パラメーターを定義し一致することがセットされる場合、サムネールの不透明度用の指定の割り当てられた数値は適用されるかもしれない。その結果、サムネールは、ユーザによって望まれるような不透明度の変わる程度を示すかもしれない。
補足例として、サムネールは、必要に応じて目に見えるか目に見えられないかもしれなくなるかもしれない。パラメーターを視程パラメーターを定義し一致することが提供されるかもしれない。視程パラメーターがTRUEである場合、視程パラメーターがFALSEである場合、サムネールが目に見えなくなる間に、サムネールが目に見えるようになるように、視程パラメーターはブール値かもしれない。サムネールのどんな変更も本発明の範囲内のように、本発明はサムネールのどんな特別の変更にも制限されていない。
サムネールを更新するか修正するためのAPIの一例は、以下のようにDwmUpdateThumbnailPropertiesである:
Figure 2008538631
ただし、dwFlagsが使用される後のプロパティを指定するパラメーターに対応するパラメーターあるいはフラグを定義するところで。この例において、rcSourceパラメーターは、サムネールとして使用するためにソース・ウィンドウ(srcWindow)のリージョンを指定するソース・ウィンドウ・パラメーターである、rcDestinationは、サムネールが与えられる宛先ウィンドウ(dstWindow)を指定する宛先ウィンドウ・パラメーターである、不透明度は、サムネール(例えば、0〜255をセットする)の不透明度をコントロールする不透明度パラメーターでfVisibleである、ブール値に基づいて、目に見えないか可視であるものとしてサムネールを指定する視程パラメーターである。
APIの例3 − サムネールの登録解除
もはや必要でなかった時、ソースと宛先のウィンドウ間の関連性は削除される。例えば、ウィンドウがもはやアクティブでない場合、ウィンドウとサムネールの間の関連させることは結合を登録しないことにより遂行されるかもしれない。リソースの解放におけるこの業績。登録するプロセスが出る場合、Moreoeverとサムネールはさらにリリースされるかもしれない。サムネールを登録しないためのAPIの一例は以下のようにDwmUnregisterThumbnailである:
Figure 2008538631
図6は、本発明に、「実際の」ダイナミックなサムネールを含むサムネールを提供する過程の例を例証するフローチャートである。STEP 601では、アプリケーションが最初のトップレベルのウィンドウを要求するかもしれないか、別のトップレベルのウィンドウあるいは宛先ウィンドウのセクションに位置するサムネールを表示するためにウィンドウを部品外注するかもしれないAPIは提供される。従って、最初のトップレベルのウィンドウあるいはソース・ウィンドウは宛先ウィンドウ内の最高のオブジェクトとして与えられるかもしれない。このインプリメンテーションの制限しない1つの例は、ALT−TABウィンドウ(つまり宛先ウィンドウ)内にソース・ウィンドウに対応するサムネールが提供される、ATL−TABウィンドウである。
STEP 602では、サムネール・ハンドルを提供するDWMにレジスター電話をかける。同じソース・ウィンドウあるいは同じ宛先ウィンドウ上に多数の呼び出しがさらにあるかもしれない。ALT−TAB例で、同じソース・ウィンドウおよび同じ宛先ウィンドウ上の多数の呼び出し、サムネールが選択されている場合にアプリケーションのサムネールのより大きくかつ、または型にはめられた表現を同様に提供するALT−TABウィンドウ内のサムネールの転位に帰着する。別の例において、サムネールのZ順序は後のレジストレーション呼び出しによって変更されるかもしれない。他の表示要素に関するサムネールのz−順序の変更が望まれる場合、新しいサムネールは別のサムネール・レジストレーション呼び出しで登録されるかもしれない。プロパティが古いサムネールに相当する新しいサムネールのためのセットだった後、古いサムネールは未登録かもしれない。
したがって、この例において、サムネールのz−順序はサムネールの多重登録によって変更されるかもしれない。
あるいは、同じ宛先ウィンドウ用に多重音源ウィンドウに呼び出しがあるかもしれない。この例において、多重音源ウィンドウに1つの宛先ウィンドウを要求する、宛先ウィンドウ内の多数の異なるサムネールの提供に帰着する。
まだ別の例において、ダイナミックなサムネールは他のダイナミックなサムネール内に表示されるかもしれない。例えば、より高いz−オーダーを備えた最初のダイナミックなサムネールは、より低いz−オーダーを備えたアプリケーションのより大きなダイナミックなサムネールに置かれるかもしれない。この例において、サムネールは他のサムネール内に埋め込まれるかもしれない。さらに、結果はサムネールあるいは任意の埋め込まれたサムネールのいずれかに適用されるかもしれない。あるいは、任意のz−オーダーのサムネールは任意のz−オーダーの別のサムネールへ滝のように落とされるかもしれない。例えば、少なくとも1つのサムネール(z−オーダーに関係ない)は、任意のz−オーダーのアプリケーションのより大きなダイナミックなサムネールに置かれるかもしれない。同様に、より大きなダイナミックなサムネールは任意のz−オーダーの別のダイナミックなサムネールに置かれるかもしれない。したがって、サムネールはz−オーダーにかかわらず滝のように落とされるかもしれない。
STEP 603では、DWMは、サムネールのためのプロセス/IDペアを登録した。DWMは、アプリケーションがそれぞれ対応するサムネール・ハンドル(HWND)とペアになるサムネール・レジストレーションの広域のリストをさらに維持するかもしれない。広域のリストはユーザの必要に依存して、様々な方法で維持されるかもしれない。例えば、広域のリストを維持する1つの便利な方法は、どんな希望の宛先ウィンドウも効率的にアクセスされるかもしれないように、宛先窓(dstウィンドウ)からサムネールにインデックスを付けることである。さらに、任意の特別の宛先ウィンドウ中のサムネールは、オーバーラップの順序でのように、論理順序でさらに組織されるか、あるいはz−オーダーに基づくかもしれない。
別の例において、DWMは、最小化されているウィンドウに先立ってウィンドウ(つまり、ウィンドウの現在のコンテンツをちょうど今保存する)のコンテンツを「折ってもよい」。DWMは、特別のサイズのビットマップへ、例えばウィンドウの内容を折る。サイズはレジストレーションAPIによって決定されるかもしれないし、サムネール・マッピングのための適切なサイズである。ウィンドウが最小化された後、ウィンドウの内容は既にアプリケーションウィンドウに対応するサムネールがまだ利用可能かもしれないそのように保存されている。あるいは、最小化されるウィンドウは一時的に「駐車されるかもしれない」本当に最小化されたのではなく画面外。このように、そのアプリケーションは、サムネールを更新するために情報とデータを送り続けるかもしれない。したがって、アプリケーションウィンドウが「最小化された」後、サムネール・レジストレーションが生じる場合、あたかもウィンドウが最小化されなかったかのように、サムネールはまだ登録され更新されるかもしれない。あるいは、サムネール・レジストレーションが実現可能でない場合、サムネールはアイコンあるいはキャプション法廷と取り替えられるかもしれない。
STEP 604では、サムネール特性への最新版は決定されインプリメントされる。サムネール特性を修正するか更新する際に、DWMは広域のリストを従って修正するかもしれない。例えば、DWMアプリケーションは、ターゲット・ウィンドウを表わす適切なトップレベルのウィンドウ・ノードが追加の描画命令に基づいたソース・ウィンドウ(つまりsreウィンドウ)からのredrawnであるそれ自身のシーングラフ(例えば図2Aあるいは図3A)にサムネールを加えるかもしれない。サムネールへのそれ以上指定された変更あるいは結果も計って、例えば組込まれるかもしれない、ポジショニング、不透明度、不可視性か特殊効果。
STEP 605では、サムネールは受け取られた命令に基づいて修正される。例えば、fVisibleなパラメーターがTRUEか、UpdateThumbnail APIが、サムネールの不透明度を増加させるかもしれない(あるいは減少)場合、UpdateThumbnail APIは、サムネール・ノードの視程を修正するかもしれない。サムネールの登録解除が望まれる場合、結局、サムネールへの希望の変更は行なわれる、ということをDWMプロセスが決める。サムネールの登録解除が望まれるかどうか判断するこの過程は、UpdateThumbnailプロセスとは別々に行なわれるかもしれない。この場合、登録解除がUnregisterThumbnail API呼び出し(図示せず)により生じるかもしれない。STEP 606では、登録解除APIがDWMプロセスによって受け取られる場合、それは決定される。登録解除APIが受け取られる場合、プロセスおよび対応するサムネールIDの対現象は削除される(例えばDWMプロセスで維持されたサムネール・レジストレーションの広域のリストから)。STEP 607では、トップ・レベル・ウィンドウ命令ストリームは、未登録のサムネールの結果再度出される。その結果、サムネールは削除される。
1例において、カーソルは、対応するアプリケーションのサムネールのディスプレイに帰着するタスクバー・ボタンに関して抱かれる。カーソルがタスクバー・ボタンに関して抱かれる場合、プロセスはサムネールを主催する新しいトップのレベル・ウィンドウ・ハンドル(HWND)を作成する。そのプロセスは、内容のソースとしてアプリケーションのウィンドウ・ハンドル(HWND)をサムネール(つまりsrcWindow)に使用するレジストレーションAPIを呼ぶ。サムネールを主催する新しいトップのレベルHWNDは宛先ウィンドウ(dstWindow)である。その後、ソース・ウィンドウからの内容(すなわちそれの希望の部分)は、サムネールを表示するために宛先ウィンドウに入れられる。サムネールはソース・ウィンドウ内容全体を含んでいるかもしれないし、あるいは上に述べられるような前もって定義しているか選択された部分だけを含んでいるかもしれない。最新版サムネールAPIはサムネールを修正するかもしれないし移動させるかもしれない。例えば、サムネールの位置は対応するアイコンに比べて変えられるかもしれない。あるいは、特殊効果はサムネール(例えば透明度、不可視性、ひずみなど)に適用されるかもしれない。カーソルがタスクバー・ボタンから移される場合、サムネールが隠されるように、サムネールを主催するトップ・レベルHWNDは未登録かもしれない。あるいは、サムネールはサムネールがまだ登録され、続いて呼び出されるかもしれないように、目に見えないために更新されるかもしれない。代替方法では、生成上の個別窓は、タスクバーでそのために作成されたサムネールを割り当てられるかもしれない。この例において、タスクバー・コードは例えば、サムネールの職業紹介用のサムネール視程および宛先長方形を操作するために使用されてもよい。
本発明の実施例が多くの形式および具体化をとることができることは理解される。ここに示された実施例は、発明を制限するのではなく例証するように意図される、それ、評価、変化は発明のスコープの精神から外れずに作られるかもしれない。発明の実例となる実施例は示され記述されたが、広範囲の変更、変更および置換は、先の開示、および本発明のいくつかの特徴が他の特徴の対応する使用なしで雇われるかもしれないいくつかのインスタンスで意図される。従って、追加されたクレームが広く発明のスコープと一致する方法で解釈されることは適切である。
本発明の特徴により、ディスプレイにウィンドウを表示して従来技術における1又は複数の問題を解消するインターフェース、システム又は方法が提供される。アプリケーション・ウィンドウに対応する動的なサムネールも提供され、その場合には、アプリケーション・ウィンドウにおけるコンテンツの修正は、対応する動的なサムネールに反映される。アプリケーション・ウィンドウのコンテンツの修正は、対応する動的なサムネールにおいてリアルタイムに反映される。
本発明を実現するシステムの一例を図解しており、コンピュータの形式を有する汎用計算機が含まれている。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 本発明の1又は複数の特徴をサポートする汎用コンピュータ環境を示す。 ディスプレイのコンポーネントの例を図解するシーン・グラフ又はディスプレイ・ツリー・ダイアグラムである。 図2Aに対応するサンプル・ディスプレイのコンポーネントを示している。 本発明のディスプレイのコンポーネントの例を図解するシーン・グラフ又はディスプレイ・ツリー・ダイアグラムである。 図3Aに対応するディスプレイを示している。 アプリケーション・ウィンドウのサムネールを提供する本発明のアプリケーションの例を示している。 アプリケーション・ウィンドウのサムネールを提供する本発明のアプリケーションの例を示している。 ALT−TABのメニュにサムネールが表示されている本発明のサムネールの別のアプリケーションを図解している。 サムネールを提供するプロセスの例を図解する流れ図である。

Claims (20)

  1. 表示装置にウィンドウを表示するコンピュータ実装された方法であって、
    修正が可能なコンテンツを含むソース・ウィンドウを表示するステップと、
    宛先ウィンドウを表示するステップであって、前記宛先ウィンドウの少なくとも一部は、前記ソース・ウィンドウの前記コンテンツの少なくとも一部に実質的に類似するコンテンツを含むサムネールを含む、ステップと、
    前記ソース・ウィンドウの前記コンテンツを修正し、前記ソース・ウィンドウの前記修正を前記サムネールに表示するステップと、
    を含むことを特徴とする方法。
  2. 請求項1記載の方法において、前記サムネールを登録するステップを更に含み、前記サムネールを登録するステップは、前記ソース・ウィンドウのためのウィンドウ・ハンドルを受け取るステップを含むことを特徴とする方法。
  3. 請求項2記載の方法において、前記サムネールを登録するステップは、前記ソース・ウィンドウと前記サムネールとの間の関連を確立し前記ソース・ウィンドウの前記コンテンツの少なくとも一部が前記サムネールの中に引き込まれるようにするステップを更に含むことを特徴とする方法。
  4. 請求項3記載の方法において、前記サムネールを登録するステップは、サイズ・パラメータを受け取るステップと、前記サイズ・パラメータに対応するサイズにおいて前記ソース・ウィンドウを記憶するステップとを更に含むことを特徴とする方法。
  5. 請求項4記載の方法において、前記サムネールを登録するステップは、前記ソース・ウィンドウと前記サムネールとの間の関連を表す一意的なハンドルを受け取るステップを更に含むことを特徴とする方法。
  6. 請求項5記載の方法において、前記サムネールを登録解除するステップを更に含み、前記登録解除するステップは、前記ソース・ウィンドウと前記サムネールとの間の関連を表す一意的なハンドルを除去するステップを含むことを特徴とする方法。
  7. 請求項6記載の方法において、前記サムネールを登録解除するステップは、前記ソース・ウィンドウと前記サムネールとの間の関連を表す一意的なハンドルを削除するステップを含むことを特徴とする方法。
  8. 請求項6記載の方法において、ウィンドウ関連のリストを維持するステップを更に含み、前記ウィンドウ関連のリストは前記ソース・ウィンドウと前記サムネールとの間の関連の情報を含むことを特徴とする方法。
  9. 請求項1記載の方法において、前記ソース・ウィンドウの少なくとも一部を定義する第1のパラメータを受け取るステップを更に含み、前記修正するステップは、前記ソース・ウィンドウの少なくとも一部を決定して前記第1のパラメータに基づいて前記サムネールの中に引き込むステップを含むことを特徴とする方法。
  10. 請求項9記載の方法において、前記宛先ウィンドウの少なくとも一部を定義する第2のパラメータを受け取るステップを更に含み、前記修正するステップは前記宛先ウィンドウの少なくとも一部を決定し前記第2のパラメータに基づいて前記サムネールをレンダリングするステップを含むことを特徴とする方法。
  11. 請求項1記載の方法において、前記修正するステップは、制御値を受け取るステップと、前記制御値の値に基づいて前記サムネールの不透明性(opacity)を設定するステップと、を更に含むことを特徴とする方法。
  12. 請求項11記載の方法において、前記制御値の値は0から255までの間にあることを特徴とする方法。
  13. 請求項11記載の方法において、前記修正するステップはブール値(Boolean value)を受け取るステップと、前記ブール値に基づいて前記サムネールを不可視的にするステップと、を更に含むことを特徴とする方法。
  14. コンピュータ実行可能な命令を有するコンピュータ可読な媒体であって、前記命令は、
    修正可能なコンテンツを含むソース・ウィンドウをディスプレイに表示するステップと、
    宛先ウィンドウを表示するステップであって、前記宛先ウィンドウの少なくとも一部は、前記ソース・ウィンドウの前記コンテンツの少なくとも一部に実質的に類似するコンテンツを含むサムネールを含む、ステップと、
    前記ソース・ウィンドウの前記コンテンツを修正し、前記ソース・ウィンドウの前記修正を前記サムネールに表示するステップと、
    を実行することを特徴とするコンピュータ可読媒体。
  15. 請求項14記載のコンピュータ可読媒体において、
    前記サムネールを登録するステップと、
    前記ソース・ウィンドウと前記対応するサムネールとの間の関連の情報を含むウィンドウ関連のリストを維持するステップと、
    を実行するコンピュータ可読な命令を更に有することを特徴とするコンピュータ可読媒体。
  16. 請求項15記載のコンピュータ可読媒体において、前記登録するステップは、
    前記ソース・ウィンドウのためのウィンドウ・ハンドルを受け取るステップと、
    前記ソース・ウィンドウと前記対応するサムネールとの間の関連を確立し前記ソース・ウィンドウの前記コンテンツの少なくとも一部が前記サムネールの中に引き込まれるようにするステップと、
    サイズ・パラメータを受け取り、前記サイズ・パラメータに対応するサイズにおいて前記ソース・ウィンドウを記憶するステップと、
    前記ソース・ウィンドウと前記宛先ウィンドウとの間の関連を表す一意的なハンドルを受け取るステップと、
    を含むことを特徴とする方法。
  17. 請求項15記載のコンピュータ可読媒体において、前記修正するステップは、
    前記ソース・ウィンドウの少なくとも一部を定義する第1のパラメータに基づき、前記宛先ウィンドウに引き込まれる前記ソース・ウィンドウの少なくとも一部を決定するステップと、
    前記サムネールを定義する第2のパラメータに基づき、コンテンツをレンダリングする前記宛先ウィンドウの少なくとも一部を決定するステップと、
    制御値を受け取り、前記制御値の値に基づいて前記サムネールの不透明性(opacity)を設定するステップと、
    ブール値(Boolean value)を受け取り、前記ブール値に基づいて前記サムネールを不可視的にするステップと、
    を更に含むことを特徴とするコンピュータ可読媒体。
  18. 請求項15記載のコンピュータ可読媒体において、前記ソース・ウィンドウと前記サムネールとの間の関連を表す一意的なハンドルを削除するステップを含む前記サムネールを登録解除するステップを実行するコンピュータ実行可能な命令を更に含むことを特徴とするコンピュータ可読媒体。
  19. 表示装置にウィンドウを表示するシステムであって、
    修正が可能なコンテンツを含むソース・ウィンドウと前記ソース・ウィンドウに対応する宛先ウィンドウとを表示するディスプレイと、
    宛先ウィンドウの中にあり前記ソース・ウィンドウの少なくとも一部と対応するサムネールを登録するマネジャであって、前記登録するステップは、
    前記ソース・ウィンドウのためのウィンドウ・ハンドルを受け取るステップと、
    前記ソース・ウィンドウと前記サムネールとの間の関連を確立し前記ソース・ウィンドウの前記コンテンツの少なくとも一部が前記サムネールの中に引き込まれるようにするステップと、
    前記ソース・ウィンドウに対応するサイズ・パラメータを受け取り、前記サイズ・パラメータに対応するサイズにおいて前記ソース・ウィンドウを記憶するステップと、
    前記ソース・ウィンドウと前記サムネールとの間の関連を表す一意的なハンドルを受け取るステップと、
    を含むマネジャと、
    前記ソース・ウィンドウのコンテンツを修正して、前記サムネールの対応する部分において表示するプロセッサであって、前記修正するステップは、
    前記ソース・ウィンドウの少なくとも一部を決定する第1のパラメータに基づいて前記サムネールの中に引き込む前記ソース・ウィンドウの少なくとも一部分を決定するステップと、
    前記宛先ウィンドウの少なくとも一部を定義する第2のパラメータに基づいてレンダリングされる前記サムネールを決定するステップと、
    制御値を受け取り、前記制御値の値に基づいて前記サムネールの不透明性を設定するステップと、
    ブール値(Boolean value)を受け取り、前記ブール値に基づいて前記サムネールを不可視的にするステップと、
    を含む、プロセッサと、
    を含むことを特徴とするシステム。
  20. 請求項19記載のシステムにおいて、前記マネジャは、更に、前記サムネールを登録解除し、前記登録解除は前記ソース・ウィンドウと前記サムネールとの間の関連を除去することを含むことを特徴とするシステム。
JP2008507639A 2005-04-22 2005-08-25 ウィンドウ・マネジャにおけるライブ・ウィンドウのサムネールを操作するインターフェース及びシステム Active JP4981032B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/111,983 2005-04-22
US11/111,983 US7673255B2 (en) 2005-04-22 2005-04-22 Interface and system for manipulating thumbnails of live windows in a window manager
PCT/US2005/030314 WO2006115531A1 (en) 2005-04-22 2005-08-25 Interface and system for manipulating thumbnails of live windows in a window manager

Publications (3)

Publication Number Publication Date
JP2008538631A true JP2008538631A (ja) 2008-10-30
JP2008538631A5 JP2008538631A5 (ja) 2010-05-06
JP4981032B2 JP4981032B2 (ja) 2012-07-18

Family

ID=37188582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008507639A Active JP4981032B2 (ja) 2005-04-22 2005-08-25 ウィンドウ・マネジャにおけるライブ・ウィンドウのサムネールを操作するインターフェース及びシステム

Country Status (12)

Country Link
US (3) US7673255B2 (ja)
EP (2) EP2474901B1 (ja)
JP (1) JP4981032B2 (ja)
KR (1) KR101278771B1 (ja)
BR (1) BRPI0520186B1 (ja)
CA (1) CA2605601C (ja)
ES (1) ES2634676T3 (ja)
MX (1) MX2007013102A (ja)
MY (1) MY147084A (ja)
RU (2) RU2409833C2 (ja)
TW (2) TWI394052B (ja)
WO (1) WO2006115531A1 (ja)

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7813954B1 (en) * 2001-12-14 2010-10-12 Keen Personal Media, Inc. Audiovisual system and method for displaying segmented advertisements tailored to the characteristic viewing preferences of a user
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US7600190B2 (en) * 2005-11-15 2009-10-06 Mitac Technology Corp. Window switching method and system
US20070136678A1 (en) * 2005-11-23 2007-06-14 Brown Michael W Software process and method that allows a computer program to run in memory, but display as a digital graphic or text window
US9817831B2 (en) * 2005-12-30 2017-11-14 Microsoft Technology Licensing, Llc Monetization of multimedia queries
US7620905B2 (en) * 2006-04-14 2009-11-17 International Business Machines Corporation System and method of windows management
US20070245250A1 (en) * 2006-04-18 2007-10-18 Microsoft Corporation Microsoft Patent Group Desktop window manager using an advanced user interface construction framework
US8683362B2 (en) * 2008-05-23 2014-03-25 Qualcomm Incorporated Card metaphor for activities in a computing device
US8893038B2 (en) * 2006-10-03 2014-11-18 International Business Machines Corporation Graphical association of task bar entries with corresponding desktop locations
JP2008147838A (ja) * 2006-12-07 2008-06-26 Sony Corp 画像処理装置、画像処理方法、およびプログラム
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
JP4772708B2 (ja) * 2007-01-29 2011-09-14 コニカミノルタビジネステクノロジーズ株式会社 制御装置及び制御方法並びに制御プログラム
EP1983414A1 (en) * 2007-04-19 2008-10-22 Research In Motion Limited Multiple display window handling
CN101675652A (zh) * 2007-04-26 2010-03-17 诺基亚公司 在移动通信终端中用于不同模式之间切换的改进的方法和装置
US7941749B2 (en) * 2007-05-15 2011-05-10 Microsoft Corporation Composition of electronic document layout
US20090037817A1 (en) * 2007-07-30 2009-02-05 Christopher Lee Bennetts Source and preview panes for media content
US20090049409A1 (en) * 2007-08-15 2009-02-19 Archos Sa Method for generating thumbnails for selecting video objects
US8024670B1 (en) * 2007-10-30 2011-09-20 Intuit Inc. Workflow management using live thumbnails
US20090144648A1 (en) * 2007-12-04 2009-06-04 Google Inc. Tabbed windows for viewing multimedia programs
TWI356337B (en) 2007-12-26 2012-01-11 Htc Corp A user interface of electronic apparatus
US8555193B2 (en) * 2008-01-17 2013-10-08 Google Inc. System for intelligent automated layout and management of interactive windows
US8490019B2 (en) * 2008-01-29 2013-07-16 Microsoft Corporation Displaying thumbnail copies of each running item from one or more applications
US20090199127A1 (en) * 2008-01-31 2009-08-06 Microsoft Corporation Previewing target display areas
US8839300B2 (en) 2008-02-19 2014-09-16 At&T Intellectual Property I, Lp Method and system for presenting electronic programming guides
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US20140033171A1 (en) * 2008-04-01 2014-01-30 Jon Lorenz Customizable multistate pods
TWI361377B (en) 2008-04-24 2012-04-01 Htc Corp Method for switching user interface, electronic device and recording medium using the same
US20090315900A1 (en) * 2008-06-23 2009-12-24 Microsoft Corporation Generic surface manager
US9030418B2 (en) * 2008-06-24 2015-05-12 Lg Electronics Inc. Mobile terminal capable of sensing proximity touch
US8499254B2 (en) * 2008-10-27 2013-07-30 Microsoft Corporation Surfacing and management of window-specific controls
US8819585B2 (en) * 2008-10-27 2014-08-26 Microsoft Corporation Child window surfacing and management
US8381131B1 (en) * 2009-01-22 2013-02-19 Amdocs Software Systems Limited System, method, and computer program for displaying tasks as interactive thumbnails for interaction therewith by a user
CN101504658B (zh) * 2009-01-23 2011-09-28 北京搜狗科技发展有限公司 一种实现多标签应用程序中进行消息交互的方法及系统
JP5419486B2 (ja) * 2009-02-10 2014-02-19 キヤノン株式会社 データ処理装置、データ処理方法、およびプログラム
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US8566044B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8427438B2 (en) * 2009-03-26 2013-04-23 Apple Inc. Virtual input tools
KR101601040B1 (ko) * 2009-05-19 2016-03-09 삼성전자주식회사 휴대 단말기의 화면 표시 방법 및 이를 지원하는 휴대 단말기
US20110099523A1 (en) * 2009-10-28 2011-04-28 Van Zee Pieter Product selection and management workflow
US9177298B2 (en) 2009-12-15 2015-11-03 International Business Machines Corporation Abbreviated user interface for instant messaging to minimize active window focus changes
US8698845B2 (en) * 2010-01-06 2014-04-15 Apple Inc. Device, method, and graphical user interface with interactive popup views
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
AU2015230769B2 (en) * 2010-04-07 2017-08-31 Apple Inc. Gesture based graphical user interface for managing concurrently open software applications
US9058186B2 (en) 2010-04-07 2015-06-16 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
US9823831B2 (en) 2010-04-07 2017-11-21 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
US9513801B2 (en) 2010-04-07 2016-12-06 Apple Inc. Accessing electronic notifications and settings icons with gestures
AU2015202565B2 (en) * 2010-04-07 2017-03-02 Apple Inc. Gesture based graphical user interface for managing concurrently open software applications
EP2385452A1 (en) * 2010-05-06 2011-11-09 Amadeus S.A.S. Computer navigation method
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
US8661369B2 (en) * 2010-06-17 2014-02-25 Lg Electronics Inc. Mobile terminal and method of controlling the same
US9612715B2 (en) * 2010-06-28 2017-04-04 International Business Machines Corporation Real-time preview of uniform resource identifier addressable dynamic content
US8866822B2 (en) 2010-09-07 2014-10-21 Microsoft Corporation Alternate source for controlling an animation
JP5635850B2 (ja) * 2010-09-16 2014-12-03 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理システムおよび情報処理方法
KR101685991B1 (ko) * 2010-09-30 2016-12-13 엘지전자 주식회사 이동 단말기 및 이동 단말기의 제어 방법
JP5440873B2 (ja) * 2010-09-30 2014-03-12 ブラザー工業株式会社 デバイス、及びプログラム
US9244606B2 (en) 2010-12-20 2016-01-26 Apple Inc. Device, method, and graphical user interface for navigation of concurrently open software applications
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
DE102010056603A1 (de) 2010-12-31 2012-07-05 Global IP Telecommunications Ltd. Verfahren zum Erweitern der grafischen Benutzeroberfläche in einem Datenverarbeitungssystem
US9423951B2 (en) 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
US20120185805A1 (en) * 2011-01-14 2012-07-19 Apple Inc. Presenting Visual Indicators of Hidden Objects
WO2012108714A2 (en) 2011-02-11 2012-08-16 Samsung Electronics Co., Ltd. Method and apparatus for providing graphic user interface in mobile terminal
KR101831641B1 (ko) * 2011-02-11 2018-04-05 삼성전자 주식회사 휴대 단말기의 gui 제공 방법 및 장치
US10631246B2 (en) * 2011-02-14 2020-04-21 Microsoft Technology Licensing, Llc Task switching on mobile devices
WO2012134479A1 (en) * 2011-03-31 2012-10-04 Hewlett-Packard Development Company, L.P. Augmenting user interface elements
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US20120272178A1 (en) * 2011-04-21 2012-10-25 Opera Software Asa Method and device for providing easy access in a user agent to data resources related to client-side web applications
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US8806369B2 (en) 2011-08-26 2014-08-12 Apple Inc. Device, method, and graphical user interface for managing and interacting with concurrently open software applications
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US20130067390A1 (en) * 2011-09-09 2013-03-14 Paul J. Kwiatkowski Programming Interface for Semantic Zoom
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US20130067412A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Grouping selectable tiles
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US20130067394A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Pointer invocable navigational user interface
US11301345B2 (en) * 2011-11-30 2022-04-12 Red Hat, Inc. Desktop sound source discovery
US20130155112A1 (en) * 2011-12-20 2013-06-20 Nokia Corporation Method, apparatus and computer program product for graphically transitioning between multiple program interface levels of a program
US9207837B2 (en) 2011-12-20 2015-12-08 Nokia Technologies Oy Method, apparatus and computer program product for providing multiple levels of interaction with a program
US9128605B2 (en) * 2012-02-16 2015-09-08 Microsoft Technology Licensing, Llc Thumbnail-image selection of applications
EP2847661A2 (en) 2012-05-09 2015-03-18 Apple Inc. Device, method, and graphical user interface for moving and dropping a user interface object
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
WO2013169845A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for scrolling nested regions
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
WO2013169875A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying content associated with a corresponding affordance
JP6082458B2 (ja) 2012-05-09 2017-02-15 アップル インコーポレイテッド ユーザインタフェース内で実行される動作の触知フィードバックを提供するデバイス、方法、及びグラフィカルユーザインタフェース
WO2013169854A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
KR101956082B1 (ko) 2012-05-09 2019-03-11 애플 인크. 사용자 인터페이스 객체를 선택하는 디바이스, 방법, 및 그래픽 사용자 인터페이스
KR101823288B1 (ko) 2012-05-09 2018-01-29 애플 인크. 제스처에 응답하여 디스플레이 상태들 사이를 전이하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
WO2013169851A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for facilitating user interaction with controls in a user interface
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
WO2013169846A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying additional information in response to a user contact
CN103455260B (zh) * 2012-05-30 2016-03-09 腾讯科技(深圳)有限公司 一种对列表中的区域进行移动操作的实现方法及装置
US9563715B2 (en) * 2012-07-08 2017-02-07 Htc Corporation Method for performing information monitoring control of at least one target division block of at least one web page with aid of at least one monitoring control server, and associated apparatus and associated monitoring system
CN103577176A (zh) * 2012-08-02 2014-02-12 腾讯科技(深圳)有限公司 视频独立播放的实现方法及实现该方法的移动终端设备
KR102183071B1 (ko) * 2012-12-06 2020-11-25 삼성전자주식회사 복수 어플리케이션을 실행하는 디스플레이 장치 및 그 제어 방법
EP2741192A3 (en) 2012-12-06 2016-09-14 Samsung Electronics Co., Ltd Display device for executing a plurality of applications and method for controlling the same
CN107831991B (zh) 2012-12-29 2020-11-27 苹果公司 用于确定是滚动还是选择内容的设备、方法和图形用户界面
CN104903834B (zh) 2012-12-29 2019-07-05 苹果公司 用于在触摸输入到显示输出关系之间过渡的设备、方法和图形用户界面
JP6138274B2 (ja) 2012-12-29 2017-05-31 アップル インコーポレイテッド ユーザインタフェース階層をナビゲートするためのデバイス、方法、及びグラフィカルユーザインタフェース
JP6093877B2 (ja) 2012-12-29 2017-03-08 アップル インコーポレイテッド 複数接触ジェスチャのために触知出力の生成を見合わせるためのデバイス、方法、及びグラフィカルユーザインタフェース
EP2939095B1 (en) 2012-12-29 2018-10-03 Apple Inc. Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
US9671926B2 (en) 2013-02-22 2017-06-06 Xiaomi Inc. Method and terminal device for displaying dynamic icon
CN103135987A (zh) * 2013-02-22 2013-06-05 北京小米科技有限责任公司 一种动态图标显示方法及装置
US9658740B2 (en) 2013-03-15 2017-05-23 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
KR102117937B1 (ko) * 2013-03-15 2020-06-02 엘지전자 주식회사 영상 표시 장치 및 그것의 제어 방법
US9477404B2 (en) 2013-03-15 2016-10-25 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
US10656800B2 (en) * 2013-03-29 2020-05-19 Microsoft Technology Licensing, Llc Visual configuration and activation
CN103226473B (zh) * 2013-04-08 2016-08-17 小米科技有限责任公司 一种整理图标的方法、装置和设备
TWI597659B (zh) * 2013-04-15 2017-09-01 晨星半導體股份有限公司 開啟顯示器前更新欲顯示內容的處理方法、模塊及其電子裝置
US10452222B2 (en) 2013-05-29 2019-10-22 Microsoft Technology Licensing, Llc Coordination of system readiness tasks
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
RU2589854C2 (ru) * 2013-06-13 2016-07-10 Олег Александрович Серебренников Система создания и отображения планов
US20150046812A1 (en) 2013-08-12 2015-02-12 Google Inc. Dynamic resizable media item player
KR20150032097A (ko) * 2013-09-17 2015-03-25 삼성전자주식회사 영상표시장치, 영상표시장치의 구동방법 및 영상표시방법
US10007810B2 (en) * 2013-10-05 2018-06-26 Excalibur Ip, Llc Alternate screen reveal for instant privacy
KR102192155B1 (ko) * 2013-11-12 2020-12-16 삼성전자주식회사 어플리케이션 정보를 제공하는 방법 및 장치
JP6241353B2 (ja) * 2014-04-01 2017-12-06 セイコーエプソン株式会社 双方向表示方法および双方向表示装置
GB2525198A (en) * 2014-04-15 2015-10-21 Ibm Controlling an application instance using a graphical user interface
CN104503693B (zh) 2014-11-28 2017-12-22 英业达科技有限公司 多段文件内容的选取方法
US10102664B1 (en) * 2014-12-03 2018-10-16 Charles Schwab & Co., Inc. System and method for causing graphical information to be rendered
US9645732B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US10048757B2 (en) 2015-03-08 2018-08-14 Apple Inc. Devices and methods for controlling media presentation
US10489013B2 (en) * 2015-03-17 2019-11-26 International Business Machines Corporation Intelligent taskbar shortcut menu for webpage control
US9785305B2 (en) 2015-03-19 2017-10-10 Apple Inc. Touch input cursor manipulation
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
KR20160141614A (ko) * 2015-06-01 2016-12-09 삼성전자주식회사 전자 장치, 저장 매체 및 전자 장치에서 데이터를 표시하는 방법
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9674426B2 (en) 2015-06-07 2017-06-06 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
AU2015405015A1 (en) 2015-07-31 2018-02-22 Eizo Corporation Display control device, display device, display system, and program
KR102519424B1 (ko) * 2015-09-25 2023-04-10 삼성메디슨 주식회사 초음파 이미지 디스플레이 방법 및 이를 위한 장치
US10133446B2 (en) 2016-03-23 2018-11-20 Microsoft Technology Licensing, Llc Content chase-ability for apps
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
US20180088565A1 (en) * 2016-08-22 2018-03-29 Fisher-Rosemount Systems, Inc. Operator Display Switching Preview
KR101873655B1 (ko) * 2016-11-30 2018-07-02 엘에스산전 주식회사 모니터링 화면 표시 방법
US10795532B1 (en) 2019-03-14 2020-10-06 International Business Machines Corporation Interactive graphical user interface thumbnail
CN110262720B (zh) * 2019-06-21 2021-06-08 网易(杭州)网络有限公司 浮窗的控制方法、装置、设备和存储介质
WO2021158706A1 (en) 2020-02-03 2021-08-12 Apple Inc. Cursor integration with a touch screen user interface
CN111610912B (zh) * 2020-04-24 2023-10-10 北京小米移动软件有限公司 应用显示方法、应用显示装置及存储介质
US11175807B1 (en) * 2021-02-03 2021-11-16 Adobe Inc. Intelligent contextual video thumbnail display
CN115705229A (zh) * 2021-08-06 2023-02-17 北京小米移动软件有限公司 显示控制方法和系统、移动终端、存储介质
US11983382B2 (en) 2022-06-13 2024-05-14 Illuscio, Inc. Systems and methods for generating three-dimensional menus and toolbars to control computer operation
US11579748B1 (en) * 2022-06-13 2023-02-14 Illuscio, Inc. Systems and methods for interacting with three-dimensional graphical user interface elements to control computer operation
US11886685B1 (en) 2022-10-20 2024-01-30 Stardock Corporation Desktop container peek interface
CN117348828A (zh) * 2023-09-27 2024-01-05 广东保伦电子股份有限公司 一种基于wpf的选择性投屏方法、系统、介质及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0580965A (ja) * 1991-09-25 1993-04-02 Nec Aerospace Syst Ltd ウインドウ表示認識方式
US20010028368A1 (en) * 1998-06-12 2001-10-11 Swartz Gregory J. System and method for iconic software environment management
JP2003099173A (ja) * 2001-09-21 2003-04-04 Canon Inc 表示画面制御装置
JP2003162355A (ja) * 2001-11-26 2003-06-06 Sony Corp タスクの表示切り替え方法及び携帯機器及び携帯通信機器

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4653020A (en) * 1983-10-17 1987-03-24 International Business Machines Corporation Display of multiple data windows in a multi-tasking system
US4651146A (en) * 1983-10-17 1987-03-17 International Business Machines Corporation Display of multiple data windows in a multi-tasking system
GB2191917A (en) * 1986-06-16 1987-12-23 Ibm A multiple window display system
JP2557358B2 (ja) * 1986-12-26 1996-11-27 株式会社東芝 情報処理装置
US5333256A (en) 1989-05-15 1994-07-26 International Business Machines Corporation Methods of monitoring the status of an application program
JPH0511962A (ja) * 1990-10-10 1993-01-22 Fuji Xerox Co Ltd ウインドウ管理装置
JP2957316B2 (ja) * 1990-11-20 1999-10-04 インターナショナル・ビジネス・マシーンズ・コーポレイション 複数のソフトウェア・アプリケーションにアクセスするための方法およびシステム
US5307086A (en) * 1991-10-08 1994-04-26 International Business Machines Corporation Method of implementing a preview window in an object oriented programming system
DE69315969T2 (de) * 1992-12-15 1998-07-30 Sun Microsystems Inc Darstellung von Informationen in einem Anzeigesystem mit transparenten Fenstern
US5412776A (en) * 1992-12-23 1995-05-02 International Business Machines Corporation Method of generating a hierarchical window list in a graphical user interface
US5499334A (en) * 1993-03-01 1996-03-12 Microsoft Corporation Method and system for displaying window configuration of inactive programs
US6040833A (en) * 1993-12-10 2000-03-21 International Business Machines Corp. Method and system for display manipulation of multiple applications in a data processing system
US5657463A (en) * 1994-01-19 1997-08-12 Apple Computer, Inc. Method and apparatus for positioning a new window on a display screen based on an arrangement of previously-created windows
AU2902395A (en) * 1994-06-17 1996-01-15 Intel Corporation Apparatus and method for application sharing in a graphic user interface
US5546528A (en) * 1994-06-23 1996-08-13 Adobe Systems Incorporated Method of displaying multiple sets of information in the same area of a computer screen
EP0717344B1 (en) * 1994-12-13 2001-10-31 Microsoft Corporation Taskbar with start menu
US6072488A (en) * 1995-05-05 2000-06-06 Apple Computer, Inc. Systems and methods for replacing open windows in a graphical user interface
US5675755A (en) * 1995-06-07 1997-10-07 Sony Corporation Window system preventing overlap of multiple always-visible windows
US5874960A (en) * 1995-07-05 1999-02-23 Microsoft Corporation Method and system for sharing applications between computer systems
US5712995A (en) * 1995-09-20 1998-01-27 Galileo Frames, Inc. Non-overlapping tiling apparatus and method for multiple window displays
JPH09128192A (ja) * 1995-10-26 1997-05-16 Brother Ind Ltd マルチ画面表示制御装置
US5880733A (en) * 1996-04-30 1999-03-09 Microsoft Corporation Display system and method for displaying windows of an operating system to provide a three-dimensional workspace for a computer system
US5841435A (en) * 1996-07-26 1998-11-24 International Business Machines Corporation Virtual windows desktop
JP3528451B2 (ja) 1996-07-26 2004-05-17 ソニー株式会社 電子番組ガイド表示制御装置及びその方法
US5892511A (en) * 1996-09-30 1999-04-06 Intel Corporation Method for assisting window selection in a graphical user interface
US6008809A (en) * 1997-09-22 1999-12-28 International Business Machines Corporation Apparatus and method for viewing multiple windows within a dynamic window
JP2000105655A (ja) * 1998-09-29 2000-04-11 Nec Software Kyushu Ltd ウィンドウ内容表示方法
US8595764B2 (en) * 1999-06-25 2013-11-26 Jlb Ventures, Llc Image-oriented electronic programming guide
US7028264B2 (en) * 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6724403B1 (en) * 1999-10-29 2004-04-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6724406B1 (en) * 1999-11-10 2004-04-20 International Business Machines Corporation Method of controlling web applications from redirecting a client to another web address
US6806892B1 (en) * 1999-12-20 2004-10-19 International Business Machines Corporation Layer viewport for enhanced viewing in layered drawings
US6606105B1 (en) * 1999-12-22 2003-08-12 Adobe Systems Incorporated Layer enhancements in digital illustration system
US20020163545A1 (en) * 2001-05-01 2002-11-07 Hii Samuel S. Method of previewing web page content while interacting with multiple web page controls
TW501072B (en) 2001-05-09 2002-09-01 Ulead Systems Inc Visualization process method of image file and image editor having visualization process function and the readable storage medium of computer to store program
WO2003025899A1 (en) 2001-09-14 2003-03-27 Genesys Telecommunications Laboratories, Inc. Patch navigation utilizing smart patches as tabs with real-time status icons in a universal agent desktop application
US7346855B2 (en) * 2001-12-21 2008-03-18 Microsoft Corporation Method and system for switching between multiple computer applications
US7010755B2 (en) * 2002-04-05 2006-03-07 Microsoft Corporation Virtual desktop manager
US7558318B2 (en) * 2002-06-11 2009-07-07 Sanyo Electric Co., Ltd. Method and apparatus for processing images, method and apparatus for recording and reproducing images, and television receiver utilizing the same
US7721216B2 (en) 2002-06-18 2010-05-18 Microsoft Corporation Visual group interface for group connectivity
JP2004219759A (ja) * 2003-01-15 2004-08-05 Chi Mei Electronics Corp 画像表示処理方法、画像表示処理装置、画像表示装置および画像表示処理システム
US7343567B2 (en) * 2003-04-25 2008-03-11 Microsoft Corporation System and method for providing dynamic user information in an interactive display
CA2527083C (en) * 2003-06-02 2011-04-26 Disney Enterprises, Inc. System and method of programmatic window control for consumer video players
US7757182B2 (en) * 2003-06-25 2010-07-13 Microsoft Corporation Taskbar media player
US7665031B2 (en) * 2004-12-08 2010-02-16 Microsoft Corporation Method and system of taskbar button interfaces
US7478326B2 (en) * 2005-01-18 2009-01-13 Microsoft Corporation Window information switching system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0580965A (ja) * 1991-09-25 1993-04-02 Nec Aerospace Syst Ltd ウインドウ表示認識方式
US20010028368A1 (en) * 1998-06-12 2001-10-11 Swartz Gregory J. System and method for iconic software environment management
JP2003099173A (ja) * 2001-09-21 2003-04-04 Canon Inc 表示画面制御装置
JP2003162355A (ja) * 2001-11-26 2003-06-06 Sony Corp タスクの表示切り替え方法及び携帯機器及び携帯通信機器

Also Published As

Publication number Publication date
CA2605601A1 (en) 2006-11-02
ES2634676T3 (es) 2017-09-28
US7673255B2 (en) 2010-03-02
BRPI0520186B1 (pt) 2017-11-21
TW201227349A (en) 2012-07-01
JP4981032B2 (ja) 2012-07-18
EP2474901A1 (en) 2012-07-11
WO2006115531A1 (en) 2006-11-02
US9733954B2 (en) 2017-08-15
KR20080002847A (ko) 2008-01-04
CA2605601C (en) 2012-08-21
RU2409833C2 (ru) 2011-01-20
KR101278771B1 (ko) 2013-06-25
TWI394052B (zh) 2013-04-21
TWI533147B (zh) 2016-05-11
EP1872194A1 (en) 2008-01-02
BRPI0520186A2 (pt) 2009-04-22
RU2010135599A (ru) 2012-02-27
MY147084A (en) 2012-10-31
US20100138773A1 (en) 2010-06-03
US20060242602A1 (en) 2006-10-26
EP2474901B1 (en) 2017-05-31
TW200638222A (en) 2006-11-01
MX2007013102A (es) 2008-01-14
RU2569802C2 (ru) 2015-11-27
US20170322818A1 (en) 2017-11-09
RU2007138968A (ru) 2009-04-27
EP1872194A4 (en) 2010-02-24
EP1872194B1 (en) 2017-04-26

Similar Documents

Publication Publication Date Title
JP4981032B2 (ja) ウィンドウ・マネジャにおけるライブ・ウィンドウのサムネールを操作するインターフェース及びシステム
US7453473B2 (en) Method and apparatus for high-performance rendering and hit testing of a window tree
EP3111318B1 (en) Cross-platform rendering engine
AU2005331259B2 (en) System and method for providing a window management mode
US6795089B2 (en) Dynamic, live surface and model elements for visualization and modeling
US7689926B2 (en) Selective window exclusion for captured content
US6873337B1 (en) Application programming interface for changing the visual style
US20040225960A1 (en) System for hosting graphical layout/presentation objects
US7716685B2 (en) Pluggable window manager architecture using a scene graph system
US20110219313A1 (en) Methods and Systems for Providing, by a Remote Machine, Access to a Desk Band Associated with a Resource Executing on a Local Machine
US7567253B2 (en) Mirror driver notification of device independent bitmap drawing calls
WO2018020647A1 (ja) 描画データ生成プログラム、描画データ生成装置、及び描画データ生成方法
CN112783596A (zh) 实现虚拟桌面多任务视图响应的操作系统、方法及介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080825

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110216

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110510

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110517

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110715

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110816

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110906

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120321

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120419

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4981032

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250