スマートフォンなどでおなじみの直感的なタッチパネル操作を実現する新機能「タッチ/ジェスチャ」について解説。
前回「Silverlight for Windows Embeddedの実装方法」から時間がたってしまいましたが、今回は、「Windows Embedded CE 6.0 R3(以下、CE 6.0 R3)」の新機能として実装されている「タッチ/ジェスチャ機能」について紹介したいと思います(注)。
現在、スマートフォン市場の活性化が特に注目されている時期ですが、スマートフォンのほとんどがタッチパネルによる操作とジェスチャ機能を有しています。ユーザーが直感的に画面上に表示されているコンテンツを“触って”“動かす”ことが、近年のタッチパネルを搭載したデバイスのトレンドといえます。
また、PCの世界でも「Windows 7」の登場によって、マウス操作だけでなくタッチパネル操作も可能となり、多くのデバイスがタッチパネル操作に対応しはじめています。
関連リンク: | |
---|---|
⇒ | 組み込みで使えるWindows 7の新機能トップ7 |
そしていま、本連載の主役であるWindows Embedded CEでも、このようなタッチパネル操作がCE 6.0 R3から可能となりました。
これまでのWindows Embedded CEでは、タッチペンによるタッチパネル操作(マウスと同様の操作に対応)が機能として実装されていましたが、今回の追加機能によって、近年主流のタッチ/ジェスチャ操作が、Windows Embedded CEで提供されるコントロール上でも可能となりました。
関連リンク: | |
---|---|
⇒ | リッチなユーザー体験をもたらす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からタッチ/ジェスチャ機能を実現するための物理演算エンジンが標準で提供されることになりました。
ジェスチャ機能は、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 タッチ/ジェスチャのコンポーネント |
Copyright © ITmedia, Inc. All Rights Reserved.