(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
これに鑑みて、本発明の主な目的は、ウィンドウオブジェクトの線速度と角速度に基づく慣性移動効果を実現するためのウィンドウオブジェクト慣性移動の実現方法及び実現装置を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の技術的スキームは、以下のように実現される。
【0008】
ウィンドウオブジェクト慣性移動の実現方法は、
入力デバイスの初期接触動作を監視し、初期接触座標と接触時間を記録し、第1のタイマーを開始するステップAと、
ウィンドウオブジェクトをドラッグする過程において、ユーザが入力デバイスを介してスクリーンで生じさせた前時点からの変位量と回転量を取得するイベントを、第1のタイマーによって周期的にトリガーし、取得された変位量と回転量をウィンドウオブジェクトに伝送するステップBと、
ユーザがウィンドウオブジェクトをリリースする際に、ウィンドウオブジェクト線速度の初速度と角速度の初速度を取得し、第2のタイマーを開始するステップCと、
前記線速度の初速度と角速度の初速度に基づいてして、線速度の減速度と角速度の減速度からウィンドウオブジェクトの現在の変位量と回転量を取得するイベントを、第2のタイマーによって周期的にトリガーし、取得された現在の変位量と回転量をウィンドウオブジェクトに伝送するステップDと、
第2のタイマーの現在の時間における線速度の初速度と角速度の初速度が0以下である場合、ウィンドウオブジェクト慣性移動処理を中止するステップEとを含む。
【0009】
更に、前記方法において、ユーザは、一つ又は複数の接触点で入力デバイスを介して前記ウィンドウオブジェクトをドラッグし、接触点が複数の場合、デバイス番号が最小である2つの接触点で前記変位量と回転量を取得する。
【0010】
上記方法に基づいて、本発明は、ウィンドウオブジェクト慣性移動の実現装置を更に提供する。
【0011】
ウインドウオブジェクト慣性移動の実現装置は、
入力デバイスがスクリーンドでウィンドウオブジェクトをドラッグする動作を取得し、対応する制御情報を生成する接触点取得ユニットと、
接触点取得ユニットから送信された制御情報に応じて、ウィンドウオブジェクトのドラッグ効果を実現し、入力デバイスがウィンドウオブジェクトをリリースする際に、線速度の初速度と角速度の初速度を取得し、取得した線速度の初速度と角速度の初速度を慣性処理ユニットに送信するドラッグ処理ユニットと、
ドラッグ処理ユニットから送信された線速度の初速度と角速度の初速度に基づいて、線速度の減速度と角速度の減速度から慣性移動効果を実現する慣性処理ユニットとを含む。
【0012】
更に、前記接触点取得ユニットによって生成された前記制御情報は、
入力デバイスが最初にウィンドウオブジェクトに接触するときの、位置と、時間と、デバイス番号と、ウィンドウオブジェクトの最初の接触を示す識別子とを含む入力デバイス初期制御情報と、
入力デバイスがウィンドウオブジェクトを移動させるときの、位置と、時間と、デバイス番号と、ウィンドウオブジェクトのドラッグを示す識別子とを含む、入力デバイス動向制御情報と、
入力デバイスがウィンドウオブジェクトを移動するときの、位置と、時間と、デバイス番号と、ウィンドウオブジェクトのリリースを示す識別子とを含む入力デバイスリリース制御情報とを含む。
【0013】
更に、前記ドラッグ処理ユニットは、
接触点取得ユニットから送信された初期制御情報を受信した場合に第1のタイマーを開始し、接触点取得ユニットから送信された動向制御情報から、前記第1のタイマーのトリガーに従って第1のタイマーの現在の時間におけるウィンドウオブジェクトの変位量と回転量を取得し、取得した変位量と回転量をウィンドウオブジェクトに送信する第1移動処理ユニットと、
接触点取得ユニットから送信されたリリース制御情報を受信した後、線速度の初速度と角速度の初速度を取得し、取得した線速度の初速度と角速度の初速度を慣性処理ユニットに送信する初速度処理ユニットとを含む。
【0014】
本発明に係る技術的解決法の適用によって、ウィンドウオブジェクトの線速度と角速度に基づく慣性移動効果が実現され、操作が容易になり、実体化のインターフェースと操作を介して、ターミナルソフトウェアの使いやすさが向上し、ユーザ体験が改善される。
【発明を実施するための形態】
【0016】
本発明の基本的な着想は、ユーザがマウス又は指でウィンドウオブジェクトを移動させるプロセスに基づいて、実体化処理を実行し、ユーザがドラッグ操作を終了させた後、慣性処理ユニットを介して、マウスのドラッグボタンがリリースされたとき又は、指が離されたとき線速度と角速度から、移動オブジェクトの慣性移動を実現する。
【0017】
本発明における移動オブジェクトとは、例えば、マウス又はタッチスクリーンに基づく指のドラッグ動作に応答可能なウィンドウオブジェクトインスタンスである。前記ウィンドウオブジェクトは自身のインターフェース属性、方法属性及びデータ属性を有し、ウィンドウインターフェースのトリガーイベントに応答できる。
【0018】
例えば、Windowオペレーティングシステムを例にとると、ウィンドウオブジェクトは連絡先情報を表示するウィンドウとすることができる。ウィンドウオブジェクトはユーザによるクリックや移動操作に応答するイベントファンクションを有し、幅(Width)や高さ(Height)、ウィンドウ中心点を回転中心とする回転角度(Angle)、ウィンドウ中心点の横座標(CenterX)、ウィンドウ中心点の縦座標(CenterY)といったインターフェース属性を含む。
【0019】
記載の便宜のために、以下の説明では、動作場面はユーザが指又はマウスを用いてインスタントメッセージの連絡先で代表されるウィンドウオブジェクトインスタンス(記載の便宜のために、以下、ウィンドウオブジェクトと略称する)を移動させるものとする。ユーザが一定の速度でウィンドウオブジェクトを移動させ、瞬間的に指又はマウスボタンを離すと、ウィンドウオブジェクトは慣性の作用によってそれまでの移動軌跡に沿って、移動と回転を継続し、摩擦力(減速度)の作用によって次第に静止状態となる。
【0020】
本発明の目的、技術的解決法及び利点が明らかになるように、以下、実施形態を挙げて、且つ図面を参照して、本発明を更に詳しく説明する。
【0021】
図1は本発明に係るウィンドウオブジェクト慣性移動効果を実現する装置の構造の模式図である。この装置は接触点取得ユニット101、ドラッグ処理ユニット102及び慣性処理ユニット103を含む。
【0022】
接触点取得ユニット101は、入力デバイスがスクリーンでウィンドウオブジェクトをドラッグする操作を取得し、対応する制御情報を生成する。
【0023】
前記入力デバイスは、タッチスクリーン、マウス、ワードパッド等のウィンドウ移動を実現できる装置を含む。
【0024】
前記制御情報は、(1)入力デバイスがウィンドウオブジェクトに最初に接触したときの位置、時間、デバイス番号、ウィンドウオブジェクトへの初期接触を示す識別子等を含む。入力デバイス初期制御情報を含む。
【0025】
また、前記制御情報は、(2)入力デバイスがウィンドウオブジェクトを移動させているときの位置、時間、デバイス番号、ウィンドウオブジェクトをドラッグしていることを示す識別子等を含む入力デバイス動向制御情報を含む。
【0026】
また、前記制御情報は、(3)入力デバイスがウィンドウオブジェクトをリリースし、ドラッグを終了させるときの位置、時間、デバイス番号、ウィンドウオブジェクトをリリースすることを示す識別子等を含む入力デバイスリリース制御情報を含む。
【0027】
接触点取得ユニット101は、本発明に係る前記装置とオペレーティングシステムとの間のインターフェースユニットである。接触点取得ユニット101は、オペレーティングシステムのウィンドウオブジェクトに対する動作をリアルタイムに監視し、入力デバイスによって生成された制御情報を取得し、制御情報をドラッグ処理ユニットに伝送する。ドラッグ処理ユニットは
ウィンドウオブジェクトに対するドラッグ効果を実現する。
【0028】
例えば、マウス又は指が押され、移動された場合に、接触点取得ユニット101は、マウスの押圧イベント又は指のタッチイベントを取得して、ドラッグ処理ユニット102に初期制御情報を送信する。初期制御情報は接触点の位置座標、現在の時間、デバイス番号、ウィンドウオブジェクトのドラッグのためにマウスの左ボタン又は指が押されたことを識別する識別子等を含む。
【0029】
前記デバイス番号は、異なる入力デバイスを区別することに用いられ、マルチタッチの場合には、例えばユーザが同時に2つの指を用いてウィンドウオブジェクトにタッチすると、異なる時点でタッチスクリーンに接触した指に対応するデバイス番号は異なる。
【0030】
ドラッグ処理ユニット102は、接触点取得ユニット101から送信された制御情報に応じて、ウィンドウオブジェクトのドラッグ効果を実現する。
【0031】
前記ドラッグ処理ユニット102は、第1の移動処理ユニットと初速度処理ユニットを含む。
【0032】
第1の移動処理ユニットは、接触点取得ユニット101から送信された初期制御情報を受信した場合に、第1のタイマーTimer1を開始する。第1の移動処理ユニットは、Timer1によるトリガーに従って、接触点取得ユニット101から送信された動向制御情報から、Timer1の現在の時間におけるウィンドウオブジェクトの変位量と回転量を取得し、取得した変位量と回転量をウィンドウオブジェクトに送信する。
【0033】
初速度処理ユニットは、接触点取得ユニット101から送信されたリリース制御情報を受信した後、線速度の初速度と角速度の初速度を取得し、取得した線速度の初速度と角速度の初速度を慣性処理ユニットに送信する。
【0034】
ウィンドウオブジェクトのドラッグ効果を実現する方法は、具体的には、
(1)ドラッグ処理ユニット102が、接触点取得ユニット101から送信された初期制御情報を受信した後、初期接触点の位置座標情報(X
0,Y
0)、初期接触時間T
0及びデバイス番号を記録する。
【0035】
(2)マウス又は指が押され、移動するとき、ドラッグ処理ユニット102は時間Δt毎にマウス又は指の位置(X
i,Y
i)、現在の時間T
i及びデバイス番号を記録し、前回の記録時点に対する変位量と回転量を取得し、相対的な変位量と回転量をウィンドウオブジェクトに送信する。ウィンドウオブジェクトはドラッグ効果を実現するための自身の属性値を設定する。
【0036】
例えば、ウィンドウオブジェクトの中心座標属性が(CenterX,CenterY)であり、回転角度属性がAngleであり、T
i時間にウィンドウオブジェクトから取得された現在の変位量が(ΔX,ΔY)であり、現在の回転量がαである場合に、ウィンドウオブジェクトは自身の中心座標属性値と回転角度属性値を以下のように設定する。
【0037】
CenterX=CenterX+ΔX
CenterY=CenterY+ΔY
Angle=Angle+α
【0038】
ウィンドウオブジェクトは、上記の中心座標属性値と回転角度属性値を設定することによって、ウィンドウオブジェクトのインターフェース再描画ファンクションをトリガーし、新たな座標位置において新たな回転角度でウィンドウオブジェクトを表示する。
【0039】
(3)入力デバイスがウィンドウオブジェクトをリリースした場合、即ちマウスのボタンがリリースされ、又は指が離された場合、接触点取得ユニット101はリリース制御情報をドラッグ処理ユニット102に送信する。ドラッグ処理ユニット102はリリース前のTimer1の最後の時間において取得された変位量と回転量に従って、線速度の初速度と角速度の初速度を取得する。
【0040】
上記変位量、回転量、線速度の初速度、角速度の初速度の取得は、シングルポイント接触とマルチポイント接触との2種類のケースに分けられる。
【0041】
(1)
図2に示すようにシングルポイント接触の場合、変位量、回転量、線速度の初速度、角速度の初速度の取得方法は、以下のようになる。
【0042】
T
i−1からT
iまでの変位量(ΔX,ΔY)は次式で表される。
(ΔX,ΔY)=(X
i−X
i−1,Y
i−Y
i−1)
ここで、(X
i,Y
i)はTimer1のT
i時間における接触点の座標ベクトルであり、(X
i−1,Y
i−1)はTimer1のT
i−1時間における接触点の座標ベクトルである。
【0043】
T
i−1からT
iまでの回転量αは、次式で表される。
α=arcos[u
i.v
i/(|u
i||v
i|)]
ここで、回転中心座標はウィンドウオブジェクトの中心座標(C
x,C
y)であり、u
iはTimer1のT
i時間における接触点座標と回転中心座標との間のベクトルであり、即ちu
i=(X
i−C
x,Y
i−C
y)となる。v
iはTimer1のT
i−1時間における接触触点座標と回転中心座標との間のベクトルであり、即ちv
i=(X
i−1−C
x,Y
i−1−C
y)となる。
【0044】
入力デバイスがウィンドウオブジェクトをリリースした際の線速度の初速度Vは、次式で表される。
V=(X
n−X
n−1,Y
n−Y
n−1)/(T
n−T
n−1)=(X
n−X
n−1,Y
n−Y
n−1)/Δt
ここで、(X
n,Y
n)は、入力デバイスがウィンドウオブジェクトをリリースした際、Timer1の最後の時間であるT
n時間における接触点の座標ベクトルであり、(X
n−1,Y
n−1)はT
n−1時間における接触点の座標ベクトルである。
【0045】
Δtを基準単位時間に設定すると、上記の式は次式のように単純化することができる。
V=(X
n−X
n−1,Y
n−Y
n−1)
【0046】
入力デバイスがウィンドウオブジェクトをリリースした際の角速度の初速度Vaは次式で表される。
Va=arcos[u
n.v
n/(|u
n||v
n|)]/(T
n−T
n−1)=arcos[u
n. v
n/(|u
n||v
n|)]/Δt
ここで、u
nはTimer1のT
n時間における接触点座標(X
n,Y
n)と回転中心座標(C
x,C
y)との間のベクトルであり、即ちu
n=(X
n−C
x,Y
n−C
y)である。v
nはTimer1のT
n−1時間における接触点座標と回転中心座標との間のベクトルであり、即ちv
n=(X
n−1−C
x,Y
n−1−C
y)である。
【0047】
Δtを基準単位時間に設定すると、上記の式は次式のように単純化することができる。
Va=arcos[u
n.v
n/(|u
n||v
n|)]
【0048】
(2)
図3に示すようにマルチポイント接触の場合、デバイス番号が最小である2つの点のみが考慮され、変位量、回転量、線速度の初速度、角速度の初速度の取得方法次のようになる。
【0049】
仮に、デバイス番号が最小である2つの接触点の、Timer1のT
i−1時間における座標が(X
i−1,d0,Y
i−1,d0)と(X
i−1,d1,Y
i−1,d1)であり、T
i時間における座標が(X
i,d0,Y
i,d0)と(X
i,d1,Y
i,d1)であるとする。ここで、d0とd1はデバイス番号である。この2つの接触点のT
i−1時間とT
i時間における中心の座標ベクトルはそれぞれ、次式で表される。
(CX
i,CY
i)=((X
i,d0+X
i,d1)/2,(Y
i,d0+Y
i,d1)/2)
(CX
i−1,CY
i−1)=((X
i−1,d0+X
i−1,d1)/2,(Y
i−1,d0+Y
i−1,d1)/2)
【0050】
T
i−1からT
iまでの変位量(ΔX,ΔY)は次式で表される。
(ΔX,ΔY)=(CX
i−CX
i−1,CY
i−CY
i−1)
【0051】
入力デバイスがウィンドウオブジェクトをリリースするときの、Timer1のT
n時間に対応する線速度の初速度Vは次式で表される。
V=(CX
n−CX
n−1,CY
n−CY
n−1)/(T
n−T
n−1)=(CX
n−CX
n−1,CY
n−CY
n−1)/Δt
ここで、(X
n,CY
n)、(CX
n−1,CY
n−1)はそれぞれ、入力デバイスがウィンドウオブジェクトをリリースするときに、デバイス番号が最小である2つの接触点のTimer1の最後の時間であるT
n時間とT
n−1時間に形成されたベクトルの中心点座標であり、ΔtはTimer1のタイミング間隔である。
【0052】
Δtを基準単位時間に設定すると、上記の式を次式のように単純化することができる。
V=(CX
n−CX
n−1,CY
n−CY
n−1)
【0053】
マルチポイント接触の場合、回転量を取得する際に、デバイス番号が最小である2つの接触点のみが考慮される。、T
i−1時間における2つの接触点を結ぶ線と、T
i時間における2つの接触点を結ぶ線の交点は回転量を取得する際の中心点となる。
【0054】
T
i時間における2つの接触点の座標が(X
i,d0,Y
i,d0)と(X
i,d1,Y
i,d1)であり、T
i−1時間における2つの接触点の座標が(X
i−1,d0,Y
i−1,d0)と(X
i−1,d1,Y
i−1,d1)である場合、回転量を取得するための回転中心座標は、次式で表される。
(Cx,Cy)=((X
i,d0+X
i,d1)/2,(Y
i,d0+Y
i,d1)/2)
【0055】
T
i−1からT
iまでの回転量α
iは、次式で表される。
α
i=arcos[u
i. v
i/(|u
i||v
i|)]
ここで、u
iはTimer1のT
i時間におけるデバイス番号が最小である2つの接触点によって形成されたベクトル(X
i,d0−X
i,d1,Y
i,d0−Y
i,d1)である。v
iはTimer1のT
i−1時間におけるデバイス番号が最小である2つの接触点によって形成されたベクトル(X
i−1,d0−X
i−1,d1,Y
i−1,d0−Y
i−1,d1)である。
【0056】
入力デバイスがウィンドウオブジェクトをリリースするときの、Timer1のT
n時間に対応する回転量角速度の初速度Vaは、次式で表される。
Va=arcos[u
n.v
n/(|u
n||v
n|)]/(T
n−T
n−1)=arcos[u
n. v
n/(|u
n||v
n|)]/Δt
ここで、u
nは入力デバイスがウィンドウオブジェクトをリリースするときの、Timer1の最後の時間であるT
n時間における、デバイス番号が最小である2つの接触点によって形成されたベクトル(X
n,d0−X
n,d1,Y
n,d0−Y
n,d1)である。v
nはT
n−1時間における、デバイス番号が最小である2つの接触点によって形成されたベクトル(X
n−1,d0−X
n−1,d1,Y
n−1,d0−Y
n−1,d1)である。
【0057】
Δtを基準単位時間に設定すると、上記の式を次式のように単純化することができる。
Va=arcos[u
n.v
n/(|u
n||v
n|)]
【0058】
慣性処理ユニット103は、入力デバイスがウィンドウオブジェクトをリリースした後、即ちユーザがドラッグ操作を終了させた後に慣性移動効果を実現する。慣性処理ユニット103はドラッグ処理ユニット102から送信されたリリース制御情報を受信した後、第2のタイマーTimer2を開始し、時間Tgの各時間毎にタイマー処理ファンクションを一回トリガーする。
【0059】
慣性処理ユニット103は、タイマー処理ファンクションにおいて、Timer2の現在の時間における線速度の初速度と角速度の初速度から現在の時間内の変位量と回転量を取得し、取得した現在の時間内の変位量と回転量をウィンドウオブジェクトに送信する。ウィンドウオブジェクトは自身の属性を設定し、慣性移動効果を実現する。
【0060】
Timer2のT
i時間に対応する線速度の初速度V
iは、次式で表される。
V
i=V
i−1−V
dec*Tg
ここで、V
decは線速度の減速度であり、この値は実際の情況に応じてユーザ又はシステムにより予め設定されてもよい。この値は、線速度の摩擦係数を調整することに相当する。
【0061】
入力デバイスがウィンドウオブジェクトをリリースした後のTimer2の最初の時間において、V
1はドラッグ処理ユニット102から送信された線速度の初速度Vである。TgはTimer2の間隔であり、この値はユーザ又はシステムにより予め設定されてよい。
【0062】
Timer2のT
i時間における角速度の初速度Va
iは次式で表される。
Va
i=Va
i−1−Va
dec*Tg
ここで、Va
decは角速度の減速度であり、この値は実際の情況に応じてユーザ又はシステムにより予め設定されてもよい。この値は、角速度の摩擦係数を調整することに相当する。
【0063】
入力デバイスがウィンドウオブジェクトをリリースした後のTimer2の最初の時間において、Va
1はドラッグ処理ユニット102から送信された角速度の初速度Vaである。
【0064】
Timer2のT
i時間に対応する変位量(ΔX,ΔY)は、次式で表される。
(ΔX,ΔY)=(V
i−V
dec*Tg)*Tg=(V
i.X−V
dec*Tg,V
i.Y−V
dec*Tg)*Tg
ここで、V
iはTimer2のT
i時間における線速度の初速度ベクトルであり、TgはTimer2のタイミング間隔である。
【0065】
Timer2のT
i時間における回転量α
iは、次式で表される。
α
i=(Va
i−Va
dec*Tg)*Tg
ここで、Va
iはTimer2のT
i時間における角速度の初速度である。
【0066】
TgとΔtとが等しく、且つΔtを基準単位時間に設定すると、上記の式を次式のように単純化することができる。
(ΔX,ΔY)=(V
i.X−V
dec,V
i.Y−V
dec)
α
i=(Va
i−Va
dec)
【0067】
Tg=Δt、即ちTgが慣性処理とウィンドウオブジェクト位置の更新時のサンプリングスピードの単位時間であるΔtと等しい場合、計算量を大幅に削減することができる。
【0068】
上記式により取得された現在の時間のウィンドウオブジェクトの慣性移動の変位量と回転量が0以下である場合、慣性処理は終了する。
【0069】
ウィンドウオブジェクトは、慣性処理ユニット103から送信された変位量と回転量を受信した後、自身の中心座標属性値と回転角度属性値を次式のように設定する。
【0070】
CenterX=CenterX+ΔX
CenterY=CenterY+ΔY
Angle=Angle+α
【0071】
インターフェース再描画ファンクションは、中心座標属性値と回転角度属性値を設定することにより、トリガーされ、新たな座標位置において新たな回転角度でウィンドウオブジェクトを表示し、これにより慣性移動効果を実現する。
【0072】
図4は本発明に係るウィンドウオブジェクトの移動方法のフローチャートであり、以下のステップを含む。
【0073】
ステップ401:入力デバイスの初期接触動作を監視し、初期制御情報を取得する。
このステップでは、触点取得ユニットが入力デバイスの初期接触動作を監視し、初期接触動作を監視した後、初期制御情報をドラッグ処理ユニットに送信する。
【0074】
前記入力デバイスは、マウス、タッチスクリーン、ワードパッド等のウィンドウオブジェクト移動機能を有する入力デバイスを含む。入力デバイスが異なると、生成されるシステムメッセージも異なる。例えば、マウスがウィンドウオブジェクトの移動をトリガーすることを示すシステムメッセージは、マウスの左ボタンがが押されて移動されることであってもよい。
【0075】
タッチスクリーンがウィンドウオブジェクトの移動をトリガーすることを示すシステムメッセージは、指が押されて移動されることであってもよい。
【0076】
前記初期接触動作とは、ウィンドウオブジェクトを移動させるために、ユーザが最初にマウスの左ボタンを押すクリック操作であり、又は最初に指でタッチスクリーンを押す操作である。
前記初期制御情報は、初期接触点の位置、時間、デバイス番号、ボタンコード等を含む。
【0077】
ステップ402:初期制御情報を記録し、第1のタイマーTimer1を開始し、タイミング間隔をΔtとして設定する。Δtは実際の情況に応じてユーザ又はシステムにより予め設定される。
【0078】
ドラッグ処理ユニットは、接触点取得ユニットから送信された初期制御情報を受信した後、前記初期制御情報を記録し、Timer1を開始する。Timer1はウィンドウオブジェクトの変位量(ΔX,ΔY)と回転量αを算出するイベントファンクションを周期的にトリガーする。これにより、現在の時間において入力デバイスによってスクリーンにおいて生成された変位量と回転量が取得される。
【0079】
ステップ403:Timer1のタイミング時間が満了した場合、動向制御情報を取得し、現在の時間においてユーザによって入力デバイスを介してスクリーンで生成された変位量と回転量が取得される。
【0080】
このステップを実行する前提条件は、ユーザが入力デバイスの押圧操作を維持し、静止させ、又はウィンドウオブジェクトをドラッグさせることである。触点取得ユニットは、監視された入力デバイスによって生成されたシステムメッセージを動向制御情報(位置、時間、デバイス番号等を含む)に変換してドラッグ処理ユニットに連続的に送信する。
【0081】
ドラッグ処理ユニットはローカルにキャッシュされた動向制御情報をリアルタイムに更新し、各Timer1のタイミング時間が満了する毎に動向制御情報を記録する。この履歴はスクリーン上における入力デバイスの動きの軌跡(ジェスチャー)を反映し、入力デバイスTimer1の現在の時間におけるウィンドウオブジェクトの変位量と回転量が取得される。
【0082】
ステップ404:ウィンドウオブジェクトは、取得された変位量と回転量に従って、ウィンドウオブジェクトのスクリーンでの位置と回転角度を調整する。
ドラッグ処理ユニットは、現在の時点の変位量と回転量を取得した後、それをウィンドウオブジェクトに伝送する。ウィンドウオブジェクトは自身の中心点座標と自身の中心点座標に対する回転角度の属性値を設定することによって、ウィンドウ再描画プロセスをトリガーし、これによりドラッグ効果が実現される。
【0083】
ステップ405:入力デバイスがウィンドウオブジェクトをリリースするか、即ちユーザがマウスボタンをリリースし、又は指を離してドラッグ動作を終了させるかどうかが判断されるウィンドウオブジェクトがリリースされる場合、ステップ406が実行され、ウィンドウオブジェクトがリリースされない場合、ステップ403が実行される。
【0084】
このステップでは、接触点取得ユニットが、入力デバイスがウィンドウオブジェクトをリリースするかを監視する。リリース情報が検出された後、接触点取得ユニットは直ちにリリース制御情報をドラッグ処理ユニットに送信する。前記リリース制御情報はリリース時刻の位置、時間、デバイス番号等の情報を含む。
【0085】
ステップ406:ドラッグ操作が終了された場合、Timer1の最後の時間であるT
n時間に対応する線速度の初速度Vと角速度の初速度Vaが取得され、Timer1を停止する。
【0086】
ドラッグ処理ユニットは、制御情報の履歴に従って、入力デバイスがウィンドウオブジェクトをリリースした際に、Timer1の最後の時間であるT
n時間における線速度の初速度Vと角速度の初速度Vaを取得する。取得方法は上述したため、詳細な記載はここでは省略する。ドラッグ処理ユニットは、取得した初速度Vと角速度の初速度Vaを慣性処理ユニットに送信する。
【0087】
ステップ407:第2のタイマーTimer2が開始され、タイミング間隔がTgに設定される。
このステップでは、慣性処理ユニットは、VとVaを受信した後、第2のタイマーTimer2を開始する。Timer2は、入力デバイスがウィンドウオブジェクトをリリースした後の慣性移動効果を実現することに用いられる。
【0088】
ステップ408:Timer2のタイミング時間が満了する度に、線速度の減速度V
decと角速度の減速度Va
decからウィンドウオブジェクトの現在の変位量と回転量が取得される。現在の時刻の位置が記録され、次のタイミング時間のために、線速度の初速度Vと角速度の初速度Vaが算出される。
【0089】
このステップでは、慣性処理ユニットは、予め設定されたV
decとVa
decに従って、入力デバイス、Timer2の現在のタイミング時間において、入力デバイスがウィンドウオブジェクトをリリースした後にウィンドウオブジェクトが前方へ移動し続けるための変位量と回転量を取得する。取得方法は上述したため、詳細な記載はここでは省略する。
【0090】
Timer2の次のタイミング時間の線速度の初速度Vと角速度の初速度Vaの取得方法は、次式で表される。
V
i=V
i−1−V
dec*Tg;Va
i=Va
i−1−Va
dec*Tg
【0091】
ステップ409:慣性移動が終了したかが判断され、終了した場合、プロセスを終了させ、終了していない場合、ステップ410を実行する。
【0092】
慣性移動が終了したかを判断するステップでは、ステップ408で取得されたV
iとVa
iが0以下であるかが判断される。、0以下である場合、Timer2は停止され、慣性移動処理は終了する。一方の値が0以下であるが、他方の値が依然として0より大きい場合、他方値に対して慣性処理を行う必要がある。
【0093】
例えば、V
iが0以下であるが、Va
iが0より大きい場合、Timer2の現在の時間と後続の時間では変位量はいずれも0であり、回転量は0ではない。慣性移動処理は、両者とも現在の時間で0以下となるまで終了しない。
【0094】
ステップ410:ウィンドウオブジェクトは、取得された変位量と回転量に従って、ウィンドウオブジェクトのスクリーンでの位置と回転角度を調整し、慣性移動効果を実現する。そして再びステップ408が実行される。
【0095】
以上は、本発明の最適な実施形態であり、本発明の保護範囲を制限するものではない。