(57)【要約】【課題】利用者の操作によってメニューを表示する際に、どの操作位置に対するメニュー表示であるかを視認可能であるとともに、メニューを固定的に表示した場合のメニュー表示切れを抑制する。【解決手段】表示装置１０は、表示部１０７及び制御部１０４を備える。制御部１０４は、表示部１０７における利用者の操作位置を検出し、検出された操作位置に対応するメニューの全体を、操作位置に応じた位置にポップアップ表示するとともに、操作位置を指し示す吹き出しを表示するように制御する。【選択図】図１
2018109813.tif 000002
【特許請求の範囲】
【請求項１】
表示部と、
前記表示部における利用者の操作位置を検出する検出部と、
検出された前記操作位置に対応するメニューの全体を、前記操作位置に応じた位置に表示するとともに、前記操作位置を指し示す吹き出しを表示する制御部と、
を備える表示装置。
【請求項２】
前記制御部は、前記メニューの全体を、前記操作位置の上方、左方、右方、下方のいずれかを優先順位アルゴリズムに従って選択して表示する
請求項１に記載の表示装置。
【請求項３】
前記制御部は、前記メニューの全体を、前記操作位置の上方、左方、右方、下方のいずれにも表示できない場合に、前記表示部に対して右寄せまたは左寄せで表示する
請求項２に記載の表示装置。
【請求項４】
前記制御部は、前記メニューの全体を、前記操作位置がスクロール可能領域である場合に、前記スクロール可能領域のうちの可視領域の境界を基準として表示する
請求項２に記載の表示装置。
【請求項５】
前記制御部は、前記吹き出しを前記メニューの中心位置に一致するように表示するとともに、前記メニューの中心位置に一致するように表示できない場合に、前記操作位置に一致するように表示する
請求項２に記載の表示装置。
【請求項６】
表示部と、
前記表示部における利用者の操作位置を検出する検出部と、
前記利用者の操作に応じて画像形成処理する画像形成部と、
検出された前記操作位置に対応するメニューの全体を、前記操作位置に応じた位置に表示するとともに、前記操作位置を指し示す吹き出しを表示する制御部と、
を備える画像形成装置。
【請求項７】
コンピュータに、  
表示部における利用者の操作位置を検出するステップと、
検出された前記操作位置に対応するメニューの全体を、前記操作位置に応じた位置に表示するとともに、前記操作位置を指し示す吹き出しを表示するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は表示装置、画像形成装置及びプログラムに関する。  
【背景技術】
【０００２】
従来から、画面上の任意の位置をマウス等でクリックすると、画面の所定位置にポップアップが表示される場合がある。ポップアップは基本的には所定位置に固定的に表示されるため、クリックされた位置によってはポップアップが欠けて表示される場合もある。
【０００３】
例えば、Ｗｉｎｄｏｗｓ（登録商標）ＰＣにおける右クリック時に画面上にメニューが出現し、当該右クリック位置に応じてメニューの表示位置が決まる。Ｗｉｎｄｏｗｓでは、メニューの余白が場合にメニューが切れて表示されることを防ぐために、メニューの端が画面の端になるように詰めて表示される。この場合、メニュー全体がクリック点の近くに表示されるため利用者の視点は動かずに済むが、クリック点を示す表示がないため表示メニューがどのアイコンをクリックしたことによる表示であるか分からない。
【０００４】
他方、どのアイコンをクリックしたことによる表示であるかを示すために、吹き出しを表示する技術もある。
【０００５】
特許文献１には、タッチパネルに表示された複数の画像キーのうち、ユーザの指が最も接近した画像キーの項目名を、その画像キーの周辺に吹き出し表示することが記載されている。    
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２０１３／０４７０２３号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
クリックしたアイコンを示すように吹き出しを表示することは効果的であるが、クリック操作あるいはタッチ操作の位置によっては新たに表示されるメニューが切れてしまう問題は生じ得る。
【０００８】
本発明の目的は、利用者の操作によってメニューを表示する際に、どの操作位置に対するメニュー表示であるかを視認可能であるとともに、メニューを固定的に表示した場合のメニュー表示切れを抑制する技術を提供することにある。  
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、表示部と、前記表示部における利用者の操作位置を検出する検出部と、検出された前記操作位置に対応するメニューの全体を、前記操作位置に応じた位置に表示するとともに、前記操作位置を指し示す吹き出しを表示する制御部とを備える表示装置である。
【００１０】
請求項２に記載の発明は、前記制御部は、前記メニューの全体を、前記操作位置の上方、左方、右方、下方のいずれかを優先順位アルゴリズムに従って選択して表示する請求項１に記載の表示装置である。
【００１１】
請求項３に記載の発明は、前記制御部は、前記メニューの全体を、前記操作位置の上方、左方、右方、下方のいずれにも表示できない場合に、前記表示部に対して右寄せまたは左寄せで表示する請求項２に記載の表示装置である。
【００１２】
請求項４に記載の発明は、前記制御部は、前記メニューの全体を、前記操作位置がスクロール可能領域である場合に、前記スクロール可能領域のうちの可視領域の境界を基準として表示する請求項２に記載の表示装置である。
【００１３】
請求項５に記載の発明は、前記制御部は、前記吹き出しを前記メニューの中心位置に一致するように表示するとともに、前記メニューの中心位置に一致するように表示できない場合に、前記操作位置に一致するように表示する請求項２に記載の表示装置である。
【００１４】
請求項６に記載の発明は、表示部と、前記表示部における利用者の操作位置を検出する検出部と、前記利用者の操作に応じて画像形成処理する画像形成部と、検出された前記操作位置に対応するメニューの全体を、前記操作位置に応じた位置に表示するとともに、前記操作位置を指し示す吹き出しを表示する制御部とを備える画像形成装置である。
【００１５】
請求項７に記載の発明は、コンピュータに、表示部における利用者の操作位置を検出するステップと、検出された前記操作位置に対応するメニューの全体を、前記操作位置に応じた位置に表示するとともに、前記操作位置を指し示す吹き出しを表示するステップとを実行させるプログラムである。
【発明の効果】
【００１６】
請求項１，６，７に記載の発明によれば、利用者の操作によってメニューを表示する際に、どの操作位置に対するメニュー表示であるかを視認可能であるとともに、メニューを固定的に表示した場合のメニュー表示切れを抑制することができる。
【００１７】
請求項２，３に記載の発明によれば、さらに、優先順位アルゴリズムに従ってメニューの全体を適応的な位置に表示できる。
【００１８】
請求項４に記載の発明によれば、さらに、操作位置がスクロール可能領域の場合にもどの操作位置に対するメニュー表示であるかを視認可能であるとともに、メニューを固定的に表示した場合のメニュー表示切れを抑制することができる。
【００１９】
請求項５に記載の発明によれば、さらに、吹き出しを適応的な位置に表示できる。
【図面の簡単な説明】
【００２０】
【図１】表示装置の構成ブロック図である。
【図２】画像形成システムの構成ブロック図である。
【図３】メニュー及び吹き出しの模式的説明図である。
【図４】メニュー及び吹き出しの一例を示す図である。
【図５】全体処理フローチャートである。
【図６】メニューをターゲットの左方にポップアップ表示する一例を示す図である。
【図７】メニューをターゲットの右方にポップアップ表示する一例を示す図である。
【図８】メニューをターゲットの下方にポップアップ表示する一例を示す図である。
【図９】メニューを右寄りにポップアップ表示する一例を示す図である。
【図１０】メニューをスクロール可能領域にポップアップ表示する一例を示す図である。
【図１１】スクロール領域の可視領域算出処理フローチャートである。
【図１２】メニューをターゲットの上方にポップアップ表示する詳細図（その１）である。
【図１３】メニューをターゲットの上方にポップアップ表示する詳細図（その２）である。
【図１４】メニューをターゲット上方にポップアップ表示する処理フローチャートである。
【図１５】メニューをターゲット下方にポップアップ表示する詳細図である。
【図１６】メニューをターゲットの左方にポップアップ表示する詳細図（その１）である。
【図１７】メニューをターゲットの左方にポップアップ表示する詳細図（その２）である。
【図１８】メニューをターゲットの左方にポップアップ表示する処理フローチャートである。
【図１９】メニューを右寄りにポップアップ表示する詳細図である。
【図２０】メニューを右寄りあるいは左寄りにポップアップ表示する処理フローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面に基づき本発明の実施形態について説明する。
【００２２】
図１は、本実施形態における表示装置の構成ブロック図を示す。表示装置１０は、ＰＣ（パーソナルコンピュータ）やタブレット端末等と同様の構成であり、ＲＯＭ１０１、ＲＡＭ１０２、ＨＤＤ１０３、制御部１０４、インターフェイス（Ｉ／Ｆ）１０５、操作部１０６、及び表示部１０７を備える。
【００２３】
制御部１０４は、具体的には１又は複数のＣＰＵから構成され、ＲＯＭ１０１あるいはＨＤＤ１０３に記憶された処理プログラムを読み出し、ＲＡＭ１０２をワーキングメモリとして用いて各種処理を実行することで、表示部１０７に各種情報を表示する。
【００２４】
インターフェイス（Ｉ／Ｆ）１０５は、ネットワークを介して他の情報機器とデータを送受する。操作部１０６は、キーボードやマウス等である。表示部１０７は、液晶ディスプレイや有機ＥＬディスプレイ等である。表示部１０７は、タッチパネルであってもよい。
【００２５】
制御部１０４は、処理プログラムに従って各種処理を実行するが、本実施形態では特に、操作部１０６としてマウスのクリック操作、あるいは表示部１０７がタッチパネルである場合にタッチパネルに対する利用者のタッチ操作（あるいはタップ操作）に応じ、これらの操作位置を検出し、検出された操作位置に応じたメニューを表示部１０７に表示するように制御するとともに、操作位置を指し示す吹き出しを表示する。制御部１０４は、メニューを固定的な位置に表示するのではなく、操作位置に応じ、メニュー全体を表示できる位置に適応的に表示する。一般的には、制御部１０４は、操作位置が表示部１０７の下側であれば操作位置の上方に表示スペースが存在し得るため操作位置の上方にメニューの全体を表示し、操作位置が表示部１０７の右側であれば操作位置の左方に表示スペースが存在し得るため操作位置の左方にメニューの全体を表示する。
【００２６】
吹き出しに関しては、表示装置１０がＰＣ等の場合、操作位置はカーソル等のポインタとして示されるものの、画面遷移してしまうと位置が分からなくなるため、吹き出しを表示する意義がある。また、タッチパネルの場合にはポインタが表示されないので吹き出しを表示する意義は大きいといえる。さらに、操作位置の近傍に単にメニューのみを表示する構成では、複数のボタンあるいはアイコンが並列的に存在する場合、どちらのボタンあるいはアイコンを操作したことによるメニューであるか分かり難いため、吹き出しを表示して操作位置を指し示す意義は大きい。
【００２７】
図１の構成では、制御部１０４が操作位置を検出する検出部としても機能しているが、制御部１０４とは別に操作位置を検出するセンサ部を設け、検出した操作位置を制御部１０４に供給する構成としてもよい。
【００２８】
図２は、本実施形態における他の構成図であり、画像形成装置を含む画像形成システムの構成ブロック図である。画像形成システムは、端末装置１２及び画像形成装置１４を備える。端末装置１２と画像形成装置１４は、通信手段１６を介して接続される。通信手段１６は、例えばＬＡＮ（ローカルエリアネットワーク）等のデータ通信ネットワークが用いられる。
【００２９】
端末装置１２は、通信手段１６を介して画像形成装置１４に接続され、利用者の指示に従い、文書の印刷命令を含む印刷ジョブ等を送信する。
【００３０】
画像形成装置１４は、ＲＯＭ１４１、ＲＡＭ１４２、ＨＤＤ１４３、制御部１４４、インターフェイス（Ｉ／Ｆ）１４５、操作部１４６、及び画像形成部１４７を備える。
【００３１】
制御部１４４は、具体的には１又は複数のＣＰＵで構成され、ＲＯＭ１４１あるいはＨＤＤ１４３に記憶された処理プログラムに従い、Ｉ／Ｆ１４５を介して端末装置１２から印刷ジョブ命令等を受け付け、ＰＤＬデータを解釈して中間データを生成し、生成した中間データからさらに描画データ（ラスターデータ）を生成する。また、制御部１４４は、操作部１４６から受け付けたコピー（Copy）、スキャン（Scan）、ファックス(Fax)等の各種命令を実行する。
【００３２】
画像形成部１４７は、プリントモジュール、スキャナモジュール、ファックスモジュール、用紙給紙モジュール、原稿給紙モジュール、及び画像処理アクセラレータを備える。
【００３３】
プリントモジュールは、画像を用紙に出力する機能を有するモジュールである。例えば、公知のインクジェット方式の構成を備え、描画データを用紙に印刷する。ノズル等から液体あるいは溶融固体インクを吐出し、紙、フィルム等に記録を行う。インクを吐出する方法には、静電誘引力を利用してインクを吐出させるドロップオンデマンド方式（圧力パルス方式）、高熱により気泡を形成・成長させることで生じる圧力を利用してインクを吐出させる熱インクジェット方式等がある。記録ヘッドは、例えば、シアンインクを吐出するヘッド、マゼンタインクを吐出するヘッド、イエローインクを吐出するヘッド、ブラックインクを吐出するヘッドを備え、各ヘッドが用紙の幅と少なくとも同等の幅を有するラインヘッドが用いられる。記録ヘッドにより各色のインク滴を中間転写体に吐出して記録し、その後に用紙に転写して印刷する。
【００３４】
スキャナモジュールは、用紙から画像を読み取って電子データに変換するモジュールである。
【００３５】
ファックス(Fax)モジュールは、モデムやファックス用画像処理モジュールを備え、ファックス機能を実行するモジュールである。
【００３６】
用紙給紙モジュールは、用紙トレイからプリントモジュールに用紙を搬送するモジュールである。
【００３７】
原稿給紙モジュールは、原稿トレイからファックスモジュールに用紙を搬送するモジュールである。
【００３８】
画像処理アクセラレータは、スキャナモジュール等と連動して圧縮／伸長処理を行うモジュールである。この画像処理アクセラレータは必須ではなく、付加的モジュールとしてもよい。
【００３９】
なお、画像形成装置１４は、これら以外にも、用紙のパンチやソート等を行うフィニッシャ、ＵＳＢ、ＩＣカードリーダ等から構成され利用者の認証を行う認証部、課金部、人感センサや顔カメラ等を備えていてもよい。
【００４０】
また、画像形成装置１４は、通信手段１６を介してインターネットに接続されていてもよく、イーサネット（登録商標）やＷｉＦｉ（登録商標）を備えていてもよい。
【００４１】
操作部１４６は、例えばタッチパネルで構成される。
【００４２】
制御部１４４は、操作部１４６の画面に各種情報を表示するとともに、操作部１４６に対する利用者のタッチ操作に応じ、タッチ操作等の押下操作の位置に応じたメニューを画面に表示するように制御するとともに、当該メニューに吹き出しを表示する。
【００４３】
以下、表示装置１０における制御部１０４の動作について、より詳細に説明する。制御部１４４の動作についても、基本的に同様である。
【００４４】
図３は、表示部１０７に表示されるメニュー２０の基本形を示す。利用者がマウスをクリックし、あるいはタッチパネルをタッチした操作位置としての押下位置は、図において黒丸１８で示される。制御部１０４は、黒丸１８で示す押下位置のアイコンに応じたメニュー２０をポップアップ表示する。このとき、制御部１０４は、押下位置である黒丸１８を指し示すように、メニュー２０に吹き出し２２を形成して表示する。吹き出し２２の先端は、押下位置である黒丸１８の近傍に位置するように表示する。
【００４５】
図４は、具体的なメニューの表示例を示す。制御部１０４は、押下位置を検出すると、当該押下位置の上方に押下位置のアイコンに応じたメニュー２０を表示するとともに、押下位置を指し示すように吹き出し２２を表示する。利用者は、このような吹き出し２２付きのメニュー２０を視認することで、どのアイコンに関連するメニュー２０であるかを容易に視認することができる。
【００４６】
メニュー２０は、押下位置の例えば上方に固定的に表示することも考えられるが、この場合、押下位置が表示部１０７の上方側にあるとメニュー２０を全て表示することができない場合が生じる。そこで、制御部１０４は、メニュー２０を固定的に表示するのではなく、押下位置に応じて適応的な位置に表示する。具体的には、制御部１０４は、処理プログラムに従い、所定の優先順位に従ってメニュー２０を表示する。すなわち、操作位置を押下位置として、
（１）まず押下位置の上方に表示する
（２）押下位置の上方に表示できない場合に押下位置の左方に表示する
（３）押下位置の左方に表示できない場合に押下位置の右方に表示する
（４）押下位置の右方に表示できない場合に押下位置の下方に表示する
（５）押下位置の下方に表示できない場合に右寄せあるいは左寄せで表示する
（６）右寄せあるいは左寄せでも表示できない場合に表示部１０７の中央に表示する
というアルゴリズムでメニュー２０及び吹き出し２２を表示する。
【００４７】
＜全体処理＞
図５は、制御部１０４の処理フローチャートを示す。
制御部１０４は、利用者による押下操作、例えば表示部１０７に表示されたボタンのタップ操作等を検出する（Ｓ１０１）。
【００４８】
制御部１０４は、押下操作を検出すると、押下位置を特定し、押下位置におけるボタンやアイコン等（以下、これをターゲットという）の可視領域を計算する（Ｓ１０２）。なお、ターゲットとは、メニュー２０の吹き出し２２が指し示す先である意義を有する。ターゲットの可視領域を計算する理由は、利用者が押下操作するターゲットは、必ずしもその全体像が利用者にとって可視であるとは限らないからである。例えば、ターゲットが配置された領域がスクロール可能な領域である場合において、ターゲットが部分的に表示された状態で利用者が押下操作するときもある。
【００４９】
ターゲットの可視領域を計算した後、制御部１０４は、まず、Ｓ１０２で計算されたターゲットの可視領域を指し示すようにメニュー２０及び吹き出し２２をターゲットの上方に表示できるか否かを判定する（Ｓ１０３）。具体的には、ターゲットの位置に基づいてターゲットの上方に存在する余白のサイズを計算し、メニュー２０の全体を表示できるサイズがあるか否かを判定する。（メニュー２０の全体サイズ）≦（余白のサイズ）であればターゲットの上方に表示できると判定し（Ｓ１０３でＯＫ）、制御部１０４は、ターゲットに応じたメニュー２０及び吹き出し２２をターゲットの上方にポップアップ表示する。例えば図４の如くである。なお、メニュー２０の内容は、ターゲットであるアイコンあるいはボタンに応じて変化するから、メニュー２０の全体サイズもターゲットに応じて変化し得る。
【００５０】
ターゲットの上方に表示できない場合（Ｓ１０３でＮＧ）、制御部１０４は、次にメニュー２０及び吹き出し２２をターゲットの左方に表示できるか否かを判定する（Ｓ１０４）。具体的には、ターゲットの位置に基づいてターゲットの左方に存在する余白のサイズを計算し、メニュー２０の全体を表示できるサイズがあるか否かを判定する。（メニュー２０の全体サイズ）≦（余白のサイズ）であればターゲットの左方に表示できると判定し（Ｓ１０４でＯＫ）、制御部１０４は、ターゲットに応じたメニュー２０及び吹き出し２２をターゲットの左方にポップアップ表示する。図６は、ターゲットの左方にポップアップ表示した一例を示す。
【００５１】
ターゲットの左方に表示できない場合（Ｓ１０４でＮＧ）、制御部１０４は、次にメニュー２０及び吹き出し２２をターゲットの右方に表示できるか否かを判定する（Ｓ１０５）。具体的には、ターゲットの位置に基づいてターゲットの右方に存在する余白のサイズを計算し、メニュー２０の全体を表示できるサイズがあるか否かを判定する。（メニュー２０の全体サイズ）≦（余白のサイズ）であればターゲットの右方に表示できると判定し（Ｓ１０５でＯＫ）、制御部１０４は、ターゲットに応じたメニュー２０及び吹き出し２２をターゲットの右方にポップアップ表示する。図７は、ターゲットの右方にポップアップ表示した一例を示す。
【００５２】
ターゲットの右方に表示できない場合（Ｓ１０５でＮＧ）、制御部１０４は、次にメニュー２０及び吹き出し２２をターゲットの下方に表示できるか否かを判定する（Ｓ１０６）。具体的には、ターゲットの位置に基づいてターゲットの下方に存在する余白のサイズを計算し、メニュー２０の全体を表示できるサイズがあるか否かを判定する。（メニュー２０の全体サイズ）≦（余白のサイズ）であればターゲットの下方に表示できると判定し（Ｓ１０６でＯＫ）、制御部１０４は、ターゲットに応じたメニュー２０及び吹き出し２２をターゲットの下方にポップアップ表示する。図８は、ターゲットの下方にポップアップ表示した一例を示す。
【００５３】
メニュー２０のサイズに応じた十分な余白が存在せず、ターゲットの上方、左方、右方、下方のいずれにも表示できない場合（Ｓ１０６でＮＧ）、制御部１０４は、ターゲットに応じたメニュー２０及び吹き出し２２を表示部１０７の右寄せあるいは左寄せで表示する（Ｓ１０７）。図９は、右寄せでポップアップ表示した一例を示す。
【００５４】
右寄せあるいは左寄せでも表示できない場合（Ｓ１０７でＮＧ）、制御部１０４は、ターゲットに応じたメニュー２０を表示部１０７の中央に表示する（Ｓ１０８）。この場合、メニュー２０を指し示す吹き出し２２は必ずしも表示する必要はない（但し、吹き出し２２の表示を排除するものではない）。
【００５５】
次に、各ステップの処理を詳細に説明する。
【００５６】
＜ターゲットの可視領域計算＞
既述したように、吹き出し２２が指し示すべきターゲットは、必ずしもその全体が利用者にとって可視であるとは限らない。例えば、ターゲットが配置された領域がスクロール可能であり、ターゲットが部分的に表示された状態で利用者がタップする場合もある。
【００５７】
図１０は、このような場合の一例を示す。ターゲットが配置された領域がスクロール可能であり、そのうちの一部のみが表示されている状態において利用者がタップした状態である。この場合、利用者に可視なターゲット領域を検出し、この可視領域を指し示すようにメニュー２０及び吹き出し２２を作成してポップアップ表示する。仮に、タップされたアイコンあるいはボタンの中心位置を基準とし、この基準位置を指し示すようにメニュー２０及び吹き出し２２をポップアップ表示した場合、利用者がタップしておらず利用者にも不可視な領域を指し示すことになり、利用者は違和感を覚えるであろうが、このように利用者の可視領域を対象とすることで、利用者はどこをタップしたことにより表示されたメニュー２０であるかを容易に視認することができる。
【００５８】
なお、ターゲットが配置された領域がスクロール可能であり、さらにその外側の領域もスクロール可能な場合もあり得る。このようにスクロール可能領域が「入れ子」になっている場合には、ターゲットの可視領域は全てのスクロール可能領域の影響を受けるから、ターゲットの可視領域を計算する際には再帰的に計算することが望ましい。
【００５９】
図１１は、Ｓ１０２の詳細フローチャートを示す。
【００６０】
制御部１０４は、押下位置を検出すると、ターゲットを含んでいるスクロール可能領域を取得する（Ｓ２０１）。ターゲットが配置された領域がスクロール可能であり、さらにその外側の領域もスクロール可能な場合には、当該外側のスクロール可能領域も取得する。
【００６１】
次に、ターゲットの全領域を一時的に現在の可視領域とみなしてメモリに記憶する（Ｓ２０２）。
【００６２】
次に、最も内側のスクロール領域から最も外側のスクロール領域まで、現在の可視領域と、現在のスクロール領域の共通領域を算出し、その共通領域を現在の可視領域に設定する処理を繰り返し実行する（Ｓ２０３、Ｓ２０４）。ターゲットが配置された領域のみがスクロール可能領域である場合（「入れ子」でない場合）、まずＳ２０２でターゲットの全領域を一時的に現在の可視領域としてメモリに初期値として記憶する。もし、ターゲットの全領域がスクロールされて可視状態であれば、メモリに記憶された可視領域がそのままターゲットの可視領域となる。他方、ターゲットの一部領域のみがスクロールされている場合、Ｓ２０４で現在の可視領域と現在のスクロール領域の共通領域が新たな可視領域として計算されてメモリに記憶される。ターゲットが配置された領域の外側の領域もスクロール可能である場合（「入れ子の場合」）、このようにして計算されメモリに記憶された現在の可視領域と、さらに外側のスクロール領域との共通領域を算出し、その共通領域を新たな可視領域としてメモリに記憶する。
【００６３】
具体的には、画面の左上を座標の原点（０，０）とし、ターゲット領域が矩形で
（ｘ１，ｙ１）〜（ｘ２，ｙ２）
であるとする。（ｘ１，ｙ１）は矩形領域の左上の座標、（ｘ２，ｙ２）は矩形領域の右下の座標である。Ｓ２０２の処理では、
（ｘ１，ｙ１）〜（ｘ２，ｙ２）
が一時的に現在の可視領域としてＲＡＭ１０２等のメモリに記憶される。現在のスクロール領域が、
（ｘ１，ｙ１）〜（ｘ２，ｙ３）
但し、ｙ１＜ｙ３＜ｙ２
である場合、現在の可視領域と現在のスクロール領域の共通領域は
（ｘ１，ｙ１）〜（ｘ２，ｙ３）
であり、この領域を新たな現在の可視領域としてメモリに記憶する。
【００６４】
なお、後述するターゲットの可視領域の上側境界としての上辺は、上記の可視領域の（ｘ１，ｙ１）〜（ｘ２，ｙ１）を意味し、ターゲットの可視領域の下側境界としての下辺は、上記の可視領域の（ｘ１，ｙ３）〜（ｘ２，ｙ３）を意味する。
【００６５】
＜ターゲット上方にポップアップ表示＞
図１２（ａ）、（ｂ）は、ターゲット上方にポップアップ表示する場合の詳細を示す。図１２（ａ）は、黒丸で示す押下位置及びメニュー２０並びに吹き出し２２を示し、図１２（ｂ）はその一部を拡大して示す。メニュー２０及び吹き出し２２を表示する場合、押下位置を基準としてメニュー２０のＸ座標及びＹ座標を決定する必要がある。制御部１０４は、Ｙ座標に関しては、ターゲットの可視領域の上側境界としての上辺に対して、吹き出しを所定量（例えば４画素分）だけ被せるような位置に決定する。また、Ｘ座標に関しては、押下位置と同一位置となるように決定する。また、図１２（ａ）に示すように、吹き出し２２は、メニュー２０のＸ方向の中心位置となるように決定する。但し、押下位置によっては、吹き出し２２をメニュー２０のＸ方向の中心位置に表示できない場合もあり得るが、この場合には吹き出し２２のＸ座標は押下位置を優先させて決定する。
【００６６】
図１３は、吹き出し２２のＸ座標を押下位置に決定し、メニュー２０のＸ方向の中心位置から左寄りに表示した例を示す。この場合でも、利用者は、メニュー２０の全体を視認できるとともに、どこを押下したことにより生じたメニュー２０であるかを視認し得る。また、ターゲットの可視領域の上側境界としての上辺を基準として吹き出し２２の先端位置を決定することで、スクロール可能領域に表示された表示データを視認可能に維持できる。
【００６７】
図１４は、Ｓ１０３の詳細フローチャートを示す。
【００６８】
制御部１０４は、ターゲット上方にメニュー２０及び吹き出し２２を表示するための余白が存在するか否かを判定する（Ｓ３０１）。ターゲット上方に十分な余白が存在しない場合は、ＮＧと判定してＳ１０４の処理に移行する。
【００６９】
ターゲット上方に十分な余白が存在する場合（Ｓ３０１でＹＥＳ）、制御部１０４は、メニュー２０のＸ座標及びＹ座標を決定する。すなわち、Ｙ座標に関しては、ターゲットの可視領域の上辺に対して、所定量（４画素分）だけ吹き出しが被るようにＹ座標を決定する（Ｓ３０２）。また、Ｘ座標に関しては、押下位置としてのタップ位置のＸ座標がメニューのＸ方向の中心となるようにＸ座標を決定する（Ｓ３０３）。
【００７０】
次に、制御部１０４は、このようにしてＸ座標を仮決定した後、メニュー２０の左端及び右端が表示部１０７の画面に入りきるか否かを判定する（Ｓ３０４）。メニュー２０の両端が画面に入りきる場合（Ｓ３０４でＹＥＳ）、Ｓ３０２及びＳ３０３で決定されたＹ座標及びＸ座標に従ってメニュー２０及び吹き出し２２を表示する。この場合の表示例は図１２（ａ）、（ｂ）に示した通りである。
【００７１】
他方、メニュー２０の左端が表示部１０７の画面に入りきらない場合（Ｓ３０４でＮＯ）、メニュー２０の左端が画面の左端から所定量（例えば５画素分）だけ離れた位置になるようにメニュー２０のＸ座標を修正する（Ｓ３０６）。また、メニュー２０の右端が表示部１０７の画面に入りきらない場合（Ｓ３０４でＮＯ）も同様に、メニュー２０の右端が画面の右端から所定量（５画素分）だけ離れた位置になるようにメニュー２０のＸ座標を修正する（Ｓ３０６）。メニュー２０の左端が表示部１０７の画面に入りきらない場合の表示例は図１３に示した通りであり、メニュー２０の左端が画面の左端から５画素分だけ離れた位置となるようにメニュー２０のＸ座標が修正された結果である。吹き出し２２のＸ座標は、押下点のＸ座標と同一であるため、メニュー２０のＸ座標と異なる。吹き出し２２のＹ座標はメニュー２０のＹ座標が決定されると自動的に決定され、吹き出し２２のＸ座標は押下位置のＸ座標が決定されると自動的に決定される（メニュー２０のＸ座標はＳ３０４及びＳ３０６の処理で最終的に決定されるため、押下位置のＸ座標のみでは自動的に決定されない）。
【００７２】
具体的には、ターゲットの可視領域が
（ｘ１，ｙ１）〜（ｘ２，ｙ３）
であるとし、押下位置としてのタップ位置が、
（ｘｔ，ｙｔ）
但し、ｘ１＜ｘｔ＜ｘ２、ｙ１＜ｙｔ＜ｙ３
であるとする。また、メニュー２０の中心座標（ｘｃ、ｙｃ）に対して吹き出し２２の先端のＹ座標がｙｃ＋ｂであるとすると、
メニュー２０のＸ座標ｘｃ＝ｘｔ
メニュー２０のＹ座標ｙｃ＝ｙ１−ｂ＋α
で決定される。但し、αは吹き出しの先端がターゲット可視領域の上辺に被さる量である。
【００７３】
また、吹き出し２２の先端の座標（ｘｆ、ｙｆ）は、
吹き出しのＸ座標ｘｆ＝ｘｔ
吹き出しのＹ座標ｙｆ＝ｙｃ＋ｂ＝ｙ１＋α
で決定される。
【００７４】
メニュー２０の左端が画面に入りきらない場合には、
メニュー２０のＸ座標ｘｃ＝ｘｔ＋β
としてＸ座標を修正する。但し、βは、左端が画面左端から所定量（例えば５画素分）だけ離れるために必要な量である。
【００７５】
また、吹き出し２２の先端の座標は、
吹き出し２２のＸ座標ｘｆ＝ｘｔ
吹き出し２２のＹ座標ｙｆ＝ｙ１＋α
である。
【００７６】
メニュー２０の両端が画面に入りきる場合には
ｘｃ＝ｘｆ
であるが、メニュー２０の両端が画面に入りきらない場合には、吹き出し２２のＸ座標が押下位置を優先させるため、メニュー２０の中心位置ｘｃからずれて
ｘｃ≠ｘｆ
となる。すなわち、吹き出し２２のＸ方向位置がメニュー２０のＸ方向中心から相対的に変位する。    
【００７７】
以上のようにしてＹ座標及びＸ座標が決定されると、制御部１０４は、決定されたＹ座標及びＸ座標にメニュー２０及び吹き出し２２をポップアップ表示する（Ｓ３０５）。
【００７８】
＜ターゲット下方にポップアップ表示＞
ターゲット下方にポップアップ表示する場合は、基本的にターゲット上方にポップアップ表示する場合と同様である。但し、Ｓ３０１の処理がターゲット下方に余白が存在するか否かの判定処理に代わり、Ｓ３０２の処理がターゲットの可視領域の下辺に吹き出しが被るようにＹ座標を決定する処理に変わる。
【００７９】
図１５は、ターゲットの下方にメニュー２０を表示する例である。メニュー２０の左端及び右端が画面に入りきる場合の例であり、メニュー２０のＸ座標は、押下位置としてのタップ位置のＸ座標がメニュー２０の中心となるように決定される。吹き出し２２のＸ座標もメニュー２０の中心位置である。
【００８０】
＜ターゲット左方にポップアップ表示＞
図１６及び図１７は、ターゲット他方にメニュー２０及び吹き出し２２を表示する場合の詳細を示す。メニュー２０及び吹き出し２２をターゲット左方に表示する場合、そのＸ座標に関しては、吹き出し２２の先端を、押下位置から左に所定量（例えば３０画素分）だけ離れた位置となるように決定する。ここで、３０画素分としたのは、タップした指に吹き出しが隠れないようにしたものである。また、Ｙ座標に関しては、押下位置と同一位置となるように決定する。吹き出し２２は、メニュー２０のＹ方向の中心位置となるように決定する。図１７に示すように、押下位置によっては、吹き出し２２をメニュー２０のＹ方向の中心位置に表示できない場合もあり得るが、この場合には吹き出し２２のＹ座標は押下位置を優先させて決定する。
【００８１】
図１８は、Ｓ１０４の詳細フローチャートである。
【００８２】
制御部１０４は、ターゲット左方にメニュー２０及び吹き出し２２を表示するための余白があるか否かを判定する（Ｓ４０１）。ターゲット左方に十分な余白がない場合、ＮＧと判定してＳ４０５の処理に移行する。
【００８３】
ターゲット左方に十分な余白が存在する場合（Ｓ４０２でＹＥＳ）、押下位置としてのタップ位置から所定量（３０画素分）だけ左に吹き出し２２の先端が位置するようにメニュー２０のＸ座標を決定する（Ｓ４０２）。また、タップ位置のＹ座標がメニュー２０のＹ方向の中心となるようにＹ座標を決定する（Ｓ４０３）。
【００８４】
次に、制御部１０４は、このようにして決定したＸ座標及びＹ座標において、メニュー２０の上端及び下端が表示部１０７の画面に入りきるか否かを判定する（Ｓ４０４）。上端及び下端が画面に入りきる場合（Ｓ４０４）、決定したＸ座標及びＹ座標でメニュー２０及び吹き出し２２をポップアップ表示する（Ｓ４０５）。
【００８５】
他方、上端が画面に入りきらない場合（Ｓ４０４でＮＯ）、制御部１０４は、メニュー２０の上端が画面上端から所定量（例えば５画素分）だけ離れた位置となるようにＹ座標を修正する（Ｓ４０６）。下端が画面に入りきらない場合も同様であり、制御部１０４は、メニュー２０の下端が画面下端から５画素分だけ離れた位置となるようにＹ座標を修正する。そして、修正したＹ座標及びＸ座標でメニュー２０及び吹き出し２２をポップアップ表示する（Ｓ４０５）。
【００８６】
具体的には、ターゲットの可視領域が
（ｘ１，ｙ１）〜（ｘ２，ｙ３）
であるとし、押下位置としてのタップ位置が、
（ｘｔ，ｙｔ）
但し、ｘ１＜ｘｔ＜ｘ２、ｙ１＜ｙｔ＜ｙ３
であるとする。また、メニュー２０の中心座標（ｘｃ、ｙｃ）に対して吹き出し２２の先端のＸ座標がｘｃ＋ａであるとすると、
メニュー２０のＸ座標ｘｃ＝ｘｔ−３０−ａ
メニュー２０のＹ座標ｙｃ＝ｙｔ
で決定される。ここで、Ｘ座標の算出における「−３０」は、タップ位置から３０画素分だけ左に離れるための調整項である。
【００８７】
また、吹き出し２２の先端の座標（ｘｆ、ｙｆ）は、
吹き出し２２のＸ座標ｘｆ＝ｘｃ＋ａ＝ｘｔ−３０
吹き出し２２のＹ座標ｙｆ＝ｙｔ
で決定される。
メニュー２０の上端が画面に入りきらない場合には、
メニュー２０のＹ座標ｙｃ＝ｙｔ＋γ
としてＹ座標を修正する。但し、γは、上端が画面上端から所定量（例えば５画素分）だけ離れるために必要な量である。
【００８８】
また、吹き出し２２の先端の座標は、
吹き出し２２のＸ座標ｘｆ＝ｘｔ−３０
吹き出し２２のＹ座標ｙｆ＝ｙｔ
である。
【００８９】
メニュー２０の両端が画面に入りきる場合には
ｙｃ＝ｙｆ
であるが、メニュー２０の両端が画面に入りきらない場合には、吹き出し２２のＹ座標が押下位置を優先させるため、メニュー２０の中心位置ｙｃからずれて
ｙｃ≠ｙｆ
となる。すなわち、吹き出し２２のＹ方向位置がメニュー２０のＹ方向中心から相対的に変位する。
【００９０】
＜ターゲット右方にポップアップ表示＞
ターゲット右方にポップアップ表示する場合は、基本的にターゲット左方にポップアップ表示する場合と同様である。但し、Ｓ４０１の処理がターゲット右方に余白が存在するか否かの判定処理に代わり、Ｓ４０２の処理がタップ位置のＸ座標から所定量（例えば３０画素分）だけ右に吹き出しの先端が位置するようにメニュー２０のＸ座標を決定する処理に変わる。
【００９１】
＜右寄せ・左寄せのポップアップ表示＞
図１９は、右寄せ・左寄せでメニュー２０及び吹き出し２２を表示する場合の詳細を示す。メニュー２０の大きさが表示部１０７の画面の大きさに近い場合、図１９（ａ）に示すように押下位置によってはターゲットの上方、下方、左方、及び右方のいずれにもメニュー２０の全体を表示できない場合が生じ得る。特に、表示部１０７の画面サイズが小さい場合に生じ得る。このような場合、押下位置のＸ座標が画面中央よりも左側であれば、図１９（ｂ）に示すように、メニュー２０の左端を画面左端から所定量（例えば４０画素分）だけ離れた位置になるようにＸ座標を決定し、押下位置のＸ座標が画面中央よりも右側であれば、メニュー２０の右端を画面右端から所定量（例えば４０画素分）だけ離れた位置になるようにＸ座標を決定する。ここで、ポップアップ表示されたメニュー２０をクローズする手段の一つとして、ポップアップ表示外の余白部分を押下操作するという手段が知られているが、このようにＸ座標を決定することで、メニュー２０をクローズするための余白領域を確保できる意義がある。
【００９２】
図２０は、Ｓ１０７の詳細フローチャートである。
【００９３】
制御部１０４は、押下位置としてのタップ位置のＸ座標が画面中央よりも左側にあるか否かを判定する（Ｓ５０１）。
【００９４】
画面中央よりも左側にあれば（Ｓ５０１でＹＥＳ）、メニュー２０の左端を画面左端から所定量（例えば４０画素分）だけ離れた位置となるようにメニュー２０のＸ座標を決定する（Ｓ５０２）。また、タップ位置のＹ座標がメニュー２０のＹ方向の中心となるようにＹ座標を決定する（Ｓ５０３）。他方、画面中央よりも左側になければ（Ｓ５０１でＮＯ）、メニュー２０の右端を画面右端から所定量（例えば４０画素分）だけ離れた位置となるようにメニュー２０のＸ座標を決定する（Ｓ５０４）。そして、タップ位置のＹ座標がメニュー２０のＹ方向の中心となるようにＹ座標を決定する（Ｓ５０３）。
【００９５】
Ｘ座標及びＹ座標を決定した後、制御部１０４は、メニュー２０の上端及び下端が表示部１０７の画面に入りきるか否かを判定する（Ｓ５０５）。上端及び下端が画面に入りきる場合（Ｓ５０５でＹＥＳ）、決定したＸ座標及びＹ座標でメニュー２０及び吹き出し２２をポップアップ表示する（Ｓ５０６）。メニュー２０の上端が画面に入りきらない場合（Ｓ５０５でＮＯ）、メニュー２０の上端が画面上端から所定量（例えば５画素分）だけ離れた位置となるようにＹ座標を修正する（Ｓ５０７）。メニュー２０の下端が画面に入りきらない場合も同様であり、メニュー２０の下端が画面下端から所定量（例えば５画素分）だけ離れた位置となるようにＹ座標を修正する（Ｓ５０７）。そして、修正されたＹ座標及びＸ座標でメニュー２０及び吹き出し２２をポップアップ表示する（Ｓ５０６）。
【００９６】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、種々の変形が可能である。以下、変形例について説明する。
【００９７】
＜変形例１＞
実施形態では、メニュー２０及び吹き出し２２をポップアップ表示する優先順位として、
（１）ターゲット上方
（２）ターゲット左方
（３）ターゲット右方
（４）ターゲット下方
としているが、これを適宜変更してもよく、利用者の利き腕に応じて優先順位を決定してもよい。具体的には、利用者が右利きである場合には上記の優先順位とし、利用者が左利きである場合には、優先順位を
（１）ターゲット上方
（２）ターゲット右方
（３）ターゲット左方
（４）ターゲット下方
とする等である。利用者の利き腕は、予め認証情報としてメモリに登録しておき、利用者がログインした場合に当該利用者の認証情報から利用者の利き腕を判定し、利き腕に応じた優先順位を決定すればよい。
【００９８】
＜変形例２＞
実施形態では、吹き出し２２の形状を三角形としているが、矩形、楕円、菱形、嘴形等任意の形状でよい。また、吹き出し２２の色についても、メニュー２０と同一色の他、メニュー２０と異なる色であってもよい。
【００９９】
＜変形例３＞
実施形態では、メニュー２０の大きさが表示部１０７の画面の大きさに近い場合であって、押下位置によってターゲットの上方、下方、左方、及び右方のいずれにもメニュー２０を表示できない場合に、左寄りあるいは右寄りにメニュー２０及び吹き出し２２をポップアップ表示しているが、この場合には吹き出し２２は必ずしも押下位置を直接指し示すことにならない（画面の左側あるいは右側のいずれを押下したかは視認し得る）ので、吹き出し２２の形状を、押下位置がメニュー２０の下に隠れていることを示す特定の形状に変化させてもよい。
【０１００】
＜変形例４＞
実施形態では、ターゲットの上方、左方、右方、及び下方のいずれにもメニュー２０を表示できない場合に、右寄せあるいは左寄せでメニュー２０を表示しているが、より詳細には以下のルールに従ってメニュー２０及び吹き出し２２を表示してもよい。
すなわち、メニュー２０に関しては、
Ｘ座標：
表示部１０７の右半分をタップした場合、ターゲットの右端から所定量（例えば２０画素分）だけ内側と、画面右端から所定量（例えば４０画素分）のうち、値が小さい方を右寄せの右端とする。
表示部１０７の左半分をタップした場合、ターゲットの左端から所定量（例えば２０画素分）だけ内側と、画面左端から所定量（例えば４０画素分）のうち、値が小さい方を左寄せの左端とする。
Ｙ座標：
ターゲットのＹ方向の座標とする。
また、吹き出し２２に関しては、
Ｘ座標：
表示部１０７の右半分をタップした場合、メニュー２０の右側。
表示部１０７の左半分をタップした場合、メニュー２０の左側。
Ｙ座標：
ターゲットのＹ方向の座標とする。
【０１０１】
なお、右寄せあるいは左寄せでメニュー２０を表示する場合、吹き出し２２も右方向あるいは左方向に表示されることになるが、ターゲットによっては吹き出し２２が正確にターゲットを指し示さない場合もあり得るが、この場合にはメニュー２０の高さ、すなわちＹ方向の幅を縮小し、吹き出し２２を上方向あるいは下方向に表示してもよい。例えば、吹き出し２２の先端がターゲットを正しく指し示していると判定できるための閾値としての画素数を設定し、この画素数を超えている場合にメニュー２０のＹ方向の幅を縮小する等である。
【０１０２】
＜変形例５＞
実施形態では、ターゲットの上方、左方、右方、及び下方のいずれにもメニュー２０を表示できず、かつ、右寄せあるいは左寄せでもメニュー２０を表示できない場合に、メニュー２０を表示部１０７の画面中央に表示しているが、これ以外にも以下のようなルールで表示してもよい。
Ｘ座標：
表示部１０７の右半分をタップした場合、画面の右端から所定量（例えば４０画素分）だけ離れた位置をメニュー２０の右端とする。
表示部１０７の左半分をタップした場合、画面の左端から所定量（例えば４０画素分）だけ離れた位置をメニュー２０の左端とする。
Ｙ座標：
画面の中央の座標とする。
なお、この場合にも、吹き出し２２はターゲットを指し示すことが困難であるため表示しなくてもよい。
【０１０３】
＜変形例６＞
実施形態では、図２に示すように画像形成装置１４は通信手段１６に接続されて端末装置１２からの印刷ジョブを受け付けるシステム構成であるが、通信手段１６に接続しておらず、いわゆるスタンドアロンであってもよい。また、タッチパネルを含む操作部１４６が本体から分離可能であり、利用者が操作部１４６を操作して本体をリモート操作可能な画像形成装置１４であってもよい。
【符号の説明】
【０１０４】
１０  表示装置、１４  画像形成装置、１８  黒丸（押下位置）、２０  メニュー、２２  吹き出し、１０４，１４４  制御部。
【図１】
2018109813.tif 000003
【図２】
2018109813.tif 000004
【図３】
2018109813.tif 000005
【図４】
2018109813.tif 000006
【図５】
2018109813.tif 000007
【図６】
2018109813.tif 000008
【図７】
2018109813.tif 000009
【図８】
2018109813.tif 000010
【図９】
2018109813.tif 000011
【図１０】
2018109813.tif 000012
【図１１】
2018109813.tif 000013
【図１２】
2018109813.tif 000014
【図１３】
2018109813.tif 000015
【図１４】
2018109813.tif 000016
【図１５】
2018109813.tif 000017
【図１６】
2018109813.tif 000018
【図１７】
2018109813.tif 000019
【図１８】
2018109813.tif 000020
【図１９】
2018109813.tif 000021
【図２０】
2018109813.tif 000022
【手続補正書】
【提出日】平成29年1月18日(2017.1.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
＜ターゲット上方にポップアップ表示＞
図１２（ａ）、（ｂ）は、ターゲット上方にポップアップ表示する場合の詳細を示す。図１２（ａ）は、黒丸で示す押下位置及びメニュー２０並びに吹き出し２２を示し、図１２（ｂ）はその一部を拡大して示す。メニュー２０及び吹き出し２２を表示する場合、押下位置を基準としてメニュー２０のＸ座標及びＹ座標を決定する必要がある。制御部１０４は、Ｙ座標に関しては、ターゲットの可視領域の上側境界としての上辺に対して、吹き出しを所定量（例えば４画素分）だけ被せるような位置に決定する。また、Ｘ座標に関しては、押下位置とメニュー２０のＸ方向の中心位置が同一位置となるように決定する。また、図１２（ａ）に示すように、吹き出し２２は、メニュー２０のＸ方向の中心位置となるように決定する。但し、押下位置によっては、吹き出し２２をメニュー２０のＸ方向の中心位置に表示できない場合もあり得るが、この場合には吹き出し２２のＸ座標は押下位置を優先させて決定する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
＜ターゲット左方にポップアップ表示＞
図１６及び図１７は、ターゲット左方にメニュー２０及び吹き出し２２を表示する場合の詳細を示す。メニュー２０及び吹き出し２２をターゲット左方に表示する場合、そのＸ座標に関しては、吹き出し２２の先端を、押下位置から左に所定量（例えば３０画素分）だけ離れた位置となるように決定する。ここで、３０画素分としたのは、タップした指に吹き出しが隠れないようにしたものである。また、Ｙ座標に関しては、押下位置と同一位置となるように決定する。吹き出し２２は、メニュー２０のＹ方向の中心位置となるように決定する。図１７に示すように、押下位置によっては、吹き出し２２をメニュー２０のＹ方向の中心位置に表示できない場合もあり得るが、この場合には吹き出し２２のＹ座標は押下位置を優先させて決定する。