説明

スクロール制御装置及びスクロール制御方法並びにプログラム、情報処理装置

【課題】表示対象データをスクロールしながら表示させる際に、ユーザによる微調整なしに、該データの中の目的位置が表示開始位置になるように制御する。
【解決手段】基準位置情報取得部140は、表示対象データに対して設定された、該表示対象データ内の1つ以上の基準位置を示す基準位置情報を取得して基準位置情報保持部150に保持する。制御実行部160は、入力部190がスクロール指示を受け付けた際に、現在の表示開始位置と、スクロール指示通りにスクロールした場合の表示開始位置との間に、基準位置情報保持部150に保持された基準位置情報が示す基準位置が存在するか否かを確認し、存在するときには、該基準位置のうちの、現在の表示開始位置に最も近い基準位置がスクロール後の表示開始位置になるようにスクロールし、存在しないときには、スクロール指示通りにスクロールするように制御を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを画面に表示する際のスクロール制御技術に関する。
【背景技術】
【0002】
表示装置を備えたコンピュータなどの表示システムにおいて、表示装置の一画面に全データを表示しきれない場合に、画面に表示されたスクロールバーに対するユーザ操作などに応じて表示画面を縦横に移動して表示されていないデータ部分を表示することが行われている。この画面の移動は、スクロールと呼ばれる。なお、「画面の移動」とは、データの表示開始位置の移動と同じ意味である。
【0003】
1回分のスクロール量の決定手法は、いくつか知られている。例えば、ユーザがスクロールバーに備えられたスライダーを用いて自由にスクロール量を指示することができるシステムでは、ユーザが指示した分だけスクロールすることが行われている。また、スクロールバーに備えられたスクロールボタンの1回の押下に応じてシステム規定の一定量の分スクロールすることも行われている。さらに、一画面の表示量より小さい分割量に全データ量を等分割し、分割量ずつスクロールすることも知られている。
【0004】
また、特許文献1には、データに含まれる無効データの部分を飛ばし、有効データを迅速に表示する技術が開示されている。図12を参照して説明する。
【0005】
図12は、特許文献1における図10であり、データ1501(データ量H)を表示する際のスクロールの態様を示す。データ1501は、等分割によって決定された1回分のスクロール量がhであるとされている。また、データ1501において、領域B1〜B4のデータがユーザから画面表示不要と指定されたデータ(無効データ)であり、領域A1〜A4のデータが表示対象のデータ(有効データ)である。この場合、特許文献1の手法は、スクロール量を順に、h、h1、h、h、h、h2、h2、・・・と決定してスクロールを行う。すなわち、現在の表示開始位置からデフォールトの一定のスクロール量hだけスクロールしたときに、新たな表示開始位置が領域B1〜B4のいずれかの内側に入る場合は、スクロール量を増やして(h1、h2、h3、h4)、新たな表示開始位置が領域Bの最後尾位置になるようにする。
【0006】
例えば、現在の表示開始位置が領域A1の先頭であるときに、1回のスクロールでhの分スクロールしても、新たな表示開始位置が相変わらず領域A1の中である。しかし、次のスクロールのスクロール量もhとすると、スクロール後の表示開始位置が無効データB1の内側になる。このとき、新たな表示開始位置が領域B1の最後尾位置になるように、次のスクロールのスクロール量をh1に決定する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2002−244641号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ところで、例えばプログラムのデバッグなどの際に、膨大な量の有効データの中のある位置(目的位置という)からのデータの表示に際して、該目的位置のデータが表示された状態で、目的位置以降のデータをできるだけ多く表示させたい場合がある。図13に示すデータの例を参照して説明する。
【0009】
プログラムのデバッグのデータは、通常膨大な量を有し、一画面では表示しきれない。そのため、スクロールしながら表示させることになる。図13に示すデータAは、このようなデータであり、例えば確認の便宜のため、位置bのデータが表示されると共に、位置bからのデータができるだけ多く表示されるようにしたい場合がある。すなわち、スクロールする際に、位置bが表示開始位置になれるようにスクロールすることが要望されている。
【0010】
図14は、一度のスクロール量が任意に指定できず、固定のhである場合のデータAのスクロール態様の例を示す。図中矢印は、スクロールの方向を示す。
【0011】
図14の例に示すように、まず、データの先頭位置a0が表示開始位置になり、a0からデータが表示される。そして、1回目のスクロールにより位置a1が表示開始位置になり、a1からデータが表示される。スクロールが続き、8回目のスクロールにより位置a8が表示開始位置になり、a8からデータが表示される。このとき、位置bのデータが表示されるものの、bが表示開始位置ではない。9回目のスクロールをすると、位置a9が表示開始位置になり、bのデータが表示されなくなる。すなわち、一度のスクロール量が任意に指定できず、固定量のスクロールしかできない場合には、上記要望に応えることができない。
【0012】
スクロール量を任意に指定できる場合には、上記要望に応えることができる。図15と図16は、この場合のスクロール態様の例を示す。
【0013】
図15は、固定量ずつのスクロールと、任意のスクロール量のスクロールとを組み合わせた場合の例である。図15に示す例では、8回目のスクロールまでは図14に示す例と同じである。8回目のスクロールにより表示開始位置がa8になり、位置bのデータが表示された状態で、ユーザが次のスクロールの量をh1に指定することにより、位置bを表示開始位置とすることができる。
【0014】
図16は、固定量ずつのスクロールをせずに、ユーザが任意のスクロール方向と量を指示して、位置bを探し当てて表示開始位置にする場合のスクロール態様の例である。図14と図15に示す例と同様に、まず、データの先頭位置a0が表示開始位置になり、a0からデータが表示される。そして、ユーザがスクロール量k1を指定して1回目のスクロールがなされる。その結果、位置b1が表示開始位置になる。次に、ユーザがスクロール量k2を指定して2回目のスクロールがなされる。その結果、位置b2が表示開始位置になる。このとき、位置bのデータがまだ表示されていないとする。
【0015】
ユーザがさらにスクロール量k3を指定して3回目のスクロールがなされる。その結果、位置b3が表示開始位置になり、位置bのデータの表示が飛ばされてしまう。これに気付き、ユーザが逆方向にk4の分スクロールするよう指示し、4回目のスクロールがなされる。その結果、位置b4が表示開始位置になり、位置bのデータも表示される。
【0016】
この状態で、ユーザがスクロール量k5を指示してスクロールさせることにより、位置bを表示開始位置とすることができる。
【0017】
しかし、図15と図16に示す例から分かるように、目的位置(位置b)が表示開始位置になるようにすることができるものの、ユーザによる微調整が必要である。表示対象データの量が膨大である場合や、位置bのような目的位置が多い場合には、上記のような微調整がユーザに大きな負担を与えてしまう。
【課題を解決するための手段】
【0018】
本発明の一つの態様は、表示対象データの表示開始位置を移動させるスクロールを制御するスクロール制御装置である。このスクロール制御装置は、基準位置情報取得部と制御実行部を備える。
【0019】
基準位置情報取得部は、表示対象データに対して設定された、該表示対象データ内の1つ以上の基準位置を示す基準位置情報を取得する。
【0020】
制御実行部は、スクロール指示がなされた際に、現在の表示開始位置と、スクロール指示通りにスクロールした場合の表示開始位置との間に、基準位置情報取得部により取得された基準位置情報が示す基準位置が存在するか否かを確認し、存在するときには、該基準位置のうちの、現在の表示開始位置に最も近い基準位置がスクロール後の表示開始位置になるようにスクロールがなされ、存在しないときには、スクロール指示通りにスクロールがなされるように制御を行う。
【0021】
なお、上記態様のスクロール制御装置を方法やシステムに置き換えて表現したもの、コンピュータを該スクロール制御装置として動作せしめるプログラム、該スクロール制御装置を備えたコンピュータなどの情報処理装置も、本発明の態様としては有効である。
【発明の効果】
【0022】
本発明にかかる技術によれば、表示対象データをスクロールしながら表示させる際に、ユーザによる微調整なしに、該データの中の目的位置が表示開始位置になるように制御できる。
【図面の簡単な説明】
【0023】
【図1】本発明の第1の実施の形態にかかる情報処理装置を示す図である。
【図2】図1に示す情報処理装置の表示部の表示画面の例を示す図である。
【図3】図1に示す情報処理装置の記憶部による表示対象データの格納態様の例を示す図である。
【図4】図1に示す情報処理装置のスクロール制御部における基準位置情報取得部を示す図である。
【図5】図1に示す情報処理装置のスクロール制御部における基準位置情報保持部に保持された基準位置情報の例を示す。
【図6】図4に示す基準位置情報取得部の処理を示すフローチャートである。
【図7】図1に示す情報処理装置のスクロール制御部における制御実行部の処理を示すフローチャートである。
【図8】本発明の第2の実施の形態にかかる情報処理装置における表示対象データの格納態様の例を示す図である。
【図9】本発明の第2の実施の形態にかかる情報処理装置における基準位置情報取得部を示す図である。
【図10】図9に示す基準位置情報取得部の処理を示すフローチャートである。
【図11】本発明の第3の実施の形態にかかる情報処理装置における制御実行部の処理を示すフローチャートである。
【図12】特許文献1の技術を説明するための図である。
【図13】従来技術の問題点を説明するための図である(その1)。
【図14】従来技術の問題点を説明するための図である(その2)。
【図15】従来技術の問題点を説明するための図である(その3)。
【図16】従来技術の問題点を説明するための図である(その4)。
【発明を実施するための形態】
【0024】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。
【0025】
<第1の実施の形態>
図1は、本発明の第1の実施の形態にかかる情報処理装置100を示す。情報処理装置100は、記憶部110、表示部120、スクロール制御部130、入力部190を備える。
【0026】
記憶部110は、ハードディスクやメモリなどであり、表示部120に表示させるデータ(表示対象データ)を格納している。
【0027】
表示部120は、記憶部110に格納された表示対象データを表示するものであり、例えばモニタや液晶パネルなどである。
【0028】
入力部190は、ユーザが情報処理装置100に対して種々の入力を行うためのものであり、例えばキーボードやマウスなどの入力デバイスである。これらの入力の中に、後述するスクロール量を含み、すなわち、入力部190は、スクロール量の指示を受け付ける受付部でもある。なお、表示部120がタッチパネルである場合には、表示部120は入力部190を兼ねる場合もある。
【0029】
スクロール制御部130は、入力部190を介してユーザが行ったスクロール指示に応じて、表示部120に対してスクロール制御を行うものであり、基準位置情報取得部140と、基準位置情報保持部150と、制御実行部160を備える。
【0030】
図2は、本実施の形態の情報処理装置100における表示部120による表示の態様を示す。図示のように、表示部120の画面に、データ表示領域121には表示対象データの一部分が表示されていると共に、スクロールバー122が表示されている。スクロールバー122は、スライダー124と、2つのスクロールボタン123、124から構成される。
【0031】
スクロール指示は、スクロールの実行、スクロールの方向、スクロール量を指示するものであり、入力部190を介したスクロールバー122の操作により行われる。例えば、スクロールボタン123の押下(例えばクリック)は、「上に1回分スクロール」の指示であり、スクロールボタン125の押下は、「下に1回分スクロール」の指示である。なお、ここでいう「上」、「下」は、表示対象データにおける表示順の「先」、「後」に対応する。また、1回分のスクロール量は、所定の固定量であってもよいし、表示対象データを等分割した場合の分割単位量であってもよい。なお、この固定量も、分割単位量も、表示部120の一画面の表示量以下である。
【0032】
また、スライダー124の移動は、「移動した方向に、移動した分に応じた量スクロールする」指示である。スライダー124の移動により、表示部120の一画面の表示量以上のスクロール量を指示することができる。
【0033】
記憶部110に記憶された表示対象データと、スクロール制御部130の各機能ブロックを詳細に説明しながら、スクロール制御部130による制御動作を説明する。
【0034】
本実施の形態において、表示対象データは、データ本体に基準位置情報が付属されてなる。この基準位置情報は、表示対象データ内の複数の基準位置を示すものであり、例えば表示対象データの作成時に設定されている。これらの基準位置は、表示開始位置になることが期待される位置である。
【0035】
図3は、表示対象データが記憶部110に格納される態様の例を示す。図3において、address(i)は、番号iの順に連続した記憶領域のアドレスをそれぞれ示す。
【0036】
図3に示すように、記憶部110の1つのアドレス(address(i))に、データ本体部「DATA(i)」とシンボル部との組が1つ格納されている。データ本体部DATA(i)は、表示対象データのデータ本体の一部であり、DATA(i)とシンボル部の組を以下「データ組」という。表示対象データは、複数のデータ組から構成される。
【0037】
シンボルが設定されていない、すなわちシンボル部が空データであることは、該データ組のデータ本体部が基準位置のデータではないことを示す。例えば、address(1)に記憶されたDATA(1)や、address(8)に記憶されたDATA(8)は、シンボルが設定されておらず、これらのデータは基準位置のデータではない。
【0038】
また、自身にはシンボルが設定されており、前後のデータ本体部にはシンボルが設定されていないまたは前後のデータ本体部に対して設定されたシンボルが別のシンボルであるデータ本体部の場合には、該データ本体部は、基準位置のデータとなる。例えば、シンボル「bbb」が設定されているDATA(7)の場合、その前のDATA(6)にシンボル「aaa」が設定されており、後のDATA(8)にシンボルが設定されていない。この場合、DATA(7)は、基準位置のデータとなる。また、シンボル「ccc」が設定されているDATA(13)の場合、その前後のデータ本体部(DATA(12)、DATA(13))のいずれにもシンボルが設定されていない。この場合も、DATA(13)は、基準位置のデータとなる。
【0039】
また、連続した複数のアドレスにそれぞれ格納された各データ本体部のいずれに対しても同一のシンボルが設定されており、かつ、該複数のアドレスの先頭アドレスに格納されたデータ本体部の直前のデータ本体部には別のシンボルが設定されているかシンボルが設定されていない場合には、これらの複数のアドレスの先頭のアドレスに格納されたデータ本体部が基準位置のデータになる。例えば、address(2)〜address(6)に格納されたDATA(2)〜DATA(6)の全ては、シンボル「aaa」が設定されており、かつ、DATA(2)の前のDATA(1)はシンボルが設定されていない。そのため、DATA(2)は、基準位置のデータになり、address(3)〜address(6)に格納されたDATA(3)〜DATA(6)は、基準位置のデータではない。
【0040】
スクロール制御部130の基準位置情報取得部140は、記憶部110に記憶された表示対象データから基準位置情報を取得する。図4は基準位置情報取得部140の構成を示す。
【0041】
図4に示すように、基準位置情報取得部140は、データ読出部142、設定部144、判定部146、前回シンボル保持部148を有する。
【0042】
データ読出部142は、記憶部110に格納された表示対象データに対して、データ組のアドレス順に1つずつ読み出してそのアドレスと共に判定部146に逐次出力する。なお、最初の読出アドレスは、設定部144によりデータ読出部142に対して設定される。また、データ読出部142は、現在読み出したデータ組のアドレスが表示対象データの最終アドレス、すなわち表示対象データの最後のデータ組を格納したアドレスである場合には、表示対象データの最後まで読出しが終了したことを設定部144に通知する。
【0043】
設定部144は、入力部190を介してユーザが入力した表示指示に応じてデータ読出部142に対して最初の読出アドレスを設定すると共に、読出しを開始させる。通常、この最初の読出アドレスは、表示対象データの先頭のデータ組のアドレス(図3の例の場合、address(1))であるが、入力部190を介してユーザが表示を開始するデータ組の位置を指定した場合に、設定部144は、ユーザが指示した位置のアドレスを最初の読出アドレスとしてデータ読出部142に設定する。
【0044】
判定部146は、データ読出部142から今回出力されたデータ組に対して、シンボルが含まれているか否かを確認する。シンボルが含まれていなく、すなわちシンボル部には空データが設定されている場合には、判定部146は、該データ組に含まれるデータ本体部が基準位置のデータではないと判定する。一方、シンボル部が含まれている、すなわちシンボル部のデータが空ではない場合に、該シンボルと、直前のデータ組のシンボル部のデータとを比較することにより、今回のデータ組に含まれるデータ本体部が基準位置のデータであるか否かを判定する。
【0045】
今回のデータ組の直前のデータ組のシンボル部のデータは、前回シンボル保持部148に保持されている。以下、前回シンボル保持部148に保持されているデータを単に前回シンボル保持部148の保持データともいう。なお。直前のデータ組のシンボル部のデータが空データである場合には、前回シンボル保持部148の保持データも空データである。
【0046】
判定部146の動作をより詳細に説明する。
<今回のデータ組にシンボルが含まれていない場合>
この場合は、図3に示す例におけるaddress(1)、address(8)、address(12)、address(14)に格納されたデータ組が今回のデータ組としてデータ読出部142から出力されたときに該当する。
【0047】
この場合、判定部146は、今回のデータ組のデータ本体部が基準位置のデータではないと判定し、基準位置情報の出力をしない。また、判定部146は、今回のデータ組のシンボル部のデータが空データであることを前回シンボル保持部148に通知し、前回シンボル保持部148の保持データを空データに更新する。
【0048】
<今回のデータ組にシンボルが含まれており、前回シンボル保持部148に保持されているデータが空データである場合>
この場合は、図3に示す例におけるaddress(2)とaddress(13)に格納されたデータ組が今回のデータ組としてデータ読出部142から出力されたときに該当する。
【0049】
この場合、判定部146は、今回のデータ組のデータ本体部が基準位置のデータであると判定すると共に、基準位置情報として、該データ組のアドレスを基準位置情報保持部150に出力する。そして、前回シンボル保持部148の保持データを、今回のシンボルに更新する。
【0050】
<今回のデータ組にシンボルが含まれており、前回シンボル保持部148に保持されているデータが空データではない>
この場合は、図3に示す例におけるaddress(3)〜address(6)、address(7)に格納されたデータ組が今回のデータ組としてデータ読出部142から出力された場合に該当する。
【0051】
この場合、判定部146は、今回のデータ組に含まれるシンボルと、前回シンボル保持部148に保持されている前回のシンボルとを比較し、両者が一致するときには、今回のデータ組のデータ本体部が基準位置のデータではないと判定し、基準位置情報の出力をしない。図3に示す例におけるaddress(3)〜address(6)は、このようなデータ組に該当する。なお、このとき、前回シンボル保持部148の保持データを更新しても、更新前後の保持データが同一であるので、本実施の形態では、処理を速く行うために、この場合には前回シンボル保持部148の保持データの更新をしない。
【0052】
一方、今回のデータ組に含まれるシンボルと、前回シンボル保持部148に保持されている前回のシンボルとが異なるときには、判定部146は、今回のデータ組のデータ本体部が基準位置のデータであると判定すると共に、基準位置情報として、該データ組のアドレスを基準位置情報保持部150に出力する。図3に示す例におけるaddress(7)に格納されたデータ組は、このようなデータ組に該当する。
なお、この場合、判定部146は、前回シンボル保持部148の保持データを、今回のシンボルに更新する。
【0053】
基準位置情報保持部150は、判定部146から出力された基準位置情報を保持する。図5は、基準位置情報保持部150が基準位置情報を保持する態様の例を示す。基準位置情報保持部150は、判定部146からの基準位置情報(アドレス)の出力順に各基準位置情報に番号(基準位置番号)を付与して保持する。図3に示す表示対象データの場合、判定部146からaddress(2)、address(7)、address(13)の順の出力がなされる。そのため、基準位置情報保持部150は、図5に示すように、address(2)、address(7)、address(13)に対してそれぞれ基準位置番号「1」、「2」、「3」を付与して、出力順すなわち基準位置番号順に、基準位置番号とアドレスとを対応付けて保持する。
【0054】
図6は、基準位置情報取得部140と基準位置情報保持部150による処理の流れを示すフローチャートである。なお、最初の表示開始位置が表示対象データの先頭であるとする。
【0055】
まず、設定部144は、データ読出部142に対して、表示対象データの先頭アドレスを最初の読出アドレスとしてデータ読出部142に設定して読出しを開始させる(S100)
【0056】
データ読出部142は、設定部144により設定された読出アドレスに格納されたデータ組(データ本体部とシンボル部のデータ)を読み出して、判定部146に出力する(S102)。なお、該読出アドレスが表示対象データの最終アドレスである場合には、データ読出部142は、その旨を設定部144に通知する。
【0057】
判定部146は、まず、データ読出部142から出力された今回のデータ組にシンボルが設定されているか否かを確認する(S104)。
【0058】
今回のデータ組のシンボル部のデータが空であり、すなわちシンボルが設定されていない場合には、判定部146は、前回シンボル保持部148の保持データを空データに更新する(S104:No、S114)。
【0059】
そして、今回のデータ組のアドレスが表示対象データの最終アドレスではなければ、設定部144は、次のアドレスを読出アドレスとしてデータ読出部142に設定する(S114:No、S116)。これにより、ステップS102からの処理が繰り返される(S102〜)。一方、今回のデータ組のアドレスが表示対象データの最終アドレスであれば(S114:Yes)、設定部144は、処理を終了する。
【0060】
ステップS104において、今回のデータ組にシンボルが設定されていると確認された場合に、判定部146は、さらに、今回のシンボルと、前回シンボル保持部148の保持データ(すなわち直前のデータ組のシンボル部のデータ)とを比較する(S104:Yes、S106)。
【0061】
今回のシンボルと、前回シンボル保持部148の保持データとが異なる場合には、判定部146は、今回の読出アドレスを基準位置情報として基準位置情報保持部150に出力する(S106:No、S108)。基準位置情報保持部150は、判定部146から出力された基準位置情報に基準位置番号を付与して登録する(S110)。また、この場合、判定部146は、前回シンボル保持部148の保持データを今回のシンボルに更新する(S112)。
【0062】
一方、ステップS106において、今回のシンボルと、前回シンボル保持部148の保持データとが同一である場合には、処理はステップS114に分岐する(S106:Yes、S114)。
【0063】
ステップS102〜S116までは、表示対象データの最終アドレスのデータ組の読出し、シンボルがあるか否かの判定、判定結果に応じた処理の完了まで繰り返される。その結果、表示対象データに対して設定された全ての基準位置の情報が得られて基準位置情報保持部150に保持される。
【0064】
次いでスクロール制御部130における制御実行部160を説明する。
制御実行部160は、入力部190から表示指示が入力されたときに、記憶部110に格納された表示対象データの先頭のデータ組内のデータ本体部から表示するように表示部120を制御する。図3に示す例の場合、DATA(1)の位置が表示開始位置になる。なお、入力部190を介してユーザが表示を開始するデータ組の位置を指定した場合に、制御実行部160は、ユーザが指示した位置のデータ組内のデータ本体部から表示するように表示部120を制御する。例えば、address(3)に格納されたデータ組が表示を開始するデータ組として指示された場合には、制御実行部160は、DATA(3)から表示するように表示部120を制御する。
【0065】
表示部120の一画面で表示対象データの全てを表示しきれない場合に、入力部190を介してユーザがスクロール指示を入力する。このスクロール指示は、前述したように、スクロール方向、スクロール量の指示を含む。
【0066】
制御実行部160は、入力部190からスクロール指示が入力されると、基準位置情報保持部150に保持された基準位置情報を参照して、現在の表示開始位置と、スクロール指示通りにスクロールした場合の新しい表示開始位置との間に、基準位置が存在するか否かを確認する。
【0067】
図3に示す表示対象データを用いて説明する。例えば、現在の表示開始位置がaddress(1)であり、すなわち表示部120がDATA(1)から表示をしている場合に、address(4)までスクロールする指示が入力されたとする。このとき、スクロール指示通りにスクロールした場合の新しい表示開始位置がaddress(4)になるため、現在の表示開始位置と新しい表示開始位置の間に、基準位置「address(2)」が存在する。この場合、制御実行部160は、該基準位置がスクロール後の表示開始位置になるようにスクロール量を調整する。これにより、スクロール後の表示開始位置は、スクロール指示した通りにスクロールした場合の表示開始位置の前の基準位置になる。
【0068】
なお、現在の表示開始位置と、スクロール指示通りにスクロールした場合の表示開始位置との間に複数の基準位置が存在する場合には、制御実行部160は、該複数の基準位置のうちの、現在の表示開始位置に最も近い基準位置がスクロール後の表示位置になるようにスクロール量を調整する。
【0069】
一方、例えば、現在の表示開始位置がaddress(7)であり、すなわち表示部120がDATA(7)から表示をしている場合に、address(10)までスクロールする指示が入力されたとする。このとき、スクロール指示通りにスクロールした場合の新しい表示開始位置がaddress(10)になるため、現在の表示開始位置と新しい表示開始位置の間に、基準位置が存在しない。この場合、制御実行部160は、スクロール量の調整をせずに、スクロール指示通りにスクロールするよう表示部120を制御する。
【0070】
図7は、制御実行部160によるスクロール制御の流れを示すフローチャートである。スクロール指示が入力されると、制御実行部160は、まず、現在の表示開始位置、すなわち表示部120の画面に表示されているデータの先頭アドレスを取得する(S150)。
【0071】
そして、制御実行部160は、スクロール指示通りにスクロールした場合の新しい表示開始位置を算出する(S152)。この新しい表示開始位置の算出は、例えば、現在の表示開始位置に、スクロール指示により指示されたスクロール方向に、スクロール指示により指示されたスクロール量を加算することにより行われる(S152)。
【0072】
次いで、制御実行部160は、基準位置情報保持部150に保持された基準位置情報を参照して、ステップS150で取得した現在の表示開始位置と、ステップS152で算出した新しい表示開始位置との間に、基準位置が存在するか否かを確認する(S154)。基準位置がなければ、制御実行部160は、スクロール指示通りのスクロールが実行されるように表示部120を制御する(S154:No、S158)。一方、基準位置があれば、制御実行部160は、スクロール後の表示開始位置が該基準位置になるようにスクロール量を調整してから表示部120にスクロールを行わせる(S154:Yes、S156、S158)。なお、ステップS156において、ステップS150で取得した現在の表示開始位置と、ステップS152で算出した新しい表示開始位置との間に、複数の基準位置が存在する場合には、制御実行部160は、スクロール後の表示開始位置が、該複数の基準位置のうちの、現在の表示開始位置に最も近い基準位置になるようにスクロール量を調整する。
【0073】
このように、本実施の形態の情報処理装置100によれば、表示対象データをスクロールしながら表示する際に、ユーザによる微調整なしに、該データの中の目的位置(基準位置)が表示開始位置になるように制御できる。
【0074】
<第2の実施の形態>
本発明の第2の実施の形態も情報処理装置である。この情報処理装置と、図1に示す第1の実施の形態の情報処理装置100とは、表示対象データに対して設定されたシンボルと、表示対象データから基準位置情報を取得する基準位置情報取得部のみが異なる。そのため、本第2の実施の形態にかかる情報処理装置に対して、表示対象データの構成と、基準位置情報取得部についてのみ説明する。また、説明に際して、他の機能ブロックを言及する必要があるときには、情報処理装置100における該機能ブロックを用いる。
【0075】
図8は、本第2の実施の形態にかかる情報処理装置の記憶部110に格納された表示対象データの例を示す。この表示対象データのデータ本体部分は、図3に示す表示対象データのデータ本体部分と同様である。
【0076】
図8に示すように、記憶部110の1つのアドレス(address(i))に、データ組(データ本体部とシンボル部)が1つ格納されている。表示対象データは、複数のデータ組から構成される。
【0077】
本実施の形態において、データ組のシンボル部は、空データと、空データではないシンボルとのいずれである。なお、全てのシンボルが同一であり、図8において「aaa」で表示されている。
【0078】
シンボルが設定されていない、すなわちシンボル部が空データであることは、該データ組のデータ本体部が基準位置のデータではないことを示す。例えば、address(1)に記憶されたDATA(1)や、address(8)に記憶されたDATA(8)は、シンボルが設定されておらず、これらのデータは基準位置のデータではない。
【0079】
一方、シンボルが設定されている、すなわち、シンボル部が「aaa」であることは、該データ組のデータ本体部が基準位置のデータであることを示す。例えば、address(2)、address(7)、address(13)に格納されたデータ組のシンボル部が「aaa」であるため、DATA(2)、DATA(7)、DATA(13)は、基準位置のデータとなる。
【0080】
図9は、本発明の第2の実施の形態の情報処理装置における基準位置情報取得部240を示す。図9において、第1の実施の形態の情報処理装置100における機能ブロックと同様のものについて、情報処理装置100の該機能ブロックに対して付与された符号と同様の符号が付与されており、これらの機能ブロックについては、説明を省略する。
【0081】
基準位置情報取得部240は、データ読出部142、設定部144、判定部246を備える。データ読出部142と設定部144は、図4に示す基準位置情報取得部140の対応する機能ブロックと同様のものである。また、基準位置情報取得部240には、基準位置情報取得部140に備えられた前回シンボル保持部148が無い。
【0082】
図10は、判定部246と基準位置情報保持部150による処理の流れを示すフローチャートである。なお、最初の表示開始位置が表示対象データの先頭であるとする。
【0083】
まず、設定部144は、データ読出部142に対して、表示対象データの先頭アドレスを最初の読出アドレスとしてデータ読出部142に設定して読出しを開始させる(S200)
【0084】
データ読出部142は、設定部144により設定された読出アドレスに格納されたデータ組(データ本体部とシンボル部のデータ)を読み出して、判定部246に出力する(S202)。なお、該読出アドレスが表示対象データの最終アドレスである場合には、データ読出部142は、その旨を設定部144に通知する。
【0085】
判定部246は、データ読出部142から出力されたデータ組にシンボルが設定されているか否かを確認する(S204)。
【0086】
今回のデータ組のシンボル部のデータが空であり、すなわちシンボルが設定されていない場合には、処理がステップS212に分岐する(S204:No、S212)。ステップS212において、今回のデータ組のアドレスが表示対象データの最終アドレスではなければ、設定部144は、次のアドレスを読出アドレスとしてデータ読出部142に設定する(S212:No、S214)。これにより、ステップS202からの処理が繰り返される(S202〜)。一方、今回のデータ組のアドレスが表示対象データの最終アドレスであれば(S212:Yes)、設定部144は、処理を終了する。
【0087】
一方、ステップS204において、今回のデータ組にシンボルが設定されていると確認された場合に、判定部246は、今回のデータ組のアドレスを基準位置情報として基準位置情報保持部150に出力する(S204:Yes、S206)。基準位置情報保持部150は、判定部246から出力された基準位置情報に基準位置番号を付与して登録する(S208)。
【0088】
ステップS202〜S214までは、表示対象データの最終アドレスのデータ組の読出し、シンボルがあるか否かの判定、判定結果に応じた処理の完了まで繰り返される。その結果、表示対象データに対して設定された全ての基準位置の情報が得られて基準位置情報保持部150に保持される。
【0089】
図8に示す表示対象データの場合、基準位置情報保持部150には、図5に示す基準位置情報が登録されることになる。図5は、第1の実施の形態の情報処理装置100において、図3に示す表示対象データから取得した基準位置情報である。すなわち、図3に示すような表示対象データのシンボルの設定方法と異なる手法でシンボルが設定された表示対象データであっても、本実施の形態の情報処理装置は、情報処理装置100による取得された基準位置情報と同様の基準位置情報を取得することができる。
【0090】
本第2の実施の形態の情報処理装置は、情報処理装置100と同様の効果を得ることができると共に、表示対象データのシンボル部のデータが「空データ」であるか否かの差しかなく、表示対象データに対するシンボルの設定、及びシンボルに基づいた基準位置であるか否かの判定が簡単である。
【0091】
<第3の実施の形態>
本発明の第3の実施の形態も情報処理装置である。この情報処理装置と、図1に示す第1の実施の形態の情報処理装置100とは、スクロール制御を行う制御実行部のみが異なる。そのため、本第3の実施の形態にかかる情報処理装置に対して制御実行部についてのみ説明する。また、説明に際して、他の機能ブロックを言及する必要があるときには、情報処理装置100における該機能ブロックを用いる。
【0092】
図11は、本発明の第3の実施の形態の情報処理装置における制御実行部の処理を示すフローチャートである。
【0093】
スクロール指示が入力されると、制御実行部は、まず、現在の表示開始位置、すなわち表示部120の画面に表示されているデータの先頭アドレスを取得して保持する(S300)。
【0094】
そして、制御実行部は、スクロール指示通りのスクロールが実行されるように表示部120を制御する(S302)。
【0095】
次いで、制御実行部は、ステップS302のスクロール実行後の新しい表示開始位置を取得すると共に、該表示開始位置と、ステップS300で取得して保持した直前の表示開始位置との間に基準位置の有無を確認する(S306)。基準位置がなければ、制御実行部は処理を終了する(S306:No)。一方、基準位置があれば、制御実行部は、スクロール後の表示開始位置が該基準位置になるように表示部120に再度スクロールを行わせる(S306:Yes、S308)。なお、ステップS306において、複数の基準位置が確認されれば、制御実行部は、再度のスクロール後の表示開始位置が、該複数の基準位置のうちの、ステップS300で取得した表示開始位置に最も近い基準位置になるように表示部120にスクロールさせる。
【0096】
すなわち、本実施の形態の情報処理装置において、スクロール指示がなされたときに、まず、スクロール指示通りのスクロールが行われる。そして、スクロール前とスクロール後の表示開始位置の間に基準位置がなければ、今回のスクロール処理が終了する。一方、スクロール前とスクロール後の表示開始位置の間に基準位置があれば、再度のスクロールが行われ、表示開始位置が基準位置に補正される。
【0097】
本実施の形態の情報処理装置は、第1の実施の形態の情報処理装置100と同様の効果を得ることができる。また、スクロール指示がなされると、まずスクロール指示通りにスクロールが行われるので、現在の表示開始位置と、スクロール指示通りにスクロールした場合の新しい表示開始位置との間に基準位置が無いときに、新しい表示開始位置へのスクロールを迅速に行うことができる。
【0098】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せがなされ変形例も本発明の範囲にあることは当業者に理解されるところである。
【0099】
例えば、上述した各実施の形態の情報処理装置では、表示対象データから全ての基準位置情報を取得して保持するようにしている。例えば、スクロール指示がなされた度に、現在の表示開始位置と、スクロール指示通りにスクロールした場合の新しい表示開始位置との間のデータから基準位置情報を取得するようにしてもよい。
【符号の説明】
【0100】
100 情報処理装置 110 記憶部
120 表示部 121 データ表示領域
122 スクロールバー 123 スクロールボタン
124 スライダー 125 スクロールボタン
130 スクロール制御部 140 基準位置情報取得部
142 データ読出部 144 設定部
146 判定部 148 前回シンボル保持部
150 基準位置情報保持部 160 制御実行部
190 入力部 240 基準位置情報取得部
246 判定部

【特許請求の範囲】
【請求項1】
表示対象データの表示開始位置を移動させるスクロールを制御するスクロール制御装置であって、
前記表示対象データに対して設定された、該表示対象データ内の1つ以上の基準位置を示す基準位置情報を取得する基準位置情報取得部と、
スクロール指示がなされた際に、現在の表示開始位置と、前記スクロール指示通りにスクロールした場合の表示開始位置との間に、前記基準位置情報取得部により取得された基準位置情報が示す基準位置が存在するか否かを確認し、存在するときには、該基準位置のうちの、現在の表示開始位置に最も近い基準位置がスクロール後の表示開始位置になるようにスクロールがなされ、存在しないときには、スクロール指示通りにスクロールがなされるように制御を行う制御実行部とを備えることを特徴とするスクロール制御装置。
【請求項2】
前記表示対象データは、前記基準位置情報を示しうる付属情報が設定されており、
前記基準位置情報取得部は、前記付属情報を取得して該付属情報から前記基準位置情報を得ることを特徴とする請求項1に記載のスクロール制御装置。
【請求項3】
表示対象データの表示開始位置を移動させるスクロールを制御するスクロール制御方法において、
前記表示対象データに対して設定された、該表示対象データ内の1つ以上の基準位置を示す基準位置情報を取得し、
スクロール指示がなされた際に、現在の表示開始位置と、前記スクロール指示通りにスクロールした場合の表示開始位置との間に、前記基準位置情報が示す基準位置が存在するか否かを確認し、存在するときには、該基準位置のうちの、現在の表示開始位置に最も近い基準位置がスクロール後の表示開始位置になるようにスクロールがなされ、存在しないときには、スクロール指示通りにスクロールがなされるように制御を行うことを特徴とするスクロール制御方法。
【請求項4】
前記表示対象データは、前記基準位置情報を示しうる付属情報が設定されており、
前記付属情報を取得して該付属情報から前記基準位置情報を得ることを特徴とする請求項3に記載のスクロール制御方法。
【請求項5】
表示対象データの表示開始位置を移動させるスクロールの制御のためのプログラムであって、
前記表示対象データに対して設定された、該表示対象データ内の1つ以上の基準位置を示す基準位置情報を取得し、
スクロール指示がなされた際に、現在の表示開始位置と、前記スクロール指示通りにスクロールした場合の表示開始位置との間に、前記基準位置情報が示す基準位置が存在するか否かを確認し、存在するときには、該基準位置のうちの、現在の表示開始位置に最も近い基準位置がスクロール後の表示開始位置になるようにスクロールがなされ、存在しないときには、スクロール指示通りにスクロールがなされるように制御する処理をコンピュータに実行させることを特徴とするプログラム。
【請求項6】
前記表示対象データは、前記基準位置情報を示しうる付属情報が設定されており、
前記付属情報を取得して該付属情報から前記基準位置情報を得ることを特徴とする請求項5に記載のプログラム。
【請求項7】
表示装置と、
表示対象データを前記表示装置に表示させる際の、前記表示対象データの表示開始位置を移動させるスクロールの制御を行う制御実行部と、
前記表示対象データに対して設定された、該表示対象データ内の1つ以上の基準位置を示す基準位置情報を取得する基準位置情報取得部とを備え、
前記制御実行部は、スクロール指示がなされた際に、現在の表示開始位置と、前記スクロール指示通りにスクロールした場合の表示開始位置との間に、前記基準位置情報取得部により取得された基準位置情報が示す基準位置が存在するか否かを確認し、存在するときには、該基準位置のうちの、現在の表示開始位置に最も近い基準位置がスクロール後の表示開始位置になるようにスクロールがなされ、存在しないときには、スクロール指示通りにスクロールがなされるように制御を行うを特徴とする情報処理装置。
【請求項8】
前記表示対象データは、前記基準位置情報を示しうる付属情報が設定されており、
前記付属情報を取得して該付属情報から前記基準位置情報を得ることを特徴とする請求項7に記載の情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate