(57)【要約】      （修正有）【課題】複数のオブジェクトの重なりの変更操作を簡易に行うことができる情報処理技術を提供する。【解決手段】表示画面上に複数のオブジェクトを重ねて表示するための情報処理装置であって、前記表示画面上において、前記複数のオブジェクトの内の、処理対象のオブジェクトに対する指示を検知する検知手段と、前記検知手段の検知の結果に応じて、前記処理対象のオブジェクトのＺ軸オーダーにおける配置の順番を変更する変更手段とを備える。【選択図】図２
2015225126.tif 000002
【特許請求の範囲】
【請求項１】
表示画面上に複数のオブジェクトを重ねて表示するための情報処理装置であって、
前記表示画面上において、前記複数のオブジェクトの内の、処理対象のオブジェクトに対する指示を検知する検知手段と、
前記検知手段の検知の結果に応じて、前記処理対象のオブジェクトのＺ軸オーダーにおける配置の順番を変更する変更手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記変更手段は、前記検知手段の複数回の検知により、前記処理対象のオブジェクトのＺ軸オーダーにおける配置の順番を変更する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記変更手段は、更に、前記処理対象のオブジェクトに隣接するオブジェクトのＺ軸オーダーにおける配置の順番を変更する
こと特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記変更手段によるＺ軸オーダーにおける配置の順番の変更に応じて、前記処理対象のオブジェクトを含む前記複数のオブジェクトの表示状態を更新する更新手段を更に備える
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記複数のオブジェクトの内、２つ以上のオブジェクトの指示を検知した後に、その指示が解除された場合、前記変更手段は、前記複数のオブジェクトのＺ軸オーダーにおける配置の順番を変更する
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記検知手段が、前記処理対象のオブジェクトの指示を検知したことに応じて、前記処理対象のオブジェクトの状態を選択状態あるいは非選択状態に設定する設定手段を更に備える
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記変更手段は、前記処理対象のオブジェクトの状態と、前記検知手段の検知の結果に応じて、該処理対象のオブジェクト、それに隣接するオブジェクトのＺ軸オーダーにおける配置の順番を入れ替える
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
選択状態にある前記処理対象のオブジェクトに対する指示が検知された場合には、前記処理対象のオブジェクトとＺ軸オーダーにおける前記オブジェクトの下位に位置するオブジェクトの順番を入れ替える
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
選択状態にある複数のオブジェクトの１つの処理対象のオブジェクトに対する指示の解除が検知された場合には、前記変更手段は、前記選択状態にある前記複数のオブジェクトの中からＺ軸オーダーにおける最上位のオブジェクトを特定し、その特定されたオブジェクトの位置に前記処理対象のオブジェクトを挿入する
ことを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
表示画面上に複数のオブジェクトを重ねて表示する方法であって、
前記表示画面上において、前記複数のオブジェクトの内の、処理対象のオブジェクトに対する指示を検知する検知工程と、
前記検知工程の検知の結果に応じて、前記処理対象のオブジェクトのＺ軸オーダーにおける配置の順番を変更する変更工程と
を備えることを特徴とする方法。
【請求項１１】
コンピュータを、請求項１乃至９のいずれか１項に記載の情報処理装置の各手段として機能させるための、または請求項１０に記載の方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示画面上に複数のオブジェクトを重ねて表示するための情報処理技術に関するものである。
【背景技術】
【０００２】
重なり合った複数のオブジェクトを表示する場合、オブジェクトの重なっている順番（Ｚ軸オーダー）を入れ替えることがある。Ｚ軸オーダーの異なる複数のオブジェクトを表示できるオブジェクト表示において、オブジェクトのＺ軸オーダーを直観的かつ簡易に操作する方法が提案されている。
【０００３】
例えば、特許文献１の技術では、他のオブジェクトと重なりを有するオブジェクトをマウスの操作等によって移動させ、他のオブジェクトと重なりを有さない状態を作成する。その後、再度、重なりを有する状態となったときに、重なりを有さない状態の前後で接触していると判定された２つのオブジェクトのＺ軸オーダーにおける上下関係を入れ替えている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−６５２８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、２つのオブジェクトのＺ軸オーダーにおける上下関係を入れ替えることしかできない。
【０００６】
例えば、３つのオブジェクトがＺ軸オーダー上で第一のオブジェクト、第二のオブジェクト、第三のオブジェクトの順番で配置されていた場合に、第一のオブジェクトを第二のオブジェクトと第三のオブジェクトの間に移動させるには、以下の操作が必要となる。
【０００７】
まず、第一のオブジェクトを、第二のオブジェクトとの重なりを有さない状態を作成し、次に、第三のオブジェクトとの重なりを有する状態を経て、再度、第二のオブジェクトと第三のオブジェクトと重なりを有する状態に戻す操作を行う。このように、３つ以上のオブジェクトの配置を変更するための操作が煩雑であり、その操作に困難が強いられる。
【０００８】
また、近年のマルチタッチ対応デバイスの普及により、マルチタッチ対応デバイスにおける新しいＺ軸オーダーのオブジェクトの配置の制御も要望されている。
【０００９】
本発明は上記の課題を解決するためになされたものであり、オブジェクトのＺ軸オーダーの簡易な操作を行うことができる情報処理技術を提供することである。
【課題を解決するための手段】
【００１０】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
表示画面上に複数のオブジェクトを重ねて表示するための情報処理装置であって、
前記表示画面上において、前記複数のオブジェクトの内の、処理対象のオブジェクトに対する指示を検知する検知手段と、
前記検知手段の検知の結果に応じて、前記処理対象のオブジェクトのＺ軸オーダーにおける配置の順番を変更する変更手段と
を備える。
【発明の効果】
【００１１】
本発明によれば、複数のオブジェクトの重なりの変更操作を簡易に行うことができるようになる。
【図面の簡単な説明】
【００１２】
【図１】情報処理装置の構成を示すブロック図である。
【図２】任意のオブジェクトに対してタッチダウンを検知した際の処理のフローチャートである。
【図３】図２で示した処理の具体例を説明する図である。
【図４】任意のオブジェクトに対してタッチアップを検知した際の処理のフローチャートである。
【図５】図４で示した処理の具体例を説明する図である。
【図６】選択状態にあるすべてのオブジェクトの中で、複数オブジェクトの重なりの中で更に上位に位置するオブジェクトを特定する処理のフローチャートである。
【図７】図で示した処理の中で、入れ替えフラグを用いた処理の具体６例を説明する図である。
【発明を実施するための形態】
【００１３】
以下、本発明の好適な一実施形態について、図面を参照して詳細に説明する。
【００１４】
尚、以下に説明する一実施形態は、情報処理装置の一例として、ユーザが移動可能な複数のオブジェクトを、重なり合わせて所定のフィールドに表示可能な情報処理装置に適用した例を説明する。しかしながら、本実施形態は、ユーザが移動可能な複数のオブジェクトを、Ｚ軸オーダーに従って所定のフィールドに表示することが可能な任意の機器に適用可能である。
【００１５】
また、本明細書において、「Ｚ軸オーダー」とは、複数のオブジェクトが配置される表示画面に直交する方向（法線方向／奥行方向（深さ方向）／複数のオブジェクトの重なり方向）についての、当該複数のオブジェクトの位置関係を示す情報である。尚、複数のオブジェクトは、それぞれ異なるＺ軸オーダーの値を有し、それがメモリに記憶されている。
【００１６】
図１は本実施形態に係る表示制御装置を含む情報処理装置１００の構成を示すブロック図である。
【００１７】
ＣＰＵ１０１は、後述するプログラムに基づき情報処理装置１００が備える各種構成要素の動作を、構成要素間を接続するバスを介して制御する。
【００１８】
本実施形態では、複数のオブジェクトを配置し、オブジェクトのＺ軸オーダーを変更可能にするアプリケーション（画像レイアウトアプリケーション）に係るプログラムは、例えば、記録媒体１０６に記憶されている。しかし、このプログラムは、ＲＯＭ１０２に記憶されていてもよい。
【００１９】
尚、プログラムの内容は後述するフローチャートに対応し、そのプログラムが記録媒体１０６に記憶され、ＣＰＵ１０１により実行される。
【００２０】
ＣＰＵ１０１は、当該アプリケーションに係るプログラムを記録媒体１０６より読み出し、ＲＡＭ１０３に展開して実行することにより、情報を処理し、情報処理装置１００が備える各種構成要素の動作を制御する。
【００２１】
ＲＯＭ１０２は、書換可能な不揮発性メモリであり、後述するフローチャートを実現するプログラム、又は情報処理装置１００が備える各種構成要素を制御するプログラムや、各種構成要素の動作において必要な設定パラメータ等の情報を記憶する。ＲＡＭ１０３は、揮発性メモリであり、上述したプログラム、制御プログラムに係るプログラムの展開領域、一時待避領域等の領域として使用される。
【００２２】
尚、ＲＡＭ１０３は、各種構成要素の動作において出力された中間データ、機器の状態を示すリスト、結果データ等の一時的な格納領域としても使用される。
【００２３】
ＲＡＭ１０３が記憶するリストには、Ｚ軸上のオブジェクトのＺ軸オーダーの値（Ｚ軸ＩＤ）と、そのオブジェクトを識別するオブジェクトＩＤとを対応付けたＺ軸オーダーリストＺＯＬがある。また、オブジェクトを識別するオブジェクトＩＤ、そのオブジェクトの選択状態、及びＺ軸オーダーの入れ替え対象のオブジェクトを識別する入れ替え状態（入れ替えフラグ）とを対応付けたリストＯＳＬがある。
【００２４】
描画制御部１０４は、表示部１０７に表示するための表示画像の生成、及び表示部１０７への当該表示画像の出力を制御する。また、描画制御部１０４は、表示部１０７で表示される情報を記憶する領域を有するメモリを備えている。かかるメモリは、例えば、表示部の１画面分の記憶容量があれば良い。
【００２５】
ＶＲＡＭ１０５は、表示画像が記憶される描画用の記憶領域である。本実施形態では、ＶＲＡＭ１０５において、ＣＰＵ１０１により複数のオブジェクトはＺ軸オーダーに従って重畳され、この結果が表示画像として書き込まれる。ＶＲＡＭ１０５に記憶される表示画像は、その後、ＣＰＵ１０１により描画制御部１０４のメモリに転送され、表示部１０７で表示される。
【００２６】
記録媒体１０６は、例えば、ＨＤＤやメモリカード等の情報処理装置１００に着脱可能に装着される記憶装置である。記録媒体１０６には、例えば、Ｚ軸オーダーを変更可能に複数のオブジェクトを配置するプログラム、及び配置するオブジェクト等のデータが記憶されている。
【００２７】
尚、本実施形態では、当該プログラム及び配置するオブジェクトは、記録媒体１０６に記録されているものとして以下に説明する。しかしながら、これらのプログラム及びオブジェクトは、ＲＯＭ１０２の中に記憶されていてもよいし、外部から通信部を介して情報処理装置１００に供給されてもよい。より具体的には、プログラム及びオブジェクトは、例えば、ネットワークインタフェースを介して、インターネット等のネットワーク上のサーバより取得されても良い。
【００２８】
表示部１０７は、例えば、液晶モニタ等の表示装置である。本実施形態では、表示部１０７は情報処理装置１００に内蔵されている。しかしながら、表示部１０７の構成は、これに限定されず、情報処理装置１００に接続された外部の表示装置であっても良い。
【００２９】
操作入力部１０８は、例えば、タッチパネル等の情報処理装置１００に接続されたユーザインタフェースをユーザが操作を受け付け、当該操作に対応した制御信号をＣＰＵ１０１に伝送する。
【００３０】
本実施形態では、ユーザは、操作入力部１０８を介して、表示部１０７に表示された表示画像を閲覧しながら、当該表示画像に配置されたオブジェクトを指でタッチにすることにより選択及びドラッグ（移動）してオブジェクトのＺ軸オーダーを変更することができる。
【００３１】
尚、操作入力部１０８を実現するタッチパネルは、表示部１０７に重ね合わせて平面的に構成され、接触された位置に応じた座標情報が出力されるようにした入力デバイスである。
【００３２】
操作入力部１０８を実現するタッチパネルについて、更に説明する。
【００３３】
ＣＰＵ１０１はタッチパネルへの以下の操作を座標情報により検出して、それに応じた処理を実行する。
【００３４】
・タッチパネルを指示具（指やペン等）で触れたこと（以下、タッチダウンと称する）。
【００３５】
・タッチパネルを指示具で触れている状態であること（以下、タッチオンと称する）。
【００３６】
・タッチパネルを指示具で触れたまま移動していること（以下、ドラッグと称する）。
【００３７】
・タッチパネルへ触れていた指示具を離したこと（以下、タッチアップと称する）。
【００３８】
・タッチパネルに何も触れていない状態（以下、タッチオフと称する）。
【００３９】
これらの操作や、タッチパネル上に指やペンが触れている位置座標は、ＣＰＵ１０１に読み取られ、ＣＰＵ１０１は読み取った位置座標に基づいてタッチパネル上にどのような操作が行なわれたかを判定する。
【００４０】
ドラッグについては、タッチパネル上で移動する指示具の移動方向についても、位置座標の変化に基づいて、タッチパネル上の垂直成分・水平成分毎に判定できる。
【００４１】
また、タッチパネル上をタッチダウンから所定の距離以上のドラッグを経てタッチアップをしたとき、ドラッグを経てドロップが行われたこと（ドラッグアンドドロップ）とする。
【００４２】
タッチパネルは、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。
【００４３】
尚、本実施形態では、タッチパネルの操作によりオブジェクトのＺ軸オーダーを変更するものとして説明するが、これに限定されない。例えば、操作入力部１０８として、キーボードやマウスを使用することもできる。その場合は、当該キーボードあるいはマウの操作に従って、処理が実行される。
【００４４】
また、本実施形態においては、タッチパネルを有するタブレット端末やスマートフォン、パーソナルコンピュータ等の情報処理装置に適用する場合を例にして説明するが、これに限定されない。例えば、デジタルカメラ等の撮像装置に適用してもよい。即ち、メモリカード等、デジタルカメラが読み取り可能な記録媒体に記録された撮影画像を、デジタルカメラの背面液晶装置等のディスプレイに再生表示する場合にも、本実施形態は適用可能である。
【００４５】
さらに、本実施形態は、ＰＤＡ、携帯電話端末や携帯型の画像ビューワ、ディスプレイを備えるプリンタ装置、デジタルフォトフレーム、音楽プレーヤー、ゲーム機、電子ブックリーダー等の電子機器に適用可能である。
【００４６】
さらに、本実施形態は、画像やテキスト、イラスト図形等のオブジェクトを表示可能な装置に適用可能である。
【００４７】
また、複数の画像データには、例えば、ウィンドウに配置された順に、それぞれ異なるＺ軸オーダーの値が割り当てられており、Ｚ軸オーダーの値が小さいほど全面に配置され、Ｚ軸オーダーの値が大きいほど背面に配置されるものとする。もちろん、配置の順番を逆にすることもできる。
【００４８】
尚、本実施形態では、ウィンドウ上に配置するオブジェクトとして画像データを用いるものとして以下に説明するが、これに限定されず、例えば、図形、表、文字列等のオブジェクトであってもよい。
【００４９】
情報処理装置１００の動作について、図２に示すフローチャートを参照して説明する。図２は表示部１０７の表示画面上に表示されている任意のオブジェクトに対するタッチダウン操作（タッチダウンイベント）によりオブジェクトの選択を検知した際の処理のフローチャートである。図２のフローチャートに示す処理は、そのフローチャートに対応するプログラムがＣＰＵ１０１によりＲＯＭ１０２から読み出されて実行されることで実現される。
【００５０】
Ｓ１０１では、ＣＰＵ１０１は、タッチダウンイベントを検知したオブジェクト（オブジェクト［ａ］）の選択状態を判定する。より具体的には、ＣＰＵ１０１は、操作入力部１０８のタッチパネル上でタッチダウンによる指示点を含むオブジェクトを検知した場合、そのオブジェクトの選択状態を、ＲＡＭ１０３に確保されているリストＯＳＬを参照して、判定する。リストＯＳＬでは、オブジェクトについて、選択状態である場合にはその旨を示す「ＴＵＲＥ」を、非選択状態である場合にはその旨を示す「ＦＡＬＳＥ」が管理されている。また、リストＯＳＬでは、オブジェクトについて、Ｚ軸オーダーの入れ替え対象である場合にはその旨を示す「ＴＵＲＥ」を、入れ替え対象でない場合にはその旨を示す「ＦＡＬＳＥ」が管理されている。
【００５１】
判定の結果、タッチダウンイベントを検知したオブジェクトが非選択状態である場合、つまり、オブジェクトの選択状態が「ＦＡＬＳＥ」である場合は、Ｓ１０７に移行する。Ｓ１１０では、ＣＰＵ１０１は、リストＯＳＬ上の当該オブジェクトの状態値を「ＦＡＬＳＥ」から「ＴＲＵＥ」に切り替えて処理を完了する。
【００５２】
一方、タッチダウンイベントを検知したオブジェクトが既に選択状態である場合、つまり、オブジェクトの選択状態の値が「ＴＲＵＥ」である場合は、Ｓ１０２以降の処理へ進む。
【００５３】
Ｓ１０２では、ＣＰＵ１０１は、タッチダウンイベントを検知したオブジェクトに対し、リストＯＳＬの当該オブジェクトの入れ替えフラグを「ＴＲＵＥ」に設定する。
【００５４】
ここでは、例えば、図３（ａ）に示すように、８つのオブジェクト（オブジェクトＩＤ＝１〜８）が、Ｚ軸オーダーにおいて、オブジェクトＩＤの値が「８」のオブジェクトが最前面に配置され、その後ろにオブジェクトＩＤの値が「７」以降のオブジェクトが重なって配置されているとする。この場合、Ｚ軸オーダーリストＺＯＬは、図３（ａ）のように管理される。また、各オブジェクトが非選択状態であるとすると、リストＯＳＬではその選択状態の状態値に「ＦＡＬＳＥ」が管理される。
【００５５】
この図３（ａ）の状態から、オブジェクトＩＤの値「４」のオブジェクトについてタッチイベントが検知されたとすると、図３（ｂ）のリストＯＳＬのオブジェクトＤＩの値「４」のオブジェクトの入れ替えフラグは、「ＦＡＬＳＥ」から「ＴＲＵＥ」とに設定される。
【００５６】
次に、Ｓ１０３では、ＣＰＵ１０１は、ＲＡＭ１０３のＺ軸オーダーリストＺＯＬから処理対象のオブジェクトのオブジェクトＩＤに対応するＺ軸ＩＤを読み出し、そのＺ軸ＩＤを変数ｐｏｓに設定する。ここでは、オブジェクトＩＤの値「４」のオブジェクトが処理対象となるので、それに対応するＺ軸ＩＤの値「５」が読みだされる。
【００５７】
次に、Ｓ１０４では、ＣＰＵ１０１は、変数ｐｏｓに設定されているＺ軸ＩＤが、Ｚ軸オーダーリストＺＯＬの要素数と一致するか否かを判定する。この判定は、処理対象のオブジェクトがＺ軸オーダー上で最下位であるか否かを判定するものである。図３の例の場合、Ｚ軸オーダーリストＺＯＬの要素数は「８」であるので、例えば、変数ｐｏｓに設定されているＺ軸ＩＤの値が「８」の場合、その処理対象のオブジェクトのＺ軸オーダーにおける位置は最下位であることがわかる。
【００５８】
図３（ｂ）の例では、変数ｐｏｓにはオブジェクトＩＤの値「４」に対応するＺ軸ＩＤの値「５」が設定されていて、また、Ｚ軸オーダーリストＺＯＬの要素数は「８」であるので、処理対象のオブジェクトの下に３つのオブジェクトの存在が認識される。つまり、この場合、処理対象のオブジェクトのＺ軸オーダーは最下位でないと判定されるので、この場合（Ｓ１０４でＮＯ）は、Ｓ１０５に処理が移行する。
【００５９】
一方、処理のオブジェクトがＺ軸オーダー上で最下位である場合（Ｓ１０４でＹＥＳ）、処理を終了する。
【００６０】
Ｓ１０５では、ＣＰＵ１０１は、処理対象のオブジェクトのＺ軸オーダーにおける表示順位を下に移動させるために、変数ｐｏｓが示すＺ軸ＩＤの値を１インクリメント（ｐｏｓ＋１）する。Ｓ１０６では、ＣＰＵ１０１は、その値（ｐｏｓ＋１）をＺ軸オーダーリストＺＯＬの当該オブジェクトのオブジェクトＩＤに対応するＺ軸ＩＤとして設定する。
【００６１】
尚、Ｓ１０５の処理では、ＣＰＵ１０１は、更に、処理対象のオブジェクトのＺ軸オーダーにおける１つ下位のオブジェクトの表示順位を上に移動（入れ替え）させるために、Ｓ１０５の処理前のｐｏｓ＋１の値のＺ軸ＩＤを１デクリメントする。これにより、図３（ｃ）に示すように、タッチダウンが検知されたオブジェクト（オブジェクトＩＤが「４」のオブジェクト）と、Ｚ軸オーダー上でその１つ下に位置するオブジェクト（オブジェクトＩＤが「３」のオブジェクト）のＺ軸ＩＤについて、Ｚ軸オーダーリストＺＯＬのＺ軸オーダー上での上下関係を入れ替える。
【００６２】
このようにして、Ｚ軸オーダーリストＺＯＬの内容が更新される。そして、この更新されたＺ軸オーダーリストＺＯＬの内容に従って、各オブジェクトが、そのＺ軸オーダーにおける表示位置が制御された上で表示（表示状態が更新）されることになる。
【００６３】
これにより、ユーザは任意のオブジェクトを複数回タッチダウン（ここでは、２回のタッチダウン（１回のタッチダウンで選択状態とし、その選択状態で、更にタッチダウン））することで、Ｚ軸オーダーを簡易に変更することができる。ここでは、処理対象のオブジェクトを現在の位置からひとつ下位へ変更することができる。
【００６４】
Ｚ軸オーダーリストＺＯＬが更新された後、Ｓ１０８で、ＣＰＵ１０１は、Ｚ軸オーダーリストＺＯＬの内容に従うオブジェクトの表示情報をＶＲＡＭ１０５上に描画する。その結果、Ｚ軸オーダーのオブジェクトの入れ替えが反映された表示情報が、その後、描画制御部１０４に送信されて、再表示用の表示情報が表示部１０７へ供給され、Ｚ軸オーダーが入れ替えられたオブジェクトが再表示される。
【００６５】
次に、タッチダウン状態にある任意オブジェクトに対してタッチアップを検出した際の処理について、図４に示すフローチャートを参照して説明する。図４のフローチャートに示す処理は、そのフローチャートに対応するプログラムがＣＰＵ１０１によりＲＯＭ１０２から読み出されて実行されることで実現される。  ここでは、例えば、オブジェクトＩＤの値が「３」、「４」及び「６」のオブジェクトがタッチされているものとし、また、Ｚ軸オーダーリストＺＯＬ、及びリストＯＳＬの内容が、図５（ａ）の状態であるとする。
【００６６】
操作入力部１０８からの操作に応じて、タッチアップイベントを検出すると、まず、Ｓ３０１では、ＣＰＵ１０１は、リストＯＳＬを参照して、タッチアップが検出されたオブジェクトの入れ替えフラグの状態を判定する。ここでは、オブジェクトＩＤの値が「３」のオブジェクトにタッチアップイベントが発生したとする。
【００６７】
タッチアップが検出されたオブジェクトの入れ替えフラグが「ＴＲＵＥ」である場合は、Ｓ３１０では、ＣＰＵ１０１は、入れ替えフラグを「ＴＲＵＥ」から「ＦＡＬＳＥ」に変更して、処理を完了する。
【００６８】
こうすることにより、図２のＳ１０５及びＳ１０６の処理を行った後に、指が離れた際に、オブジェクトのＺ軸オーダーが更に変更されてしまうことを防止する。
【００６９】
一方、タッチアップが検出されたオブジェクトの入れ替えフラグが「ＦＡＬＳＥ」である場合は、Ｓ３０２以降の処理へ進む。
【００７０】
Ｓ３０２では、ＣＰＵ１０１は、図６に示すリストＯＳＬの最上位のオブジェクトからチェックして、選択状態にある最上位のオブジェクトをチェック（特定）する。ＣＰＵ１０１は、Ｚ軸オーダー上で最上位に位置するオブジェクトのＺ軸ＩＤを取得して、これを変数ｐｏｓＺに設定する。図５（ａ）の例の場合、選択状態にあるオブジェクトは、オブジェクトＩＤの値が「３」、「４」及び「６」のオブジェクトであり、その内、最上位のオブジェクトは、オブジェクトＩＤの値が「６」のオブジェクトで、それに対応するＺ軸ＩＤの値は「３」である。従って、この場合、ｐｏｓＺには「３」が設定される。
【００７１】
Ｓ３０３では、ＣＰＵ１０１は、Ｚ軸オーダーリストＺＯＬを参照して、処理対象のオブジェクト［ａ］（タッチアップが検出されたオブジェクト）のＺ軸ＩＤを変数ｐｏｓＡに設定する。ここでは、オブジェクト［ａ］がオブジェクトＩＤの値「３」のオブジェクトであるとすると、変数ｐｏｓＡには、それに対応するＺ軸ＩＤの値「５」が設定される。
【００７２】
Ｓ３０４では、ＣＰＵ１０１は、変数ｐｏｓＡが示す値のＺ軸ＩＤ及び対応するオブジェクトＩＤのエントリをＺ軸オーダーリストＺＯＬから削除する。ここでは、変数ｐｏｓＡには「５」が設定されているため、Ｚ軸ＩＤの値が「５」で、かつそれに対応するオブジェクトＩＤの値「３」のオブジェクトのエントリを、一旦、Ｚ軸オーダーリストＺＯＬから削除する。
【００７３】
次に、Ｓ３０５では、ＣＰＵ１０１は、Ｚ軸オーダーリストＺＯＬに対して、オブジェクト［ａ］をｐｏｓＺが示すＺ軸ＩＤの位置に挿入する。ここでは、変数ｐｏｓＺが示す「３」の位置のＺ軸ＩＤのエントリに対して、オブジェクト［ａ］のオブジェクトＩＤの値「３」を設定（挿入）する。これに伴い、挿入前に、変数ｐｏｓＺが示す「３」の位置のＺ軸ＩＤのエントリに存在したオブジェクトＩＤは、そのＺ軸ＩＤを順次繰り下げる。この場合、Ｚ軸ＩＤの値「３」の位置のエントリに存在するオブジェクトＩＤの値「６」は、図５（ｂ）に示すように、Ｚ軸ＩＤの値「４」の位置のエントリに設定される。以下、変数ｐｏｓＺが示す「３」の位置のＺ軸ＩＤのエントリへの新規のオブジェクトＩＤの挿入に伴い、既存のエントリの内、Ｚ軸ＩＤの値が「３」以降のエントリであり、かつ削除されたエントリまでのＺ軸ＩＤを順次繰り下げる。つまり、図５（ｂ）に示すように、Ｚ軸ＩＤの値が「３」のエントリに、値が「３」のオブジェクトＩＤが挿入され、本来、Ｚ軸ＩＤの値が「３」のエントリに存在したオブジェクトＩＤの値「６」と「５」を１つずつ下に移動する。Ｓ３０８では、ＣＰＵ１０１は、オブジェクト［ａ］の選択状態を「ＦＡＬＳＥ」に設定する。このように、ＣＰＵ１０１は、選択状態を解除の状態にして、並び替えを終了する。
【００７４】
次に、Ｓ３０９で、ＣＰＵ１０１は、並び替えられたＺ軸オーダーリストＺＯＬの内容に従うオブジェクトの表示情報をＶＲＡＭ１０５上に描画する。その結果、Ｚ軸オーダーのオブジェクトの入れ替えが反映された表示情報が、その後、描画制御部１０４に送信されて、再表示用の表示情報が表示部１０７へ供給され、Ｚ軸オーダーが入れ替えられたオブジェクトが再表示される。
【００７５】
こうすることにより、ユーザは、複数のオブジェクトのＺ軸オーダーリストＺＯＬで管理されるオブジェクトを簡易に操作することができる。
【００７６】
図４のフローチャートで説明した処理の具体例を、図５を用いて説明する。
【００７７】
例えば、８つのオブジェクトが、図５（ａ）に示すようなＺ軸オーダーの関係で配置されている場合に、オブジェクトＩＤの値が「３」、「４」、及び「６」のオブジェクトにタッチする。これにより、タッチされたオブジェクトのそれぞれに対する、リストＯＳＬの選択状態が「ＴＲＵＥ」に設定される。
【００７８】
この状態で、オブジェクトＩＤの値「３」のオブジェクトに対してタッチアップが検出されると、Ｚ軸オーダーリストＺＯＬ上のオブジェクトＩＤの値「３」は、前述の処理により、上位に位置していたオブジェクトＩＤの値６の位置に移動する（図５（ｂ））。また、移動した後、リストＯＳＬ上のオブジェクトＩＤの値「３」の選択状態が「ＴＲＵＥ」から「ＦＡＬＳＥ」へ設定される。
【００７９】
同様に、オブジェクトＩＤの値「４」、及び「６」の順番でタッチアップが検出されると、図４の処理が繰り返し行われる。その結果、Ｚ軸オーダー上のオブジェクトＩＤの値「４」のオブジェクトがオブジェクトＩＤの値「６」の上位に移動し、また、リストＯＳＬ上のオブジェクトＩＤの値「４」及び「６」の選択状態がが「ＴＲＵＥ」から「ＦＡＬＳＥ」へ設定される（図５（ｃ））。
【００８０】
図４のＳ３０２の処理内容の詳細について、図６に示すフローチャートを参照して説明する。
【００８１】
Ｓ５０１では、ＣＰＵ１０１は、変数ｐｏｓＺに「１」を設定する。Ｓ５０２からＳ５０５のループでは、Ｚ軸オーダーリストＺＯＬの上位から順番に、選択状態にあるオブジェクトを検索する。
【００８２】
具体的には、Ｓ５０２では、ＣＰＵ１０１は、変数ｉｎｄｅｘに変数ｐｏｓＺの値を設定する。Ｓ５０３では、ＣＰＵ１０１は、リストＯＳＬを参照して、変数ｉｎｄｅｘが示す値に対応する、Ｚ軸オーダーリストＺＯＬ上のＺ軸ＩＤに対応するオブジェクトＩＤの選択状態を判定する。
【００８３】
判定の結果、選択状態が「ＦＡＬＳＥ」の場合、Ｓ５０４では、ＣＰＵ１０１は、ｐｏｓＺの値を１インクリメントする。一方、選択状態が「ＴＲＵＥ」である場合、その時のｐｏｓＺが示す値をＲＡＭ１０３に記憶する。その後、Ｓ５０４では、ＣＰＵ１０１は、ｐｏｓＺの値を１インクリメントする。  Ｓ５０５では、ＣＰＵ１０１は、ｐｏｓＺが示す値、Ｚ軸オーダーリストＺＯＬの要素数と一致するか否かを判定する。この判定は、処理対象のオブジェクトの有無を判定するものである。図３や図５の例の場合、Ｚ軸オーダーリストＺＯＬの要素数は「８」であるため、ｐｏｓＺが示す値が「８」である場合（Ｓ５０５でＹＥＳ）、処理を渉猟する。ｐｏｓＺが示す値が「８」未満である場合（Ｓ５０５でＮＯ）、Ｓ５０２に戻り、処理を繰り返す。
【００８４】
処理の結果、Ｓ５０６によって、選択状態にあるすべてのｐｏｓＺが示す値のＺ軸ＩＤの中で、Ｚ軸オーダーリストＺＯＬ上でもっとも上位に位置するＺ軸ＩＤを、それに対応するオブジェクトＩＤのオブジェクトのＺ軸オーダー上の位置とする。
【００８５】
図７は、図２及び図４で説明した処理の中で、リストＯＳＬの入れ替えフラグを用いた処理を表す具体例を示す図である。
【００８６】
例えば、図７（ａ）に示すように、オブジェクトＩＤの値「４」のオブジェクトだけが選択状態（「ＴＲＵＥ」）にあるとする。オブジェクトＩＤの値「４」に対して、更に、タッチダウンを検知すると、Ｓ１０２によって、入れ替えフラグは、ＣＰＵ１０１により「ＴＲＵＥ」に設定される（図７（ｂ））。
【００８７】
図２のＳ１０５からＳ１０８により、オブジェクトＩＤの値「４」のオブジェクトのＺ軸オーダー（Ｚ軸ＩＤ）がＣＰＵ１０１により入れ替わる。
【００８８】
その後、オブジェクトＩＤの値「４」に対して、タッチアップをＣＰＵ１０１により検出すると、Ｓ３０１のＣＰＵ１０１の判定により、選択状態が解除されたり、Ｚ軸オーダーが変更されたりすることなく、処理が完了する（図７（ｃ））。
【００８９】
これにより、Ｓ１０５からＳ１０８で示す入れ替え処理を行った後に、指が離れた際に、オブジェクトのＺ軸オーダーの内容が更に変更されてしまうのを防止することができる。
【００９０】
以上説明したように、本実施形態によれば、オブジェクト（処理対象のオブジェクトと、それに隣接するオブジェクトを含む）のＺ軸オーダーの直観的かつ簡易な操作を行うことができる。
【００９１】
尚、以上の実施形態の機能は以下の構成によっても実現することができる。つまり、本実施形態の処理を行うためのプログラムコードをシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がプログラムコードを実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することとなり、またそのプログラムコードを記憶した記憶媒体も本実施形態の機能を実現することになる。
【００９２】
また、本実施形態の機能を実現するためのプログラムコードを、１つのコンピュータ（ＣＰＵ、ＭＰＵ）で実行する場合であってもよいし、複数のコンピュータが協働することによって実行する場合であってもよい。さらに、プログラムコードをコンピュータが実行する場合であってもよいし、プログラムコードの機能を実現するための回路等のハードウェアを設けてもよい。またはプログラムコードの一部をハードウェアで実現し、残りの部分をコンピュータが実行する場合であってもよい。
【符号の説明】
【００９３】
１０１：ＣＰＵ、１０２：ＲＯＭ、ＲＡＭ：１０３、１０４：描画制御部、１０５：ＶＲＡＭ、１０６：記録媒体、１０７：表示部、１０８：操作入力部
【図１】
2015225126.tif 000003
【図２】
2015225126.tif 000004
【図３】
2015225126.tif 000005
【図４】
2015225126.tif 000006
【図５】
2015225126.tif 000007
【図６】
2015225126.tif 000008
【図７】
2015225126.tif 000009