Win32 API 日本語リファレンス
ホームGraphics.DirectManipulation › IDirectManipulationViewport

IDirectManipulationViewport

COM
IID28b85a3d-60a0-48bd-9ba1-5ce8d9ea3a6d継承元IUnknown自前メソッド開始 vtbl3

メソッド 28

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT Enable()
vtbl 4 HRESULT Disable()
vtbl 5 HRESULT SetContact(DWORD pointerId)
pointerIdDWORDinこのビューポートに関連付けるポインタ(タッチ等)入力のID。
vtbl 6 HRESULT ReleaseContact(DWORD pointerId)
pointerIdDWORDinビューポートから関連付けを解除するポインタ入力のID。
vtbl 7 HRESULT ReleaseAllContacts()
vtbl 8 HRESULT GetStatus(DIRECTMANIPULATION_STATUS* status)
statusDIRECTMANIPULATION_STATUS*outビューポートの現在の状態を受け取る DIRECTMANIPULATION_STATUS 出力ポインタ。
vtbl 9 HRESULT GetTag(GUID* riid, void** object, DWORD* id)
riidGUID*in取得したいタグオブジェクトのIID(GUID)を指すポインタ。
objectvoid**outoptional関連付けられたタグオブジェクトを受け取る出力ポインタの格納先。
idDWORD*outoptionalタグに付与された識別IDを受け取る出力ポインタ。
vtbl 10 HRESULT SetTag(IUnknown* object, DWORD id)
objectIUnknown*inoptionalビューポートに関連付けるユーザー定義オブジェクトのIUnknownポインタ。
idDWORDinタグに付与する任意の識別IDを指定する。
vtbl 11 HRESULT GetViewportRect(RECT* viewport)
viewportRECT*outビューポートの現在の境界矩形を受け取るRECT出力ポインタ。
vtbl 12 HRESULT SetViewportRect(RECT* viewport)
viewportRECT*inビューポートの境界矩形を指定するRECTポインタ。
vtbl 13 HRESULT ZoomToRect(FLOAT left, FLOAT top, FLOAT right, FLOAT bottom, BOOL animate)
leftFLOATinズーム先矩形の左端座標(コンテンツ座標)を指定する。
topFLOATinズーム先矩形の上端座標(コンテンツ座標)を指定する。
rightFLOATinズーム先矩形の右端座標(コンテンツ座標)を指定する。
bottomFLOATinズーム先矩形の下端座標(コンテンツ座標)を指定する。
animateBOOLinTRUEでアニメーション付き、FALSEで即時にズームを適用する。
vtbl 14 HRESULT SetViewportTransform(FLOAT* matrix, DWORD pointCount)
matrixFLOAT*inビューポートに適用する変換行列(2x3アフィン)を表すFLOAT配列ポインタ。
pointCountDWORDin行列配列の要素数を指定する。通常は6を指定する。
vtbl 15 HRESULT SyncDisplayTransform(FLOAT* matrix, DWORD pointCount)
matrixFLOAT*in表示と同期させる変換行列(2x3アフィン)を表すFLOAT配列ポインタ。
pointCountDWORDin行列配列の要素数を指定する。通常は6を指定する。
vtbl 16 HRESULT GetPrimaryContent(GUID* riid, void** object)
riidGUID*in取得したいプライマリコンテンツのIID(GUID)を指すポインタ。
objectvoid**outビューポートのプライマリコンテンツを受け取る出力ポインタの格納先。
vtbl 17 HRESULT AddContent(IDirectManipulationContent* content)
contentIDirectManipulationContent*inビューポートに追加するコンテンツインターフェイスのポインタ。
vtbl 18 HRESULT RemoveContent(IDirectManipulationContent* content)
contentIDirectManipulationContent*inビューポートから除去するコンテンツインターフェイスのポインタ。
vtbl 19 HRESULT SetViewportOptions(DIRECTMANIPULATION_VIEWPORT_OPTIONS options)
optionsDIRECTMANIPULATION_VIEWPORT_OPTIONSinビューポート挙動を制御する DIRECTMANIPULATION_VIEWPORT_OPTIONS フラグ。
vtbl 20 HRESULT AddConfiguration(DIRECTMANIPULATION_CONFIGURATION configuration)
configurationDIRECTMANIPULATION_CONFIGURATIONinビューポートに追加する操作構成を示す DIRECTMANIPULATION_CONFIGURATION フラグ。
vtbl 21 HRESULT RemoveConfiguration(DIRECTMANIPULATION_CONFIGURATION configuration)
configurationDIRECTMANIPULATION_CONFIGURATIONinビューポートから除去する操作構成を示す DIRECTMANIPULATION_CONFIGURATION フラグ。
vtbl 22 HRESULT ActivateConfiguration(DIRECTMANIPULATION_CONFIGURATION configuration)
configurationDIRECTMANIPULATION_CONFIGURATIONinアクティブにする操作構成を示す DIRECTMANIPULATION_CONFIGURATION フラグ。
vtbl 23 HRESULT SetManualGesture(DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration)
configurationDIRECTMANIPULATION_GESTURE_CONFIGURATIONin手動で扱うジェスチャを示す DIRECTMANIPULATION_GESTURE_CONFIGURATION フラグ。
vtbl 24 HRESULT SetChaining(DIRECTMANIPULATION_MOTION_TYPES enabledTypes)
enabledTypesDIRECTMANIPULATION_MOTION_TYPESin親ビューポートへ連鎖させる動作種別を示す DIRECTMANIPULATION_MOTION_TYPES フラグ。
vtbl 25 HRESULT AddEventHandler(HWND window, IDirectManipulationViewportEventHandler* eventHandler, DWORD* cookie)
windowHWNDinoptionalイベント通知に関連付ける対象ウィンドウのハンドル。NULL可。
eventHandlerIDirectManipulationViewportEventHandler*in状態変化通知を受け取るイベントハンドラのポインタ。
cookieDWORD*out後で解除に用いる登録識別子(クッキー)を受け取る出力ポインタ。
vtbl 26 HRESULT RemoveEventHandler(DWORD cookie)
cookieDWORDinAddEventHandlerで取得した登録識別子を指定してハンドラを解除する。
vtbl 27 HRESULT SetInputMode(DIRECTMANIPULATION_INPUT_MODE mode)
modeDIRECTMANIPULATION_INPUT_MODEin入力の自動/手動処理を切り替える DIRECTMANIPULATION_INPUT_MODE 値。
vtbl 28 HRESULT SetUpdateMode(DIRECTMANIPULATION_INPUT_MODE mode)
modeDIRECTMANIPULATION_INPUT_MODEin更新の自動/手動処理を切り替える DIRECTMANIPULATION_INPUT_MODE 値。
vtbl 29 HRESULT Stop()
vtbl 30 HRESULT Abandon()

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IDirectManipulationViewport "{28B85A3D-60A0-48BD-9BA1-5CE8D9EA3A6D}"
#usecom global IDirectManipulationViewport IID_IDirectManipulationViewport "{34E211B6-3650-4F75-8334-FA359598E1C5}"
#comfunc global IDirectManipulationViewport_Enable                 3
#comfunc global IDirectManipulationViewport_Disable                4
#comfunc global IDirectManipulationViewport_SetContact             5 int
#comfunc global IDirectManipulationViewport_ReleaseContact         6 int
#comfunc global IDirectManipulationViewport_ReleaseAllContacts     7
#comfunc global IDirectManipulationViewport_GetStatus              8 var
#comfunc global IDirectManipulationViewport_GetTag                 9 var,sptr,var
#comfunc global IDirectManipulationViewport_SetTag                 10 sptr,int
#comfunc global IDirectManipulationViewport_GetViewportRect        11 var
#comfunc global IDirectManipulationViewport_SetViewportRect        12 var
#comfunc global IDirectManipulationViewport_ZoomToRect             13 float,float,float,float,int
#comfunc global IDirectManipulationViewport_SetViewportTransform   14 var,int
#comfunc global IDirectManipulationViewport_SyncDisplayTransform   15 var,int
#comfunc global IDirectManipulationViewport_GetPrimaryContent      16 var,sptr
#comfunc global IDirectManipulationViewport_AddContent             17 sptr
#comfunc global IDirectManipulationViewport_RemoveContent          18 sptr
#comfunc global IDirectManipulationViewport_SetViewportOptions     19 int
#comfunc global IDirectManipulationViewport_AddConfiguration       20 int
#comfunc global IDirectManipulationViewport_RemoveConfiguration    21 int
#comfunc global IDirectManipulationViewport_ActivateConfiguration  22 int
#comfunc global IDirectManipulationViewport_SetManualGesture       23 int
#comfunc global IDirectManipulationViewport_SetChaining            24 int
#comfunc global IDirectManipulationViewport_AddEventHandler        25 sptr,sptr,var
#comfunc global IDirectManipulationViewport_RemoveEventHandler     26 int
#comfunc global IDirectManipulationViewport_SetInputMode           27 int
#comfunc global IDirectManipulationViewport_SetUpdateMode          28 int
#comfunc global IDirectManipulationViewport_Stop                   29
#comfunc global IDirectManipulationViewport_Abandon                30
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。