WebPlugin リリースノート
更新情報
Windowsバージョン | Macバージョン | 変更 | 日付 | 作成 |
2.0.0.1 | 2.0.0.3 | Firebreathプラットフォームに更新。PenAPIとTouchAPIの情報を結合 | 2010年5月23日 | R. Cohn D. Ralley |
2.0.0.3 | 2.0.0.3 | TouchAPIの修正。更新バージョン | 2010年10月27日 | R. Cohn |
2.1.0.1 | 2.1.0.1 | Firebreath 1.6に更新 | 2012年5月9日 | R. Cohn |
2.1.0.2 | 2.1.0.2 | バグ修正 | 各種 | R. Cohn D. Ralley |
2.1.0.3 | n/c | バグ修正 | 2013年1月2日 | R. Cohn |
INDEX
- 1 概要
- 1.1 サポートされているブラウザ
- 1.1.1 サポートされているブラウザとオペレーティングシステム
- 1.2 プラグインファイル
- 1.2.1 Windowsプラグインファイル
- 1.2.2 スタンドアロンWebPluginインストーラ
- 1.3 Mac OSXプラグインファイル
- 1.3.1 WacomTabletPlugin.plugin (Firefox用)
- 2 WebPluginペンAPI
- 2.1 サポートされているタブレットとWebPluginバージョン
- 2.2 開発リソース
- 2.3 プログラミングモデル
- 2.4 WebPluginペンAPI(WebPAPI)のプロパティ
- 2.5 サンプルJavascriptの使用
- 2.6 Webアプリケーションを1.0.x.xから2.0.x.x WebPluginに更新する場合
- 3 WebPluginタッチAPI
- 3.1 サポートされているタブレット
- 3.2 開発リソース
- 3.3 プログラミングモデル
- 3.4 サンプルJavascriptの使用
- 3.5 WebPluginタッチAPI(WebTAPI)のプロパティ
- 3.5.1 TouchRawFingerData
- 3.5.2 TouchDeviceCapabilities
- 3.5.3 TouchDeviceAttached
- 3.5.4 TouchDeviceIDList
- 3.5.5 Open
- 3.5.6 Close
- 3.5.7 Modes
- 3.6 WebPluginタッチAPIイベント
- 3.6.1 TouchDataEvent
- 3.6.2 TouchDeviceAttachEvent
- 3.6.3 TouchDeviceDetachEvent
詳細
1 概要
このドキュメントでは、新しいWebPluginの変更点について説明します。更新されたWebPluginには、旧1.0.x.xバージョンのWebPluginでサポートされているペンプロパティと同じプロパティが含まれています。アプリケーションはそれらのプラグインを現在も引き続き使用できますが、このドキュメントに記載のWebPluginに更新することを推奨します。詳細については、セクション2.6を参照してください。一部、旧1.0.x.xプラグインのサポートが終了する場合もあります。
Wacomタブレットプラグイン(WebPlugin)は、Webアプリケーションで使用可能な一部のタブレットプロパティの取得のサポートを提供するブラウザ拡張です。このプラグインは、インストールされたWacomタブレットドライバサービスと一緒に動作し、筆圧や位置などのペンデータ(セクション2を参照)、およびタブレットに触れる指の本数や指のデータなどのタッチデータ(セクション3を参照)を提供します。
たとえば、タブレットの筆圧や位置プロパティを使用するWeb描画アプリケーション(「走り書き」サンプルで提供されているものなど)を作成すると、Webページにフリーフォームで描画できるようになります。
このドキュメントでは、プラグインAPIの概要に加え、WindowsまたはMac OSXシステムにプラグインをインストールして使用する方法について説明します。
WebPluginペンおよびタッチAPIの使用例は、Wacomソフトウェア開発サポート(http://www.wacomeng.com/web/index.html)で参照できます。
Wacomタブレットドライバソフトウェアのインストール時に、プラグインコンポーネントもユーザーのシステムに自動的にインストールされますが、スタンドアロンプラグインインストーラもhttp://www.wacom.com/productsupport/plugin.phpから入手できます。これは、タブレットドライバソフトウェアを更新していないシステム向けに用意されたものです。
1.1 サポートされているブラウザ
1.1.1 サポートされているブラウザとオペレーティングシステム
Firefox、Safari、Chrome、およびOperaは「Netscape」ブラウザとして知られています。これらのブラウザでWebPluginを使用するには、「ActiveX」APIを使用しているInternet Explorerとは別のAPIが必要です。このドキュメントで説明するWebPluginは、同じプラグインコンポーネントで両方のAPIタイプをサポートします。
WebPluginは、次のブラウザとオペレーティングシステムでサポートされています。
Windows 7、Vista、XP | Mac OSX 10.6、10.7、10.8 | |
Firefox | はい | はい |
Safari | はい | はい |
Chrome | はい | はい |
Internet Explorer | はい | n/a |
通常、具体的に記載されている場合を除き、WebPluginは各ブラウザの最新バージョンおよび旧バージョンをサポートします。
1.2 プラグインファイル
1.2.1 Windowsプラグインファイル
Internet Explorer(IE)とNetscape-plugin(NP)ブラウザのプラグイン操作をサポートするプラグインモジュールが1つあります。
Wacomタブレットドライバソフトウェアをインストールすると、必要なWebPluginコンポーネントがすべてシステムにインストールされ、WebPluginプロパティを使用できるjavascriptアプリケーションをすぐに作成し、(サポートされているタブレットで)ペンおよびタッチデータを取得できます。プログラムの例については、http://www.wacomeng.com/web/index.htmlを参照してください。
Wacomタブレットドライバのインストールでインストールされたプラグインコンポーネントに加え、スタンドアロンWebPluginインストーラがあります(Windowsのみ)。通常、WebPluginコンポーネントはWacomタブレットドライバソフトウェアと一緒に自動的にインストールされるので、スタンドアロンWebPluginインストーラは不要です。ただし、(誤ってアンインストールした、または旧バージョンのタブレットドライバソフトウェアがインストールされているなどの理由で)WebPluginがインストールされていない場合、WebPluginを取得する別のオプションがあります。詳細については、セクション1.2.2を参照してください。
WebPluginは、MIMEタイプによってHTML Webアプリケーションで識別できます。新旧のWebPlugin用のMIMEタイプがあります。
バージョン1.0.x.xのWebPluginはtype=”application/x-wacom-tablet”を使用します
バージョン2.0.0.xのWebPluginはtype=”application/x-wacomtabletplugin”を使用します
IEブラウザは、ActiveX APIを使用し、CLASSID(GUID)でWebPluginを識別します。新旧のWebPlugin GUIDがあります。
バージョン1.0.x.xのWebPluginはclassid=”449E4080-7C69-4767-A1AE-6AAE25B0B906″を使用します
バージョン2.0.0.xのWebPluginはclassid=”092dfa86-5807-5a94-bf3b-5a53ba9e5308″を使用します
2 WebPluginペンAPI
Wacom WebPluginペンAPI(WebPAPI)は、すべてのWacomコンシューマおよびプロフェッショナルタブレットからペンデータにアクセスするためのブラウザプラグインインタフェースです。WebPAPIは、WebPluginコンポーネントに含まれています。このコンポーネントには、Wacom WebPluginタッチAPI(WebTAPI)も含まれています。
ペンデータを使用するアプリケーションの開発用に、Wacomタブレットペンデータにアクセスする必要があるWeb開発者は、WebPAPIを使用できます。WebPAPIの中心には、以下のデータレポートがあります。
- ペンの位置
- ペンの筆圧データ
- ペンの回転データ
- ペンの傾きデータ
- ペンの消しゴムまたはヒント表示
2.1 サポートされているタブレットとWebPluginバージョン
- WebPAPIプロパティは、2.0.0.1より前のWebPluginの全バージョンでサポートされています。
- WebPAPIは現在、すべてのWacomプロフェッショナルおよびコンシューマタブレットでサポートされています。
2.2 開発リソース
WebPAPIを使用するために必要な開発者コンポーネントはタブレットドライバとともにインストールされます。Webアプリケーションのプログラミングをすぐに開始するためにWebPAPIに追加しなければならない「SDK」やモジュールはありません。
WebTAPIの例は、http://www.wacomeng.com/web/index.htmlにあります。
2.3 プログラミングモデル
WebPAPIがシステムアーキテクチャに合致する場所について、図1に概要を示します。単純化するために、ブラウザのプロセス領域内にプラグインが表示されます。実際には、大半のブラウザは「プロセス外」モデルです。このモデルでは、プラグインインスタンスが独自のプロセスで起動します。
WebPAPIは、WebPluginコンポーネントからアクセスされます。このコンポーネントは、タブレットドライバのインストール時にユーザーのシステムにインストールされます。WebPluginは、タブレット上にペンを走らせるときに生成されるペンデータをキャッシュします。javascriptアプリケーションは、最新のペンデータを読み取る際に、いずれかのWebPAPIプロパティ呼び出しを行うだけです(下記のプロパティリストを参照)。ペンの動きとペンデータを同期させる標準的な方法は、javascriptアプリケーションがシステムマウスイベントでペンデータを読み取るというものです(下記の例を参照)。

2.4 WebPluginペンAPI(WebPAPI)のプロパティ
プラグインはどのバージョンでも同じプロパティをエクスポーズします。ただし、すべてのプロパティをサポートしているのはプロフェッショナルWacomタブレット(Intuos、Cintiq )だけです。サポートされていないプロパティはゼロ値を返します。次の表に、サポートされているプロパティを示します。
プロパティ | 種類 | デフォルト値 | 説明 | サポートされているタブレット | 読み取り/書き込み |
isEraser | BYTE | 0 | 最後に確認されたパケット名が消しゴムから来た場合はTRUE、それ以外の場合はFALSE。 | Consumer、Professional | 読み取り専用 |
isWacom | BYTE | 1(接続) 0(未接続) |
オブジェクトがWacom Wintabにアタッチされている場合はTRUE、それ以外の場合はFALSE。 | Consumer、Professional | 読み取り専用 |
pointerType | LONG | 0 | 0 = 入力デバイスなし 1 = ペン 2 = マウスまたはカーソル 3 = 消しゴム |
Consumer、Professional | 読み取り専用 |
posX | LONG | 0 | 最後に確認されたパケットのX位置(ピクセル座標)。 | Consumer、Professional | 読み取り専用 |
posY | LONG | 0 | 最後に確認されたパケットのY位置(ピクセル座標)。 | Consumer、Professional | 読み取り専用 |
pressure | FLOAT | 0.0 | 最後に確認されたパケットの筆圧(範囲は[0.0,1.0])。 | Consumer、Professional | 読み取り専用 |
rotationDeg | FLOAT | 0.0 | 最後に確認されたパケットの回転値(角度)。 | Professional | 読み取り専用 |
rotationRad | FLOAT | 0.0 | 最後に確認されたパケットの回転値(ラジアン)。 | Professional | 読み取り専用 |
sysX | FLOAT | 0.0 | 最後に確認されたパケットのX位置(サブピクセル解像度までのピクセル座標)。 | Consumer、Professional | 読み取り専用 |
sysY | FLOAT | 0.0 | 最後に確認されたパケットのY位置(サブピクセル解像度までのピクセル座標)。 | Consumer、Professional | 読み取り専用 |
tabX | LONG | 0 | 最後に確認されたパケットのX位置(タブレット座標)。 | Consumer、Professional | 読み取り専用 |
tabY | LONG | 0 | 最後に確認されたパケットのY位置(タブレット座標)。 | Consumer、Professional | 読み取り専用 |
SetFocus | BOOL | n/a | True:プラグインを含むブラウザページにタブレットデータイベントに対するフォーカスを取得させます。 False:タブレットデータイベントに対するフォーカスを別のページが取得できるようにします。 |
Consumer、Professional | 読み取り専用 |
TabletModel | STRING | “”(空の文字列) | 最後にタッチしたタブレットのモデル名を返します。 (例:”Intuos4 Medium”) |
Consumer、Professional | 読み取り専用 |
TabletModelID | STRING | “”(空の文字列) | 最後にタッチしたタブレットのタブレットIDを返します。 (例:”PTK-640″) |
Consumer、Professional | 読み取り専用 |
tangentialPressure | FLOAT | 0.0 | 最後に確認されたパケットの接線の筆圧値(範囲は[0.0,1.0])。 | Professional | 読み取り専用 |
tiltX | FLOAT | 0.0 | 最後に確認されたパケットのX傾斜値(範囲は[-1.0, 1.0])。 | Professional | 読み取り専用 |
tiltY | FLOAT | 0.0 | 最後に確認されたパケットのY傾斜値(範囲は[-1.0, 1.0])。 | Professional | 読み取り専用 |
version | LONG | <プラグインバージョン> | 10進数値によるプラグインのバージョン(例:1.1.0.1を1101としてレポート)。 | Consumer、Professional | 読み取り専用 |
2.5 サンプルJavascriptの使用
WebPAPIを使用するjavascriptアプリケーションは、マウスイベント駆動型を採用する必要があります。その場合、javascriptアプリケーションはマウスダウンイベント、マウスドラッグイベント、およびマウスアップイベントの際にペンプロパティを問い合わせます。たとえば、筆圧、ペンのX位置とY位置を取得する場合、次のjavascriptを使用できます。
function mousedrag(evt) { var plugin = document.getElementById('wtPlugin'); var pressure = plugin.penAPI.pressure; var plugin.penAPI.posX; var plugin.penAPI.posY; … }
完全な例は、http://www.wacomeng.com/web/index.htmlにあります。
3 WebPluginタッチAPI
Wacom WebPluginタッチAPI(WebPAPI)は、一部のWacomタブレットからタッチデータにアクセスするためのブラウザプラグインインタフェースです。WebTAPIは、WebPluginコンポーネントに含まれています。このコンポーネントには、Wacom WebPluginペンAPI(WebPAPI)も含まれています。
タッチアプリケーションの開発用に、Wacom未処理タッチタブレットデータにアクセスする必要があるWeb開発者は、WebTAPIを使用できます。WebTAPIにより、開発者は自由にフィンガーデータを使用し、Webアプリケーションを制御したり、アプリケーション独自のジェスチャーを定義したりできるようになります。WebTAPIの中心には、以下のレポートがあります。
- システムにアタッチされ、サポートされているタッチタブレットの数と種類
- アタッチされ、サポートされているタッチタブレットの機能
- タブレットに触れる指の数
- 触れる指ごとの未処理フィンガーデータ
- タッチタブレットの未処理フィンガーデータの到着
- タッチタブレットのアタッチイベント
- タッチタブレットのデタッチイベント
3.1 サポートされているタブレット
- WebTAPIは、2.0.0.1より前のバージョンのWebPluginではサポートされていません。
- WebTAPIは、5.2.5より前のWacomタブレットドライバ(Bambooタブレットドライバ)ではサポートされていません。
- WebTAPIは現在、以下のBambooタブレットでサポートされています。CTT-470、CTH-470、CTH-670。
3.2 開発リソース
WebTAPIを使用するために必要な開発者コンポーネントはタブレットドライバとともにインストールされます。Webアプリケーションのプログラミングをすぐに開始するためにWebTAPIに追加しなければならない「SDK」やモジュールはありません。
WebTAPIの例は、http://www.wacomeng.com/web/index.htmlにあります。
3.3 プログラミングモデル
WebTAPIがシステムアーキテクチャに合致する場所について、図2に概要を示します。単純化するために、ブラウザのプロセス領域内にプラグインが表示されます。実際には、大半のブラウザは「プロセス外」モデルです。このモデルでは、プラグインインスタンスが独自のプロセスで起動します。
WebTAPIは、WebPluginコンポーネントからアクセスされます。このコンポーネントは、タブレットドライバのインストール時にユーザーのシステムにインストールされます。WebPluginアプリケーションは、タッチデバイスがアタッチおよびデタッチされたとき、ならびにデータが使用可能になったとき(タブレットに触れたとき)に通知を受信するように登録します。 アプリケーションは、アタッチイベントやデタッチイベントを受信すると、デバイスの現在のリストをクエリし、1つ選択して、そのデバイスのタッチデバイス機能(たとえば、サポートしている指の数、タブレットの寸法など)をクエリできます。 タッチデータ通知を受信すると、アプリケーションはWebTAPIでタッチデータをクエリできます。
WebアプリケーションはOpen.PassThru引数を使用して(セクション3.5.5を参照)データを使用するか、ただ観察するかを決定し、システムの他のプロセスにそのデータを渡すことができます。 たとえば、Webアプリケーションは、「スクリブル」アプリケーションを実装してタッチデータを描画し、システムカーソルを動かすためにシステムにデータを渡すことができます。

3.4 サンプルJavascriptの使用
WebTAPIを使用するjavascriptアプリケーションは、イベント駆動型を採用する必要があります。その場合、javascriptアプリケーションはタッチデバイスのアタッチイベント、デタッチイベント、およびデータイベントでWebPluginからの通知を待機します。擬似コードでは、このアプリケーションは次のように構築されます。
- アタッチイベントの登録
- デタッチイベントの登録
- アタッチイベント:
- アタッチされたタッチデバイスの現在のリストを読み取る。
タッチデータの受信元デバイスを開く。
そのデバイスからタッチデータを受信するように登録する。
- 未処理フィンガーデータイベント:
- タッチデータを読み取る。
アプリケーションでデータを使用する。
- デタッチイベント:
- アタッチされたタッチデバイスの現在のリストを取得する。
使用中のデバイスが存在しなくなった場合は、そのデバイスを閉じます。
実際のjavascriptの例については、下記のプロパティの例を参照してください。完全な例は、http://www.wacomeng.com/web/index.htmlにあります。
3.5 WebPluginタッチAPI(WebTAPI)のプロパティ
次に、WebTAPIプロパティの概要を示します。詳細については、以降のセクションで説明します。
プロパティまたはイベント名 | パラメータ | 戻りデータ型 | 説明 | 読み取り/書き込み |
TouchRawFingerData | deviceID | FB::VariantMap | 最初に見つかったタッチデバイスからユーザーに最新の未処理フィンガータッチデータを返します。 | 読み取り専用 |
TouchDeviceCapabilities | deviceID | FB::VariantMap | 指定したタッチデバイスの機能を返します。 | 読み取り専用 |
TouchDeviceIDList | なし | FB::VariantList | アタッチされたタッチデバイスIDのリストを返します。 | 読み取り専用 |
Open | deviceID passThru |
成功の場合は0、それ以外は0以外 | 指定したデバイスにアタッチします。 | 書き込み専用 |
Close | deviceID | 成功の場合は0、それ以外は0以外 | 指定したデバイスからデタッチします。 | 書き込み専用 |
TouchDataEvent | n/a | n/a | タッチデータを受信したときに生成されます。 | |
TouchDeviceAttachEvent | n/a | n/a | サポートされているタッチデバイスがシステムにアタッチされたときに生成されます。 | |
TouchDeviceDetachEvent | n/a | n/a | サポートされているタッチデバイスがシステムからデタッチされたときに生成されます。 |
3.5.1 TouchRawFingerData
最初に見つかったタッチデバイスからユーザーに最新の未処理フィンガータッチデータを返します。
3.5.1.1 パラメータ:
TouchDeviceCapabilitiesもしくは、TouchDeviceIDListから取得したdeviceIDを指定します。
有効なID以外のdeviceIDを指定すると、FB::VariantMapのStatusフラグはエラーを示します。
3.5.1.2 戻り値:
FB::VariantMapは下記のメンバーで構成されています。
NumFingers Int //このデータパケットのフィンガー数 DeviceID Int // データの送信元デバイス Status Int // データが有効かどうかを示す(下記を参照) FingerList FB::VariantList // フィンガーデータのリスト FingerList[0] FB::VariantMap // Finger1のデータ FingerID Int // データパケットで指定 PosX float // APIから渡されたX座標(下記を参照) PosY float // APIから渡されたY座標(下記を参照) Width float // フィンガーコンタクトエリアの論理的な幅 Height float // フィンガーコンタクトエリアの論理的な高さ Orientation float // フィンガーコンタクトの垂直線からの楕円の角度 Confidence Int // ドライバが有効なタッチと判断した場合は1 Sensitivity Short // 予約用(Ironwoodでは使用されません) FingerState Int // 現在の指の最後の動き(下記を参照) FingerList[1] FB::VariantMap // Finger2のデータ FingerID Int PosX float PosY float Width float Height float Orientation float Confidence Int Sensitivity Short FingerState Int ...
Statusは、返されたFB::Variantに有効なデータが含まれているかどうかを示します。データが有効な場合、Statusはゼロになります。データが無効な場合、Statusは-1になります。
PosXとPosYは、不透明タブレットに対する0~1.0の論理単位です。
PosXとPosYは、統合タブレットに対する仮想デスクトップ範囲のピクセル画面座標です。
FingerStateは、
0(FingerStateNone): 指の状態が不明です
1(FingerStateDown): 指がタブレットに触れています
2(FingerStateHold): 指がタブレット上に残っています(Downの後)
3(FingerStateUp): 指がタブレットを離れました(Holdの後)
3.5.1.3 サンプルJavascriptの使用:
var deviceID = plugin.touchAPI.TouchDeviceIDList[0]; var fingerdata = plugin.touchAPI.TouchRawFingerData(deviceID); var numFingers = fingerdata.NumFingers; var status = fingerdata.Status; if ( status == 0 ) { var finger1= FingerData.FingerList[0]; var finger1ID = finger1.FingerID; if (finger1.Confidence == 1 && finger1.FingerState != 0) { var finger1PosX = finger1.PosX; var finger1PosY = finger1.PosY; ... } var finger2 = FingerData.FingerList[1]; etc... }
3.5.2 TouchDeviceCapabilities
指定したタッチデバイスの機能を返します。
3.5.2.1 パラメータ:
TouchDeviceIDListから取得したdeviceIDを指定してください。
3.5.2.2 戻り値:
Version Int // データ構造バージョン(Ironwoodリリースの場合は1) DeviceID Int // このデバイスのID DeviceType Int // この値は現在、常にゼロに設定されています MaxFingers Int // デバイスでサポートされている指の最大数 ReportedSizeX Int // X方向のタッチポイントの数 ReportedSizeY Int // Y方向のタッチポイントの数 PhysicalSizeX float // デバイスのアクティブタッチ面の幅(mm) PhysicalSizeY float // デバイスのアクティブタッチ面の高さ(mm) LogicalOriginX float // デバイスのMinX。現在の表示の0,0ポイントが基準になります。 LogicalOriginY float // デバイスのMinY。現在の表示の0,0ポイントが基準になります。 LogicalWidth float // デバイスの論理的な幅。MaxX = LogicalOriginX+LogicalWidth LogicalHeight float // デバイスの論理的な高さ。MaxY = LogicalOriginY+LogicalHeight
呼び出しに失敗した場合、返されたFB::VariantMapはVersion == -1になります。
3.5.2.3 サンプルJavascriptの使用:
var deviceID = plugin.touchAPI.TouchDeviceIDList[0]; var touchDeviceCaps = plugin.touchAPI.TouchDeviceCapabilities(deviceID); var maxNumFingers = touchDeviceCaps.MaxFingers; var maxXTouchPoints = touchDeviceCaps.ReportedSizeX; var maxYTouchPoints = touchDeviceCaps.ReportedSizeY; etc...
3.5.4 TouchDeviceIDList
アタッチされたタッチデバイスIDのリストを返します。
3.5.4.1 パラメータ:
なし
3.5.4.2 戻り値:
アタッチされたタッチデバイスIDのFB::VariantList。タッチデバイスIDがアタッチされていない場合、配列のサイズはゼロです。
3.5.4.3 サンプルJavascriptの使用:
_touchDeviceIDList = plugin.touchAPI.TouchDeviceIDList;
3.5.5 Open
指定したデバイスにアタッチし、そのデバイスのデータがクライアントに送信されるようにクライアントのタッチAPIを初期化するメソッドです。クライアントは、タッチデータがシステムに渡されないように接続することも、タッチデータがクライアントに渡され、システムにデータが送信されるように接続することもできます。
3.5.5.1 パラメータ:
//指定したdeviceIDのタッチデバイスを開きます。 //deviceIDはTouchDeviceIDListもしくは、TouchDeviceCapabilitiesから取得することができます。 deviceID Int // 1: データがシステムに渡されます。0:データはシステムに渡されません。 passThru Int
3.5.5.2 戻り値:
成功の場合は0、エラーの場合は0以外
3.5.5.3 サンプルJavascriptの使用:
var caps = plugin.touchAPI.TouchDeviceCapabilities(-1); // 最初のタッチデバイスの機能を取得します
次のいずれかが機能します。
var status = plugin.touchAPI.Open(-1, 0); // 最初のデバイスを開きます。データをシステムに渡しません var status = plugin.touchAPI.Open(caps.DeviceID, 0); // 指定デバイスを開きます
3.5.6 Close
このメソッドは、指定したデバイスからクライアントをデタッチし、そのデバイスからもタッチデバイスからも、データがこれ以上クライアントに送信されないようにします。
3.5.6.1 パラメータ:
// -1 -> すべてのタッチデバイスを閉じます。または、deviceIDで指定したタッチデバイスを閉じます // TouchDeviceCapabilitiesから渡されます deviceID Int
3.5.6.2 戻り値:
成功の場合は0、エラーの場合は0以外
3.5.6.3 サンプルJavascriptの使用:
次のいずれかが機能します。
var status = plugin.touchAPI.Close (-1); // すべてのデバイスを閉じます var status = plugin.touchAPI.Close (caps.DeviceID); // 指定したデバイスを閉じます
3.5.7 Modes
このメソッドでは、さまざまな条件に対してプラグインを設定できます。現時点でサポートされている条件は次のとおりです。
- CHILD_BIT:プラグインをブラウザの子プロセスまたはブラウザのメインスレッドで実行するようにAPIに指示します。この設定を使用すると、子プロセスでプラグインを開始するか、メインスレッドでプラグインを開始するブラウザでプラグインが実行されるようAPIに設定を指示できます。現在、ほとんどのブラウザ(Internet Explorer、Firefox、Chromeなど)は、別のプロセスでプラグインを開始します。これにより、失敗したプラグインでブラウザ全体がクラッシュすることを防ぐことができます。プラグインAPIは、デフォルトでは子プロセスで実行されることを想定していますが、その動作をオフにし、WebPluginをメインスレッドで実行するように切り替えることができます。
- OBSERVER_BIT:タッチコンシューマまたはタッチオブザーバとして実行されるようにプラグインを設定します。この設定を使用すると、オブザーバモードまたはコンシューマモードで実行されるようにプラグインを設定できます。オブザーバモードで、プラグインはタッチデータを処理し、タッチデータをシステムに渡します。渡されたタッチデータは、別のアプリケーションやシステムでジェスチャーやカーソル移動を実行するために使用できます。コンシューマモードでは、プラグインはタッチデータを処理しますが、システムにはデータを渡しません。
3.5.7.1 パラメータ:
mode Int // 条件のビット単位のOR: // CHILD_BIT: 0x00000001 -> プラグインが子ブラウザプロセスにあることを前提としています // OBSERVER_BIT:0x00000010 -> プラグインはデータをシステムに渡します(オブザーバ) // デフォルトでは、プラグインはコンシューマとして子ブラウザプロセスで実行されます。
3.5.7.2 戻り値:
成功の場合は0、エラーの場合は0以外
3.5.7.3 サンプルJavascriptの使用:
// プラグインがブラウザのメインスレッドで実行され、コンシューマになるようにAPIに指示します var status = plugin.touchAPI.Modes (0); // プラグインが子プロセスで実行され、コンシューマになるようにAPIに指示します var status = plugin.touchAPI.Modes (1); // プラグインが子プロセスで実行され、オブザーバになるようにAPIに指示します var status = plugin.touchAPI.Modes (3);
3.6 WebPluginタッチAPIイベント
3.6.1 TouchDataEvent
サポートされているタッチデバイスからタッチデータを受信したときに生成されます。クライアントのハンドラは、このイベントを受信すると、データをクエリできます(下記を参照)。
3.6.1.1 プラグインイベント名
3.6.1.2 サンプルJavascriptの使用
イベントの登録:
if (window.addEventListener) { obj.addEventListener("TouchDataEvent", touchDataHandler, false); } else { obj.attachEvent("onTouchDataEvent", touchDataHandler); }
イベントの関数ハンドラ:
function touchDataHandler() { // TouchRawFingerDataを使用してキャッシュデータをクエリします // クライアント表示エリアでフィンガーデータを処理/描画します }
3.6.2 TouchDeviceAttachEvent
サポートされているタッチデバイスがシステムにアタッチされたときに生成されます。
3.6.2.1 プラグインイベント名
3.6.2.2 サンプルJavascriptの使用
イベントの登録:
if (window.addEventListener) { obj.addEventListener("TouchDeviceAttachEvent", touchDeviceAttachHandler, false); } else { obj.attachEvent("onTouchDeviceAttachEvent ", touchDeviceAttachHandler); }
イベントの関数ハンドラ:
function touchDeviceAttachHandler () { // タッチデバイスの現在のリストを取得し、最初のデバイスを開きます。 _touchDeviceIDList = plugin.touchAPI.TouchDeviceIDList; _touchDeviceID = _touchDeviceIDList[0]; plugin.touchAPI.Open(_touchDeviceID, 0); }
3.6.3 TouchDeviceDetachEvent
サポートされているタッチデバイスがシステムからデタッチされたときに生成されます。
3.6.3.1 プラグインイベント名
3.6.3.2 サンプルJavascriptの使用
イベントの登録:
if (window.addEventListener) { obj.addEventListener("TouchDeviceDetachEvent",touchDeviceDetachHandler,false); } else { obj.attachEvent("onTouchDeviceDetachEvent", touchDeviceDetachHandler); }
イベントの関数ハンドラ:
function touchDeviceDetachHandler () { // 現在のタッチデバイスへの接続を閉じます plugin().touchAPI.Close(_touchDeviceID); }