JP2019020932A - 情報処理装置、入力制御方法、及びコンピュータプログラム - Google Patents
情報処理装置、入力制御方法、及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2019020932A JP2019020932A JP2017137517A JP2017137517A JP2019020932A JP 2019020932 A JP2019020932 A JP 2019020932A JP 2017137517 A JP2017137517 A JP 2017137517A JP 2017137517 A JP2017137517 A JP 2017137517A JP 2019020932 A JP2019020932 A JP 2019020932A
- Authority
- JP
- Japan
- Prior art keywords
- image
- display
- control unit
- information
- enlargement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】OSやウインドウズシステムのカスタマイズを行うことなく、拡大機能により拡大した画像の表示中にAPを操作することができる情報処理装置を提供すること。【解決手段】情報処理装置は、ディスプレイ119に一体に構成されるタッチパネル118を備える。第1の画像が描画される通常表示領域及び第2の画像が描画される拡張表示領域を備える。第1の画像は、アプリケーション部401により描画される。第2の画像は、拡大制御部301により第1の画像を拡大して生成される。ディスプレイ119には、第1の画像及び第2の画像のいずれか一方が表示される。情報処理装置は、第2の画像が前記表示装置に描画されているときに、タッチパネル119がタッチ操作されると、タッチ操作された位置を通常表示領域の位置に変換して、アプリケーション部401に送信する。【選択図】図2
Description
本発明は、表示装置の表示画面に表示された画像を拡大表示する機能を備えた情報処理装置に関する。
表示装置を備えた情報処理装置には、表示装置に表示する画像を自由な拡大率で拡大表示する拡大機能を備えるものがある。情報処理装置は、拡大機能により、写真や文字等のアプリケーションソフトウェア(以下、「AP」という。)に依存するコンテンツのみでなく、表示画面に表示された全体画像を拡大することができる。そのために、情報処理装置は、アイコン等のオブジェクトを含め、表示画面に表示されるすべての画像をユーザに最適な大きさで表示することができる。ユーザは、拡大した画像による操作が可能となる。そのためにアクセシビリティが向上し、例えば視力の弱いユーザであっても操作に支障をきたすことが少なくなる。特許文献1は、このような情報処理装置を開示しており、表示画面のキャプチャされた一部のズームが可能となっている。
拡大機能は、通常、表示画面を常に更新しながら全体画像を大きくする必要があるため、オペレーションシステム(以下、「OS」という。)やウィンドウシステム等のシステムレベルで組み込まれる。そのために、拡大機能をすでに有するOSやウィンドウシステムを採用していない情報処理装置では、表示画面に表示される全体画像の拡大表示を行うことができない。また、OSやウィンドウシステムのカスタマイズはライセンス等の問題があるために、OSやウィンドウシステムに後付けで拡大機能を付加することは困難である。さらに、APの実行画面を拡大機能により拡大して表示している場合、拡大された画像への操作によりAPを操作可能な情報処理装置は、現在市場に提供されていない。特に、例えばドラッグ操作やピンチ操作など拡大機能の処理に用いられる操作についても、これらの操作を使ってAPを操作可能な情報処理装置が求められている。
本発明は、上記の問題を解決するために、OSやウインドウシステムのカスタマイズを行うことなく、拡大した画像の表示中にAPを操作することができる情報処理装置を提供することを目的とする。
上記の目的を達成するために、本発明に係る情報処理装置は、
第1の画像が描画される第1の表示領域及び前記第1の表示領域と同じ表示サイズで第2の画像が描画される第2の表示領域を備えた記憶手段と、前記第1の画像を生成して前記第1の表示領域に描画するアプリケーション手段と、前記第1の画像を拡大し、拡大した第1の画像の一部を含む前記第2の画像を生成して前記第2の表示領域に描画する拡大制御手段と、前記第1の画像及び前記第2の画像のいずれか一方を所定の表示装置に表示させる画面表示手段と、前記表示装置に一体に構成されるタッチパネルと、前記第2の画像が前記表示装置に表示されているときに、前記タッチパネルがタッチ操作されると、前記タッチ操作された位置を前記第1の表示領域の位置に変換して、前記アプリケーション手段に送信する変換手段と、を備えることを特徴とする。
第1の画像が描画される第1の表示領域及び前記第1の表示領域と同じ表示サイズで第2の画像が描画される第2の表示領域を備えた記憶手段と、前記第1の画像を生成して前記第1の表示領域に描画するアプリケーション手段と、前記第1の画像を拡大し、拡大した第1の画像の一部を含む前記第2の画像を生成して前記第2の表示領域に描画する拡大制御手段と、前記第1の画像及び前記第2の画像のいずれか一方を所定の表示装置に表示させる画面表示手段と、前記表示装置に一体に構成されるタッチパネルと、前記第2の画像が前記表示装置に表示されているときに、前記タッチパネルがタッチ操作されると、前記タッチ操作された位置を前記第1の表示領域の位置に変換して、前記アプリケーション手段に送信する変換手段と、を備えることを特徴とする。
本発明に係る情報処理装置によれば、第2の画像を表示している場合であっても、タッチ操作された位置を第1の表示領域の位置に変換することで、OSやウインドウシステムのカスタマイズを行うことなく、アプリケーションを操作することができる。また、例えばドラッグ操作やピンチ操作など拡大機能の操作に用いる操作についても、適切にアプリケーションに通知するので、拡大機能使用中であっても、これらの操作を使ってアプリケーションを操作することができる。
以下、図面を参照して実施の形態を詳細に説明する。
(構成)
図1は、本実施形態の情報処理装置のハードウェア構成図である。
図1は、本実施形態の情報処理装置のハードウェア構成図である。
情報処理装置101は、画像形成装置やスマートフォンのようにディスプレイ119(表示装置)を備えるコンピュータである。情報処理装置101は、OSやウィンドウシステム等のシステムレベルで拡大機能を有していない。情報処理装置101は、ディスプレイ119の他に、制御部110、タッチパネル118、及び外部メモリ120を備える。制御部110は、CPU(Central Processing Unit)111、RAM(Random Access Memory)112、及びROM(Read Only Memory)113を備え、情報処理装置101全体の動作を制御する。そのために制御部110は、タッチパネル118に接続される入力制御部114、ディスプレイ119に接続される表示制御部115、外部メモリ120に接続される外部メモリインタフェース(I/F)116を備える。また制御部110は、LAN(Local Area Network)等のネットワーク102との通信制御を行う通信I/Fコントローラ117を備える。CPU111、RAM112、ROM113、入力制御部114、表示制御部115、外部メモリI/F116、及び通信I/Fコントローラ117は、システムバスBを介して相互に通信可能に接続される。
CPU111は、ROM113や外部メモリ120に格納されるコンピュータプログラムを読み出し、RAM112をワークエリアとして用いて実行することで、情報処理装置101の各部の動作を制御する。ROM113は不揮発性メモリであり、コンピュータプログラムの他に、処理に必要な各種のデータを保持する記憶媒体である。RAM112は揮発性メモリであり、処理を行う際の一時記憶領域を提供する。
入力制御部114は、入力デバイスを用いたユーザの操作を受け付けて、受け付けた操作に応じた制御信号をCPU111に送信する。図1では、入力デバイスとしてタッチパネル118を用いる。入力デバイスには、タッチパネル118の他に、キーボード等の文字入力デバイスやマウス等のポインティングデバイスを用いることができる。タッチパネル118は、ユーザの指やスタイラスペン等によりタッチされた位置を検出するポインティングデバイスである。タッチパネル118は、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のものを用いることができる。入力制御部114は、タッチパネル118が検出した位置に応じた制御信号をCPU111に送信する。CPU111は、該制御信号に基づいて処理を実行する。CPU111は、これにより情報処理装置101に対するユーザの操作に応じた処理を行う。
表示制御部115は、CPU111の制御により、ディスプレイ119に画像を表示させる。表示制御部115は、例えば、ディスプレイ119に、処理に関連付けられたオブジェクトで構成される画像を表示させる。本実施形態の表示制御部115は、ディスプレイ119に拡大率100%の画像を表示させる他に、この画像を所定の拡大率で拡大した拡大画像を表示させることも可能である。
ディスプレイ119の表示画面には、タッチパネル118が一体になるように設けられる。タッチパネル118は、ディスプレイ119の表示を妨げないような透過率で構成される。CPU111は、ディスプレイ119に表示されるオブジェクトの位置と、タッチパネル118で検出されたタッチ位置とから、ユーザが操作(タッチ)したオブジェクトを特定し、該オブジェクトに関連付けられた処理を実行する。このようにタッチパネル118及びディスプレイ119により、ユーザがディスプレイ119に表示された画像を直接的に操作して入力を行うようなGUI(Graphical User Interface)を構成することができる。
外部メモリI/F116は、ハードディスク、フレキシブルディスク、CD(Compact Disk)、DVD(Digital Versatile Disc)、メモリカード等の外部メモリ120が装着可能である。外部メモリI/F116は、CPU111の制御に基づき、装着された外部メモリ120からのデータの読み出しや、当該外部メモリ120へのデータの書き込みを行う。通信I/Fコントローラ117は、ネットワーク102を介して、ネットワーク102に接続された他の装置との通信を制御する。
なお、CPU111は、タッチパネル118への以下の操作や状態を検知することができる。
タッチダウン:タッチパネル118をタッチする操作。
タッチオン:タッチパネル118をタッチしている状態。
ムーブ:タッチパネル118をタッチしたまま移動している状態。
タッチアップ:タッチパネル118にタッチする指やスタイラスペンを離すこと。
タッチオフ:タッチパネル118に何も触れていない状態。
タッチダウン:タッチパネル118をタッチする操作。
タッチオン:タッチパネル118をタッチしている状態。
ムーブ:タッチパネル118をタッチしたまま移動している状態。
タッチアップ:タッチパネル118にタッチする指やスタイラスペンを離すこと。
タッチオフ:タッチパネル118に何も触れていない状態。
これらの操作や、タッチパネル118上でユーザがタッチする位置を表す位置座標等の情報は、入力制御部114及びシステムバスBを介してCPU111に通知される。CPU111は、通知された情報に基づいてタッチパネル118上でどのような操作が行なわれたかを判定する。CPU111は、ムーブ時の指やスタイラスペンの移動方向についても、位置座標の変化に基づいて、タッチパネル118上の垂直成分・水平成分毎に判定する。
タッチパネル118は、タッチオンやムーブしている位置を複数同時に検出するマルチタッチに対応する。タッチパネルを2本の指やスタイラスペンで触れている状態から、その2点を結ぶ線分の方向に対して、2点間の距離を縮めたり伸ばしたりするように指を移動することがある。ユーザが2本の指を近づけたり離したりする操作は、ちょうど指で物をつまんだり、引き延ばす行為に似ていることから「ピンチ操作」と呼ばれる。通常、ピンチ操作は、ユーザの親指と人差し指を使って行われることが多い。CPU111は、2点同時にタッチオンされている状態から、それぞれもしくは一方のタッチ位置がムーブしたときをピンチ操作が行われたと判断する。また、CPU111は、ピンチ操作している2点を結ぶ線分の中心点座標、2点間の距離を算出することができる。
図2は、情報処理装置101の制御部110に実現される表示制御のための機能を表す機能ブロック図である。
各機能は、CPU111がROM113や外部メモリ120からコンピュータプログラムを読み出して実行することで形成されるが、ハードウェアとして構成されてもよい。
情報処理装置101には、画面制御部201、拡大制御部301、アプリケーション部401、及びデバイス制御部501が形成される。これらの機能により、情報処理装置101はディスプレイ119に表示されている画像を拡大する拡大機能を実現する。情報処理装置101が有する拡大機能には、ディスプレイ119に表示される画像の全体をピンチ操作等で拡大縮小する全体拡大機能と、虫眼鏡のように枠の中に画像の一部分を拡大表示する拡大鏡機能と、の二つの機能がある。以下、全体拡大機能を単に「全体拡大」といい、拡大鏡機能を単に「拡大鏡」という。
画面制御部201は、拡大機能を含めたAPの管理、表示する画像の画像情報をディスプレイ119に転送する処理、ユーザによるタッチパネル118へのタッチ操作に応じたイベントをAPに通知する処理等を行う。画面制御部201は、画面情報制御部202、画面情報格納部203、画面表示部204、入力情報制御部205、及び入力情報通知部206を備える。
画面情報制御部202は、デバイス制御部501から拡大モード(拡大機能)が切り替わったことを表す拡大モード通知を受信し、画面情報格納部203へ拡大モード通知を格納する。拡大モード通知には、拡大機能が有効か否かを表す情報、拡大率、全体拡大か拡大鏡かを表す情報等が含まれる。同時に、画面情報制御部202は、拡大制御部301に対して拡大モード通知を送信し、拡大制御部301からの指示により、画面表示部204に表示領域の切り替えを指示する。
画面表示部204は、ディスプレイ119に表示される画像を表示領域に描画する。表示領域は、それぞれ画像が描画される同じ表示サイズの2つの表示領域を備えている。画面表示部204は、画面情報制御部202から表示領域の切り替えの指示を受信して、ディスプレイ119に表示される画像が描画される表示領域の切り替え処理を行う。
図3は、表示領域の切り替え処理の説明図である。
図3は、最終的な画像の転送先であるディスプレイ119と、ディスプレイ119に転送される画像が描画される仮想ディスプレイ領域601とを表している。仮想ディスプレイ領域601は、例えばRAM112に設けられる。仮想ディスプレイ領域601は、それぞれ同じ表示サイズ(例えば横幅が1024ピクセル、高さが600ピクセル)の通常表示領域602と拡張表示領域603とで構成される。表示サイズは、ディスプレイ119の表示サイズ(例えば横幅が1024ピクセル、高さが600ピクセル)に応じて決められる。ディスプレイ119には、仮想ディスプレイ領域601から、通常表示領域602に描画される画像と拡張表示領域603に描画される画像とのいずれか一方が表示される。
通常表示領域602には、画面表示部204が、開始座標604のX座標「0」、Y座標「0」を始点として画像を描画する。通常表示領域602に描画される画像は、アプリケーション部401で生成される。拡張表示領域603には、画面表示部204が、開始座標605のX座標「1024」、Y座標「0」を始点として画像を描画する。拡張表示領域603に描画される画像は、拡大表示制御部307で生成される。つまり、アプリケーション部401でAPの実行により生成されるAPの実行画像が通常表示領域602に表示され、拡大制御部301で生成される実行画像の拡大画像が拡張表示領域603に表示される。
画面表示部204は、画面情報制御部202からの表示領域の切り替えの指示により、通常表示領域602又は拡張表示領域603のどちらかの領域に描画した画像をディスプレイ119に転送する。図3では、拡大機能が有効となっており、拡張表示領域603の画像がディスプレイ119に転送、表示されていることを表している。
入力情報制御部205は、ユーザのタッチパネル118への操作に応じた制御信号を解析して、APで処理可能なイベント情報の形式に変換し、入力情報通知部206に送信する。イベント情報は、タッチパネル118への操作や状態を表し、タッチ操作されたタッチ位置の座標情報等が含まれる。
入力情報通知部206は、入力情報制御部205からイベント情報を受信する。入力情報通知部206は、画面情報格納部203に格納されている拡大モード通知を参照して、拡大機能が無効であればアプリケーション部401へイベント情報を送信し、拡大機能が有効であれば拡大制御部301へイベント情報を送信する。また、入力情報通知部206は、イベント情報の受信によりタッチパネル118が操作されたと判断して、後述のタイマ制御部503に対してタイマのリセットを指示する。
拡大制御部301は、アプリケーション部401が通常表示領域602に描画した画像をキャプチャし、そのキャプチャ画像を拡大して拡張表示領域603に描画する。拡大制御部301は、拡大情報制御部302、画像キャプチャ部303、キャプチャ画像格納部304、拡大入力制御部305、拡大入力情報格納部306、拡大表示制御部307、及び拡大表示情報格納部308を備える。
拡大情報制御部302は、画面情報制御部202からの拡大モード通知を受信し、受信した拡大モード通知を拡大表示制御部307に送信する。拡大情報制御部302は、拡大モード通知により拡大機能が有効か否かを判断し、判断結果に応じて、画面情報制御部202に表示領域の切り替えを指示する。
画像キャプチャ部303は、拡大表示制御部307からの指示により、画面表示部204で通常表示領域602に描画された画像をキャプチャし、キャプチャ画像格納部304にキャプチャ画像を格納する。
拡大入力制御部305は、入力情報通知部206からイベント情報を受信して、受信したイベント情報を拡大入力情報格納部306に格納するとともに、拡大表示制御部307にイベント情報を受信したことを通知する。拡大入力情報格納部306に格納されるイベント情報は、例えば、前述したタッチダウン、タッチアップ、ムーブ等のイベント種類、タッチされた位置を表す位置座標等を含む。イベント情報は、複数の位置のタッチによるイベント情報を1つのイベント情報として格納する場合もある。
拡大表示制御部307は、大きく以下の3つの処理を行う。拡大表示制御部307は、拡大入力制御部305からの通知を受け付けると、拡大入力情報格納部306に格納されているイベント情報及び拡大表示情報格納部308に格納されている情報を取得する。拡大表示情報格納部308は、全体拡大機能の拡大率、全体画像の表示位置座標情報、拡大鏡の拡大率、拡大鏡の表示位置座標情報等の拡大表示情報が格納される。拡大表示制御部307は、取得した拡大表示情報を用いて新たな拡大率又は表示位置座標等を算出して、拡大表示情報格納部308の内容を更新する。拡大鏡、全体拡大の表示位置座標については後述する。
拡大表示制御部307は、常時、拡大表示情報格納部308を監視しており、拡大機能が有効であれば、画像キャプチャ部303に対して画像キャプチャを指示し、キャプチャ画像格納部304に格納されているキャプチャ画像を取得する。拡大表示制御部307は、取得したキャプチャ画像を拡大表示情報格納部308に格納されている拡大率に基づいて拡大縮小を行い、拡大鏡の表示位置座標情報に従って、画面表示部204に描画指示を行う。拡大機能が無効であれば、拡大表示制御部307は、これらの画面表示制御を行わない。
拡大表示制御部307は、拡大情報制御部302から拡大モード通知を受信し、拡大機能が有効か否かに応じて、拡大情報制御部302に表示領域の切り替えを指示させる。拡大表示制御部307は、拡大機能が無効になったと判断した場合には、拡大情報制御部302に通常表示領域602への切り替えを指示させる。拡大表示制御部307は、拡大機能が有効になったと判断した場合には、拡大情報制御部302に拡張表示領域603への切り替えを指示させる。
アプリケーション部401は、ディスプレイ119への表示及びタッチパネル118による操作のための画像を生成するアプリケーション群である。アプリケーション部401は、デバイス設定アプリケーション402及び一般アプリケーション403を備える。アプリケーション部401が画面表示部204に描画指示を送信することで、ディスプレイ119に通常表示領域602に形成された画像が表示される。
デバイス設定アプリケーション402は、主に管理者が情報処理装置101本体の各種設定値を使用環境に合わせて設定するためのAPである。例えば、デバイス設定アプリケーション402は、言語設定、省電力設定、ネットワーク設定、拡大機能設定等の設定に用いられる。設定値に応じて情報処理装置101の動作が決定される。本実施形態においては、拡大機能設定によって拡大モード通知に含まれる情報が設定される。一般アプリケーション403は、一般のユーザが使用するAPであり、例えばコピー、スキャン、スキャンしたデータの送信、保存、プリント等、様々なAPである。
デバイス制御部501は、情報処理装置101の状態の監視及び管理を行う。デバイス制御部501は、デバイス情報制御部502、タイマ制御部503、及びデバイス情報格納部504を備える。
デバイス情報制御部502は、常時、デバイス情報格納部504を監視しており、デバイス設定アプリケーション402により設定値が更新されたことを検知すると、画面情報制御部202に更新された設定値を含む拡大モード通知を送信する。デバイス情報格納部504は、デバイス設定アプリケーション402により設定された設定値を格納する他に、省電力モードへの移行時間やオートクリアする時間を格納する。
タイマ制御部503は、情報処理装置101が一定時間操作されなかった場合に移行する省電力モードや、ユーザが途中まで操作していた画像をデフォルト画像に戻すオートクリア等の管理を行う。具体的には、タイマ制御部503は時間をカウントアップしておき、デバイス情報格納部504に格納されている省電力モードへの移行時間やオートクリアする時間と比較を行う。タイマ制御部503は、比較の結果、それらの時間を過ぎた場合に、デバイス情報制御部502に対して、省電力モードやオートクリアの要求を行う。デバイス情報制御部502は、タイマ制御部503からの通知要求を受けると、画面情報制御部202にオートクリア、省電力モードに入ったことを通知する。また、タイマ制御部503は、入力情報通知部206からタイマのリセットの指示があれば、自身のタイマをリセットすることで、省電力モードやオートクリア等の処理を遅延させる。
<拡大鏡>
図4は、拡大鏡機能時にディスプレイ119に表示される拡大鏡枠の説明図である。
図4は、拡大鏡機能時にディスプレイ119に表示される拡大鏡枠の説明図である。
ディスプレイ119には、拡張表示領域603の画像が表示される。拡大鏡枠705は、拡張表示領域603よりも小さい大きさであり、拡張表示領域603内に表示され、表示位置が中心座標701で表される。拡大鏡枠705は、拡張表示領域603内で移動可能である。図4では、拡大鏡枠705が移動して、中心座標702の拡大鏡枠706となる。
拡張表示領域603に表示される画像は、拡張表示領域603の左上の座標(1024,0)を原点として表示される。この画像は、通常表示領域602に描画される画像と同じであり、拡大されていない。拡大鏡枠705内に表示される拡大鏡画像は、拡大鏡枠705の左上の座標(0,0)を原点として表示される。拡大鏡枠705の中心座標701は、拡張表示領域603の左上の座標(1024,0)を原点として表される。拡大鏡枠705に表示される拡大鏡画像は、拡大鏡枠705の中心座標701と同座標の拡張表示領域603に表示される画像を拡大鏡の拡大率に応じて拡大し、その一部をクリップした画像である。拡大鏡枠705の中心座標701、横幅707、及び高さ708は、拡大鏡枠705の表示位置座標情報として、拡大表示情報格納部308に格納される。
ユーザは、ディスプレイ119上で拡大鏡枠705を拡大鏡枠706の位置に移動させるために、移動開始点703(xx1,yy1)でタッチダウンし、そのままムーブして移動終了点704(xx2,yy2)でタッチアップする。タッチダウン、ムーブ、タッチアップといった一連の操作によるイベントの座標は、通常表示領域602の横幅を含んだ仮想ディスプレイ領域601の座標としてタッチパネル118から画面制御部201に通知される。
移動後の拡大鏡枠706の中心座標702を求めることで、拡大鏡枠706には、中心座標702と同座標の拡張表示領域603に表示される画像を拡大し、その一部をクリップした拡大鏡画像が表示される。移動後の拡大鏡枠706の中心座標702(x2,y2)は、例えば以下のように求められる。新たに求められた表示位置座標情報は、拡大表示情報格納部308に格納される。
x2=x1+(xx2−xx1)
y2=y1+(yy2−yy1)
図4では移動開始点の拡大鏡枠705及び移動終了点の拡大鏡枠706のみ表しているが、実際には移動開始点と移動終了点との間のムーブイベント中にも複数の移動点が存在する。このムーブイベント中の移動点についても、同様に、座標計算及び拡大鏡の表示が行われる。以上の拡大鏡の座標計算及び拡大鏡の表示に関する処理は、拡大表示制御部307が行う。
x2=x1+(xx2−xx1)
y2=y1+(yy2−yy1)
図4では移動開始点の拡大鏡枠705及び移動終了点の拡大鏡枠706のみ表しているが、実際には移動開始点と移動終了点との間のムーブイベント中にも複数の移動点が存在する。このムーブイベント中の移動点についても、同様に、座標計算及び拡大鏡の表示が行われる。以上の拡大鏡の座標計算及び拡大鏡の表示に関する処理は、拡大表示制御部307が行う。
<全体拡大>
図5は、全体拡大表示の説明図である。
図5は、全体拡大表示の説明図である。
全体拡大された画像は、拡張表示領域603に表示される。通常表示領域602に表示される画像を特定の拡大率で拡大した拡大画像801は、ディスプレイ119に表示可能な大きさだけクリップされて、拡張表示領域603に表示される。拡大画像801は、例えば通常表示領域602の画像がディスプレイ119に表示された状態で、ピンチ操作されることで得られる。
図5の例では、拡大画像801の原点809が、元の画像の原点から見て(−50,−30)となる。拡大画像801の原点809から見て(50,30)の位置から拡張表示領域603の横幅1024ピクセル、高さ600ピクセルの範囲をクリップした画像が、拡張表示領域603に表示されることになる。
ピンチ操作により画像を拡大するときの拡大率及び拡大画像801の原点809は、以下のように求められる。
ピンチ操作では、タッチパネル118上の2点がタッチされる。1点目は、ピンチ操作開始時のピンチ開始座標802からピンチ操作終了時のピンチ終了座標803まで、タッチ位置が移動する。2点目は、ピンチ操作開始時のピンチ開始座標804からピンチ操作終了時のピンチ終了座標805まで、タッチ位置が移動する。これらの座標は、図3の通常表示領域602の横幅を含んだ情報として、タッチパネル118から制御部110に入力される。
ピンチ操作では、タッチパネル118上の2点がタッチされる。1点目は、ピンチ操作開始時のピンチ開始座標802からピンチ操作終了時のピンチ終了座標803まで、タッチ位置が移動する。2点目は、ピンチ操作開始時のピンチ開始座標804からピンチ操作終了時のピンチ終了座標805まで、タッチ位置が移動する。これらの座標は、図3の通常表示領域602の横幅を含んだ情報として、タッチパネル118から制御部110に入力される。
ピンチ操作では、ピンチ開始座標802とピンチ開始座標804との間の距離D1に比べて、ピンチ終了座標803とピンチ終了座標805と間の距離D2が大きい。そのために制御部110は、ピンチ操作が画像の拡大を指示していると判断する。距離D1、D2は、ピンチ開始座標802を(xx11,yy11)、ピンチ開始座標804を(xx21,yy21)、ピンチ終了座標803を(xx12,yy12)、ピンチ終了座標805を(xx22,yy22)とすると、以下の式で表される。
D1=√((xx21−xx11)2+(yy21−yy11)2)D2=√((xx22−xx12)2+(yy22−yy12)2)
通常表示領域602に表示される画像の現在の拡大率R1(通常は100%)、距離D1、D2とすると、ピンチ操作による画像の拡大率R2は、以下の式で表される。拡大表示制御部307はこの新しい拡大率R2で画像を拡大する。
R2=R1×D2/D1
拡大画像801の原点809の座標(x01,y01)は、新しい拡大率R2により求められる。ここでは、ピンチ操作を行う2点の中心点の座標を起点に画像を拡大する場合について説明する。ピンチ開始時の中心点806とピンチ終了時の中心点807とが同じ位置である場合、中心点の座標(x1,y1)は通常表示領域602の横幅を減算して以下の式で表される。
x1=(xx11−1024+xx21−1024)/2
y1=(yy11+yy21)/2
拡大前の画像の原点808の座標(x00,y00)から中心点までの距離は、以下の式で表される。
(拡大画像の原点から中心点までの距離)=x1−x00
(拡大画像の原点から中心点までの距離)=y1−y00
これらの式により、拡大画像801の原点809の座標(x01,y01)は、以下の式で表すことができる。
x01=x1−(x1−x00)×R2
y01=y1−(y1−y00)×R2
ピンチ開始時の中心点とピンチ終了時の中心点とが同じ位置であることは希であり、実際には、微妙にずれが生じる。そのために、中心点の座標の移動量を算出し、これを加味して拡大画像801の原点809の位置を求める。ピンチ開始時の中心点806及びピンチ終了時の中心点807の各中心点座標(x1,y1)、(x2,y2)は、以下の式で表される。
x1=(xx11−1024+xx21−1024)/2
y1=(yy11+yy21)/2
x2=(xx12−1024+xx22−1024)/2
y2=(yy12+yy22)/2
中心点806から中心点807への移動量(Xd,Yd)は、以下の式で表される。
Xd=x2−x1
Yd=y2−y1
以上により、拡大画像801の原点809の座標(x01,y01)は、以下の式で表される。
x01=x1−(x1−x00)×R2+Xd
y01=y1−(y1−y00)×R2+Yd
ピンチ操作以外にも、ムーブ操作により画像を拡大することも可能である。この場合、例えば中心点806、807が、ムーブ操作の開始点及び終了点となる。中心点806、807間の移動量(Xd,Yd)がムーブ操作による移動量となり、拡大画像801の原点809の座標が算出でき、拡張表示領域603に表示される画像の領域を決定することができる。
D1=√((xx21−xx11)2+(yy21−yy11)2)D2=√((xx22−xx12)2+(yy22−yy12)2)
通常表示領域602に表示される画像の現在の拡大率R1(通常は100%)、距離D1、D2とすると、ピンチ操作による画像の拡大率R2は、以下の式で表される。拡大表示制御部307はこの新しい拡大率R2で画像を拡大する。
R2=R1×D2/D1
拡大画像801の原点809の座標(x01,y01)は、新しい拡大率R2により求められる。ここでは、ピンチ操作を行う2点の中心点の座標を起点に画像を拡大する場合について説明する。ピンチ開始時の中心点806とピンチ終了時の中心点807とが同じ位置である場合、中心点の座標(x1,y1)は通常表示領域602の横幅を減算して以下の式で表される。
x1=(xx11−1024+xx21−1024)/2
y1=(yy11+yy21)/2
拡大前の画像の原点808の座標(x00,y00)から中心点までの距離は、以下の式で表される。
(拡大画像の原点から中心点までの距離)=x1−x00
(拡大画像の原点から中心点までの距離)=y1−y00
これらの式により、拡大画像801の原点809の座標(x01,y01)は、以下の式で表すことができる。
x01=x1−(x1−x00)×R2
y01=y1−(y1−y00)×R2
ピンチ開始時の中心点とピンチ終了時の中心点とが同じ位置であることは希であり、実際には、微妙にずれが生じる。そのために、中心点の座標の移動量を算出し、これを加味して拡大画像801の原点809の位置を求める。ピンチ開始時の中心点806及びピンチ終了時の中心点807の各中心点座標(x1,y1)、(x2,y2)は、以下の式で表される。
x1=(xx11−1024+xx21−1024)/2
y1=(yy11+yy21)/2
x2=(xx12−1024+xx22−1024)/2
y2=(yy12+yy22)/2
中心点806から中心点807への移動量(Xd,Yd)は、以下の式で表される。
Xd=x2−x1
Yd=y2−y1
以上により、拡大画像801の原点809の座標(x01,y01)は、以下の式で表される。
x01=x1−(x1−x00)×R2+Xd
y01=y1−(y1−y00)×R2+Yd
ピンチ操作以外にも、ムーブ操作により画像を拡大することも可能である。この場合、例えば中心点806、807が、ムーブ操作の開始点及び終了点となる。中心点806、807間の移動量(Xd,Yd)がムーブ操作による移動量となり、拡大画像801の原点809の座標が算出でき、拡張表示領域603に表示される画像の領域を決定することができる。
なお、ピンチ操作時、ムーブ操作時のいずれでも、操作の開始位置から終了位置まで連続して、位置を表す座標がタッチパネル118から制御部110に入力される。制御部110は、その間も連続して、座標計算及び全体拡大した画像の表示を行う。拡大表示制御部307が、座標位置情報の計算及び全体拡大した画像の表示を行い、拡大率、拡大画像の原点座標、拡大画像の横幅、拡大画像の高さ等の拡大表示情報を拡大表示情報格納部308に格納する。
本実施形態では拡張表示領域603を通常表示領域602の右横に設けた構成としているが、下に設けてもよい。その場合、拡張表示領域603は、座標(0、600)から設けられる。操作によるタッチイベントに関しても、Y方向に600ピクセル加算された値が操作された位置を表す座標としてタッチパネル118から制御部110に入力される。
以上のような構成の情報処理装置101により実行される、ディスプレイ119への画像表示処理について説明する。
<拡大機能による画像の切り替え>
図6は、拡大機能(全体拡大又は拡大鏡)が有効か否かにより、ディスプレイ119に表示される画像を切り替える処理を表すフローチャートである。
図6は、拡大機能(全体拡大又は拡大鏡)が有効か否かにより、ディスプレイ119に表示される画像を切り替える処理を表すフローチャートである。
画面情報制御部202は、デバイス情報制御部502から拡大モード通知を受け付けると(S101)、画面情報格納部203に、受け付けた拡大モード通知を格納する(S102)。また、画面情報制御部202は、受け付けた拡大モード通知を拡大情報制御部302に送信する(S103)。
拡大情報制御部302は、画面情報制御部202から送信された拡大モード通知を受信して、拡大表示制御部307に送信する(S104)。拡大表示制御部307は、拡大情報制御部302から送信された拡大モード通知を受信して、拡大表示情報格納部308に格納する(S105)。
拡大表示制御部307は、拡大モード通知により拡大機能が無効にされたか否かを判断する(S106)。拡大機能が無効にされていれば(S106:Y)、拡大表示制御部307は、拡大情報制御部302を介して、画面情報制御部202に、ディスプレイ119に表示される画像の通常表示領域602の画像への切り替えを要求する(S107)。拡大機能が有効であれば(S106:N)、拡大表示制御部307は、拡大情報制御部302を介して、画面情報制御部202に、ディスプレイ119に表示される画像の拡張表示領域603の画像への切り替えを要求する(S108)。
画面情報制御部202は、拡大情報制御部302からのディスプレイ119に表示される画像の切り替え要求を受信して(S109)、要求が通常表示領域602の画像への切り替えであるか否かを判断する(S110)。通常表示領域602の画像への切り替えを要求していれば(S110:Y)、画面情報制御部202は、画面表示部204により、ディスプレイ119に表示される画像を通常表示領域602の画像に切り替える(S111)。拡張表示領域603の画像への切り替えを要求していれば(S110:N)、画面情報制御部202は、画面表示部204により、ディスプレイ119に表示される画像を拡張表示領域603の画像に切り替える(S111)。
<拡大機能へのイベントの送信>
図7〜図11は、ユーザの操作によるタッチパネル118からの入力に応じたイベントの処理を表すフローチャートである。
図7〜図11は、ユーザの操作によるタッチパネル118からの入力に応じたイベントの処理を表すフローチャートである。
入力情報制御部205は、ユーザのタッチパネル118への操作に応じた制御信号を受信して(S201)、受信した制御信号をイベント情報に変換して、入力情報通知部206に入力する(S202)。入力情報通知部206は、画面情報格納部203に格納されている拡大モード通知を取得して(S203)、拡大モード通知により、拡大機能が無効か否かを判断する(S204)。拡大機能が無効で有れば(S204:Y)、入力情報通知部206は、アプリケーション部401にイベント情報を送信する(S205)。アプリケーション部401は、イベント情報に応じた処理を実行して処理を終了する。拡大機能が有効であれば(S204:N)、入力情報通知部206は、拡大入力制御部305にイベント情報を送信する(S206)。
拡大入力制御部305は、入力情報通知部206からイベント情報を受信する(S207)。拡大入力制御部305は、受信したイベント情報を拡大入力情報格納部306に格納し(S208)、拡大表示制御部307にイベント情報が入力されたことを通知する(S209)。
拡大表示制御部307は、拡大入力制御部305からの通知に応じて、拡大入力情報格納部306からイベント情報を取得する(S210)。拡大表示制御部307は、拡大表示情報格納部308に格納されている拡大モード通知が拡大鏡を指示しているか否かを判断する(S211)。拡大鏡を指示する場合(S211:拡大鏡)、拡大表示制御部307は、拡大鏡のイベント処理を実行する(図8参照)。拡大鏡を指示していない場合(S211:全体拡大)、拡大表示制御部307は、画像の全体拡大のイベント処理を実行する(図9参照)。
図8は、拡大鏡のイベント処理を表すフローチャートである。
拡大鏡のイベント処理を実行する場合、拡大表示制御部307は、拡大表示情報格納部308から拡大鏡の表示位置座標情報を取得する(S300)。拡大表示制御部307は、イベント情報から得られるタッチ位置が、取得した表示位置座標情報から得られる拡大鏡枠の表示エリア内か否かを判断する(S301)。
タッチ位置が拡大鏡枠の表示エリア内であれば(S301:Y)、拡大表示制御部307は、イベント情報が1点の座標情報のみを含んでいるか否かを判断する(S302)。
1点であれば(S302:Y)、イベント情報がムーブか否かを判断する(S303)。イベント情報がムーブであれば(S303:Y)、拡大表示制御部307は、APイベント送信フラグがオンか否かを判断する(S304)。APイベント送信フラグは、アプリケーション部401にタッチイベントを送信中の場合にオンになるフラグである。APイベント送信フラグがオフであれば(S304:N)、拡大表示制御部307は、イベントフラグがオンか否かを判断する(S305)。イベントフラグは、タッチパネル118がタッチダウンされているときにオンになり、タッチアップされているときにオフになるフラグである。つまり、イベントフラグは、タッチパネル118のタッチ状態を表す。
イベントフラグがオフであれば(S305:N)、拡大制御部301は、拡大鏡のイベント処理を終了する。イベントフラグがオンであれば(S305:Y)、拡大表示制御部307は、拡大鏡枠の表示位置座標を算出して、算出結果に応じて拡大表示情報格納部308の拡大表示情報を更新する(S306、S307)。拡大表示制御部307は、拡大表示情報の更新後に、拡大鏡の描画処理を実行する(S320)。拡大鏡の描画処理の詳細は後述する。
イベント情報がムーブでなければ(S303:N)、拡大表示制御部307は、イベント情報がタッチアップか否かを判断する(S308)。イベント情報がタッチアップであれば(S308:Y)、拡大表示制御部307は、APイベント送信フラグがオンか否かを判断する(S309)。APイベント送信フラグがオフであれば、拡大表示制御部307は、イベントフラグをオフに設定する(S310)。拡大表示制御部307は、イベントフラグの設定後に、拡大鏡の描画処理を実行する(S320)。拡大鏡の描画処理の詳細は後述する。
イベント情報がタッチアップでなければ(S308:N)、拡大表示制御部307は、イベント情報がタッチダウンであるか否かを判断する(S311)。イベント情報がタッチダウンであれば(S311:Y)、拡大表示制御部307は、所定時間待機する(S312)。所定時間が経過すると、拡大表示制御部307は、ムーブが開始されたか否かを判断する(S313)。拡大表示制御部307は、拡大入力制御部305が入力情報通知部206から受け付けたイベント情報がムーブイベントであれば、ムーブが開始されたと判断する。ムーブが開始されると(S313:Y)、拡大表示制御部307は、イベントフラグをオンに設定する(S314)。拡大表示制御部307は、イベントフラグの設定後に、拡大鏡の描画処理を実行する(S320)。拡大鏡の描画処理の詳細は後述する。
イベント情報がタッチダウンでない場合(S311:N)、拡大表示制御部307は、イベント情報に含まれるタッチ位置を表す座標を通常表示領域602の座標に変換する(S315)。拡大表示制御部307は、イベント情報がムーブでAPイベント送信フラグがオンである場合(S304:Y)も同様に、イベント情報の座標を通常表示領域602の座標に変換する。拡大表示制御部307は、タッチアップかつAPイベント送信フラグがオンである場合(S309:Y)も同様に、イベント情報の座標を通常表示領域602の座標に変換する。拡大表示制御部307は、イベント情報がタッチダウンでムーブが開始されない場合(S313:N)も同様に、イベント情報の座標を通常表示領域602の座標に変換する。つまりタッチイベントをすべてアプリケーション部401に送りたい場合に、拡大表示制御部307は、座標変換を行う。
座標変換について、図4により説明する。図4の中心座標701(x1,y1)が拡大鏡枠705の中心位置を表し、移動開始点703(xx1,yy1)がイベント情報に含まれるタッチ位置を表す座標である。拡大鏡の拡大率はRである。座標変換後の通常表示領域602の座標(x,y)は、拡張表示領域603の左上の座標(1024,0)を用いて以下の式で表される。
x=((xx1−1024)−x1)/R+x1
y=(yy1−y1)/R+y1
拡大表示制御部307は、座標変換により算出した座標によりイベント情報を更新して、アプリケーション部401に画面制御部201を介して送信する(S316)。イベント情報の送信後に、拡大表示制御部307は、イベント情報がタッチアップであるか否かを判断する。イベント情報がタッチアップであれば(S317:Y)、拡大表示制御部307は、APイベント送信フラグをオフにする(S318)。イベント情報がタッチアップ以外であれば(S317:N)、拡大表示制御部307は、APイベント送信フラグオンにする(S319)。拡大表示制御部307はAPイベント送信フラグを設定後、拡大鏡のイベント処理を終了する。
x=((xx1−1024)−x1)/R+x1
y=(yy1−y1)/R+y1
拡大表示制御部307は、座標変換により算出した座標によりイベント情報を更新して、アプリケーション部401に画面制御部201を介して送信する(S316)。イベント情報の送信後に、拡大表示制御部307は、イベント情報がタッチアップであるか否かを判断する。イベント情報がタッチアップであれば(S317:Y)、拡大表示制御部307は、APイベント送信フラグをオフにする(S318)。イベント情報がタッチアップ以外であれば(S317:N)、拡大表示制御部307は、APイベント送信フラグオンにする(S319)。拡大表示制御部307はAPイベント送信フラグを設定後、拡大鏡のイベント処理を終了する。
タッチ位置が拡大鏡枠の表示エリア外であれば(S301:N)、拡大制御部301は、イベント情報に含まれるタッチ位置を表す座標を通常表示領域602の座標に変換する(S321)。同様に、イベント情報が1点の座標情報でなければ(S302:N)、拡大表示制御部307は、2点以上のタッチ操作が行われたと判断し、拡大制御部301はイベント情報に含まれるタッチ位置を表す座標を通常表示領域602の座標に変換する(S321)。また、図4により説明すると、座標変換後の通常表示領域602の座標(x,y)は、拡張表示領域603の左上の座標(1024,0)を用いて以下の式で表される。x=xx1−1024
y=yy1
拡大表示制御部307は、座標変換により算出した座標によりイベント情報を更新して、アプリケーション部401に画面制御部201を介して送信する(S322)。イベント情報の送信後に、拡大表示制御部307は、拡大鏡のイベント処理を終了する。
y=yy1
拡大表示制御部307は、座標変換により算出した座標によりイベント情報を更新して、アプリケーション部401に画面制御部201を介して送信する(S322)。イベント情報の送信後に、拡大表示制御部307は、拡大鏡のイベント処理を終了する。
以上のような拡大鏡のイベント処理により、ユーザが拡大鏡枠内に拡大表示された画像に対してタッチ操作を行うと、該タッチ操作によるイベント情報が通常表示領域602の画像に対して行われたイベント情報に変換される。変換されたイベント情報は、通常表示領域602に画像を表示するAPにイベント情報が通知される。これにより、ユーザは、拡大表示された画像を見ながらAPの操作を行うことができる。ユーザが拡大鏡枠内の画像にタッチ操作を行うと、拡大率を考慮して座標変換が行われ、APに通知されるために、ユーザは、拡大鏡枠の内外を問わず、表示された通りのAP操作を行うことができる。
拡大鏡枠内でタッチダウンした後すぐにドラッグ操作を開始した場合、拡大制御部がイベントを処理して拡大鏡枠を移動させる。一方、拡大鏡枠外でドラッグ操作を行った場合および、拡大鏡枠内でタッチダウンした後、所定時間指を動かさずに待機した後でドラッグ操作を行った場合、拡大制御部は拡大率を考慮して座標変換を行ってAPにイベントを通知する。従って、ユーザは例えばAPが表示したリストをスクロールさせるなどドラッグ操作によるAP操作を行うことができる。また、ピンチイベントなど拡大鏡表示中は拡大制御部が処理しないイベントは拡大率を考慮して座標変換が行われ、APに通知される。従って、ユーザは例えばAPが表示した画像を拡大・縮小表示させるなどのAP操作を行うことができる。
図9は、全体拡大のイベント処理を表すフローチャートである。
拡大表示制御部307は、拡大表示情報格納部308から全体拡大の表示位置座標情報を取得する(S400)。表示位置座標情報を取得した拡大表示制御部307は、イベント情報が1点の座標情報のみを含んでいるか否かを判断する(S401)。
1点でなければ(S401:N)、拡大表示制御部307は、2点以上のタッチ操作が行われたと判断して、続いて拡大表示制御部307は、APイベント送信フラグがオンか否かを判断する(S402)。APイベント送信フラグは、アプリケーション部401にタッチイベントを送信中の場合にオンになるフラグである。APイベント送信フラグがオフであれば(S402:N)、イベント情報に応じて複数の座標情報を用いた全体の拡大率を算出する(S403)。また、拡大表示制御部307は、複数の座標情報を用いて表示位置座標を算出する(S404)。拡大表示制御部307は、算出した拡大率及び表示位置座標に基づいて、拡大表示情報格納部308の拡大表示情報を更新する(S405)。
イベントが1点であれば(S402:Y)、拡大表示制御部307は、イベント情報がムーブか否かを判断する(S406)。イベント情報がムーブであれば(S406:Y)、拡大表示制御部307は、APイベント送信フラグがオンか否かを判断する(S407)。APイベント送信フラグがオフであれば(S407:N)、拡大表示制御部307は、全体拡大の表示位置座標を算出する(S408)。拡大表示制御部307は、算出した表示位置座標に基づいて、拡大表示情報格納部308の拡大表示情報を更新する(S409)。
イベント情報がムーブでなければ(S406:N)、拡大表示制御部307は、イベント情報がタッチアップであるか否かを判断する(S410)。イベント情報がタッチアップであれば(S410:Y)、拡大表示制御部307は、APイベント送信フラグがオンか否かを判断する(S411)。APイベント送信フラグがオフであれば(S411:N)、拡大表示制御部307は、イベントフラグをオフに設定する(S412)。
イベント情報がタッチアップでなければ(S410:N)、拡大表示制御部307は、イベント情報がタッチダウンであるか否かを判断する(S413)。イベント情報がタッチダウンであれば(S413:Y)、拡大表示制御部307は、所定時間待機する(S414)。所定時間が経過すると、拡大表示制御部307は、ムーブが開始されたか否かを判断する(S415)。拡大表示制御部307は、拡大入力制御部305が入力情報通知部206から受け付けたイベント情報がムーブイベントであれば、ムーブが開始されたと判断する。ムーブが開始されると(S415:Y)、拡大表示制御部307は、イベントフラグをオンに設定する(S416)。
拡大表示制御部307は、拡大表示情報の更新後(S405、S409後)、或いはイベントフラグの設定後(S412、S416後)に、全体拡大の描画処理を実行する(S422)。全体拡大の描画処理については後述する。
イベント情報がタッチダウンでない場合(S413:N)、拡大表示制御部307は、イベント情報に含まれるタッチ位置を表す座標を通常表示領域602の座標に変換する(S417)。拡大表示制御部307は、イベント情報が2点以上でAPイベント送信フラグがオンである場合(S402:Y)も同様に、イベント情報の座標を通常表示領域602の座標に変換する。拡大表示制御部307は、イベント情報がムーブでAPイベント送信フラグがオンである場合(S407:Y)も同様に、イベント情報の座標を通常表示領域602の座標に変換する。拡大表示制御部307は、タッチアップかつAPイベント送信フラグがオンである場合(S411:Y)も同様に、イベント情報の座標を通常表示領域602の座標に変換する。拡大表示制御部307は、イベント情報がタッチダウンでムーブが開始されない場合(S415:N)も同様に、イベント情報の座標を通常表示領域602の座標に変換する。つまりタッチイベントをすべてアプリケーション部401に送りたい場合に、拡大表示制御部307は、座標変換を行う。座標変換は、以下のように行われる。例えば、拡大画像の原点を(x01,y01)、拡大率をR、イベント情報に含まれるタッチ位置を表す座標を(xx1,yy1)とする。座標変換後の通常表示領域602の座標(x,y)は、拡張表示領域603の左上の座標(1024,0)を用いて以下の式で表される。
x=((xx1−1024)−x01)/R
y=(yy1−y01)/R
拡大表示制御部307は、座標変換により算出した座標によりイベント情報を更新して、アプリケーション部401に画面制御部201を介して送信する(S418)。イベント情報の送信後に、拡大表示制御部307は、イベント情報がタッチアップであるか否かを判断する。イベント情報がタッチアップであれば(S419:Y)、拡大表示制御部307は、APイベント送信フラグをオフにする(S420)。イベント情報がタッチアップ以外であれば(S419:N)、拡大表示制御部307は、APイベント送信フラグをオンにする(S421)。拡大表示制御部307はAPイベント送信フラグを設定後、全体拡大のイベント処理を終了する。
x=((xx1−1024)−x01)/R
y=(yy1−y01)/R
拡大表示制御部307は、座標変換により算出した座標によりイベント情報を更新して、アプリケーション部401に画面制御部201を介して送信する(S418)。イベント情報の送信後に、拡大表示制御部307は、イベント情報がタッチアップであるか否かを判断する。イベント情報がタッチアップであれば(S419:Y)、拡大表示制御部307は、APイベント送信フラグをオフにする(S420)。イベント情報がタッチアップ以外であれば(S419:N)、拡大表示制御部307は、APイベント送信フラグをオンにする(S421)。拡大表示制御部307はAPイベント送信フラグを設定後、全体拡大のイベント処理を終了する。
以上のような全体拡大のイベント処理により、ユーザが拡大表示された画像に対してタッチ操作を行うと、該タッチ操作によるイベント情報が通常表示領域602の画像に対して行われたイベント情報に変換される。変換されたイベント情報は、通常表示領域602に画像を表示するAPにイベント情報が通知される。これにより、ユーザは、拡大表示された画像を見ながらAPの操作を行うことができる。ユーザが拡大表示された画像にタッチ操作を行うと、拡大率を考慮して座標変換が行われ、APに通知されるために、ユーザは、表示された通りのAP操作を行うことができる。
ユーザがタッチダウンした後すぐにドラッグ操作を行った場合、拡大制御部がイベントを処理して拡大表示位置を移動させる。一方、ユーザがタッチダウンした後、所定時間指を動かさずに待機した後でドラッグ操作を行った場合、拡大制御部は拡大表示位置を移動させる処理を行わず、拡大率を考慮して座標変換を行ってAPにイベントを通知する。従って、ユーザは例えばAPが表示したリストをスクロールさせるなどドラッグ操作によるAP操作を行うことができる。
また、タッチダウンした後すぐにピンチ操作を行った場合、拡大制御部がイベントを処理して全体拡大の拡大率を変更する。一方、ユーザがタッチダウンした後、所定時間指を動かさずに待機した後でピンチ操作を行った場合、全体拡大の拡大率を変更する処理を行わず、拡大率を考慮して座標変換を行ってAPに通知する。従って、ユーザは例えばAPが表示した画像を拡大・縮小表示させるなど、ドラッグ操作によるAP操作を行うことができる。
なお、拡大鏡のイベント処理の説明(図8)及び、全体拡大のイベント処理の説明(図9)においては、タッチダウンの後所定時間待機してもムーブが開始されない場合、APイベント送信フラグをオンにする例を示したが、他のユーザ操作によってAPイベント送信フラグをオンにするようにしても構わない。例えば、ユーザが所定の短い間隔で2回タッチダウンを行った場合(ダブルタップ)にAPイベント送信フラグをオンにしても良い。または、拡大制御部がボタン等のユーザインタフェース部品を表示して、ユーザが任意のタイミングでAPイベント送信フラグの状態を切り替えられるようにしても良い。
<キャプチャ画像処理>
図10は、拡大機能が有効である場合に、キャプチャ画像を取得して描画する処理を表すフローチャートである。
図10は、拡大機能が有効である場合に、キャプチャ画像を取得して描画する処理を表すフローチャートである。
この処理は拡大機能が有効になると開始され、情報処理装置101がシャットダウンされるまで一定の時間間隔で行われる。
拡大表示制御部307は、拡大表示情報格納部308に格納されている拡大モード通知を取得する(S501)。拡大表示制御部307は、拡大モード通知により拡大機能が無効か否かを判断する(S502)。拡大機能が無効であれば(S502:N)、拡大表示制御部307は、再度、拡大モード通知を取得する。拡大表示制御部307は、拡大機能が有効になるまでこの処理を繰り返す。
拡大機能が有効になると(S502:N)、拡大表示制御部307は、画像キャプチャ部303に仮想ディスプレイ領域601の画像をキャプチャさせる。拡大機能が全体拡大の場合、画像キャプチャ部303は、通常表示領域602の画像をキャプチャする。画像キャプチャ部303は、キャプチャしたキャプチャ画像を、キャプチャ画像格納部304に格納する(S503)。キャプチャ画像が格納されると、拡大表示制御部307は、イベントフラグを取得して、イベントフラグがオンか否かを判断する(S504、S505)。拡大表示制御部307は、イベントフラグによりタッチ操作中であるか否かを判断する。イベントフラグがオンであれば(S505:Y)、タッチ操作中であるので、拡大表示制御部307は、再度、拡大モード通知を取得する。
イベントフラグがオフであれば(S505:N)、タッチ操作が終了しているため、拡大表示制御部307は、拡大モード通知が拡大鏡の実行を指示しているか否かを判断する(S506)。拡大モード通知が拡大鏡の実行を指示している場合(S506:Y)、拡大表示制御部307は、拡大鏡の描画処理を行う(S507)。拡大モード通知が拡大鏡の実行を指示していない場合(S506:N)、拡大表示制御部307は、全体拡大の描画処理を行う(S508)。
<拡大鏡の描画処理及び全体拡大の描画処理>
図11(a)は、拡大鏡の描画処理を表すフローチャートである。
図11(a)は、拡大鏡の描画処理を表すフローチャートである。
拡大表示制御部307は、キャプチャ画像格納部304に格納されているキャプチャ画像を取得して複製する(S601)。また拡大表示制御部307は、拡大表示情報格納部308に格納されている拡大鏡の拡大率及び表示位置座標情報を取得する(S602)。拡大表示制御部307は、複製したキャプチャ画像を取得した拡大率に応じて拡大する(S603)。拡大表示制御部307は、拡大したキャプチャ画像を、表示位置座標情報に基づいて、拡大鏡枠の大きさにクリップする(S604)。
拡大表示制御部307は、拡大していないキャプチャ画像にクリップした拡大キャプチャ画像を、表示位置座標情報で示す位置に合成する(S605)。拡大表示制御部307は、画面表示部204により、ディスプレイ119に合成した画像を表示させる(S606)。これによりディスプレイ119には、キャプチャ画像の上に、拡大されたキャプチャ画像のクリップされた部分が重畳された画像が表示される。
図11(b)は、全体拡大の描画処理を表すフローチャートである。
拡大表示制御部307は、キャプチャ画像格納部304に格納されているキャプチャ画像を取得する(S701)。また拡大表示制御部307は、拡大表示情報格納部308に格納されている全体拡大の拡大率及び表示位置座標情報を取得する(S702)。拡大表示制御部307は、キャプチャ画像を取得した拡大率に応じて拡大する(S703)。拡大表示制御部307は、拡大したキャプチャ画像を、表示位置座標情報に基づいてディスプレイ119の大きさにクリップする(S704)。拡大表示制御部307は、画面表示部204を介して、ディスプレイ119にクリップした画像を表示する(S705)。これによりディスプレイ119には、拡大されたキャプチャ画像のクリップされた部分が表示される。
<第二の実施形態>
次に第二の実施形態について説明する。
次に第二の実施形態について説明する。
上述した第一の実施形態では、拡大画面を表示中に、ユーザがタッチアップやタッチダウン等のタッチ操作を行うと、拡大率や表示位置を考慮して座標変換を行った上で、実行中のAPにイベント情報を通知する例であった。第二の実施形態は、実行中のAPから、AP側でイベントを処理する座標範囲の通知を受けて、イベントの座標が前記座標範囲に含まれているか否かによってAPにイベント情報を通知するか否かを判断するものである。以下、第一の実施形態との差分を中心に第二の実施形態を説明する。
図12は第二の実施形態における情報処理装置101の機能ブロック図である。
情報処理装置101は、図2に示した第一の実施形の構成に加えて、拡大制御部301内にAPイベント送信依頼受信部309を備える。APイベント送信依頼受信部309は、アプリケーション部401からAPイベント送信依頼を受信し、拡大表示情報格納部308にAPイベント送信依頼を格納する。APイベント送信依頼には、APに対してイベントを送信することを要求する領域範囲の情報が含まれる。アプリケーション部401のアプリケーション(デバイス設定アプリケーション402または一般アプリケーション403)は、画面表示部204に描画指示を送信すると共に、表示画面に応じてAPイベント送信依頼受信部309にAPイベント送信依頼を行う。
拡大表示制御部307はイベント情報を受け取ると、拡大表示情報格納部308からAPイベント送信依頼情報を取得する。そして、イベント情報から得られるタッチ位置が、APイベント送信依頼情報から得られる領域範囲内か否かを判断して、領域範囲内であれば座標変換してアプリケーション部401に画面制御部201を介してイベントを送信する処理を行う。詳細は後述する。
図13及び図14は、ユーザの操作によるタッチパネル118からの入力に応じたイベントの処理を表すフローチャートである。
ユーザの操作によるタッチパネル118からの入力に応じたイベントがあると、まず実施例1と同様に図7の処理を行う。図7の各ステップの処理は第一の実施形態の処理と同様である。S211の判断により、拡大鏡を指示する場合(S211:拡大鏡)、拡大表示制御部307は、拡大鏡のイベント処理を実行する(図13参照)。拡大鏡を指示していない場合(S211:全体拡大)、拡大表示制御部307は、画像の全体拡大のイベント処理を実行する(図14参照)。
図13は、拡大鏡のイベント処理を表すフローチャートである。
拡大鏡のイベント処理を実行する場合、拡大表示制御部307は、拡大表示情報格納部308から拡大鏡の表示位置座標情報を取得する(S800)。拡大表示制御部307は、イベント情報から得られるタッチ位置が、取得した表示位置座標情報から得られる拡大鏡枠の表示エリア内か否かを判断する(801)。タッチ位置が拡大鏡枠の表示エリア内であれば(S801:Y)、拡大表示制御部307は、イベント情報に含まれるタッチ位置を表す座標を通常表示領域602の座標に変換する(S802)。この座標変換は図8におけるステップS315の変換と同じである。続いて、拡大表示制御部307は、拡大表示情報格納部308からAPイベント送信依頼情報を取得する(S803)。次に拡大表示制御部307は、ステップS802で変換した座標が、APイベント送信依頼情報に含まれる領域範囲内であるか否かを判断する(S804)。APイベント送信依頼情報に含まれる領域範囲内であれば(S804:Y)、拡大表示制御部307は、座標変換により算出した座標によりイベント情報を更新して、アプリケーション部401に画面制御部201を介して送信する(S806)。
APイベント送信依頼情報に含まれる領域範囲外であれば(S804:N)、拡大制御部301でイベントの処理を行う(S805)。すなわち、図8のS306、S307、S320などで説明した拡大鏡表示位置の更新や描画処理を行う。拡大制御部でのイベント処理後に、拡大表示制御部307は、拡大鏡のイベント処理を終了する。
タッチ位置が拡大鏡枠の表示エリア外であれば(S801:N)、拡大制御部301は、イベント情報に含まれるタッチ位置を表す座標を通常表示領域602の座標に変換する(S807)。この座標変換は図8におけるステップS321の変換と同じである。拡大表示制御部307は、座標変換により算出した座標によりイベント情報を更新して、アプリケーション部401に画面制御部201を介して送信する(S806)。イベント情報の送信後に、拡大表示制御部307は、拡大鏡のイベント処理を終了する。
図14は、全体拡大のイベント処理を表すフローチャートである。
拡大表示制御部307は、拡大表示情報格納部308から全体拡大の表示位置座標情報を取得する(S900)。表示位置座標情報を取得した拡大表示制御部307は、イベント情報に含まれるタッチ位置を表す座標を通常表示領域602の座標に変換する(S901)。この座標変換は図9におけるステップS417の変換と同じである。続いて、拡大表示制御部307は、拡大表示情報格納部308からAPイベント送信依頼情報を取得する(S902)。次に拡大表示制御部307は、ステップS901で変換した座標が、APイベント送信依頼情報に含まれる領域範囲内であるか否かを判断する(S903)。APイベント送信依頼情報に含まれる領域範囲内であれば(S903:Y)、拡大表示制御部307は、座標変換により算出した座標によりイベント情報を更新して、アプリケーション部401に画面制御部201を介して送信する(S905)。
APイベント送信依頼情報に含まれる領域範囲外であれば(S903:N)、拡大制御部301でイベントの処理を行う(S904)。すなわち、図9のS403、S404、S405、S408、S409などで説明した拡大率の変更や表示位置座標の更新や描画処理を行う。拡大制御部でのイベント処理後に、拡大表示制御部307は、拡大鏡のイベント処理を終了する。
図15は一般アプリケーション403が表示する画面の一例を示す図である。
領域900は、情報処理装置101内に保持されているアドレス帳のリストを表示する領域である。一般アプリケーション403は、領域900内でドラッグ操作が行われたことを検知するとリストのスクロール処理を行う。ここで、拡大機能によって拡大表示されている場合であっても、領域900内でドラッグ操作が行われた場合は、拡大表示位置座標を更新するのではなく、一般アプリケーション403の処理であるリストのスクロール処理を行わせたいとする。この場合、一般アプリケーション403は、画面表示部204にこの画面の情報の描画指示を送信すると同時に、APイベント送信依頼受信部309に対して、領域900を特定する座標として901及び902の座標情報を含んだAPイベント送信依頼を行えば良い。これによって、拡大表示中であっても、領域900内で行われた操作は、座標変換されて一般アプリケーション403に通知される。従って、領域900内でドラッグ操作が行われた場合はリストのスクロール処理が行われる。一方領域900以外の領域でドラッグ操作が行われた場合は拡大表示の位置が変更される。
なお、APイベント送信依頼に含まれる領域は、通常表示領域の全領域であっても良い。この場合、全てのイベントがアプリケーション部401に通知されることとなる。
以上のように、本実施形態の情報処理装置101は、OSやウインドウシステムをカスタマイズすることなく、画像全体を拡大表示でき、また一部を拡大表示する拡大鏡表示を可能とする。これにより視力の弱いユーザであっても操作に支障をきたすことが少なくなり、アクセシビリティが向上する。また、画面全体を拡大して表示中であっても、ユーザがタッチアップやタッチダウン等のタッチ操作を行うと、拡大率や表示位置を考慮して座標変換を行った上で、実行中のAPにイベント情報が通知される。そのために、ユーザは拡大表示された画像を見ながら、所望のAPに対する操作を行うことができる。
また、所定の領域内のイベントをAPに送信するようにAPから指示することによって、拡大表示中であっても、APが所望する操作をユーザに提供することができる。
また、上述の情報処理装置101は、様々な装置を含むものである。例えば、パーソナルコンピュータやPDA、携帯電話端末に限らず、プリンタ、スキャナ、FAX、複写機、複合機、カメラ、ビデオカメラ、その他の画像ビューワ等を含む。
そして、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム又は装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのコンピュータプログラム、及び該コンピュータプログラムを記憶した記憶媒体は本発明を構成することになる。また、一つのプロセッサが全ての処理を行うようにしてもよいし、複数のプロセッサが分散処理を行うようにしてもよい。
101 情報処理装置、110 制御部、118 タッチパネル、
119 ディスプレイ、120 外部メモリ
119 ディスプレイ、120 外部メモリ
Claims (7)
- 第1の画像が描画される第1の表示領域及(602)び前記第1の表示領域と同じ表示サイズで第2の画像が描画される第2の表示領域(603)を備えた記憶手段と、
前記第1の画像を生成して前記第1の表示領域に描画するアプリケーション手段(401)と、
前記第1の画像を拡大し、拡大した第1の画像の一部を含む前記第2の画像を生成して前記第2の表示領域に描画する拡大制御手段(301)と、
前記第1の画像及び前記第2の画像のいずれか一方を所定の表示装置に表示させる画面表示手段(204)と、
前記表示装置に一体に構成されるタッチパネル(118)と、
前記第2の画像が前記表示装置に表示されているときに、前記タッチパネルがタッチ操作されると、前記タッチ操作された位置を前記第1の表示領域の位置に変換して、前記アプリケーション手段に送信する変換手段(S315、S321、S417、)と、を備えることを特徴とする情報処理装置。 - 前記変換手段は、さらに特定の操作を検出する検出手段(S313、S415)を持ち、検出手段によって特定の操作を検出すると、前記タッチ操作された位置を前記第1の表示領域の位置に変換して、前記アプリケーション手段に送信することを特徴とする請求項1に記載の情報処理装置。
- 前記検出手段は、予め定められた所定時間前記タッチ操作された位置が移動していないことを検出する長押し検出手段(S313、S415)であることを特徴とする請求項2に記載の情報処理装置。
- 前記検出手段は、所定の短い間隔で2回タッチされたことを検出する検出手段であることを特徴とする請求項2に記載の情報処理装置。
- 前記検出手段は、前記第2の表示領域に表示された特定のボタンが押下されたことを検出する検出手段であることを特徴とする請求項2に記載の情報処理装置。
- 前記アプリケーション手段は、さらに前記変換手段に対して変換処理を行うか否かを指示する指示手段(309)を持ち、前記変換手段は前記指示手段による指示に基づいて、前記タッチ操作された位置を前記第1の表示領域の位置に変換して、前記アプリケーション手段に送信することを特徴とする請求項1に記載の情報処理装置。
- 前記指示手段は、変換を行う座標領域の情報を含むことを特徴とする請求項6に記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017137517A JP2019020932A (ja) | 2017-07-14 | 2017-07-14 | 情報処理装置、入力制御方法、及びコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017137517A JP2019020932A (ja) | 2017-07-14 | 2017-07-14 | 情報処理装置、入力制御方法、及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019020932A true JP2019020932A (ja) | 2019-02-07 |
Family
ID=65354138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017137517A Pending JP2019020932A (ja) | 2017-07-14 | 2017-07-14 | 情報処理装置、入力制御方法、及びコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019020932A (ja) |
-
2017
- 2017-07-14 JP JP2017137517A patent/JP2019020932A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6659090B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム | |
KR101567785B1 (ko) | 휴대단말에서 줌 기능 제어 방법 및 장치 | |
US11057532B2 (en) | Image processing apparatus, control method for image processing apparatus, and storage medium | |
JP2013105461A (ja) | 情報処理装置及びその制御方法 | |
JP6840571B2 (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP6700749B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
US20160370979A1 (en) | Information processing apparatus, information processing method, and computer readable-recording medium | |
JP6187546B2 (ja) | 操作表示システム、操作表示装置および操作表示プログラム | |
JP2015114767A (ja) | 情報処理装置、及び情報処理装置の制御方法、並びにプログラム | |
JP7130686B2 (ja) | 情報処理装置、コンピュータプログラム、情報処理装置の制御方法 | |
CN114063867A (zh) | 图像处理装置、图像处理装置的控制方法和记录介质 | |
JP2019020932A (ja) | 情報処理装置、入力制御方法、及びコンピュータプログラム | |
JP2017041016A (ja) | 情報処理装置、制御方法、及びプログラム | |
JP2018124631A (ja) | 情報処理装置、制御方法、及びプログラム | |
JP6176284B2 (ja) | 操作表示システム、操作表示装置および操作表示プログラム | |
KR20110066545A (ko) | 터치스크린을 이용하여 이미지를 표시하기 위한 방법 및 단말 | |
JP2015162028A (ja) | 表示制御装置、画像形成装置およびプログラム | |
JP7114678B2 (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム | |
JP2016062209A (ja) | 情報処理装置、表示制御方法、及びコンピュータプログラム | |
JP2016053888A (ja) | 情報処理装置、表示制御方法、及びコンピュータプログラム | |
JP2019046201A (ja) | 情報処理装置 | |
US20150286399A1 (en) | Information processing apparatus, control method, and storage medium | |
JP2018124613A (ja) | 表示装置および表示プログラム | |
JP2023045449A (ja) | 情報処理装置、その制御方法、及びプログラム | |
JP2019145183A (ja) | 画像処理装置、画像処理装置の制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20191125 |