JP5184832B2 - 情報処理装置及びその制御方法、コンピュータプログラム - Google Patents

情報処理装置及びその制御方法、コンピュータプログラム Download PDF

Info

Publication number
JP5184832B2
JP5184832B2 JP2007186326A JP2007186326A JP5184832B2 JP 5184832 B2 JP5184832 B2 JP 5184832B2 JP 2007186326 A JP2007186326 A JP 2007186326A JP 2007186326 A JP2007186326 A JP 2007186326A JP 5184832 B2 JP5184832 B2 JP 5184832B2
Authority
JP
Japan
Prior art keywords
window
display
scrolling
area
size
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.)
Expired - Fee Related
Application number
JP2007186326A
Other languages
English (en)
Other versions
JP2009025920A5 (ja
JP2009025920A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007186326A priority Critical patent/JP5184832B2/ja
Priority to US12/170,994 priority patent/US8112716B2/en
Publication of JP2009025920A publication Critical patent/JP2009025920A/ja
Publication of JP2009025920A5 publication Critical patent/JP2009025920A5/ja
Priority to US13/345,230 priority patent/US9389746B2/en
Application granted granted Critical
Publication of JP5184832B2 publication Critical patent/JP5184832B2/ja
Expired - Fee Related 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/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

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)
  • Controls And Circuits For Display Device (AREA)

Description

本発明は、情報処理装置及びその制御方法、コンピュータプログラムに関する。
従来より、ユーザーインタフェースを伴う複数のアプリケーションを同時に実行可能な情報処理システムでは、各アプリケーションに対応するウィンドウを複数同時に表示でき、それぞれ独立したユーザーインタフェースとして機能させることができる。
また、このような場合に、情報処理システムは、以下のいずれかの方法により複数のウィンドウを表示することができる。まず、それぞれのウィンドウを表示するにあたり任意の位置に所定の優先順位の規則にしたがってウィンドウを重ねて表示する方法(オーバーラップ方式)がある。また、各ウィンドウが重ならないように並べて表示する方法(タイリングウィンドウ方式)がある。一般には限られた表示画面の中で表示効率を向上させる必要がある場合には、オーバーラップ方式の方が効果的である。
ここで、各ウィンドウの多くは、そのサイズ、位置をX方向、Y方向別々に、あるいは同時に変更することができる。上述のオーバーラップ方式を用いる場合は、ウィンドウが重なった結果として、完全に隠蔽されて見失ってしまうウィンドウがないように気を配りながらウィンドウを移動するなり、サイズ変更するなりして扱うことが必要となる。
また、複数アプリケーションが同時実行され、夫々に対応するウィンドウを同時表示する場合、情報処理装置の表示制御部は、その都度、優先すべきウィンドウ、又は、ユーザーがアクセスするために選択したウィンドウを最上層にして重ね表示する。最上層にあるウィンドウはすべて表示され、それ以外の層にあるウィンドウは、それぞれの重なり状態に基づいて表示される。
しかしながら、この状況において、下層に隠れているウィンドウに対してアクセスしたり、その内容を参照することが頻繁に起これば、所定のウィンドウ操作を行わなければならない。この所定のウィンドウ操作には、所望のウィンドウを最上層にもってくる、目当てのウィンドウよりも上層に置かれているウィンドウのサイズを小さくしたり、場所を移動させる、といった操作が含まれる。
一般にウィンドウのサイズを変更する場合(例えば、縮小する場合)、サイズ変更前の表示内容を全て同ウィンドウ内に表示することは困難となる。そのため、優先されるべき一部のみを表示することとなる。また、このように優先されるべき部分を決定する手順は自動的にあるいは手動で行なわれる。
ウィンドウのサイズ変更は、ウィンドウの辺の部分をドラッグして移動させたり、ウィンドウの角の部分をドラッグして移動させたりして行う。ウィンドウの位置の移動は、上記サイズ変更に使われない特定の領域をドラッグすることによって行われる。
ウィンドウサイズを変更する場合、そのウィンドウの種類ごとに予め用意された仕様があり、その仕様に基づいてサイズ変更時の表示制御がなされる。具体的には、辺のドラッグや角部のドラッグなどを行なってサイズ変更する際にドラッグに伴って表示内容も移動する仕様がある。また、ドラッグにかかわらず表示内容は移動させない仕様がある。更には、ドラッグに対して所定の比率を持たせて移動するか、又は、表示内容を縮小したり、表示内容を変形したりする仕様がある。
これらの仕様は、ウィンドウの種類ごとに、あるいは、一つのウィンドウおいてもそのドラッグする場所ごとに、それぞれ予め定められている。なお、本明細書では、ウィンドウの表示内容が、ウィンドウのサイズ変更に伴って移動することを「スクロールする」ということとする。
ここで、ウィンドウのサイズ変更における一般的な表示制御方法に関して、説明する。
図21は、表示装置上に表示されるウィンドウの構成を示す図である。図21は、横書きの文書を表示するウィンドウを示している。図22、図23は、横書きのドキュメント、横書きの表、左から右に向かって進むツリー状の図などを表示することが目的のウィンドウにおけるサイズ変更において、一般的に多く見られるような表示制御方法を説明している。
図22の(a)乃至(d)は、図21のウィンドウについて、夫々4辺のうちの何れかの辺をドラッグして移動させることによってウィンドウのサイズを変更する場合を示す図である。
一般に、4辺のうち右側の辺、あるいは下側の辺を移動させてサイズ変更する場合には、移動される辺に対向する辺付近の表示内容は変更されず、移動される辺付近の表示内容が変更される。図22の(a)や(c)では、右辺、下辺を移動させてウィンドウサイズを縮小する場合を示しているが、この場合は、該辺付近の表示内容が徐々に隠蔽されていく。
また、4辺のうち左側の辺、あるいは下側の辺を移動させてウィンドウサイズ変更する場合には、移動される辺付近の表示内容は変更されず、移動される辺に対向する辺の表示内容が変更される。図22の(b)や(d)では、左辺、上辺を移動させてウィンドウサイズを縮小する場合を示しているが、この場合は、対向する右辺、下辺付近の表示内容が徐々に隠蔽されていく。
図23の(a)乃至(d)は、図21のウィンドウについて、ウィンドウの角部をドラッグして移動させることによってウィンドウのサイズ変更する場合を示す図である。なお、ウィンドウの角部とは、ウィンドウを構成する各辺の交点部分をいう。
図23の(a)乃至(d)に示すように、ウィンドウの左上、右上、左下、右下の角部をドラッグしてウィンドウのサイズ変更する場合、左上角部付近の表示内容は変更されず、それ以外の角部付近の表示内容が徐々に隠蔽されていく。
図22及び図23に示す表示制御の考え方は、基本的にウィンドウの表示内容の左方向、上方向を優先的に表示するというものである。これは横書きの言語で右方向に書き進み、下方向に改行する記述方法において、各文の先頭文字、各ページの先頭行を優先的に表示するという考え方に基づくものである。
従って、このような表示制御は特に、横書きのドキュメント、横書きの表、左から右に向かって進むツリー状の図などを専ら表示する目的のウィンドウに多く見られる。一方、多くの作図機能、一般図の表示などを目的としたウィンドウなどは、必ずしもこの限りではなく、ウィンドウの種類ごとにそれぞれ異なった仕様が予め定められている。
多くのウィンドウサイズ変更に関する仕様においては、普通にサイズ変更の作業をすれば、優先すべき内容が自然に表示位置に来るように考えられている。しかしながら、必ずしもユーザーが求めている部分が常に表示位置に移動して来るわけではなく、場合によっては、サイズ変更後に表示内容の位置を個別にずらすという作業が必要となる。
多くのウィンドウの場合には、表示内容の位置をずらすためにスクロールバーが備わっている。一般には、このスクロールバーを操作することで、表示させたい、あるいはアクセスしたいとユーザーが思っている箇所を、ウィンドウ内に移動させることができる。
ウィンドウの所定の部分をドラッグするなどしてウィンドウのサイズを変更する操作を改善する発明は特許文献1や、特許文献2に開示されている。
一方、ある種のウィンドウでは、関連するウィンドウが重複表示によって見づらくなることを防止するため、あるいは関連するウィンドウの対応関係を混乱させないために、互いに所定の仕様で定義される一つの親子ウィンドウを構成する場合もある。
ウィンドウサイズの変更を行なった場合の、親ウィンドウと子ウィンドウの関係を制御する方法に関する発明は、特許文献3や特許文献4に開示されている。
特許第2765615号公報 特許第3431795号公報 特開平9−185480号公報 特許第3586351号公報
ウインドウのサイズを変更(特にウィンドウを縮小)して所望の部分を優先的に表示させるためには、ウィンドウの種類ごとに予め定められた表示制御の仕様の恩恵にあずかったとしても限度がある。また、多くの場合、サイズ変更後に表示内容を所定方向に所定量スクロールしなければならないというように、二つの作業を段階的に行わなう必要がある。このことは、コンピューターで様々な作業をする上で非効率であり、その分、生産性が下がることとなる。
そこで本発明は、ウィンドウのサイズ変更において、サイズ変更の操作の中で所望の優先する部分を所定の場所に持ってくる作業を任意に、かつ、サイズ変更と同時並行的に、かつ、直感的に行える技術を提供することを目的とする。
上記課題を解決するための本発明は、情報処理装置であって、
辺と角部を含むように構成され、前記辺の少なくとも1つが、第1の領域と第2の領域とを有するウィンドウを表示する表示手段と、
前記ウィンドウ内に表示された内容のスクロールを伴うウィンドウサイズ変更を行うか、前記ウィンドウ内に表示された内容のスクロールを伴わないウィンドウサイズ変更行うかを示す指示を受け付ける受付手段と、
前記受付手段が、前記ウィンドウを構成する辺が有する第1の領域を利用した操作による指示を受け付けた場合には、前記ウィンドウ内に表示された内容のスクロールを伴うウィンドウサイズ変更を行うように前記表示手段を制御し、
前記受付手段が、前記ウィンドウを構成する辺が有する第2の領域を利用した操作による指示を受け付けた場合には、前記ウィンドウ内に表示された内容のスクロールを伴わないウィンドウサイズ変更を行うように前記表示手段を制御する表示制御手段とを備えることを特徴とする。
本発明によれば、ウィンドウのサイズ変更において、サイズ変更の操作の中で所望の優先する部分を所定の場所に持ってくる作業を任意に、かつ、サイズ変更と同時並行的に、かつ、直感的に行える技術を提供することができる。
以下、添付の図面を参照して発明の実施形態を説明する。
本発明は、ウィンドウを構成する構成要素(辺、角部、境界枠等)をドラッグ移動させてウィンドウのサイズを変更する際に、ウィンドウの表示内容がドラッグに伴ってスクロールするか否かを、ドラッグと同時並行的に任意に制御する技術を提案する。
本発明においては、具体的に下記の3つの制御技術を提案する。
第1の制御技術は、主としてウィンドウの辺の部分をドラッグして移動させることにより、ウィンドウのサイズ変更を行なう場合を対象とする。ここでは、移動にともなうカーソルの動きの方向成分のなかでサイズ変更に直接に関わらない方向成分を制御に用いる点に特徴がある。対応する実施形態では、ウィンドウの各辺に二種類の領域を作り、ドラッグしながらその領域を選択することによりドラッグと同時並行的にスクロールの有無を制御可能とする。
第2の制御技術は、ドラッグ移動する際に、操作部に備わるドラッグのためのボタン以外の他のボタンを操作することによってスクロールの有無を制御する点に特徴がある。この技術は、角部をドラッグする場合にも、辺の部分をドラッグする場合にも適用できる。
第3の制御技術は、第1の制御技術と第2の制御技術を連携させて制御を行う。ここでは、複数のサブウィンドウからなるウインドウにおいて、サブウィンドウの境界枠をドラッグしてサブフレームのサイズ変更を行う。複数のサブウィンドウからなるウィンドウの場合、各境界枠は独立して制御されるので、多くのサブフレームからなるウィンドウにも適用できる。
[第1の実施形態]
以下、発明の第1の実施形態について説明する。本実施形態は、上記の第1の制御技術に関する実施形態を説明するものである。
図1aに本発明を実施するための情報処理装置のハードウェア構成の一例を示す。図1aにおいて、CPU101は、HD(ハードディスク)103に格納されているOS、アプリケーションプログラム等を実行し、RAM102にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。RAM102は、CPU101の主メモリ、ワークエリア等として機能する。HD103は、アプリケーションプログラム、ドライバプログラム、OS、制御プログラム、本実施形態に対応する処理を実行するための処理プログラム等を格納している。
表示部104は、操作部109から入力したコマンドに応じた情報や外部から取得した情報等を表示する。表示部104は、CRT型、液晶型、PDP型、SED型、有機EL型のいずれの表示方式を採用するものであってもよい。該表示部104は、また本実施形態に対応するウィンドウの表示を行う。ネットワークインターフェイス(以下、I/Fという)105は、ネットワーク11に接続するための通信インターフェイスである。ROM106には、基本I/Oプログラム等のプログラムを記憶する。
外部記憶ドライブ107は、メディア108に記憶されたプログラム等を本コンピュータシステムにロードすることができる。記録媒体としてのメディア108は、所定のプログラムおよび関連データを格納する。操作部109は、本装置の操作者からの操作受付、指示受付を行うためのユーザインタフェースであり、キーボードやマウス、電子ペン等で構成される。システムバス110は、装置内のデータの流れを司るものである。
なお、操作部109の一例としてのマウス、電子ペン及びタブレットは、例えば図1b及び図1cに示すような構成を有することができる。この場合、マウスやタブレットは、USB接続を利用して情報処理装置100と接続し、操作部109として機能することができる。
操作部109の一部を図1bに示すようなマウス120により構成することができる。マウス120は、左ボタン121と右ボタン122を有している。また、不図示であるが、マウス120の裏面には、ボールを用いた機械的機構や光学センサを用いた光学式機構を利用したマウス120の移動量及び移動方向を検知するための構造が備わっている。
また、操作部109の一部を図1cに示すような電子ペン130とタブレット140により構成することができる。電子ペン130は、ペン先に先端スイッチ131を備えると共に、側面にサイドスイッチ132を備えることができる。先端スイッチ131はマウス120の左ボタン121に対応し、サイドスイッチ132はマウス120の右ボタン121に対応する。また、先端スイッチ131はタブレット140に押しつけることにより押下状態とすることができる。サイドスイッチ132は操作者の指で押さえることにより押下状態とすることができる。
タブレット140は、感圧式或いは静電式の接触センサを備え、電子ペン130の先端部が押しつけられた場合に、電子ペン130の位置を検出することができる。また、先端が押しつけられた状態で電子ペン130が移動した場合には、移動方向、移動量を検知することができる。なお、タブレット140は表示部104と一体化されていてもよい。
次に、図2を参照して発明の実施形態に対応するウィンドウの構成例を説明する。図2は、発明の実施形態に対応するウィンドウの構成の一例を示す図である。
図2において、ウィンドウ200は矩形形状を有し、上辺201、下辺202、左辺203、右辺204の4辺で構成されている。また、ウィンドウ200は、4つの角部207、角部208、角部209、及び、角部210を有する。角部207は上辺201と左辺203との交点として、角部208は左辺203と下辺202との交点として、角部209は下辺202と右辺204との交点として、角部210は右辺204と上辺201との交点として、それぞれ構成される。
本実施形態において各辺は、第1の領域と第2の領域との2種類の領域に分割されている。具体的に、第1の領域は辺の中央を含むように配置され、第2の領域は辺の端部を含み、かつ、第1の領域を挟むように配置されている。例えば、上辺201では、辺の端部を含む第2の領域201bに挟まれるように辺の中央を含む第1の領域201aが配置されている。
なお、第1の領域と第2の領域との分割方法は、各辺を均等に3分割してもよいし、均等に3分割した長さに対し第1の領域を若干長く或いは短く調整したものでもよい。本実施形態では、一例として均等に3分割した場合を説明する。
また、ウィンドウ200は、タイトルバー205と表示領域206を含んでいる。タイトルバー205には、表示領域206に表示されている内容に対応する情報が表示される。例えば、文書データを表示している場合にはタイトルバー205に文書名が表示される。表示領域206には、表示対象のデータの内容が表示される。文書ファイルであれば対応する文書の内容が表示され、画像や図形ファイルであれば対応する画像や図形情報が表比される。
本実施形態では、ウィンドウの4辺のいずれかを操作部109の操作に基づいてドラッグして、選択された辺を該辺の直交方向に移動させることによりウィンドウのサイズを変更することができる。即ち、本実施形態において、ドラッグ操作は、ウィンドウサイズの変更指示操作に相当する。そして、以下に具体的に説明するように、該ウィンドウのサイズの変更指示受付を、該ウィンドウ内の表示内容のスクロールを行うか否かのスクロール指示受付を含めて行う点に、本発明の特徴がある。
なお、本実施形態において、「ドラッグ」とは以下に説明する概念を表す用語として使用する。まず、操作部109として図1bに示すマウスをマイクロソフトウィンドウズ(登録商標)のデフォルト設定で利用する場合を考える。この場合、表示部104上の画面に表示されているカーソルの表示位置は、マウス120の移動に対応して制御される。そして、カーソルが選択対象上に位置した状態で左ボタン121が押下されると選択対象が選択された状態となるが、この状態でマウス120を移動させて、カーソル移動を行わせることを、本実施形態では「ドラッグ」するという。
また、操作部109として図1cに示す電子ペン130とタブレット140を利用する場合を考える。この場合、表示部104上の画面に表示されているカーソルの表示位置は、タブレット140に押しつけられた電子ペン130の位置に対応して制御される。そして、選択対象の表示位置に対応する位置で電子ペン130がタブレット140に押しつけられた場合に、選択対象が選択された状態となる。そして、この状態で電子ペン130をタブレット140上を移動させて、カーソル移動を行わせることを、本実施形態では「ドラッグ」するという。
図3(a)乃至(d)は、図2の表示状態において、カーソルをウィンドウの上辺201、下辺202の第1の領域又は第2の領域に合わせてドラッグした場合の、本実施形態に対応する表示例を示す図である。また、図4(a)乃至(d)は、図2の表示状態において、カーソルをウィンドウの左辺203、右辺204の第1の領域又は第2の領域に合わせてドラッグした場合の、本実施形態に対応する表示例を示す図である。なお、各図において点線で示す枠は、変形前の図2のウィンドウ200に対応する枠を示している。
図3(a)、(c)、図4(a)、(c)に示すように、カーソルが第1の領域(201a、202a、203a、204a)にある場合にドラッグが行われると、カーソルが合わされた辺(第1の辺)の付近の表示内容は変更されない。一方、カーソルが合わされた辺(第1の辺)に対向する辺(第2の辺)の付近の表示内容が該第2の辺により順々に隠蔽されるように表示内容が変更される。
図3(a)、(c)、図4(a)、(c)では、辺の移動に合わせて、あたかも表示内容が移動しているかのように考えることもできる。このような表示内容の変更を、本実施形態では「スクロールを伴うサイズ変更」と呼ぶ。また、表示領域206の表示内容が辺の移動に合わせて移動表示される状態を「スクロールを伴う」、「表示内容がスクロールされる」或いは「表示内容をスクロールする」と呼ぶことにする。
また、図3(b)、(d)、図4(b)、(d)に示すように、カーソルが第2の領域(201b、202b、203b、204b)にある場合にドラッグが行われると、カーソルが合わされた辺(第1の辺)の付近の表示内容が変更される。具体的には、該第1の辺により順々に隠蔽されるように表示内容が変更される。一方、カーソルが合わされた辺(第1の辺)に対向する辺(第2の辺)の付近の表示内容は変更されない。
図3(b)、(d)、図4(b)、(d)では、辺の移動に対し、あたかも表示内容が固定されているかのように考えることもできる。このような表示内容の変更を、本実施形態では「スクロールを伴わないサイズ変更」と呼ぶ。また、表示領域206の表示内容が表示画面全体に対して固定的に表示される状態を「スクロールを伴わない」、「表示内容がスクロールされない」或いは「表示内容をスクロールしない」と呼ぶことにする。
また、本実施形態では、上述の「スクロールを伴うサイズ変更」と「スクロールを伴わないサイズ変更」とを連続するドラッグ動作の中で、サイズ変更中に実行することができる。即ち、連続した一回のドラッグにおいて、スクロールを伴うサイズ変更とスクロールを伴わないサイズ変更とをリアルタイムで切り替えることを可能とし、これにより表示位置を調整しながらウィンドウサイズを変更することができる。
以下、図5a及び図5bを参照して、スクロールを伴うサイズ変更とスクロールを伴わないサイズ変更との切替について説明する。図5a及び図5bは、本実施形態に対応する、当該切替を説明するための図である。
ここでは図5aに示すように、ウィンドウの左辺203をドラッグして、左辺203を矢印501の方向(右方向)に移動させることにより、ウィンドウ200のサイズを小さくする場合を考える。なお、ウィンドウ200の横方向と縦方向は、ウィンドウ200が表示される表示画面に設定されるXY座標系502のX方向とY方向に一致する。
図5bは、一回のドラッグにおいて連続的にカーソルの位置P(Px、Py)を、P0→P1→P2→P3、或いは、P5→P6→P7→P8と変化させる様子を表現したものである。なお、P(Px、Py)は、表示画面に設定されたXY座標系502に基づく座標値である。
図5bにおいて、左辺203の長さをLy、ドラッグされる左辺203の下端に相当する角部208の位置をC(Cx、Cy)とする。ここで、Cxは左辺203のX方向における位置に相当する。また、ウィンドウ200の表示領域206における任意の表示内容の位置をQ(Qx、Qy)とする。なお、各座標は上述のXY座標系502に基づく。
左辺203をドラッグして移動させている間は、左辺203のX方向の位置はカーソル位置のX成分に追従するので(Y成分には無関係であるので)、
Cx=Px ・・・(式1)
と表すことができる。
ここで、式1より、ドラッグ中であればカーソルは必ず左辺上にあるので、カーソルが第1の領域にある条件は
Ly/3≦Py−Cy≦2Ly/3
である。同様に、カーソルが左辺203の第2の領域203bに位置する条件は、
0<Py−Cy<Ly/3、又は、2Ly/3<Py−Cy<Ly
である。
従って、カーソルが第2の領域にある際にドラッグ操作がなされ、スクロールを伴わないサイズ変更が行われる場合は、点Qに関連して、以下のように表現することができる。
ΔQx=0 ・・・(式2)
なお、ΔQxは、スクロールを伴わないサイズ変更開始時のQxと、該サイズ変更によるウィンドウサイズ変更後のQxとの差分を表す。
同様に、カーソルが第1の領域にある際にドラッグ操作がなされ、スクロールを伴うサイズ変更が行われる場合は、位置Qに関連して、以下のように表現することができる。
ΔQx=ΔCx=ΔPx ・・・(式3)
なお、ΔQxは、スクロールを伴うサイズ変更開始時のQxと、該サイズ変更によるウィンドウサイズ変更後のQxとの差分を表す。同様に、ΔCx及びΔPxは、スクロールを伴うサイズ変更開始時のCx及びPxと、該ウィンドウサイズ変更後のCx及びPxとの差分をそれぞれ表す。なお、当該差分は、ウィンドウ200のX方向における変形量に相当する。
以上を図5bに適用して考えると、カーソル位置がP0からP1、P2からP3の場合は、カーソルは第2の領域203bに属するので、ΔQx=0であり、スクロールを伴わないサイズ変更が行われる。また、カーソル位置がP1からP2の場合は、カーソルは第1の領域203aに属するので、ΔQx=ΔPxであり、スクロールを伴うサイズ変更が行われる。
すなわち、ドラッグがP0で始まってドラッグが継続したままカーソルがP3まで移動する間に、ウィンドウ200の左辺203の位置がカーソルのX成分したがってC0からC3まで移動し、これによってウィンドウサイズが変更される。その間、カーソルのY方向の変化に伴い、同時並行的に「スクロールを伴うサイズ変更」と「スクロールを伴わないサイズ変更」とが行われている。
また、カーソル位置をP5→P6→P7→P8のように移動させてサイズを大きくする場合も同様である。即ち、カーソル位置がP5からP6、P7からP8の場合は、カーソルは第2の領域203bに属するので、ΔQx=0であり、スクロールを伴わないサイズ変更が行われる。また、カーソル位置がP6からP7の場合は、カーソルは第1の領域203aに属するので、ΔQx=ΔPxであり、スクロールを伴ったサイズ変更が行われる。
すなわち、ドラッグがP5で始まってドラッグが継続したままカーソルがP8まで移動する間に、ウィンドウ200の左辺203がカーソルのX成分したがってC3からC0まで移動し、これによってウィンドウサイズ変更される。その間、カーソルのY方向の変化に伴い、同時並行的に「スクロールを伴うサイズ変更」と「スクロールを伴わないサイズ変更」とが行われている。
なお、図5bでは、左辺203をドラッグする場合を一例として採り上げたが、上下右辺(201、202及び204)をドラッグする場合も同様である。
次に、図6のフローチャートを参照して、上述のウィンドウサイズの変更処理の流れを説明する。図6は、第1の実施形態に対応するウィンドウサイズの変更処理の一例を示すフローチャートである。図6のフローチャートに対応する処理は、HD103に格納された対応する処理プログラムをRAM102に読み出して、CPU101が実行し、各構成要素を制御することにより実現されるものである。
なお、図6では、ウィンドウ200の左辺203をドラッグしてウィンドウサイズを変更する場合について記載しているが、発明の実施形態は、左辺203をドラッグする場合に限定されるものではない。即ち、上辺201、下辺202、右辺204をドラッグしてウィンドウサイズを変更する場合も、図6と同様の処理により実施することができる。
ステップS601において、操作部109のマウス120又は電子ペン130の第1ボタンの操作情報(第1の指示操作の情報)と、マウス120又は電子ペン130の移動方向及び移動量の情報(移動情報)とを取得する。ここで、第1ボタン(第1操作部)は、マウス120の場合には、マイクロソフトウィンドウズ(登録商標)のデフォルト設定であれば、左ボタン121が相当する。また、電子ペン130の場合には、ペン先の先端スイッチ131が相当する。
次に、ステップS602では、ステップS601において取得した第1ボタンの操作情報に基づいて、第1ボタンがOFF状態からON状態に変化したか否かを判定する。もし、ON状態に変化したと判定された場合には(ステップS602において「YES」)、ステップS603に移行する。一方、ON状態に変化せずOFF状態のままと判定された場合には(ステップS602において「NO」)、ステップS601に戻って、処理を継続する。
ステップS603では、ステップS601において取得した移動量情報から、カーソルの位置座標(カーソル位置座標)を算出し、ウィンドウ200のいずれの辺上に位置するか否かを判定する。ここでの判定は、ウィンドウ200を構成する辺の第1の領域及び第2の領域に基づき設定される所定領域内に、カーソル位置座標が含まれるか否かで判定することができる。
もし、カーソルがウィンドウ200の左辺203上に位置すると判定された場合には(ステップS603において「左辺」)、左辺203のドラッグが開始されたと判定することができる。この場合には、ステップS604に移行する。一方、他の辺上(上辺201、下辺202、右辺204のいずれか上)にカーソルが位置する場合には(ステップS603において「他辺」)、他辺のドラッグが開始されたと判定することができる。この場合には、ステップS605に移行する。ステップS605では、他辺のドラッグによるウィンドウサイズの変更処理を行う。
ステップS604では、ドラッグ開始されたウィンドウについて、図5aに示すようにドラッグ開始時のカーソル位置座標P(Px、Py)を決定する。また、図5bに示すような、左辺203の下端の角部208の位置C(Cx、Cy)及び、任意の表示内容の位置Q(Qx、Qy)についても、併せて決定する。
次に、ステップS606では、第1ボタンの操作情報と移動量情報とを更に取得すると共に、カーソル位置座標P(Px、Py)を移動量情報に基づき更新する。続くステップS607では、第1ボタンのON状態が継続しているか否かを判定する。もし、第1ボタンのON状態が継続せず、OFF状態となった場合には(ステップS607において「NO」)、本処理を終了する。この場合、いわゆる「ドロップ」が行われたこととなる。
一方、ON状態が継続している場合には(ステップS607において「YES」)、ステップS608に移行する。ステップS608では、ウィンドウ200の左辺203のX方向の位置(Cx)を、ステップS606において更新されたカーソル位置座標のうち、X方向の成分(Px)に一致させる。これにより、左辺203の位置がカーソルのX方向の移動に追従することとなる。
次に、ステップS606において更新されたカーソル位置座標に基づいて、カーソルが第1の領域に位置するか否かを判定する。もし、第1の領域に位置すると判定された場合には(ステップS609において「YES」)、ステップS610に移行する。一方、第2の領域に位置すると判定された場合には(ステップS609において「NO」)、ステップS611に移行する。
ステップS610では、ウィンドウサイズ変更時に表示内容のスクロールを行うために、任意の表示内容の位置QのX方向における移動量ΔQxをカーソルのX方向の移動量ΔPxとする。一方、ステップS611では、ウィンドウサイズ変更時の表示内容のスクロールを抑制すべく、該移動量ΔQxを0とする。
続くステップS612では、ステップS608で決定された左辺203の位置と、ステップS610又はステップS611において決定された移動量ΔQxとに基づいて、カーソル表示とウィンドウ200の表示を更新する。その後、ステップS606に戻って、処理を継続する。
なお、ステップS606からステップS612により構成されるループは、ドラッグ時のカーソル移動を意味し、このループが継続する間はドラッグが継続し、ウィンドウサイズが変更されていることを意味する。そして、このループから脱出した際に、ドロップがなされウィンドウサイズが確定したことを意味する。
以上のように、本実施形態によれば、ウィンドウの辺を2つの領域に分割し、領域選択に基づいてウィンドウ内の表示内容の変化方法を制御することが可能となる。また、領域の選択は、ウィンドウサイズ変更中にリアルタイムに行うことができるので、サイズ変更とともに、ウィンドウ内での表示内容の位置を制御することが可能となる。これにより、一連の動作により所望の表示結果が得られることになるので、作業効率が向上する。
[第2の実施形態]
次に、発明の第2の実施形態について説明する。本実施形態は、上記の第1の制御技術を拡張した実施形態を説明するものである。
ウィンドウを表示部104において表示する場合、一般には以下の3通りの表示状態が考えられる。
1.ウィンドウの縦横ともに表示画面いっぱいに最大化される表示状態(いわゆる、全画面表示)
2.一つのアイコンないし表題だけが小さく表示される表示状態(いわゆる、最小化表示)
3.ウィンドウが表示画面のうちの一部のみを占める表示状態
である。
ここで上記1と3とを比較してみる。1の場合、ウィンドウ自体が固定されているのでウィンドウを扱うという意味での煩雑さがない。しかしながら、他のウィンドウを参照するためには全画面表示状態を脱するための切り替え作業を行なわなければならない。
一方の3の場合、複数のウィンドウを参照できるというメリットがある反面、各ウィンドウの大きさ、位置を決めて整理された状態にしておかなければならず煩雑である。特に、相対的に小さいウィンドウの上に相対的に大きいウィンドウが完全に覆い被さって隠蔽してしまう場合などは、上のウィンドウを適切なところに移動させて、下のウィンドウを探すなどしなければならず面倒である。
本実施形態では、両者の利点を考慮したタイプのウィンドウの利用を可能とするべく、第1の実施形態におけるウィンドウ表示をいわゆる「全画面表示」に適用する。
上記のように「全画面表示」では、ウィンドウが表示部104の表示画面のX方向及びY方向において最大化され、ウィンドウサイズは固定される。また、ウィンドウサイズの変更は、全画面表示を解除しない限りできないようになっている。
これに対し、本実施形態に対応する全画面表示では、ウィンドウのX方向またはY方向のいずれか一方の方向においてのみ表示画面内で最大化がなされ、その方向に関してウィンドウは固定される。また残った一方向においては、一方の辺が表示画面端に固定され、他方の辺のみドラッグによって移動可能となる。このドラッグ可能な辺を操作することにより、一方向に向かってのウィンドウの開閉が可能であり、これがウィンドウのサイズ変更に相当する。
図7a乃至図7cは、本実施形態における全画面表示の一例を示す図である。図7a乃至図7cでは、表示部104の表示画面全体には参照番号700を付す。ウィンドウの構成は第1の実施形態の図2と同様であるので、対応する参照番号を利用する。ウィンドウ200の左辺203は、第1の領域203aと第2の領域203bとで構成される。また、第1の領域203aと第2の領域203bとはカーソル701によりドラッグ可能とする。また、表示画面全体700及びウィンドウ200についての方向性は、XY座標系502に基づいて決定される。
図7aは、ウィンドウ200のサイズが表示画面全体700のサイズに一致している状態を示している。即ち、図7aは全画面表示状態に相当する。
図7bは、カーソル701を第2の領域203bに配置して、X方向にドラッグした場合に、ウィンドウ200のサイズが変化する様子を示している。第2の領域203bを利用したX方向へのドラッグにより、ウィンドウ200のサイズがX方向においてのみ変化するが、このときドラッグされた左辺203に対向する右辺204は表示領域端に固定され、左辺203のみドラッグして移動することが可能である。これによりウィンドウが一方向に開閉されるすなわち、サイズ変更される。なお、ドラッグ方向に直交するY方向では、ウィンドウ200のサイズは最大化されたまま固定されている。なお、図7bの場合、第2の領域203bが利用されるので、第1の実施形態で説明したスクロールを伴わないサイズ変更が行われることとなる。
図7cは、カーソル701を第1の領域203aに配置して、X方向にドラッグした場合に、ウィンドウサイズが変化する様子を示している。第1の領域203aを利用したX方向へのドラッグにより、ウィンドウ200のサイズがX方向においてのみ変化するが、このときもドラッグされた左辺203に対向する右辺204は表示領域端に固定され、左辺203のみドラッグして移動可能である。これによりウィンドウ200が一方向に開閉されるすなわち、サイズ変更される。なお、ドラッグ方向に直交するY方向では、ウィンドウ200のサイズは最大化されたまま固定されている。なお、このとき、第1の領域203aが利用されるので、第1の実施形態で説明したスクロールを伴ったサイズ変更が行われることとなる。
なお、図7a乃至図7cでは、開閉動作として機能する辺を左辺203としたが、これに限らず、ウィンドウ701を構成する他の3辺のいずれか1辺を利用してもよい。例えば、下辺202を利用した場合を図8a乃至図8cに示している。即ち、図8aは、本実施形態に対応する、ウィンドウ200のサイズが表示画面全体700のサイズに一致している状態の一例を示している。図8bは、本実施形態に対応する、カーソル701を第2の領域202bに配置して、Y方向にドラッグした場合に、ウィンドウ200のサイズが変化する様子の一例を示している。図8cは本実施形態に対応する、カーソル701を第1の領域202aに配置して、Y方向にドラッグした場合に、ウィンドウサイズが変化する様子の一例を示している。図8a乃至図8cはドラッグ辺が異なる以外は、図7a乃至図7cと同様である。
なお、本実施形態では、移動可能な辺を「開閉辺」、その開閉辺に対向する位置にある辺を「第1の固定辺(対向固定辺)」、残った2辺を「第2の固定辺」、「第3の固定辺」と称することもできる。
図7a乃至図7cの場合では、左辺203が開閉辺に、右辺204が第1の固定辺(対向固定辺)に、上辺201と下辺202とが、第2の固定辺、第3の固定辺にそれぞれ相当する。また図8a乃至図8cの場合では、下辺202が開閉辺に、上辺201が第1の固定辺(対向固定辺)に、左辺203と右辺204とが、第2の固定辺、第3の固定辺にそれぞれ相当する。
なお、ウィンドウ200の表示領域206における表示位置の制御については、第1の実施形態と同様に行うことができる。但し、第1の実施形態では4辺全てに与えられた第1の領域と第2の領域が、本実施形態では1辺に限定される点だけが異なる。
このように、本実施形態に対応するウィンドウは、XY方向(縦横方向)のうち一方向は最大化状態が維持される。従って、複数のウィンドウの並べ替えを行なう場合に、1方向の自由度のみを考慮すればよい。これにより、2方向の自由度を考慮してウィンドウを並べ替えを行なう場合に比べて、作業としてかなり単純化されて煩雑さが格段に軽減される。
一方、1方向の自由度のみ与えられ、ウィンドウのサイズ変更が可能なので、ウィンドウをXY方向とも完全に最大化してしまう場合と比較すると、下に隠れているウィンドウも表示することができるという点で、使いやすさが向上する。
また、このようなウィンドウは一つのウィンドウタイプでもあるし、上述の1乃至3のウィンドウ表示状態に加えて、4番目のウィンドウ表示状態として定義してもよい。
なお、本実施形態で重要なことは、単に全画面表示において一方向の自由度が与えられる点に限られず、第1の実施形態に対応する本発明を組み合わせることで、ドラッグ動作時にウィンドウ内の表示内容の表示位置を制御できる点にある。
[第3の実施形態]
次に、発明の第3の実施形態について説明する。本実施形態は、上記の第2の制御技術に関する実施形態を説明するものである。
上述の第1の実施形態では、ウィンドウを構成する辺をドラッグしてウィンドウのサイズ変更する場合の表示制御方法を提案した。この方法は、主として辺をドラッグしてサイズ変更することが多い事例において効果的である、特に第2の実施形態で述べたような一方向のみ最大化されたウィンドウにおいては大変効果的である。
しかしながら、一般のウィンドウにおいては、図23で示すように角部をドラッグしてサイズ変更することもある。一般のウィンドウにおいて、辺をドラッグしてサイズ変更するか、角部をドラッグしてサイズ変更するかは、使用者の好み、個々のアプリケーションにおける表示内容、個々の作業内容等により様々である。
本実施形態においては、ウィンドウの角部をドラッグしてサイズ変更する場合にも、第1の実施形態同様にスクロールの有無をサイズ変更中にリアルタイムで制御できるような方法を提案するものである。
上述の第1の実施形態に対応する表示制御方法では、ウィンドウの辺をドラッグしてサイズ変更する際に、ドラッグ方向に直交する方向のカーソル位置に基づいて、サイズ変更時のスクロールの有無を切り替える制御を行った。しかし、ウィンドウの角部をドラッグしてサイズ変更をする場合、カーソルの移動を二次元で指示する必要がある。即ち、カーソル移動のX成分Y成分とも角部の移動に直接関与するため、スクロールを伴うサイズ変更とスクロールを伴わないサイズ変更との切替制御に用いることができない。
そこで、本実施形態では、操作部109のマウス120又は電子ペン130の第2ボタンのON/OFFを、ウィンドウサイズ変更時のスクロールを伴うサイズ変更とスクロールを伴わないサイズ変更との切替制御に用いることとする。尚、第2ボタン(第2操作部)は、マウス120の場合には、マイクロソフトウィンドウズ(登録商標)のデフォルト設定であれば、右ボタン122が相当する。また、電子ペン130の場合には、電子ペン130の側面のサイドスイッチ132が相当する。
図9a乃至図9cを参照して、本実施形態に対応する表示制御方法の動作を説明する。図9aは、カーソルPが角部209に位置(P0)し、ドラッグ開始前の状態を示している。次に、図9bは、カーソルPが、角部209の位置P0からP1まで移動した状態を示している。このカーソル移動の際には、第2ボタンがONされ、スクロールを伴うサイズ変更が行なわれる。更に、図9cでは、カーソルPが、P1からP2まで移動した状態を示している。このカーソル移動の際には、第2ボタンがOFFされスクロールを伴わないサイズ変更が行なわれる。
なお、図9b及び図9cにおける、点線901は、サイズ変更前のウィンドウ200のサイズを示している。また、点線902内の内容は、サイズ変更後のウィンドウ200からはみ出た表示内容を示している。
ここで注意すべきは、第2ボタンのON/OFFにかかわらずドラッグが継続している場合は、第1ボタンがON状態で継続しているという点である。
図9a乃至図9cは、図2に対応するウィンドウの構成を採用して本実施形態の表示制御方法を説明するための図であるが、簡単のために第1の領域及び第2の領域の記載を省略してある。なお、第3の実施形態は第1の実施形態と組み合わせて実施することが可能であり、第1の領域及び第2の領域を設けた図2のウィンドウに対して、本実施形態が適用できることを念のため述べておく。
また、本実施形態は、ウィンドウ200の四つの角部207乃至210のいずれにおいても同様に動作するものであるが、以下では右下端の角部209をドラッグする場合を一例として説明する。
図9a乃至図9cでは、まず下記のようにパラメータを定義する。ウィンドウ200の角部209の位置をC(Cx、Cy)、ウィンドウ内の表示内容のうちで最初の状態において点Cの直下に対応する点の位置をB(Bx、By)、ウィンドウ内の任意の表示内容の位置をQ(Qx、Qy)とする。なお、各座標値は、表示画面について設定されるXY座標系502に基づく。また、カーソルの位置のP0からP1、P2への移動に対応して、CについてはC0、C1、C2、BについてはB0、B1、B2、QについてはQ0、Q1、Q2とする。
まず、ドラッグが開始される場合、図9aに示すように、カーソル位置Pが右下端の角部209に位置に合わされ、そこで第1ボタンがOFFからONに変更される。このとき、P0=C0=B0が成立する。
次に、図9bのドラッグが開始されてカーソルの位置がP0からP1に移動する期間では、ウィンドウ200の角部209はカーソルと合わせて移動し、(スクロールを伴うので)表示領域206内の表示内容もカーソルに合わせて移動する。このとき、P1=C1=B1が成立する。即ち、P、C、B、Qの関係は以下のように表すことができる。なおΔは変化量を示す。
ΔC(ΔCx,ΔCy)=ΔP(ΔPx、ΔPy) ・・・(式4)
ΔB(ΔBx,ΔBy)=ΔP(ΔPx、ΔPy) ・・・(式5)
ΔQ(ΔQx,ΔQy)=ΔP(ΔPx、ΔPy) ・・・(式6)
である。
更に、図9cのカーソル位置がP1からP2に移動する期間では、ウィンドウの角部209は同様にカーソルPに沿って移動する。しかし、ここではスクロールを伴わないので、表示領域206内の表示内容はカーソルに移動には従わない。このとき、P2=C2≠B2(=B1)が成立する。即ち、P、C、B、Qの関係は以下のように表すことができる。
ΔC(ΔCx,ΔCy)=ΔP(ΔPx、ΔPy) ・・・(式7)
ΔB(ΔBx,ΔBy)=(0 、0) ・・・(式8)
ΔQ(ΔQx,ΔQy)=(0 、0) ・・・(式9)
次に、図10のフローチャートを参照して、上述のウィンドウサイズの変更処理の流れを説明する。図10は、第3の実施形態に対応するウィンドウサイズの変更処理の一例を示すフローチャートである。図10のフローチャートに対応する処理は、HD103に格納された対応する処理プログラムをRAM102に読み出して、CPU101が実行し、各構成要素を制御することにより実現されるものである。
なお、図10では、ウィンドウ200の右下端角部209をドラッグしてウィンドウサイズを変更する場合について記載しているが、発明の実施形態は、右下端角部209をドラッグする場合に限定されるものではない。即ち、左上端角部207、左下端角部208、右上端角部210をドラッグしてウィンドウサイズを変更する場合も、図10と同様の処理により実施することができる。
ステップS1001において、操作部109のマウス120又は電子ペン130の第1ボタンの操作情報(第1の指示操作の情報)と、マウス120又は電子ペン130の移動方向及び移動量の情報(移動情報)とを取得する。ここで、第1ボタンは、マウス120の場合には、マイクロソフトウィンドウズ(登録商標)のデフォルト設定であれば、左ボタン121が相当する。また、電子ペン130の場合には、ペン先の先端スイッチ131が相当する。
次に、ステップS1002では、ステップS1001において取得した第1ボタンの操作情報に基づいて、第1ボタンがOFF状態からON状態に変化したか否かを判定する。もし、ON状態に変化したと判定された場合には(ステップS1002において「YES」)、ステップS1003に移行する。一方、ON状態に変化せずOFF状態のままと判定された場合には(ステップS1002において「NO」)、ステップS1001に戻って、処理を継続する。
ステップS1003では、ステップS1001において取得した移動量情報から、カーソルPの位置座標(カーソル位置座標)を算出し、ウィンドウ200のいずれの角部に位置するか否かを判定する。ここでの判定は、ウィンドウ200を構成する角部に基づき設定される所定領域内に、カーソル位置座標が含まれるか否かで判定することができる。
もし、カーソルがウィンドウ200の右下端角部209上に位置すると判定された場合には(ステップS1003において「右下端角部209」)、該角部209のドラッグが開始されたと判定することができる。この場合には、ステップS1004に移行する。一方、他の角部上(角部207、208及び210のいずれか上)にカーソルが位置する場合には(ステップS1003において「他」)、他の角部を用いたドラッグが開始されたと判定することができる。この場合には、ステップS1005に移行する。ステップS1005では、他角部のドラッグによるウィンドウサイズの変更処理を行う。
ステップS1004では、ドラッグ開始されたウィンドウについて、図9aに示すようにドラッグ開始時のP(Px、Py)、C(Cx、Cy)、B(Bx、By)及びQ(Qx、Qy)の各座標を決定する。なお、各座標の定義については上述と同様である。
次に、ステップS1006では、第1の指示操作の情報と移動量情報とを更に取得すると共に、操作部109のマウス120又は電子ペン130の第2ボタンの操作情報(第2の指示操作の情報)を取得する。また、カーソル位置座標P(Px、Py)を移動量情報に基づき更新する。続くステップS1007では、第1ボタンのON状態が継続しているか否かを判定する。もし、第1ボタンのON状態が継続せず、OFF状態となった場合には(ステップS1007において「NO」)、本処理を終了する。この場合、いわゆる「ドロップ」が行われたこととなる。
一方、ON状態が継続している場合には(ステップS1007において「YES」)、ステップS1008に移行する。ステップS1008では、ウィンドウ200の右下端角部209の位置C(Cx、Cy)を、ステップS1006において更新されたカーソル位置P(Px、Py)に一致させる。これにより、右下端角部209の位置がカーソルの移動に追従することとなる。
次に、ステップS1006で取得した第2ボタンの操作情報に基づいて、第2ボタンがON状態か否かを判定する。もし、第2ボタンがON状態であると判定された場合には(ステップS1009において「YES」)、ステップS1010に移行する。一方、第2ボタンがOFF状態と判定された場合には(ステップS1009において「NO」)、ステップS1011に移行する。
ステップS1010では、任意の表示内容の位置Qの移動量ΔQ(ΔQx、ΔQy)をカーソルの移動量ΔP(ΔPx、ΔPy)とする。これにより、表示内容がウィンドウ200のXY方向の変形量に相当する大きさだけスクロールされることとなる。また、ステップS1011では、該移動量ΔQを(0、0)とする。この場合は、表示内容のスクロールが行われないこととなる。
続くステップS1012では、ステップS1008で決定された右下端角部209と、ステップS1010又はステップS1011において決定された移動量ΔQとに基づいて、カーソル表示とウィンドウ200の表示とを更新する。その後、ステップS1006に戻って、処理を継続する。
なお、ステップS1006からステップS1012により構成されるループは、ドラッグ時のカーソル移動を意味し、このループが継続する間はドラッグが継続し、ウィンドウサイズが変更されていることを意味する。そして、このループから脱出した際に、ドロップがなされウィンドウサイズが確定したことを意味する。
以上のように、本実施形態によれば、操作部109の2種類の操作ボタンを利用し、ボタン操作の組合せに基づいてウィンドウ内の表示内容の変化方法を制御することが可能となる。また、ボタン操作の組合せは、ウィンドウサイズ変更中にリアルタイムに変更することができるので、サイズ変更とともに、ウィンドウ内での表示内容の位置を制御することが可能となる。これにより、一連の動作により所望の表示結果が得られることになるので、作業効率が向上する。
なお、以上では、主にウィンドウの角部をドラッグしてウィンドウのサイズ変更を行なう場合について説明した。しかしながら、本実施形態に対応する表示制御方法は、辺の部分をドラッグしてウィンドウのサイズ変更を行なう場合にも適用可能である。この場合、角部をドラッグする場合も、辺の部分をドラッグする場合も同一の操作によってサイズ変更に伴うスクロールの有無を制御することが可能となる。
なお、第1の実施形態に対応する表示制御方法(第1の制御技術)と、本実施形態に対応する表示制御方法(第2の制御技術)とは、以下のように対比することができる。
第1の制御技術は、辺をドラッグしてサイズ変更することを重視する場合に効果的であり、特に第2の実施形態のような場合には効果的である。また、辺をドラッグする場合だけで考えると第2の制御技術よりも第1の制御技術の方がより簡単な動作で目的を達することができる。
これに対し第2の制御技術は、角部のドラッグと辺の部分のドラッグが共存し、角部のドラッグも重視する場合に効果的である。第2の制御技術を用いれば、角部をドラッグする場合も辺の部分をドラッグする場合も共通性のある動作で目的を達することができる。
[第4の実施形態]
次に、発明の第4の実施形態について説明する。本実施形態は、上記の第3の制御技術に関する実施形態を説明するものである。
本実施形態では、ウィンドウが複数のサブウィンドウで構成され、サブウィンドウ間の境界部分(境界枠)を移動させることにより各サブウィンドウをサイズ変更を行う場合に適用される、本発明の表示制御について説明する。
アプリケーションの中には、単一領域からなるウィンドウを使用して表示を行うものと、複数サブウィンドウからなるウィンドウを使用して表示を行うものがある。後者の例を図11に示す。この場合、複数のサブウィンドウを利用することで、単一ウィンドウによる場合よりも表示効率が向上し、より快適なユーザーインタフェースを提供可能となる場合がある。
また、ウィンドウが複数のサブウィンドウから構成される場合、サブウィンドウ間の境界枠をドラッグして動かすことにより、ウィンドウ内での各サブウィンドウのサイズ変更が可能となるのが一般的である。このとき、従来のウィンドウ構成では、サイズ変更を行う場合に、サブウィンドウ毎にサイズ変更に伴うスクロールの有無を予め決めておくか、サイズ変更後にスクロール操作を行わなければならない。
例えば、横書きの文書、横書きの表、左から右に向かって進むツリー状の図などをそれぞれ表示するサブフレームからなるウィンドウの場合、各サブウィンドウにおいて表示内容の中身の左側部分、あるいは、上側の部分が優先的に表示されるようになっている。これは、単一領域のウィンドウと同じ事情であって、右方向に書き進む横書きの言語で、下方向に改行するという記述方法において、文の先頭文字、およびページの先頭行を優先的に表示するという考え方に基づくものである。
従って、左右のサブウィンドウに分割されたウィンドウの例では、境界枠をドラッグして各サブウィンドウのサイズ変更を行なう場合、左側のサブウィンドウはスクロールを伴わず、右側のサブウィンドウはスクロールを伴うこととなる。また、同様に上下のサブウィンドウに分割されたウィンドウの例では、上側のサブウィンドウはスクロールを伴わず、下側のサブウィンドウはスクロールを伴うこととなる。
これに対し本実施形態では、境界枠をドラッグして移動させることによってサイズ変更する際に、同時並行的に境界枠の両側のサブウィンドウにおけるスクロールの有無をサイズ変更中にリアルタイムで切替可能とする表示制御方法を提案する。よって、本実施形態では、従来のようにスクロールの有無を予め固定しておく必要はなくなる。
次に、本実施形態に対応する表示制御処理を説明する。本実施形態では、スクロールを伴うか否かをサブウィンドウ単位に制御可能とするために、以下の4通りの制御方法が存在することとなる。なお、以下ではウィンドウが、境界枠に対する第1の側のサブウィンドウと第2の側のサブウィンドウとで構成されている場合を考える。
制御1.第1の側のサブウィンドウと第2の側のサブウィンドウとが共にスクロールを伴うサイズ変更
制御2.第1の側のサブウィンドウはスクロールを伴い、第2の側のサブウィンドウがスクロールを伴わないサイズ変更
制御3.第1の側のサブウィンドウはスクロールを伴わず、第2の側のサブウィンドウはスクロールを伴うサイズ変更
制御4.第1の側のサブウィンドウと第2の側のサブウィンドウとが共にスクロールを伴わないサイズ変更
なお、第1の側のサブウィンドウと第2の側のサブウィンドウとの関係は、例えば、境界枠に対して左側と右側、或いは、上側と下側といったように隣り合うサブウィンドウの関係で考えることができる。
図12は、第1、第2のサブウィンドウとして左右のサブウィンドウに分割された場合のウィンドウを例に、本実施形態を説明するための図である。なお、ユーザがドラッグ可能な境界枠は、1回のドラッグ動作につき1つの境界枠であるので、上下のサブウィンドウに分割された場合のウィンドウも、左右の場合と同様にして表示制御を行うことができる。
図12において、ウィンドウ1200は、辺1201から1204で構成され、枠1205及び1206によって仕切られたサブウィンドウ1207乃至1209を有している。
境界枠1205と1206とは、2つの領域に分割されている。図12では、上半分を第1の領域と呼び、下半分を第2の領域と呼んでいる。なお、分割方法は一例であって、図12に示すものに限定されるわけではない。例えば、第1の実施形態の図2における辺の分割方法と同様としてもよい。
図12において、カーソルPの位置は、ウィンドウ1200が表示される表示画面に設定されるXY座標系502に基づいて、P(Px、Py)と表すことができる。なお、ウィンドウ1200内の境界枠1205の長さをLBy、境界枠1205の下端と下辺1202との交点の位置をBL(BLx、BLy)とする。ここで、BLxは境界枠1205のX方向における位置に相当する。
ここで、カーソルPが第1の領域にある条件(条件1)は、
LBy/2≦Py−BLy≦LBy
である。同様に、カーソルが第2の領域に位置する条件(条件2)は、
0<Py−BLy<LBy/2
である。
また、境界枠1205の左側のサブウィンドウ1207内の任意の表示内容の位置をQL(QLx、QLy)とし、右側のサブウィンドウ1208内の任意の表示内容の位置をQR(QRx、QRy)とする。以下では、境界枠1205について説明するが、境界枠1206を基準に考えた場合も同様にしてサブウィンドウサイズの変更に伴う表示内容のスクロール制御が実行可能である。
なお、ドラッグ操作の際に、スクロールを伴わないサブウィンドウサイズの変更が行われる場合は、位置QL、QRに関連して、以下のように表現することができる。
ΔQLx(ΔQRx)=0 ・・・(式10)
なお、ΔQLx、ΔQRxは、サブウィンドウサイズ変更前後のQLx、QRxの各差分を表す。
同様に、スクロールを伴うサブウィンドウサイズの変更が行われる場合は、位置QL、QRに関連して、以下のように表現することができる。
ΔQLx(ΔQRx)=ΔPx ・・・(式11)
なお、ΔQLx、ΔQRxは、サブウィンドウサイズ変更前後のQLx、QRxの各差分を表す。同様に、ΔPxは、サブウィンドウサイズ変更前後のPxの差分を表す。なお、当該差分は、境界枠1205のX方向における変形量に相当する。
本実施形態においては、上記制御1から制御4までの4種類のサイズ変更制御を、第1の領域と第2の領域とのいずれかにカーソルを合わせてドラッグするのと、第2ボタンの操作のON/OFFとを組み合わせて切り替える。即ち、
制御1では、第1の領域によりドラッグが行われ、かつ、第2ボタンがONとなる。
制御2では、第1の領域によりドラッグが行われ、かつ、第2ボタンがOFFとなる。
制御3では、第2の領域によりドラッグが行われ、かつ、第2ボタンがONとなる。
制御4では、第2の領域によりドラッグが行われ、かつ、第2ボタンがOFFとなる。
このように本実施形態に対応する表示制御方法では、第1及び第2の実施形態で用いたカーソルのY方向の位置による制御と、第3の実施形態で用いた操作部109の第2ボタンによる制御とを連携させて同時に用いるものである。また、上記4パターンのいずれの場合も、一回の連続したドラッグとカーソル移動において、同時並行的に、両側のサブウィンドウごとにそれぞれスクロールを伴うか伴わないかが切り替え制御される。また、ドラッグの開始と継続の制御は、他の実施形態と同様に、操作部109の第1ボタンのON/OFFによって制御される。
図13は、1本の境界枠により分割されたウィンドウにおいて、境界枠を移動させた場合の表示内容の変化の例を示す図である。
図13において、1301はドラッグ開始前の状態を示している。この状態では、左側のサブウィンドウにABDのアルファベットが表示され、右側に1〜9までの数字が3列分表示されている。
このウィンドウ1301の表示状態において、第2領域にカーソルを置き、第2ボタンをOFFしてドラッグを行うとウィンドウ1302の表示状態となる。この時、左右のサブウィンドウ共にスクロールは行われないので、左側サブウィンドウにおいて隠れていた文字EEが新たに表示される。その一方、右側サブウィンドウでは、1、2及び3の半分が境界枠の移動により隠されてしまう。
次に、カーソルを第1の領域に置いて、第2ボタンをONしてドラッグを行うとウィンドウ1303の表示状態となる。このとき、左右のサブウィンドウ共にスクロールが行われるので、境界枠近辺の表示内容は変更されないが、ウィンドウの左右の辺付近の表示内容が変更される。
更にカーソルを第2の領域に置いて、第2ボタンをONとしてドラッグを行うと、ウィンドウ1304の表示状態となる。このとき右側のサブウィンドウのみスクロールが行われる。よって、左側サブウィンドウでは隠れていたFGのアルファベットが境界枠付近に新たに表示される。その一方、右側サブウィンドウはウィンドウ1303では表示されていたウィンドウ右辺付近の1、2、3の数字が隠れてしまう。
更にカーソルを第1の領域に置いて、第2ボタンをOFFにしてドラッグを行うと、ウィンドウ1305のような表示状態となる。このとき左側のサブウィンドウのみスクロールが行われる。よって、左側サブウィンドウではウィンドウ左辺付近に隠れていたABのアルファベットが表示される。一方の右側サブウィンドウでは、スクロールが行われないので、境界枠により3、4、5、6の数字が隠されてしまう。
次に、図14のフローチャートを参照して、上述のウィンドウサイズの変更処理の流れを説明する。図14は、第4の実施形態に対応するウィンドウサイズの変更処理の一例を示すフローチャートである。図14のフローチャートに対応する処理は、HD103に格納された対応する処理プログラムをRAM102に読み出して、CPU101が実行し、各構成要素を制御することにより実現されるものである。
なお、図14では、ウィンドウ1200の境界枠1205をドラッグしてウィンドウサイズを変更する場合について記載しているが、発明の実施形態は、境界枠1205をドラッグする場合に限定されるものではない。即ち、境界枠1206や、それ以外に設けられる境界枠をドラッグしてウィンドウサイズを変更する場合も、図14と同様の処理により実施することができる。
まず、ステップS1401において、操作部109のマウス120又は電子ペン130の第1ボタンの操作情報(第1の指示操作の情報)と、マウス120又は電子ペン130の移動方向及び移動量の情報(移動情報)とを取得する。ここで、第1ボタンは、マウス120の場合には、マイクロソフトウィンドウズ(登録商標)のデフォルト設定であれば、左ボタン121が相当する。また、電子ペン130の場合には、ペン先の先端スイッチ131が相当する。
次に、ステップS1402では、ステップS1401において取得した第1ボタンの操作情報に基づいて、第1ボタンがOFF状態からON状態に変化したか否かを判定する。もし、ON状態に変化したと判定された場合には(ステップS1402において「YES」)、ステップS1403に移行する。一方、ON状態に変化せずOFF状態のままと判定された場合には(ステップS1402において「NO」)、ステップS1401に戻って、処理を継続する。
ステップS1403では、ステップS1401において取得した移動量情報から、カーソルPの位置座標(カーソル位置座標)を算出し、ウィンドウ1200のいずれの境界枠に位置するか否かを判定する。ここでの判定は、ウィンドウ1200に含まれる境界枠に基づき設定される所定領域内に、カーソル位置座標が含まれるか否かで判定することができる。
もし、カーソルがウィンドウ1200の境界枠1205上に位置すると判定された場合には(ステップS1403において「境界枠1205」)、該境界枠1205のドラッグが開始されたと判定することができる。この場合には、ステップS1404に移行する。一方、他の境界枠(境界枠1206他)上にカーソルが位置する場合には(ステップS1403において「他」)、他の境界枠を用いたドラッグが開始されたと判定することができる。この場合には、ステップS1405に移行する。ステップS1405では、他境界枠のドラッグによるウィンドウサイズの変更処理を行う。
ステップS1404では、ドラッグ開始されたウィンドウについて、図12に示すようにドラッグ開始時のP(Px、Py)、BL(BLx、BLy)、QL(QLx、QLy)及びQR(QRx、QRy)の各座標を決定する。なお、各座標の定義については上述と同様である。
次に、ステップS1406では、第1の指示操作の情報と移動量情報とを更に取得すると共に、操作部109のマウス120又は電子ペン130の第2ボタンの操作情報(第2の指示操作の情報)を取得する。また、カーソル位置座標P(Px、Py)を移動量情報に基づき更新する。続くステップS1407では、第1ボタンのON状態が継続しているか否かを判定する。もし、第1ボタンのON状態が継続せず、OFF状態となった場合には(ステップS1407において「NO」)、本処理を終了する。この場合、いわゆる「ドロップ」が行われたこととなる。
一方、ON状態が継続している場合には(ステップS1407において「YES」)、ステップS1408に移行する。ステップS1408では、境界枠1205の端部位置BLのX成分BLxを、ステップS1406において更新されたカーソル位置PのX成分Pxに一致させる。これにより、境界枠1205の位置がカーソルの移動に追従することとなる。
次に、ステップS1406で取得した、カーソル位置のY方向の座標Pyに基づいて、カーソルPが第1領域と第2領域とのいずれにあるか、また、第2ボタンの操作情報に基づいて、第2ボタンがON状態か否かを判定する。
もし、カーソルPが第1領域にあり、第2ボタンがONの場合には、ステップS1410に移行する。また、カーソルPが第1領域にあり、第2ボタンがOFFの場合には、ステップS1411に移行する。更に、カーソルPが第2領域にあり、第2ボタンがONの場合には、ステップS1412に移行する。更に、カーソルPが第2領域にあり、第2ボタンがOFFの場合には、ステップS1413に移行する。
ステップS1410では、境界枠1205の第1の側である左側のサブウィンドウ1207の任意の表示内容の位置QLのX方向の移動量ΔQLxを、カーソルPのX方向の移動量ΔPxとする。また、境界枠1205の第2の側である右側のサブウィンドウ1208の任意の表示内容の位置QRのX方向の移動量ΔQRxを、カーソルのX方向の移動量ΔPxとする。これにより、各サブウィンドウにおける表示内容が境界枠1205のX方向の変形量に相当する大きさだけスクロールされることとなる。
次に、ステップS1411では、境界枠1205の第1の側である左側のサブウィンドウ1207の任意の表示内容の位置QLのX方向の移動量ΔQLxを、カーソルPのX方向の移動量ΔPxとする。また、境界枠1205の第2の側である右側のサブウィンドウ1208の任意の表示内容の位置QRのX方向の移動量ΔQRxを0とする。これにより、左側のサブウィンドウ1207における表示内容が境界枠1205のX方向の変形量に相当する大きさだけスクロールされる。その一方で、右側のサブウィンドウ1208における表示内容のスクロールが行われないこととなる。
次に、ステップS1412では、境界枠1205の第1の側である左側のサブウィンドウ1207の任意の表示内容の位置QLのX方向の移動量ΔQLxを、0とする。また、境界枠1205の第2の側である右側のサブウィンドウ1208の任意の表示内容の位置QRのX方向の移動量ΔQRxをカーソルPのX方向の移動量ΔPxとする。これにより、左側のサブウィンドウ1207における表示内容はスクロールが行われない。その一方で、右側のサブウィンドウ1208における表示内容が境界枠1205のX方向の変形量に相当する大きさだけスクロールされることとなる。
次に、ステップS1413では、境界枠1205の第1の側である左側のサブウィンドウ1207の任意の表示内容の位置QLのX方向の移動量ΔQLxを0とする。また、境界枠1205の第2の側である右側のサブウィンドウ1208の任意の表示内容の位置QRのX方向の移動量ΔQRxを0とする。これにより、各サブウィンドウ1207及び1208における表示内容はスクロールは行われないこととなる。
続くステップS1414では、カーソル表示とウィンドウ200の表示とを更新する。当該更新は、ステップS1408で決定された境界枠1205の位置BLxと、ステップS1410乃至ステップS1413のいずれかにおいて決定された移動量ΔQLx及びΔQRxとに基づいて行う。その後、ステップS1406に戻って、処理を継続する。
なお、ステップS1406からステップS1412により構成されるループは、ドラッグ時のカーソル移動を意味し、このループが継続する間はドラッグが継続し、ウィンドウサイズが変更されていることを意味する。そして、このループから脱出した際に、ドロップがなされウィンドウサイズが確定したことを意味する。
以上が本実施形態の動作説明である。なお、本実施形態に対応する表示制御方法は、図12、図13に示したような構成のウィンドウのみならず、まったく同様の制御方法で上下のサブウィンドウに分割された場合にも適用される。更には、図11に示したような、上下、左右に分割されたウィンドウにも適用可能である。
図11のようなウィンドウは、一般的に上下を分割する境界枠と左右を分割する境界枠とが独立して操作可能に構成されている。よって、各境界枠に対して順番に図14に説明した処理と同様の処理を実行することで、本実施形態の表示制御方法を適用することができる。
なおその際、各境界枠に第1の領域と第2の領域とを設けることが必要であるが、図15(a)に示すように、境界枠の長さを均等に分割してもよいし、図15(b)に示すように枠の交点の前後を均等に分割してもよい。図15(b)の場合、第1の領域及び第2の領域の長さは交点の位置によって逐次変わることとなる。
以上のように、本実施形態によれば、ウィンドウが境界枠によりサブウィンドウに分割されている場合に、サブウィンドウ内の表示内容の変化方法を、サブウィンドウサイズの変更と同時に制御することが可能となる。これにより、一連の動作により所望の表示結果が得られることになるので、作業効率が向上する。
[第5の実施形態]
本実施形態は、本発明で提案するウィンドウのサイズ変更に伴うスクロールの有無の制御方法に伴って行なわれる表示制御について提案するものである。
従来、サイズ変更によってなされる表示制御には、辺の部分や角部のドラッグに従った表示内容のスクロール有無やスクロール比率切替の制御、或いは、辺の部分や角部のドラッグに従った表示内容の縮小/拡大の制御などがある。
一般に、サイズ変更に伴ってスクロールする場合には、ドラッグしている部分と対向する領域の内容は隠されてしまうこととなる。一方、サイズ変更に伴ってスクロールしない場合はドラッグしている部分に近い領域の内容が隠されてしまうこととなる。(ここで「ドラッグしている部分と対向する領域」とは、辺のドラッグであればその辺に対向する側の辺の付近の領域、角部のドラッグであれば、その角部に接しない2辺の付近の領域である。また「ドラッグしている部分に近い領域」とは、辺のドラッグであればその辺の付近の領域であり、角部のドラッグであれば、その角部に接する二辺の付近の領域である。)
このようにウィンドウの一部が隠されることは、使い勝手としてあまり良いことではなくたとえ不完全でも良いから表示する方が望ましい。そこで、本実施形態では、本来隠されてしまう領域に位置するところの、文字、図柄、写真などのオブジェクト画像を、隠れる領域の付近に詰め込んで表示する。
例えば、図16のような表示内容を想定する。これは、第1の実施形態で説明した通常のウィンドウであってもよいし、第2の実施形態で説明した一方向(Y方向)が表示画面内で常に最大化されたウィンドウであってもよい。図16では、左辺1601がドラッグ移動可能な辺であって、この辺1601の移動によりウィンドウ1600のサイズ変更を行なえる状態にある。
図17は、本実施形態において、辺をドラッグしてウィンドウのサイズ変更(サイズを小さくする)場合の表示例を示す図である。図17(a)は、スクロールを伴うサイズ変更を行なう場合の表示例を示す。この表示制御では、夫々のオブジェクトがサイズ変更に伴って右方向に移動するが、それそれのオブジェクトが対向する辺に接した時点で移動を停止させる。この場合、対向辺付近では各オブジェクトが重畳表示される。
また図17(b)は、スクロールを伴わないサイズ変更を行なう場合の表示例を示す。この表示制御では、辺のドラッグ開始当初は、スクロールが行われないためにいずれのオブジェクトも停止表示されている。しかし、ドラッグされた辺が右方向に移動して夫々のオブジェクトに接したところで、それぞれのオブジェクトごとに右方向の移動を開始する。この場合、ドラッグ辺付近では各オブジェクトが重なり合うように表示される。重なり合う順は、新たに停止されたオブジェクトが上に来るようにしてもよいし、下に来るようにしてもよい。
このような表示制御によれば、あたかも、窓に付着した物体をワイパーによって掻き集めるような表示制御を実現することが可能であり、通常であれば隠蔽されるオブジェクトが、不完全ではあるが表示されることとなるので、使い勝手が向上する。
次に、図18は、ウィンドウの角部をドラッグしてウィンドウのサイズ変更する場合の表示例を示す図である。
スクロールを伴うサイズ変更を行なう場合の表示例を示すのが図18(a)であり、スクロールを伴わないサイズ変更を行なう場合の表示例を示すのが、図18(b)である。それぞれの動作は、X成分、Y成分ごとにそれぞれ図17(a)及び図17(b)で説明したのと同様な内容となる。
ここでさらに本来隠蔽されるオブジェクト群をさらに把握しやすくするために、図19に示すような方法もある。スクロールを伴うサイズ変更を行なう場合の表示例を、図19(a)に示す。この場合、夫々のオブジェクトがサイズ変更に伴って右方向に移動するが、それそれのオブジェクトが対向する辺に接した時点で移動を停止する。なおかつ、既に移動が停止している他のオブジェクトに先に接した場合にはその時点で移動を停止するという表示制御である。これにより、図17(a)のように、オブジェクトが重なり合って表示されることがなくなる。
また、スクロールを伴わないサイズ変更を行なう場合を、図19(b)に示す。はじめは何れのオブジェクトも停止している。ドラッグしている辺が右に移動して夫々のオブジェクトに接したところで、それぞれのオブジェクトごとに右方向の移動を開始する。なおかつ、すでに移動を開始しているオブジェクトに他のオブジェクトが接した場合は、その時点で該他のオブジェクトが移動開始するという表示制御である。これにより、図17(b)のように、オブジェクトが重なり合って表示されることがなくなる。
なお、角部を用いてサイズ変更する場合も、動作は、X成分、Y成分ごとに同じ内容となる。
次に、本実施形態に対応する表示制御処理を、図20に示すフローチャートを参照して説明する。図20は、図17に示した表示例に対応するウィンドウサイズの変更処理の一例を示すフローチャートである。図20のフローチャートに対応する処理は、HD103に格納された対応する処理プログラムをRAM102に読み出して、CPU101が実行し、各構成要素を制御することにより実現されるものである。
まず、ステップS2001では、辺のドラッグが開始されたか否かを判定する。もしドラッグが開始された場合には(ステップS2001において「YES」)、ステップS2002に移行する。ステップS2002では、ドラッグによるウィンドウサイズの変更と共に、スクロールが行われるか否かが判定される。もし、スクロールが行われないと判定された場合には(ステップS2002において「NO」)、ステップS2003に移行し、スクロールが行われると判定された場合には(ステップS2002において「YES」)、ステップS2005に移行する。なお、スクロールの有無の判定は、第1乃至第4の実施形態で説明した処理に準じて行うことができる。
以下では、オブジェクトOの表示領域をO{(O1x、O1y)、(O2x、O2y)}で表す場合を考える。ここで、(O1x、O1y)は、オブジェクトの左上の端部の座標を表し、(O2x、O2y)は、オブジェクトの右下の端部の座標を表す。なお、左方向とは表示画面について設定されるXY座標502においてX軸の負の方向に相当し、上方向はY軸の正の方向に相当する。同様に、右方向はX軸の正の方向に相当し、下方向はY軸の負の方向に相当する。また、表示領域OのX軸方向の変化をΔO(ΔO1x、ΔO2x)とする。
ステップS2002でスクロール無しと判定された場合には、基本的にオブジェクトOの表示位置は変更しない。即ち、表示領域の座標の変化量ΔO=(0、0)である。一方、ステップS2002でスクロール有りと判定された場合には、オブジェクトOの表示位置は、ドラッグ量に応じて変更する。例えば、ドラッグされた辺のX方向の座標をBx、移動量をΔBxとすると、オブジェクトの表示領域のX方向の変化量ΔOx=(ΔBx、ΔBx)である。なお、これらの標準的なオブジェクトの表示については、本実施形態の本質ではないので図20のフローチャートでは省略しているが、実際にはドラッグ辺や対向辺と接触しないオブジェクトについてはこの表示制御が行われている。
以下、ドラッグ辺やその対向辺と接触したオブジェクトに焦点を当てて説明を続ける。
ステップS2003では、ドラッグされた辺と接触したオブジェクトが有るか否かが判定される。この判定は、オブジェクトの表示位置の座標と、ドラッグされた辺の座標を比較して行うことができる。このとき、ドラッグされた辺のX座標BxがO1x≦Bx≦O2xの範囲に含まれる場合には、オブジェクトがドラッグされた辺と接触したと考えることができる。なお、図20のフローチャートでは、図17の場合、即ち、辺をX方向にドラッグする場合を考えているため、X軸方向の座標のみを考慮している。これ以外にも、辺がY方向にも移動する場合には、同様にしてY方向の辺の位置Byがオブジェクトの範囲に属するかでオブジェクトがドラッグ辺と接したかを判定することができる。
もし、接触したオブジェクトが存在すると判定された場合には(ステップS2003において「YES」)、ステップS2004に移行する。一方、接触したオブジェクトが存在しないと判定された場合には(ステップS2003において「NO」)、ステップS2007に移行する。
ステップS2004では、接触すると判定された該オブジェクトの表示位置を辺の移動量ΔBxに応じて変更する。即ち、接触以前はオブジェクトの移動量ΔOx=(0、0)だったものをΔOx=(ΔBx、ΔBx)として、ドラッグ辺の移動量に一致させる。これにより、スクロールが行われない場合に、ドラッグ辺と接触したオブジェクトの表示位置をドラッグ辺と共に移動表示することができる。その後、ステップS2007に移行する。
次に、辺のドラッグと同時にスクロールが行われる場合には、ステップS2005において、ドラッグの対向辺と接触したオブジェクトが存在するか否かが判定される。
ここでも、対向辺のX座標をBOxとすると、BOxがO1x≦BOx≦O2xの範囲に含まれる場合には、オブジェクトが対向辺と接触したと考えることができる。なお、図20のフローチャートでは、図17の場合、即ち、辺をX方向にドラッグする場合を考えているため、X軸方向の座標のみを考慮している。これ以外にも、辺がY方向にも移動する場合には、同様にしてY方向の対向辺の位置BOyがオブジェクトの範囲に属するかでオブジェクトが対向辺と接したかを判定することができる。
もし、接触したオブジェクトが存在すると判定された場合には(ステップS2005において「YES」)、ステップS2006に移行する。一方、接触したオブジェクトが存在しないと判定された場合には(ステップS2005において「NO」)、ステップS2007に移行する。
ステップS2006では、接触すると判定された該オブジェクトの表示位置を、現在の表示位置で固定する。即ち、接触以前は、ΔOx=(ΔBx、ΔBx)としてドラッグによる変化量に応じてスクロールされていたものを、ΔOx=(0、0)としてオブジェクトのスクロールを停止する。これにより、全体としてスクロールが行われている場合でも、対向辺と接触したオブジェクトの表示位置は対向辺付近で固定し、ウィンドウ表示領域内にオブジェクトを留めることができる。その後、ステップS2007に移行する。
続くステップS2007では、辺との接触があったオブジェクトについては、ステップS2004又はステップS2006において決定されたオブジェクトの移動量に基づいて表示を更新する。それ以外のオブジェクトについては、ステップS2002における判定結果に基づくスクロールの有無に応じた表示の更新を行う。
続くステップS2008では、ドラッグが終了したか否かが判定される。もしドラッグが終了したと判定された場合には(ステップS2008において「YES」)、本処理を終了する。一方、ドラッグが終了していないと判定された場合には(ステップS2008において「NO」)、ステップS2002に戻って、処理を継続する。
以上では、図17の場合を例として処理を説明したが、上述の処理をY方向にも拡張することにより、図18に対応する表示制御を行うことができる。また、図19と関連する表示については、更にオブジェクト同士の接触判定を行うことが必要となる。その上で、「スクロールあり」の場合には、辺又はオブジェクトとの接触が検出された場合に、該オブジェクトの表示位置の変更を停止(即ちΔOx=(0、0))すればよい。また、「スクロールなし」の場合には、辺又はオブジェクトとの接触が検出された場合に、該オブジェクトの表示位置の変更を開始(即ちΔOx=(ΔBx、ΔBx))すればよい。
さらに、第4の実施形態のようにウィンドウが境界枠によりサブウィンドウに分割されている場合にも、該境界枠や辺との接触の有無に基づいて、上記と同様にして表示領域内のオブジェクトの表示制御を行うことができる。
以上によれば、ドラッグと共に表示内容のスクロールが行われる場合であっても、表示内容中のオブジェクトがウィンドウの構成要素(辺や境界枠)と接触した場合は、該接触したオブジェクトについてはスクロールを抑制することができる。また、ドラッグと共に表示内容のスクロールが行われない場合であっても、表示内容中のオブジェクトがウィンドウの構成要素(辺や境界枠)と接触した場合は、該接触したオブジェクトについてはスクロールを行うことができる。
また、ドラッグと共に表示内容のスクロールが行われる場合であっても、表示内容中のオブジェクトが、既にスクロール抑制されている他のオブジェクトと接触した場合は、該接触したオブジェクトのスクロールも抑制することができる。また、ドラッグと共に表示内容のスクロールが行われない場合であっても、表示内容中のオブジェクトが既にスクロールされている他のオブジェクトと接触した場合は、該接触したオブジェクトのスクロールも行うことができる。
これにより、あたかも窓に付着した物体をワイパーによって掻き集めるような表示制御を実現することが可能であり、通常であれば隠蔽されるオブジェクトが、不完全ではあるが表示されることとなるので、さらに使い勝手が向上する。
[その他の実施形態]
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、ホストコンピュータ、複写機、ファクシミリ装置など)に適用してもよい。
また、本発明の目的は、前述した機能を実現するコンピュータプログラムコードを記録した記憶媒体を、システムに供給し、そのシステムがプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現し、そのプログラムコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
発明の実施形態に対応する情報処理装置のハードウェア構成の一例を示す。 発明の実施形態に対応する操作部109の一例としてのマウスの構成の一例を示す。 発明の実施形態に対応する操作部109の一例としての電子ペン及びタブレットの構成の一例を示す。 発明の実施形態に対応するウィンドウの構成の一例を示す図である。 発明の第1の実施形態に対応する、カーソルをウィンドウの上辺201、下辺202の第1の領域又は第2の領域に合わせてドラッグした場合の表示例を示す図である。 発明の第1の実施形態に対応する、カーソルをウィンドウの左辺203、右辺204の第1の領域又は第2の領域に合わせてドラッグした場合の表示例を示す図である。 発明の第1の実施形態に対応する、サイズ変更に伴うスクロール有無の切替を説明するための図である。 図5aの表示状態からカーソル位置を変化させた場合のサイズ変更に伴うスクロール有無の切替を説明するための図である。 発明の第1の実施形態に対応するウィンドウサイズの変更処理の一例を示すフローチャートである。 発明の第2の実施形態に対応する、ウィンドウ200のサイズが表示画面全体700のサイズに一致している状態の一例を示す図である。 発明の第2の実施形態に対応する、カーソル701を第2の領域203bに配置して、X方向にドラッグした場合に、ウィンドウ200のサイズが変化する様子の一例を示す図である。 発明の第2の実施形態に対応する、カーソル701を第1の領域203aに配置して、X方向にドラッグした場合に、ウィンドウサイズが変化する様子の一例を示す図である。 発明の第2の実施形態に対応する、ウィンドウ200のサイズが表示画面全体700のサイズに一致している状態の一例を示す図である。 発明の第2の実施形態に対応する、カーソル701を第2の領域202bに配置して、Y方向にドラッグした場合に、ウィンドウ200のサイズが変化する様子の一例を示す図である。 発明の第2の実施形態に対応する、カーソル701を第1の領域202aに配置して、Y方向にドラッグした場合に、ウィンドウサイズが変化する様子の一例を示す図である。 発明の第3の実施形態に対応する表示制御方法において、カーソルPが角部209に位置(P0)し、ドラッグ開始前の状態の一例を示す図である。 発明の第3の実施形態に対応する表示制御方法において、カーソルPが、角部209の位置P0からP1まで移動した状態の一例を示す図である。 発明の第3の実施形態に対応する表示制御方法において、カーソルPが、P1からP2まで移動した状態の一例を示す図である。 発明の第3の実施形態に対応するウィンドウサイズの変更処理の一例を示すフローチャートである。 複数サブウィンドウから構成されるウィンドウの一例を示す図である。 第1、第2のサブウィンドウとして左右のサブウィンドウに分割された場合のウィンドウを例に、発明の第4の実施形態を説明するための図である。 発明の第4の実施形態に対応する、1本の境界枠により分割されたウィンドウにおいて、境界枠を移動させた場合の表示内容の変化の例を示す図である。 発明の第4の実施形態に対応するウィンドウサイズの変更処理の一例を示すフローチャートである。 境界枠の分割例を示す図である。 発明の第5の実施形態に対応する、ウィンドウの表示内容の一例を示す図である。 発明の第5の実施形態において、辺をドラッグしてウィンドウのサイズ変更(サイズを小さくする)場合の表示例を示す図である。 発明の第5の実施形態に対応するウィンドウの角部をドラッグしてウィンドウのサイズ変更する場合の表示例を示す図である。 発明の第5の実施形態に対応する、本来隠蔽される部分をさらに見やすくするための表示例を示す図である。 図17に示した表示例に対応するウィンドウサイズの変更処理の一例を示すフローチャートである。 表示装置上に表示されるウィンドウの構成を示す図である。 図21のウィンドウについて、夫々4辺のうちの何れかの辺をドラッグして移動させることによってウィンドウのサイズを変更する場合を示す図である。 図21のウィンドウについて、ウィンドウの角部をドラッグして移動させることによってウィンドウのサイズ変更する場合を示す図である。

Claims (12)

  1. 辺と角部を含むように構成され、前記辺の少なくとも1つが、第1の領域と第2の領域とを有するウィンドウを表示する表示手段と、
    前記ウィンドウ内に表示された内容のスクロールを伴うウィンドウサイズ変更を行うか、前記ウィンドウ内に表示された内容のスクロールを伴わないウィンドウサイズ変更を行うかを示す指示を受け付ける受付手段と、
    前記表示手段を制御する表示制御手段であって、
    前記受付手段が、前記ウィンドウを構成する辺が有する第1の領域を利用した操作による指示を受け付けた場合には、前記ウィンドウ内に表示された内容のスクロールを伴うウィンドウサイズ変更を行うように前記表示手段を制御し、
    前記受付手段が、前記ウィンドウを構成する辺が有する第2の領域を利用した操作による指示を受け付けた場合には、前記ウィンドウ内に表示された内容のスクロールを伴わないウィンドウサイズ変更を行うように前記表示手段を制御する表示制御手段と
    を備えることを特徴とする情報処理装置。
  2. 前記受付手段は、表示された前記ウィンドウのサイズの変更中に、前記ウィンドウ内に表示された内容のスクロールを伴うウィンドウサイズ変更を行うか、前記ウィンドウ内に表示された内容のスクロールを伴わないウィンドウサイズ変更行うかを示す指示を受け付けることを特徴とする請求項1に記載の情報処理装置。
  3. 前記ウィンドウの辺が有する第1の領域を利用した操作、及び、前記ウィンドウの辺が有する第2の領域を利用した操作とは、前記第1の領域と第2の領域とを有する辺を、該辺に直交する方向へ移動させる操作であることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記ウィンドウを構成する4辺のうち、1辺のみが前記第1の領域と前記第2の領域とを有する場合に、
    前記受付手段は、前記1辺を該1辺に直交する方向へ移動させる操作による指示のみを受け付け、
    前記表示制御手段は、前記表示手段における前記1辺の表示位置に基づき前記ウィンドウのサイズを制御する
    ことを特徴とする請求項3に記載の情報処理装置。
  5. ユーザからの第1の指示操作を受け付ける第1操作手段と、第2の指示操作を受け付ける第2操作手段とを更に備え、
    前記ウィンドウは境界枠により分割された複数のサブウィンドウを含み、該境界枠は第1の領域と第2の領域とを有するように構成され、
    前記表示制御手段は、
    前記受付手段が、前記境界枠が有する第1の領域を利用した前記第1の指示操作を伴う操作による指示を受け付けた際に、前記第2操作手段が前記第2の指示操作を受けつけた場合には、前記境界枠の第1の側のサブウィンドウ内の表示内容と第2の側のサブウィンドウ内の表示内容のスクロールを伴うサブウィンドウサイズ変更を行うように前記表示手段を制御し、
    前記受付手段が、前記境界枠が有する第1の領域を利用した前記第1の指示操作を伴う操作による指示を受け付けた際に、前記第2操作手段が前記第2の指示操作を受けつけない場合には、前記境界枠の第1の側のサブウィンドウ内の表示内容のスクロールを伴うサブウィンドウサイズ変更と、前記第2の側のサブウィンドウ内の表示内容のスクロールを伴わないサブウィンドウサイズ変更とを行うように前記表示手段を制御し、
    前記受付手段が、前記境界枠が有する第2の領域を利用した前記第1の指示操作を伴う操作による指示を受け付けた際に、前記第2操作手段が前記第2の指示操作を受けつけた場合には、前記境界枠の第1の側のサブウィンドウ内の表示内容のスクロールを伴わないサブウィンドウサイズ変更と、前記第2の側のサブウィンドウ内の表示内容のスクロールを伴うサブウィンドウサイズ変更とを行うように前記表示手段を制御し、
    前記受付手段が、前記境界枠が有する第2の領域を利用した前記第1の指示操作を伴う操作による指示を受け付けた際に、前記第2操作手段が前記第2の指示操作を受けつけない場合には、前記境界枠の第1の側のサブウィンドウ内の表示内容と第2の側のサブウィンドウ内の表示内容のスクロールを伴わないサブウィンドウサイズ変更を行うように前記表示手段を制御する
    ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記第1の側及び第2の側は、前記境界枠に対して左側及び右側、又は、上側及び下側であることを特徴とする請求項5に記載の情報処理装置。
  7. 前記第1操作手段は、前記情報処理装置と接続されたマウスの左ボタンであって、前記第2操作手段は該マウスの右ボタンであることを特徴とする請求項5又は6に記載の情報処理装置。
  8. 前記第1操作手段は、前記情報処理装置と接続された電子ペンの先端スイッチであって、前記第2操作手段は該電子ペンのサイドスイッチであることを特徴とする請求項5乃至のいずれか1項に記載の情報処理装置。
  9. 前記ウィンドウ内に表示された内容はオブジェクトを含み、
    前記表示制御手段は、
    前記ウィンドウ内に表示された内容のスクロールを伴うウィンドウサイズ変更によって、前記オブジェクトがウィンドウの辺に接触した場合には、該接触したオブジェクトの表示位置を前記辺付近で固定させるとともに、前記辺に接触していない他のオブジェクトの表示位置をスクロールするように前記表示手段を制御し、
    前記ウィンドウ内に表示された内容のスクロールを伴わないウィンドウサイズ変更によって、前記オブジェクトがウィンドウの辺に接触した場合には、該接触したオブジェクトの表示位置のスクロールを開始させるとともに、前記辺に接触していない他のオブジェクトの表示位置は停止するように前記表示手段を制御する
    ことを特徴とする請求項1乃至のいずれか1項に記載の情報処理装置。
  10. 前記表示制御手段は、
    前記ウィンドウ内に表示された内容のスクロールを伴うウィンドウサイズ変更によって、前記表示内容に含まれるオブジェクトが、既に表示位置が固定されている他のオブジェクトに接触した場合には、さらに該接触したオブジェクトの表示位置を固定させ、
    前記ウィンドウ内に表示された内容のスクロールを伴わないウィンドウサイズ変更によって、前記表示内容に含まれるオブジェクトが、既に表示位置がスクロールされているオブジェクトに接触した場合には、さらに該接触したオブジェクトの表示位置の移動を開始させる
    ことを更に特徴とする請求項に記載の情報処理装置。
  11. 情報処理装置の制御方法であって、
    辺と角部を含むように構成され、前記辺の少なくとも1つが、第1の領域と第2の領域とを有するウィンドウを表示部に表示する表示工程と、
    前記ウィンドウ内に表示された内容のスクロールを伴うウィンドウサイズ変更を行うか、前記ウィンドウ内に表示された内容のスクロールを伴わないウィンドウサイズ変更を行うかを示す指示を受け付ける受付工程と、
    前記表示部を制御する表示制御工程であって、
    前記受付工程で、前記ウィンドウを構成する辺が有する第1の領域を利用した操作による指示を受け付けた場合には、前記ウィンドウ内に表示された内容のスクロールを伴うウィンドウサイズ変更を行うように前記表示部を制御し、
    前記受付工程で、前記ウィンドウを構成する辺が有する第2の領域を利用した操作による指示を受け付けた場合には、前記ウィンドウ内に表示された内容のスクロールを伴わないウィンドウサイズ変更を行うように前記表示部を制御する表示制御工程と
    とを備えることを特徴とする情報処理装置の制御方法。
  12. 辺と角部を含むように構成され、前記辺の少なくとも1つが、第1の領域と第2の領域とを有するウィンドウを表示する表示手段を有するコンピュータを、
    前記ウィンドウ内に表示された内容のスクロールを伴うウィンドウサイズ変更を行うか、前記ウィンドウ内に表示された内容のスクロールを伴わないウィンドウサイズ変更を行うかを示す指示を受け付ける受付手段と、
    前記表示手段を制御する表示制御手段として機能させるコンピュータプログラムであって、
    前記表示制御手段は、
    前記受付手段が、前記ウィンドウを構成する辺が有する第1の領域を利用した操作による指示を受け付けた場合には、前記ウィンドウ内に表示された内容のスクロールを伴うウィンドウサイズ変更を行うように前記表示手段を制御し、
    前記受付手段が、前記ウィンドウを構成する辺が有する第2の領域を利用した操作による指示を受け付けた場合には、前記ウィンドウ内に表示された内容のスクロールを伴わないウィンドウサイズ変更を行うように前記表示手段を制御する
    ことを特徴とするコンピュータプログラム。
JP2007186326A 2007-07-17 2007-07-17 情報処理装置及びその制御方法、コンピュータプログラム Expired - Fee Related JP5184832B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007186326A JP5184832B2 (ja) 2007-07-17 2007-07-17 情報処理装置及びその制御方法、コンピュータプログラム
US12/170,994 US8112716B2 (en) 2007-07-17 2008-07-10 Information processing apparatus and control method thereof, and computer program
US13/345,230 US9389746B2 (en) 2007-07-17 2012-01-06 Information processing apparatus and control method thereof, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007186326A JP5184832B2 (ja) 2007-07-17 2007-07-17 情報処理装置及びその制御方法、コンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2009025920A JP2009025920A (ja) 2009-02-05
JP2009025920A5 JP2009025920A5 (ja) 2010-08-26
JP5184832B2 true JP5184832B2 (ja) 2013-04-17

Family

ID=40265879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007186326A Expired - Fee Related JP5184832B2 (ja) 2007-07-17 2007-07-17 情報処理装置及びその制御方法、コンピュータプログラム

Country Status (2)

Country Link
US (2) US8112716B2 (ja)
JP (1) JP5184832B2 (ja)

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8554868B2 (en) 2007-01-05 2013-10-08 Yahoo! Inc. Simultaneous sharing communication interface
JP5279646B2 (ja) * 2008-09-03 2013-09-04 キヤノン株式会社 情報処理装置、その動作方法及びプログラム
CN101672648A (zh) * 2008-09-12 2010-03-17 富士通天株式会社 信息处理装置、图像处理装置
JP5375338B2 (ja) * 2009-05-29 2013-12-25 セイコーエプソン株式会社 画像表示システム、画像表示装置、画像表示方法、画像供給装置、およびプログラム
US9401099B2 (en) * 2010-05-11 2016-07-26 AI Squared Dedicated on-screen closed caption display
US9843665B2 (en) 2011-05-27 2017-12-12 Microsoft Technology Licensing, Llc Display of immersive and desktop shells
US10417018B2 (en) 2011-05-27 2019-09-17 Microsoft Technology Licensing, Llc Navigation of immersive and desktop shells
US8924885B2 (en) * 2011-05-27 2014-12-30 Microsoft Corporation Desktop as immersive application
JP5360140B2 (ja) * 2011-06-17 2013-12-04 コニカミノルタ株式会社 情報閲覧装置及び制御プログラム並びに制御方法
EP2732383B1 (en) 2011-07-12 2018-04-04 Snap Inc. Methods and systems of providing visual content editing functions
JP5604386B2 (ja) * 2011-07-29 2014-10-08 楽天株式会社 情報処理装置、情報処理装置の制御方法、プログラム及び情報記録媒体
US20130063494A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Assistive reading interface
US9218123B2 (en) * 2011-12-29 2015-12-22 Apple Inc. Device, method, and graphical user interface for resizing content viewing and text entry interfaces
US11734712B2 (en) 2012-02-24 2023-08-22 Foursquare Labs, Inc. Attributing in-store visits to media consumption based on data collected from user devices
US8972357B2 (en) 2012-02-24 2015-03-03 Placed, Inc. System and method for data collection to validate location data
US10155168B2 (en) 2012-05-08 2018-12-18 Snap Inc. System and method for adaptable avatars
US20150206349A1 (en) 2012-08-22 2015-07-23 Goldrun Corporation Augmented reality virtual content platform apparatuses, methods and systems
CN107247538B (zh) * 2012-09-17 2020-03-20 华为终端有限公司 触摸操作处理方法及终端设备
US9612713B2 (en) * 2012-09-26 2017-04-04 Google Inc. Intelligent window management
US8775972B2 (en) 2012-11-08 2014-07-08 Snapchat, Inc. Apparatus and method for single action control of social network profile access
KR102089951B1 (ko) * 2013-03-14 2020-04-14 엘지전자 주식회사 이동 단말기 및 그것의 제어방법
US10439972B1 (en) 2013-05-30 2019-10-08 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9742713B2 (en) 2013-05-30 2017-08-22 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9705831B2 (en) 2013-05-30 2017-07-11 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
JP6188490B2 (ja) * 2013-08-28 2017-08-30 キヤノン株式会社 画像表示装置、制御方法およびコンピュータプログラム
KR20150037014A (ko) * 2013-09-30 2015-04-08 삼성전자주식회사 전자장치 및 전자장치의 사용자 인터페이스 제공방법
US9083770B1 (en) 2013-11-26 2015-07-14 Snapchat, Inc. Method and system for integrating real time communication features in applications
CA2863124A1 (en) 2014-01-03 2015-07-03 Investel Capital Corporation User content sharing system and method with automated external content integration
US9628950B1 (en) 2014-01-12 2017-04-18 Investment Asset Holdings Llc Location-based messaging
US10082926B1 (en) 2014-02-21 2018-09-25 Snap Inc. Apparatus and method for alternate channel communication initiated through a common message thread
US8909725B1 (en) 2014-03-07 2014-12-09 Snapchat, Inc. Content delivery network for ephemeral objects
US9276886B1 (en) 2014-05-09 2016-03-01 Snapchat, Inc. Apparatus and method for dynamically configuring application component tiles
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
EP2955686A1 (en) 2014-06-05 2015-12-16 Mobli Technologies 2010 Ltd. Automatic article enrichment by social media trends
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
US9225897B1 (en) 2014-07-07 2015-12-29 Snapchat, Inc. Apparatus and method for supplying content aware photo filters
US10055717B1 (en) 2014-08-22 2018-08-21 Snap Inc. Message processor with application prompts
US10423983B2 (en) 2014-09-16 2019-09-24 Snap Inc. Determining targeting information based on a predictive targeting model
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US11216869B2 (en) 2014-09-23 2022-01-04 Snap Inc. User interface to augment an image using geolocation
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
US9015285B1 (en) 2014-11-12 2015-04-21 Snapchat, Inc. User interface for accessing media at a geographic location
KR102252321B1 (ko) * 2014-12-24 2021-05-14 삼성전자주식회사 디스플레이 장치 및 디스플레이 방법
US9854219B2 (en) 2014-12-19 2017-12-26 Snap Inc. Gallery of videos set to an audio time line
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
US11388226B1 (en) 2015-01-13 2022-07-12 Snap Inc. Guided personal identity based actions
US10133705B1 (en) 2015-01-19 2018-11-20 Snap Inc. Multichannel system
US9521515B2 (en) 2015-01-26 2016-12-13 Mobli Technologies 2010 Ltd. Content request by location
US10223397B1 (en) 2015-03-13 2019-03-05 Snap Inc. Social graph based co-location of network users
KR102035405B1 (ko) 2015-03-18 2019-10-22 스냅 인코포레이티드 지오-펜스 인가 프로비저닝
US9692967B1 (en) 2015-03-23 2017-06-27 Snap Inc. Systems and methods for reducing boot time and power consumption in camera systems
US9881094B2 (en) 2015-05-05 2018-01-30 Snap Inc. Systems and methods for automated local story generation and curation
US10135949B1 (en) 2015-05-05 2018-11-20 Snap Inc. Systems and methods for story and sub-story navigation
US10993069B2 (en) 2015-07-16 2021-04-27 Snap Inc. Dynamically adaptive media content delivery
US10817898B2 (en) 2015-08-13 2020-10-27 Placed, Llc Determining exposures to content presented by physical objects
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US10474321B2 (en) 2015-11-30 2019-11-12 Snap Inc. Network resource location linking and visual content sharing
US9984499B1 (en) 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
US11023514B2 (en) 2016-02-26 2021-06-01 Snap Inc. Methods and systems for generation, curation, and presentation of media collections
US10679389B2 (en) 2016-02-26 2020-06-09 Snap Inc. Methods and systems for generation, curation, and presentation of media collections
US10285001B2 (en) 2016-02-26 2019-05-07 Snap Inc. Generation, curation, and presentation of media collections
JP6647103B2 (ja) * 2016-03-23 2020-02-14 キヤノン株式会社 表示制御装置およびその制御方法
US10339365B2 (en) 2016-03-31 2019-07-02 Snap Inc. Automated avatar generation
US11900418B2 (en) 2016-04-04 2024-02-13 Snap Inc. Mutable geo-fencing system
US10638256B1 (en) 2016-06-20 2020-04-28 Pipbin, Inc. System for distribution and display of mobile targeted augmented reality content
US11201981B1 (en) 2016-06-20 2021-12-14 Pipbin, Inc. System for notification of user accessibility of curated location-dependent content in an augmented estate
US11785161B1 (en) 2016-06-20 2023-10-10 Pipbin, Inc. System for user accessibility of tagged curated augmented reality content
US10334134B1 (en) 2016-06-20 2019-06-25 Maximillian John Suiter Augmented real estate with location and chattel tagging system and apparatus for virtual diary, scrapbooking, game play, messaging, canvasing, advertising and social interaction
US10805696B1 (en) 2016-06-20 2020-10-13 Pipbin, Inc. System for recording and targeting tagged content of user interest
US11044393B1 (en) 2016-06-20 2021-06-22 Pipbin, Inc. System for curation and display of location-dependent augmented reality content in an augmented estate system
US11876941B1 (en) 2016-06-20 2024-01-16 Pipbin, Inc. Clickable augmented reality content manager, system, and network
US10430838B1 (en) 2016-06-28 2019-10-01 Snap Inc. Methods and systems for generation, curation, and presentation of media collections with automated advertising
US9681265B1 (en) 2016-06-28 2017-06-13 Snap Inc. System to track engagement of media items
US10733255B1 (en) 2016-06-30 2020-08-04 Snap Inc. Systems and methods for content navigation with automated curation
US10855632B2 (en) 2016-07-19 2020-12-01 Snap Inc. Displaying customized electronic messaging graphics
WO2018045076A1 (en) 2016-08-30 2018-03-08 C3D Augmented Reality Solutions Ltd Systems and methods for simultaneous localization and mapping
US10432559B2 (en) 2016-10-24 2019-10-01 Snap Inc. Generating and displaying customized avatars in electronic messages
CN112738408B (zh) 2016-11-07 2022-09-16 斯纳普公司 图像修改器的选择性识别和排序
KR102375950B1 (ko) * 2016-12-02 2022-03-17 삼성전자주식회사 화면의 크기를 조절하기 위한 방법 및 그 전자 장치
US10203855B2 (en) 2016-12-09 2019-02-12 Snap Inc. Customized user-controlled media overlays
US11616745B2 (en) 2017-01-09 2023-03-28 Snap Inc. Contextual generation and selection of customized media content
US10454857B1 (en) 2017-01-23 2019-10-22 Snap Inc. Customized digital avatar accessories
US10915911B2 (en) 2017-02-03 2021-02-09 Snap Inc. System to determine a price-schedule to distribute media content
US11250075B1 (en) 2017-02-17 2022-02-15 Snap Inc. Searching social media content
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US10074381B1 (en) 2017-02-20 2018-09-11 Snap Inc. Augmented reality speech balloon system
JP6773977B2 (ja) * 2017-03-01 2020-10-21 富士通クライアントコンピューティング株式会社 端末装置及び操作制御プログラム
US10565795B2 (en) 2017-03-06 2020-02-18 Snap Inc. Virtual vision system
US10523625B1 (en) 2017-03-09 2019-12-31 Snap Inc. Restricted group content collection
US10581782B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US10582277B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US11170393B1 (en) 2017-04-11 2021-11-09 Snap Inc. System to calculate an engagement score of location based media content
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US10212541B1 (en) 2017-04-27 2019-02-19 Snap Inc. Selective location-based identity communication
EP4040368A1 (en) 2017-04-27 2022-08-10 Snap Inc. Low-latency delivery mechanism for map-based gui
US11893647B2 (en) 2017-04-27 2024-02-06 Snap Inc. Location-based virtual avatars
US10467147B1 (en) 2017-04-28 2019-11-05 Snap Inc. Precaching unlockable data elements
US10803120B1 (en) 2017-05-31 2020-10-13 Snap Inc. Geolocation based playlists
US11475254B1 (en) 2017-09-08 2022-10-18 Snap Inc. Multimodal entity identification
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
US10499191B1 (en) 2017-10-09 2019-12-03 Snap Inc. Context sensitive presentation of content
US10573043B2 (en) 2017-10-30 2020-02-25 Snap Inc. Mobile-based cartographic control of display content
US11265273B1 (en) 2017-12-01 2022-03-01 Snap, Inc. Dynamic media overlay with smart widget
US11017173B1 (en) 2017-12-22 2021-05-25 Snap Inc. Named entity recognition visual context and caption data
US10678818B2 (en) 2018-01-03 2020-06-09 Snap Inc. Tag distribution visualization system
US11507614B1 (en) 2018-02-13 2022-11-22 Snap Inc. Icon based tagging
US10979752B1 (en) 2018-02-28 2021-04-13 Snap Inc. Generating media content items based on location information
US10885136B1 (en) 2018-02-28 2021-01-05 Snap Inc. Audience filtering system
US10327096B1 (en) 2018-03-06 2019-06-18 Snap Inc. Geo-fence selection system
EP3766028A1 (en) 2018-03-14 2021-01-20 Snap Inc. Generating collectible items based on location information
US11163941B1 (en) 2018-03-30 2021-11-02 Snap Inc. Annotating a collection of media content items
US10219111B1 (en) 2018-04-18 2019-02-26 Snap Inc. Visitation tracking system
US10896197B1 (en) 2018-05-22 2021-01-19 Snap Inc. Event detection system
US10679393B2 (en) 2018-07-24 2020-06-09 Snap Inc. Conditional modification of augmented reality object
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
US10698583B2 (en) 2018-09-28 2020-06-30 Snap Inc. Collaborative achievement interface
US10778623B1 (en) 2018-10-31 2020-09-15 Snap Inc. Messaging and gaming applications communication platform
US10939236B1 (en) 2018-11-30 2021-03-02 Snap Inc. Position service to determine relative position to map features
US11199957B1 (en) 2018-11-30 2021-12-14 Snap Inc. Generating customized avatars based on location information
US11032670B1 (en) 2019-01-14 2021-06-08 Snap Inc. Destination sharing in location sharing system
US10939246B1 (en) 2019-01-16 2021-03-02 Snap Inc. Location-based context information sharing in a messaging system
US11294936B1 (en) 2019-01-30 2022-04-05 Snap Inc. Adaptive spatial density based clustering
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
US10936066B1 (en) 2019-02-13 2021-03-02 Snap Inc. Sleep detection in a location sharing system
US10838599B2 (en) 2019-02-25 2020-11-17 Snap Inc. Custom media overlay system
US10964082B2 (en) 2019-02-26 2021-03-30 Snap Inc. Avatar based on weather
US10852918B1 (en) 2019-03-08 2020-12-01 Snap Inc. Contextual information in chat
US11868414B1 (en) 2019-03-14 2024-01-09 Snap Inc. Graph-based prediction for contact suggestion in a location sharing system
US11852554B1 (en) 2019-03-21 2023-12-26 Snap Inc. Barometer calibration in a location sharing system
US11249614B2 (en) 2019-03-28 2022-02-15 Snap Inc. Generating personalized map interface with enhanced icons
US10810782B1 (en) 2019-04-01 2020-10-20 Snap Inc. Semantic texture mapping system
US10560898B1 (en) 2019-05-30 2020-02-11 Snap Inc. Wearable device location systems
US10582453B1 (en) 2019-05-30 2020-03-03 Snap Inc. Wearable device location systems architecture
US10893385B1 (en) 2019-06-07 2021-01-12 Snap Inc. Detection of a physical collision between two client devices in a location sharing system
US11307747B2 (en) 2019-07-11 2022-04-19 Snap Inc. Edge gesture interface with smart interactions
US11821742B2 (en) 2019-09-26 2023-11-21 Snap Inc. Travel based notifications
US11218838B2 (en) 2019-10-31 2022-01-04 Snap Inc. Focused map-based context information surfacing
US10880496B1 (en) 2019-12-30 2020-12-29 Snap Inc. Including video feed in message thread
US11128715B1 (en) 2019-12-30 2021-09-21 Snap Inc. Physical friend proximity in chat
US11429618B2 (en) 2019-12-30 2022-08-30 Snap Inc. Surfacing augmented reality objects
US11169658B2 (en) 2019-12-31 2021-11-09 Snap Inc. Combined map icon with action indicator
US11343323B2 (en) 2019-12-31 2022-05-24 Snap Inc. Augmented reality objects registry
US11228551B1 (en) 2020-02-12 2022-01-18 Snap Inc. Multiple gateway message exchange
US11516167B2 (en) 2020-03-05 2022-11-29 Snap Inc. Storing data based on device location
US11619501B2 (en) 2020-03-11 2023-04-04 Snap Inc. Avatar based on trip
US10956743B1 (en) 2020-03-27 2021-03-23 Snap Inc. Shared augmented reality system
US11430091B2 (en) 2020-03-27 2022-08-30 Snap Inc. Location mapping for large scale augmented-reality
US11314776B2 (en) 2020-06-15 2022-04-26 Snap Inc. Location sharing using friend list versions
US11483267B2 (en) 2020-06-15 2022-10-25 Snap Inc. Location sharing using different rate-limited links
US11503432B2 (en) 2020-06-15 2022-11-15 Snap Inc. Scalable real-time location sharing framework
US11290851B2 (en) 2020-06-15 2022-03-29 Snap Inc. Location sharing using offline and online objects
US11308327B2 (en) 2020-06-29 2022-04-19 Snap Inc. Providing travel-based augmented reality content with a captured image
US11349797B2 (en) 2020-08-31 2022-05-31 Snap Inc. Co-location connection service
US11606756B2 (en) 2021-03-29 2023-03-14 Snap Inc. Scheduling requests for location data
US11645324B2 (en) 2021-03-31 2023-05-09 Snap Inc. Location-based timeline media content system
EP4341793A2 (en) * 2021-05-17 2024-03-27 Apple Inc. Interacting with notes user interfaces
US12026362B2 (en) 2021-05-19 2024-07-02 Snap Inc. Video editing application for mobile devices
US11829834B2 (en) 2021-10-29 2023-11-28 Snap Inc. Extended QR code
US12001750B2 (en) 2022-04-20 2024-06-04 Snap Inc. Location-based shared augmented reality experience system
US12020384B2 (en) 2022-06-21 2024-06-25 Snap Inc. Integrating augmented reality experiences with other components
US12020386B2 (en) 2022-06-23 2024-06-25 Snap Inc. Applying pregenerated virtual experiences in new location

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03214362A (ja) * 1990-01-19 1991-09-19 Fuji Xerox Co Ltd 計算機システム
JP3350570B2 (ja) * 1993-05-10 2002-11-25 富士通株式会社 一覧表示方式
JPH0793123A (ja) * 1993-09-20 1995-04-07 Fujitsu Ltd 表示装置
JP3445341B2 (ja) * 1993-12-24 2003-09-08 株式会社東芝 ウィンドウ表示装置およびウィンドウ表示方法
JP2765615B2 (ja) * 1994-08-09 1998-06-18 カシオ計算機株式会社 ウィンドウ表示制御装置
JP3404931B2 (ja) * 1994-11-15 2003-05-12 カシオ計算機株式会社 表処理装置
JP3760492B2 (ja) 1995-12-28 2006-03-29 富士ゼロックス株式会社 マルチウインドウ表示装置及びマルチウインドウ表示方法
GB2310989B (en) * 1996-03-08 2001-02-28 Ibm Graphical user interface
CA2175148C (en) * 1996-04-26 2002-06-11 Robert Cecco User interface control for creating split panes in a single window
JP3586351B2 (ja) 1997-03-21 2004-11-10 インターナショナル・ビジネス・マシーンズ・コーポレーション ウインドウ表示装置および方法、並びにウインドウ表示制御プログラムを記録した記録媒体
JP4281120B2 (ja) * 1998-01-16 2009-06-17 ソニー株式会社 編集装置および方法、並びに記録媒体

Also Published As

Publication number Publication date
US20090024956A1 (en) 2009-01-22
US8112716B2 (en) 2012-02-07
JP2009025920A (ja) 2009-02-05
US9389746B2 (en) 2016-07-12
US20120102430A1 (en) 2012-04-26

Similar Documents

Publication Publication Date Title
JP5184832B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
EP2495644B1 (en) Portable information terminal comprising two adjacent display screens
US5590256A (en) Method for manipulating notes on a computer display
EP0816998B1 (en) Method and apparatus for grouping graphic objects on a computer based system having a graphical user interface
US10162511B2 (en) Self-revelation aids for interfaces
US5808610A (en) Method and system of docking panels
JP5738495B2 (ja) 情報表示装置および表示情報操作方法
US20050015731A1 (en) Handling data across different portions or regions of a desktop
US20140189593A1 (en) Electronic device and input method
US20120044164A1 (en) Interface apparatus and method for setting a control area on a touch screen
US20130191711A1 (en) Systems and Methods to Facilitate Active Reading
JP4850646B2 (ja) 表示制御装置及びその制御方法
CN102622168A (zh) 信息处理设备、信息处理方法和信息处理程序
US20140013272A1 (en) Page Editing
CN103201716A (zh) 触敏电子设备
WO2011041547A1 (en) Systems and methods to facilitate active reading
JP5921703B2 (ja) 情報表示装置および情報表示装置における操作制御方法
CN105027053A (zh) 电子装置、显示方法和显示程序
JP3388451B2 (ja) 手書き入力装置
EP2940562A1 (en) Electronic apparatus and input method
JPH11265246A (ja) マルチウィンドウ表示装置、マルチウィンドウ表示方法およびマルチウィンドウ表示プログラムを記憶した媒体
JP6467889B2 (ja) 携帯端末、及びその制御方法、プログラム
JP2020507174A (ja) 表示コンテンツのパネルをナビゲートする方法
JPH07141092A (ja) 手書き入力装置
KR20190115401A (ko) 링크 뷰 방법, 링크 뷰 장치 및 링크 뷰 프로그램

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100713

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100713

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120424

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: 20121221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130117

R151 Written notification of patent or utility model registration

Ref document number: 5184832

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees