連載
» 2010年05月06日 00時00分 UPDATE

ココが変わったWindows Embedded CE 6.0 R3(3):CE端末でも「フリック」&「パン」操作が可能に! ― タッチ/ジェスチャ機能 ― (1/2)

スマートフォンなどでおなじみの直感的なタッチパネル操作を実現する新機能「タッチ/ジェスチャ」について解説。

[杉本拓也(株式会社富士通ソフトウェアテクノロジーズ),@IT MONOist]

 前回「Silverlight for Windows Embeddedの実装方法」から時間がたってしまいましたが、今回は、「Windows Embedded CE 6.0 R3(以下、CE 6.0 R3)」の新機能として実装されている「タッチ/ジェスチャ機能」について紹介したいと思います(注)。

 現在、スマートフォン市場の活性化が特に注目されている時期ですが、スマートフォンのほとんどがタッチパネルによる操作とジェスチャ機能を有しています。ユーザーが直感的に画面上に表示されているコンテンツを“触って”“動かす”ことが、近年のタッチパネルを搭載したデバイスのトレンドといえます。

 また、PCの世界でも「Windows 7」の登場によって、マウス操作だけでなくタッチパネル操作も可能となり、多くのデバイスがタッチパネル操作に対応しはじめています。


 そしていま、本連載の主役であるWindows Embedded CEでも、このようなタッチパネル操作がCE 6.0 R3から可能となりました。

 これまでのWindows Embedded CEでは、タッチペンによるタッチパネル操作(マウスと同様の操作に対応)が機能として実装されていましたが、今回の追加機能によって、近年主流のタッチ/ジェスチャ操作が、Windows Embedded CEで提供されるコントロール上でも可能となりました。


※注:前回の最後に予告した内容と異なるテーマとなりましたことをおわび申し上げます。Silverlight for Windows Embeddedアプリケーションのパフォーマンスに関するテーマは、また別の機会にお届けできればと思います。(編集部)


Windows Embedded CE 6.0 R3で提供されるジェスチャ

 CE 6.0 R3では、下記のジェスチャ機能が提供されています(表1)。

操作 説明
フリック 画面を軽く払ってスクロールさせる。ブラウザやスクロールボックスなどで、素早くスクロールさせるときに利用
パン タップしたまま前後左右に平行移動させる。ブラウザで表示位置をずらすために利用
タップ 画面を押す。マウスの左ボタン(WM_LBUTTONDOWN)と同様の効果
ダブルタップ 2回素早く画面を押す。マウスの左ボタンダブルクリック(WM_LBUTTONDBLCLK)と同様の効果
ホールド 画面を押し続ける。マウスの右クリック(WM_RBUTTONDOWN)と同様の効果
表1 Windows Embedded CE 6.0 R3で対応するジェスチャ

物理演算エンジン

 「フリック」や「パン」などの操作には、画面上のアニメーションが付加されます。フリックは、画面を振る操作の強弱によってスクロール幅とスピードが変化し、ユーザーがあたかも実際の“物”を動かしているようなイメージを提供します。この計算を行っているのが「物理演算エンジン」です。

 物理演算エンジンは、3Dのゲームなどの世界で多用され、「質量」「速度」「摩擦」などの法則を計算し、ユーザー操作からアニメーションの動きを計算します。

 これまでのWindows Embedded CE上のアプリケーション開発では、プログラマがこの演算を独自で開発し、実装していました。しかし、CE 6.0 R3からタッチ/ジェスチャ機能を実現するための物理演算エンジンが標準で提供されることになりました。

Windows Autoジェスチャ

 ジェスチャ機能は、CE 6.0 R3で動作するすべてのアプリケーションで利用でき、その効果を得ることができます。CE 6.0 R3が提供するWin32のコントロールは、このジェスチャ機能に対応しています。

 例えば、これまでウィンドウ内のスクロールは、スクロールバーによって行っていましたが、フリック操作に対応したことで、フリック後、ウィンドウはスクロールを開始し、アプリケーション側には「WS_HSCROLL」か「WS_VSCROLL」が通知されるようになりました。

タッチ/ジェスチャのコンポーネント

 CE 6.0 R3でジェスチャを利用するためには、下記のコンポーネントをカタログから追加する必要があります(表2)。

コンポーネント名 SYGEN変数 説明
シングルタッチ ジェスチャ認識 SYSGEN_TOUCHGESTURE WM_GESTUREを受け取るために必要
ジェスチャ アニメーションのサポート SYSGEN_PHYSICSENGINE ジェスチャアニメーション用の物理演算エンジン
Win32コントロールのジェスチャのサポート SYSGEN_GESTUREANIMATION Win32コントロールでパン/フリックを利用できるようスクロールメッセージに変換する機能
表2 タッチ/ジェスチャのコンポーネント

タッチ/ジェスチャのコンポーネントをカタログから追加 図1 タッチ/ジェスチャのコンポーネントをカタログから追加
       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.