blob: 1f80940b8286850df651b58801ae047bafaf4189 [file] [log] [blame]
/*** Autogenerated by WIDL 6.0-rc3 from include/directmanipulation.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __directmanipulation_h__
#define __directmanipulation_h__
/* Forward declarations */
#ifndef __IDirectManipulationFrameInfoProvider_FWD_DEFINED__
#define __IDirectManipulationFrameInfoProvider_FWD_DEFINED__
typedef interface IDirectManipulationFrameInfoProvider IDirectManipulationFrameInfoProvider;
#ifdef __cplusplus
interface IDirectManipulationFrameInfoProvider;
#endif /* __cplusplus */
#endif
#ifndef __IDirectManipulationManager_FWD_DEFINED__
#define __IDirectManipulationManager_FWD_DEFINED__
typedef interface IDirectManipulationManager IDirectManipulationManager;
#ifdef __cplusplus
interface IDirectManipulationManager;
#endif /* __cplusplus */
#endif
#ifndef __IDirectManipulationContent_FWD_DEFINED__
#define __IDirectManipulationContent_FWD_DEFINED__
typedef interface IDirectManipulationContent IDirectManipulationContent;
#ifdef __cplusplus
interface IDirectManipulationContent;
#endif /* __cplusplus */
#endif
#ifndef __IDirectManipulationUpdateHandler_FWD_DEFINED__
#define __IDirectManipulationUpdateHandler_FWD_DEFINED__
typedef interface IDirectManipulationUpdateHandler IDirectManipulationUpdateHandler;
#ifdef __cplusplus
interface IDirectManipulationUpdateHandler;
#endif /* __cplusplus */
#endif
#ifndef __IDirectManipulationUpdateManager_FWD_DEFINED__
#define __IDirectManipulationUpdateManager_FWD_DEFINED__
typedef interface IDirectManipulationUpdateManager IDirectManipulationUpdateManager;
#ifdef __cplusplus
interface IDirectManipulationUpdateManager;
#endif /* __cplusplus */
#endif
#ifndef __IDirectManipulationCompositor_FWD_DEFINED__
#define __IDirectManipulationCompositor_FWD_DEFINED__
typedef interface IDirectManipulationCompositor IDirectManipulationCompositor;
#ifdef __cplusplus
interface IDirectManipulationCompositor;
#endif /* __cplusplus */
#endif
#ifndef __IDirectManipulationViewport_FWD_DEFINED__
#define __IDirectManipulationViewport_FWD_DEFINED__
typedef interface IDirectManipulationViewport IDirectManipulationViewport;
#ifdef __cplusplus
interface IDirectManipulationViewport;
#endif /* __cplusplus */
#endif
#ifndef __IDirectManipulationViewport2_FWD_DEFINED__
#define __IDirectManipulationViewport2_FWD_DEFINED__
typedef interface IDirectManipulationViewport2 IDirectManipulationViewport2;
#ifdef __cplusplus
interface IDirectManipulationViewport2;
#endif /* __cplusplus */
#endif
#ifndef __IDirectManipulationViewportEventHandler_FWD_DEFINED__
#define __IDirectManipulationViewportEventHandler_FWD_DEFINED__
typedef interface IDirectManipulationViewportEventHandler IDirectManipulationViewportEventHandler;
#ifdef __cplusplus
interface IDirectManipulationViewportEventHandler;
#endif /* __cplusplus */
#endif
#ifndef __IDirectManipulationManager2_FWD_DEFINED__
#define __IDirectManipulationManager2_FWD_DEFINED__
typedef interface IDirectManipulationManager2 IDirectManipulationManager2;
#ifdef __cplusplus
interface IDirectManipulationManager2;
#endif /* __cplusplus */
#endif
#ifndef __IDirectManipulationPrimaryContent_FWD_DEFINED__
#define __IDirectManipulationPrimaryContent_FWD_DEFINED__
typedef interface IDirectManipulationPrimaryContent IDirectManipulationPrimaryContent;
#ifdef __cplusplus
interface IDirectManipulationPrimaryContent;
#endif /* __cplusplus */
#endif
#ifndef __IDirectManipulationCompositor2_FWD_DEFINED__
#define __IDirectManipulationCompositor2_FWD_DEFINED__
typedef interface IDirectManipulationCompositor2 IDirectManipulationCompositor2;
#ifdef __cplusplus
interface IDirectManipulationCompositor2;
#endif /* __cplusplus */
#endif
#ifndef __DirectManipulationManager_FWD_DEFINED__
#define __DirectManipulationManager_FWD_DEFINED__
#ifdef __cplusplus
typedef class DirectManipulationManager DirectManipulationManager;
#else
typedef struct DirectManipulationManager DirectManipulationManager;
#endif /* defined __cplusplus */
#endif /* defined __DirectManipulationManager_FWD_DEFINED__ */
#ifndef __DirectManipulationSharedManager_FWD_DEFINED__
#define __DirectManipulationSharedManager_FWD_DEFINED__
#ifdef __cplusplus
typedef class DirectManipulationSharedManager DirectManipulationSharedManager;
#else
typedef struct DirectManipulationSharedManager DirectManipulationSharedManager;
#endif /* defined __cplusplus */
#endif /* defined __DirectManipulationSharedManager_FWD_DEFINED__ */
#ifndef __DCompManipulationCompositor_FWD_DEFINED__
#define __DCompManipulationCompositor_FWD_DEFINED__
#ifdef __cplusplus
typedef class DCompManipulationCompositor DCompManipulationCompositor;
#else
typedef struct DCompManipulationCompositor DCompManipulationCompositor;
#endif /* defined __cplusplus */
#endif /* defined __DCompManipulationCompositor_FWD_DEFINED__ */
#ifndef __DirectManipulationViewport_FWD_DEFINED__
#define __DirectManipulationViewport_FWD_DEFINED__
#ifdef __cplusplus
typedef class DirectManipulationViewport DirectManipulationViewport;
#else
typedef struct DirectManipulationViewport DirectManipulationViewport;
#endif /* defined __cplusplus */
#endif /* defined __DirectManipulationViewport_FWD_DEFINED__ */
/* Headers for imported files */
#include <oaidl.h>
#include <ocidl.h>
#ifdef __cplusplus
extern "C" {
#endif
#if 0
typedef void *HWND;
#endif
#ifndef __IDirectManipulationViewportEventHandler_FWD_DEFINED__
#define __IDirectManipulationViewportEventHandler_FWD_DEFINED__
typedef interface IDirectManipulationViewportEventHandler IDirectManipulationViewportEventHandler;
#ifdef __cplusplus
interface IDirectManipulationViewportEventHandler;
#endif /* __cplusplus */
#endif
typedef enum DIRECTMANIPULATION_HITTEST_TYPE {
DIRECTMANIPULATION_HITTEST_TYPE_ASYNCHRONOUS = 0x0,
DIRECTMANIPULATION_HITTEST_TYPE_SYNCHRONOUS = 0x1,
DIRECTMANIPULATION_HITTEST_TYPE_AUTO_SYNCHRONOUS = 0x2
} DIRECTMANIPULATION_HITTEST_TYPE;
DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_HITTEST_TYPE)
typedef enum DIRECTMANIPULATION_STATUS {
DIRECTMANIPULATION_BUILDING = 0,
DIRECTMANIPULATION_ENABLED = 1,
DIRECTMANIPULATION_DISABLED = 2,
DIRECTMANIPULATION_RUNNING = 3,
DIRECTMANIPULATION_INERTIA = 4,
DIRECTMANIPULATION_READY = 5,
DIRECTMANIPULATION_SUSPENDED = 6
} DIRECTMANIPULATION_STATUS;
typedef enum DIRECTMANIPULATION_VIEWPORT_OPTIONS {
DIRECTMANIPULATION_VIEWPORT_OPTIONS_DEFAULT = 0x0,
DIRECTMANIPULATION_VIEWPORT_OPTIONS_AUTODISABLE = 0x1,
DIRECTMANIPULATION_VIEWPORT_OPTIONS_MANUALUPDATE = 0x2,
DIRECTMANIPULATION_VIEWPORT_OPTIONS_INPUT = 0x4,
DIRECTMANIPULATION_VIEWPORT_OPTIONS_EXPLICITHITTEST = 0x8,
DIRECTMANIPULATION_VIEWPORT_OPTIONS_DISABLEPIXELSNAPPING = 0x10
} DIRECTMANIPULATION_VIEWPORT_OPTIONS;
DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_VIEWPORT_OPTIONS)
typedef enum DIRECTMANIPULATION_CONFIGURATION {
DIRECTMANIPULATION_CONFIGURATION_NONE = 0x0,
DIRECTMANIPULATION_CONFIGURATION_INTERACTION = 0x1,
DIRECTMANIPULATION_CONFIGURATION_TRANSLATION_X = 0x2,
DIRECTMANIPULATION_CONFIGURATION_TRANSLATION_Y = 0x4,
DIRECTMANIPULATION_CONFIGURATION_SCALING = 0x10,
DIRECTMANIPULATION_CONFIGURATION_TRANSLATION_INERTIA = 0x20,
DIRECTMANIPULATION_CONFIGURATION_SCALING_INERTIA = 0x80,
DIRECTMANIPULATION_CONFIGURATION_RAILS_X = 0x100,
DIRECTMANIPULATION_CONFIGURATION_RAILS_Y = 0x200
} DIRECTMANIPULATION_CONFIGURATION;
DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_CONFIGURATION)
typedef enum DIRECTMANIPULATION_GESTURE_CONFIGURATION {
DIRECTMANIPULATION_GESTURE_NONE = 0x0,
DIRECTMANIPULATION_GESTURE_DEFAULT = 0x0,
DIRECTMANIPULATION_GESTURE_CROSS_SLIDE_VERTICAL = 0x8,
DIRECTMANIPULATION_GESTURE_CROSS_SLIDE_HORIZONTAL = 0x10,
DIRECTMANIPULATION_GESTURE_PINCH_ZOOM = 0x20
} DIRECTMANIPULATION_GESTURE_CONFIGURATION;
DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_GESTURE_CONFIGURATION)
typedef enum DIRECTMANIPULATION_MOTION_TYPES {
DIRECTMANIPULATION_MOTION_NONE = 0x0,
DIRECTMANIPULATION_MOTION_TRANSLATEX = 0x1,
DIRECTMANIPULATION_MOTION_TRANSLATEY = 0x2,
DIRECTMANIPULATION_MOTION_ZOOM = 0x4,
DIRECTMANIPULATION_MOTION_CENTERX = 0x10,
DIRECTMANIPULATION_MOTION_CENTERY = 0x20,
DIRECTMANIPULATION_MOTION_ALL = (((DIRECTMANIPULATION_MOTION_TRANSLATEX | DIRECTMANIPULATION_MOTION_TRANSLATEY) | DIRECTMANIPULATION_MOTION_ZOOM) | DIRECTMANIPULATION_MOTION_CENTERX) | DIRECTMANIPULATION_MOTION_CENTERY
} DIRECTMANIPULATION_MOTION_TYPES;
DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_MOTION_TYPES)
typedef enum DIRECTMANIPULATION_SNAPPOINT_TYPE {
DIRECTMANIPULATION_SNAPPOINT_MANDATORY = 0,
DIRECTMANIPULATION_SNAPPOINT_OPTIONAL = 1,
DIRECTMANIPULATION_SNAPPOINT_MANDATORY_SINGLE = 2,
DIRECTMANIPULATION_SNAPPOINT_OPTIONAL_SINGLE = 3
} DIRECTMANIPULATION_SNAPPOINT_TYPE;
typedef enum DIRECTMANIPULATION_SNAPPOINT_COORDINATE {
DIRECTMANIPULATION_COORDINATE_BOUNDARY = 0x0,
DIRECTMANIPULATION_COORDINATE_ORIGIN = 0x1,
DIRECTMANIPULATION_COORDINATE_MIRRORED = 0x10
} DIRECTMANIPULATION_SNAPPOINT_COORDINATE;
DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_SNAPPOINT_COORDINATE)
typedef enum DIRECTMANIPULATION_HORIZONTALALIGNMENT {
DIRECTMANIPULATION_HORIZONTALALIGNMENT_NONE = 0x0,
DIRECTMANIPULATION_HORIZONTALALIGNMENT_LEFT = 0x1,
DIRECTMANIPULATION_HORIZONTALALIGNMENT_CENTER = 0x2,
DIRECTMANIPULATION_HORIZONTALALIGNMENT_RIGHT = 0x4,
DIRECTMANIPULATION_HORIZONTALALIGNMENT_UNLOCKCENTER = 0x8
} DIRECTMANIPULATION_HORIZONTALALIGNMENT;
DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_HORIZONTALALIGNMENT)
typedef enum DIRECTMANIPULATION_VERTICALALIGNMENT {
DIRECTMANIPULATION_VERTICALALIGNMENT_NONE = 0x0,
DIRECTMANIPULATION_VERTICALALIGNMENT_TOP = 0x1,
DIRECTMANIPULATION_VERTICALALIGNMENT_CENTER = 0x2,
DIRECTMANIPULATION_VERTICALALIGNMENT_BOTTOM = 0x4,
DIRECTMANIPULATION_VERTICALALIGNMENT_UNLOCKCENTER = 0x8
} DIRECTMANIPULATION_VERTICALALIGNMENT;
DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_VERTICALALIGNMENT)
typedef enum DIRECTMANIPULATION_INPUT_MODE {
DIRECTMANIPULATION_INPUT_MODE_AUTOMATIC = 0,
DIRECTMANIPULATION_INPUT_MODE_MANUAL = 1
} DIRECTMANIPULATION_INPUT_MODE;
/*****************************************************************************
* IDirectManipulationFrameInfoProvider interface
*/
#ifndef __IDirectManipulationFrameInfoProvider_INTERFACE_DEFINED__
#define __IDirectManipulationFrameInfoProvider_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationFrameInfoProvider, 0xfb759dba, 0x6f4c, 0x4c01, 0x87,0x4e, 0x19,0xc8,0xa0,0x59,0x07,0xf9);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fb759dba-6f4c-4c01-874e-19c8a05907f9")
IDirectManipulationFrameInfoProvider : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetNextFrameInfo(
ULONGLONG *time,
ULONGLONG *process,
ULONGLONG *composition) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationFrameInfoProvider, 0xfb759dba, 0x6f4c, 0x4c01, 0x87,0x4e, 0x19,0xc8,0xa0,0x59,0x07,0xf9)
#endif
#else
typedef struct IDirectManipulationFrameInfoProviderVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationFrameInfoProvider *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationFrameInfoProvider *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationFrameInfoProvider *This);
/*** IDirectManipulationFrameInfoProvider methods ***/
HRESULT (STDMETHODCALLTYPE *GetNextFrameInfo)(
IDirectManipulationFrameInfoProvider *This,
ULONGLONG *time,
ULONGLONG *process,
ULONGLONG *composition);
END_INTERFACE
} IDirectManipulationFrameInfoProviderVtbl;
interface IDirectManipulationFrameInfoProvider {
CONST_VTBL IDirectManipulationFrameInfoProviderVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationFrameInfoProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationFrameInfoProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationFrameInfoProvider_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationFrameInfoProvider methods ***/
#define IDirectManipulationFrameInfoProvider_GetNextFrameInfo(This,time,process,composition) (This)->lpVtbl->GetNextFrameInfo(This,time,process,composition)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationFrameInfoProvider_QueryInterface(IDirectManipulationFrameInfoProvider* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationFrameInfoProvider_AddRef(IDirectManipulationFrameInfoProvider* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationFrameInfoProvider_Release(IDirectManipulationFrameInfoProvider* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationFrameInfoProvider methods ***/
static FORCEINLINE HRESULT IDirectManipulationFrameInfoProvider_GetNextFrameInfo(IDirectManipulationFrameInfoProvider* This,ULONGLONG *time,ULONGLONG *process,ULONGLONG *composition) {
return This->lpVtbl->GetNextFrameInfo(This,time,process,composition);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationFrameInfoProvider_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectManipulationManager interface
*/
#ifndef __IDirectManipulationManager_INTERFACE_DEFINED__
#define __IDirectManipulationManager_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationManager, 0xfbf5d3b4, 0x70c7, 0x4163, 0x93,0x22, 0x5a,0x6f,0x66,0x0d,0x6f,0xbc);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fbf5d3b4-70c7-4163-9322-5a6f660d6fbc")
IDirectManipulationManager : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Activate(
HWND window) = 0;
virtual HRESULT STDMETHODCALLTYPE Deactivate(
HWND window) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterHitTestTarget(
HWND window,
HWND hittest,
DIRECTMANIPULATION_HITTEST_TYPE type) = 0;
virtual HRESULT STDMETHODCALLTYPE ProcessInput(
const MSG *msg,
WINBOOL *handled) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUpdateManager(
REFIID riid,
void **obj) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateViewport(
IDirectManipulationFrameInfoProvider *frame,
HWND window,
REFIID riid,
void **obj) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateContent(
IDirectManipulationFrameInfoProvider *frame,
REFCLSID clsid,
REFIID riid,
void **obj) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationManager, 0xfbf5d3b4, 0x70c7, 0x4163, 0x93,0x22, 0x5a,0x6f,0x66,0x0d,0x6f,0xbc)
#endif
#else
typedef struct IDirectManipulationManagerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationManager *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationManager *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationManager *This);
/*** IDirectManipulationManager methods ***/
HRESULT (STDMETHODCALLTYPE *Activate)(
IDirectManipulationManager *This,
HWND window);
HRESULT (STDMETHODCALLTYPE *Deactivate)(
IDirectManipulationManager *This,
HWND window);
HRESULT (STDMETHODCALLTYPE *RegisterHitTestTarget)(
IDirectManipulationManager *This,
HWND window,
HWND hittest,
DIRECTMANIPULATION_HITTEST_TYPE type);
HRESULT (STDMETHODCALLTYPE *ProcessInput)(
IDirectManipulationManager *This,
const MSG *msg,
WINBOOL *handled);
HRESULT (STDMETHODCALLTYPE *GetUpdateManager)(
IDirectManipulationManager *This,
REFIID riid,
void **obj);
HRESULT (STDMETHODCALLTYPE *CreateViewport)(
IDirectManipulationManager *This,
IDirectManipulationFrameInfoProvider *frame,
HWND window,
REFIID riid,
void **obj);
HRESULT (STDMETHODCALLTYPE *CreateContent)(
IDirectManipulationManager *This,
IDirectManipulationFrameInfoProvider *frame,
REFCLSID clsid,
REFIID riid,
void **obj);
END_INTERFACE
} IDirectManipulationManagerVtbl;
interface IDirectManipulationManager {
CONST_VTBL IDirectManipulationManagerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationManager_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationManager methods ***/
#define IDirectManipulationManager_Activate(This,window) (This)->lpVtbl->Activate(This,window)
#define IDirectManipulationManager_Deactivate(This,window) (This)->lpVtbl->Deactivate(This,window)
#define IDirectManipulationManager_RegisterHitTestTarget(This,window,hittest,type) (This)->lpVtbl->RegisterHitTestTarget(This,window,hittest,type)
#define IDirectManipulationManager_ProcessInput(This,msg,handled) (This)->lpVtbl->ProcessInput(This,msg,handled)
#define IDirectManipulationManager_GetUpdateManager(This,riid,obj) (This)->lpVtbl->GetUpdateManager(This,riid,obj)
#define IDirectManipulationManager_CreateViewport(This,frame,window,riid,obj) (This)->lpVtbl->CreateViewport(This,frame,window,riid,obj)
#define IDirectManipulationManager_CreateContent(This,frame,clsid,riid,obj) (This)->lpVtbl->CreateContent(This,frame,clsid,riid,obj)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationManager_QueryInterface(IDirectManipulationManager* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationManager_AddRef(IDirectManipulationManager* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationManager_Release(IDirectManipulationManager* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationManager methods ***/
static FORCEINLINE HRESULT IDirectManipulationManager_Activate(IDirectManipulationManager* This,HWND window) {
return This->lpVtbl->Activate(This,window);
}
static FORCEINLINE HRESULT IDirectManipulationManager_Deactivate(IDirectManipulationManager* This,HWND window) {
return This->lpVtbl->Deactivate(This,window);
}
static FORCEINLINE HRESULT IDirectManipulationManager_RegisterHitTestTarget(IDirectManipulationManager* This,HWND window,HWND hittest,DIRECTMANIPULATION_HITTEST_TYPE type) {
return This->lpVtbl->RegisterHitTestTarget(This,window,hittest,type);
}
static FORCEINLINE HRESULT IDirectManipulationManager_ProcessInput(IDirectManipulationManager* This,const MSG *msg,WINBOOL *handled) {
return This->lpVtbl->ProcessInput(This,msg,handled);
}
static FORCEINLINE HRESULT IDirectManipulationManager_GetUpdateManager(IDirectManipulationManager* This,REFIID riid,void **obj) {
return This->lpVtbl->GetUpdateManager(This,riid,obj);
}
static FORCEINLINE HRESULT IDirectManipulationManager_CreateViewport(IDirectManipulationManager* This,IDirectManipulationFrameInfoProvider *frame,HWND window,REFIID riid,void **obj) {
return This->lpVtbl->CreateViewport(This,frame,window,riid,obj);
}
static FORCEINLINE HRESULT IDirectManipulationManager_CreateContent(IDirectManipulationManager* This,IDirectManipulationFrameInfoProvider *frame,REFCLSID clsid,REFIID riid,void **obj) {
return This->lpVtbl->CreateContent(This,frame,clsid,riid,obj);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationManager_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectManipulationContent interface
*/
#ifndef __IDirectManipulationContent_INTERFACE_DEFINED__
#define __IDirectManipulationContent_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationContent, 0xb89962cb, 0x3d89, 0x442b, 0xbb,0x58, 0x50,0x98,0xfa,0x0f,0x9f,0x16);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b89962cb-3d89-442b-bb58-5098fa0f9f16")
IDirectManipulationContent : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetContentRect(
RECT *size) = 0;
virtual HRESULT STDMETHODCALLTYPE SetContentRect(
const RECT *size) = 0;
virtual HRESULT STDMETHODCALLTYPE GetViewport(
REFIID riid,
void **object) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTag(
REFIID riid,
void **object,
UINT32 *id) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTag(
IUnknown *object,
UINT32 id) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputTransform(
float *matrix,
DWORD count) = 0;
virtual HRESULT STDMETHODCALLTYPE GetContentTransform(
float *matrix,
DWORD count) = 0;
virtual HRESULT STDMETHODCALLTYPE SyncContentTransform(
const float *matrix,
DWORD count) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationContent, 0xb89962cb, 0x3d89, 0x442b, 0xbb,0x58, 0x50,0x98,0xfa,0x0f,0x9f,0x16)
#endif
#else
typedef struct IDirectManipulationContentVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationContent *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationContent *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationContent *This);
/*** IDirectManipulationContent methods ***/
HRESULT (STDMETHODCALLTYPE *GetContentRect)(
IDirectManipulationContent *This,
RECT *size);
HRESULT (STDMETHODCALLTYPE *SetContentRect)(
IDirectManipulationContent *This,
const RECT *size);
HRESULT (STDMETHODCALLTYPE *GetViewport)(
IDirectManipulationContent *This,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *GetTag)(
IDirectManipulationContent *This,
REFIID riid,
void **object,
UINT32 *id);
HRESULT (STDMETHODCALLTYPE *SetTag)(
IDirectManipulationContent *This,
IUnknown *object,
UINT32 id);
HRESULT (STDMETHODCALLTYPE *GetOutputTransform)(
IDirectManipulationContent *This,
float *matrix,
DWORD count);
HRESULT (STDMETHODCALLTYPE *GetContentTransform)(
IDirectManipulationContent *This,
float *matrix,
DWORD count);
HRESULT (STDMETHODCALLTYPE *SyncContentTransform)(
IDirectManipulationContent *This,
const float *matrix,
DWORD count);
END_INTERFACE
} IDirectManipulationContentVtbl;
interface IDirectManipulationContent {
CONST_VTBL IDirectManipulationContentVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationContent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationContent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationContent_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationContent methods ***/
#define IDirectManipulationContent_GetContentRect(This,size) (This)->lpVtbl->GetContentRect(This,size)
#define IDirectManipulationContent_SetContentRect(This,size) (This)->lpVtbl->SetContentRect(This,size)
#define IDirectManipulationContent_GetViewport(This,riid,object) (This)->lpVtbl->GetViewport(This,riid,object)
#define IDirectManipulationContent_GetTag(This,riid,object,id) (This)->lpVtbl->GetTag(This,riid,object,id)
#define IDirectManipulationContent_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id)
#define IDirectManipulationContent_GetOutputTransform(This,matrix,count) (This)->lpVtbl->GetOutputTransform(This,matrix,count)
#define IDirectManipulationContent_GetContentTransform(This,matrix,count) (This)->lpVtbl->GetContentTransform(This,matrix,count)
#define IDirectManipulationContent_SyncContentTransform(This,matrix,count) (This)->lpVtbl->SyncContentTransform(This,matrix,count)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationContent_QueryInterface(IDirectManipulationContent* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationContent_AddRef(IDirectManipulationContent* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationContent_Release(IDirectManipulationContent* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationContent methods ***/
static FORCEINLINE HRESULT IDirectManipulationContent_GetContentRect(IDirectManipulationContent* This,RECT *size) {
return This->lpVtbl->GetContentRect(This,size);
}
static FORCEINLINE HRESULT IDirectManipulationContent_SetContentRect(IDirectManipulationContent* This,const RECT *size) {
return This->lpVtbl->SetContentRect(This,size);
}
static FORCEINLINE HRESULT IDirectManipulationContent_GetViewport(IDirectManipulationContent* This,REFIID riid,void **object) {
return This->lpVtbl->GetViewport(This,riid,object);
}
static FORCEINLINE HRESULT IDirectManipulationContent_GetTag(IDirectManipulationContent* This,REFIID riid,void **object,UINT32 *id) {
return This->lpVtbl->GetTag(This,riid,object,id);
}
static FORCEINLINE HRESULT IDirectManipulationContent_SetTag(IDirectManipulationContent* This,IUnknown *object,UINT32 id) {
return This->lpVtbl->SetTag(This,object,id);
}
static FORCEINLINE HRESULT IDirectManipulationContent_GetOutputTransform(IDirectManipulationContent* This,float *matrix,DWORD count) {
return This->lpVtbl->GetOutputTransform(This,matrix,count);
}
static FORCEINLINE HRESULT IDirectManipulationContent_GetContentTransform(IDirectManipulationContent* This,float *matrix,DWORD count) {
return This->lpVtbl->GetContentTransform(This,matrix,count);
}
static FORCEINLINE HRESULT IDirectManipulationContent_SyncContentTransform(IDirectManipulationContent* This,const float *matrix,DWORD count) {
return This->lpVtbl->SyncContentTransform(This,matrix,count);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationContent_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectManipulationUpdateHandler interface
*/
#ifndef __IDirectManipulationUpdateHandler_INTERFACE_DEFINED__
#define __IDirectManipulationUpdateHandler_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationUpdateHandler, 0x790b6337, 0x64f8, 0x4ff5, 0xa2,0x69, 0xb3,0x2b,0xc2,0xaf,0x27,0xa7);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("790b6337-64f8-4ff5-a269-b32bc2af27a7")
IDirectManipulationUpdateHandler : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Update(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationUpdateHandler, 0x790b6337, 0x64f8, 0x4ff5, 0xa2,0x69, 0xb3,0x2b,0xc2,0xaf,0x27,0xa7)
#endif
#else
typedef struct IDirectManipulationUpdateHandlerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationUpdateHandler *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationUpdateHandler *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationUpdateHandler *This);
/*** IDirectManipulationUpdateHandler methods ***/
HRESULT (STDMETHODCALLTYPE *Update)(
IDirectManipulationUpdateHandler *This);
END_INTERFACE
} IDirectManipulationUpdateHandlerVtbl;
interface IDirectManipulationUpdateHandler {
CONST_VTBL IDirectManipulationUpdateHandlerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationUpdateHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationUpdateHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationUpdateHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationUpdateHandler methods ***/
#define IDirectManipulationUpdateHandler_Update(This) (This)->lpVtbl->Update(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationUpdateHandler_QueryInterface(IDirectManipulationUpdateHandler* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationUpdateHandler_AddRef(IDirectManipulationUpdateHandler* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationUpdateHandler_Release(IDirectManipulationUpdateHandler* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationUpdateHandler methods ***/
static FORCEINLINE HRESULT IDirectManipulationUpdateHandler_Update(IDirectManipulationUpdateHandler* This) {
return This->lpVtbl->Update(This);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationUpdateHandler_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectManipulationUpdateManager interface
*/
#ifndef __IDirectManipulationUpdateManager_INTERFACE_DEFINED__
#define __IDirectManipulationUpdateManager_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationUpdateManager, 0xb0ae62fd, 0xbe34, 0x46e7, 0x9c,0xaa, 0xd3,0x61,0xfa,0xcb,0xb9,0xcc);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b0ae62fd-be34-46e7-9caa-d361facbb9cc")
IDirectManipulationUpdateManager : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE RegisterWaitHandleCallback(
HANDLE handle,
IDirectManipulationUpdateHandler *handler,
DWORD *cookie) = 0;
virtual HRESULT STDMETHODCALLTYPE UnregisterWaitHandleCallback(
DWORD cookie) = 0;
virtual HRESULT STDMETHODCALLTYPE Update(
IDirectManipulationFrameInfoProvider *provider) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationUpdateManager, 0xb0ae62fd, 0xbe34, 0x46e7, 0x9c,0xaa, 0xd3,0x61,0xfa,0xcb,0xb9,0xcc)
#endif
#else
typedef struct IDirectManipulationUpdateManagerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationUpdateManager *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationUpdateManager *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationUpdateManager *This);
/*** IDirectManipulationUpdateManager methods ***/
HRESULT (STDMETHODCALLTYPE *RegisterWaitHandleCallback)(
IDirectManipulationUpdateManager *This,
HANDLE handle,
IDirectManipulationUpdateHandler *handler,
DWORD *cookie);
HRESULT (STDMETHODCALLTYPE *UnregisterWaitHandleCallback)(
IDirectManipulationUpdateManager *This,
DWORD cookie);
HRESULT (STDMETHODCALLTYPE *Update)(
IDirectManipulationUpdateManager *This,
IDirectManipulationFrameInfoProvider *provider);
END_INTERFACE
} IDirectManipulationUpdateManagerVtbl;
interface IDirectManipulationUpdateManager {
CONST_VTBL IDirectManipulationUpdateManagerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationUpdateManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationUpdateManager_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationUpdateManager_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationUpdateManager methods ***/
#define IDirectManipulationUpdateManager_RegisterWaitHandleCallback(This,handle,handler,cookie) (This)->lpVtbl->RegisterWaitHandleCallback(This,handle,handler,cookie)
#define IDirectManipulationUpdateManager_UnregisterWaitHandleCallback(This,cookie) (This)->lpVtbl->UnregisterWaitHandleCallback(This,cookie)
#define IDirectManipulationUpdateManager_Update(This,provider) (This)->lpVtbl->Update(This,provider)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationUpdateManager_QueryInterface(IDirectManipulationUpdateManager* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationUpdateManager_AddRef(IDirectManipulationUpdateManager* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationUpdateManager_Release(IDirectManipulationUpdateManager* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationUpdateManager methods ***/
static FORCEINLINE HRESULT IDirectManipulationUpdateManager_RegisterWaitHandleCallback(IDirectManipulationUpdateManager* This,HANDLE handle,IDirectManipulationUpdateHandler *handler,DWORD *cookie) {
return This->lpVtbl->RegisterWaitHandleCallback(This,handle,handler,cookie);
}
static FORCEINLINE HRESULT IDirectManipulationUpdateManager_UnregisterWaitHandleCallback(IDirectManipulationUpdateManager* This,DWORD cookie) {
return This->lpVtbl->UnregisterWaitHandleCallback(This,cookie);
}
static FORCEINLINE HRESULT IDirectManipulationUpdateManager_Update(IDirectManipulationUpdateManager* This,IDirectManipulationFrameInfoProvider *provider) {
return This->lpVtbl->Update(This,provider);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationUpdateManager_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectManipulationCompositor interface
*/
#ifndef __IDirectManipulationCompositor_INTERFACE_DEFINED__
#define __IDirectManipulationCompositor_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationCompositor, 0x537a0825, 0x0387, 0x4efa, 0xb6,0x2f, 0x71,0xeb,0x1f,0x08,0x5a,0x7e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("537a0825-0387-4efa-b62f-71eb1f085a7e")
IDirectManipulationCompositor : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE AddContent(
IDirectManipulationContent *content,
IUnknown *device,
IUnknown *parent,
IUnknown *child) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveContent(
IDirectManipulationContent *content) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUpdateManager(
IDirectManipulationUpdateManager *manager) = 0;
virtual HRESULT STDMETHODCALLTYPE Flush(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationCompositor, 0x537a0825, 0x0387, 0x4efa, 0xb6,0x2f, 0x71,0xeb,0x1f,0x08,0x5a,0x7e)
#endif
#else
typedef struct IDirectManipulationCompositorVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationCompositor *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationCompositor *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationCompositor *This);
/*** IDirectManipulationCompositor methods ***/
HRESULT (STDMETHODCALLTYPE *AddContent)(
IDirectManipulationCompositor *This,
IDirectManipulationContent *content,
IUnknown *device,
IUnknown *parent,
IUnknown *child);
HRESULT (STDMETHODCALLTYPE *RemoveContent)(
IDirectManipulationCompositor *This,
IDirectManipulationContent *content);
HRESULT (STDMETHODCALLTYPE *SetUpdateManager)(
IDirectManipulationCompositor *This,
IDirectManipulationUpdateManager *manager);
HRESULT (STDMETHODCALLTYPE *Flush)(
IDirectManipulationCompositor *This);
END_INTERFACE
} IDirectManipulationCompositorVtbl;
interface IDirectManipulationCompositor {
CONST_VTBL IDirectManipulationCompositorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationCompositor_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationCompositor_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationCompositor methods ***/
#define IDirectManipulationCompositor_AddContent(This,content,device,parent,child) (This)->lpVtbl->AddContent(This,content,device,parent,child)
#define IDirectManipulationCompositor_RemoveContent(This,content) (This)->lpVtbl->RemoveContent(This,content)
#define IDirectManipulationCompositor_SetUpdateManager(This,manager) (This)->lpVtbl->SetUpdateManager(This,manager)
#define IDirectManipulationCompositor_Flush(This) (This)->lpVtbl->Flush(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationCompositor_QueryInterface(IDirectManipulationCompositor* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationCompositor_AddRef(IDirectManipulationCompositor* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationCompositor_Release(IDirectManipulationCompositor* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationCompositor methods ***/
static FORCEINLINE HRESULT IDirectManipulationCompositor_AddContent(IDirectManipulationCompositor* This,IDirectManipulationContent *content,IUnknown *device,IUnknown *parent,IUnknown *child) {
return This->lpVtbl->AddContent(This,content,device,parent,child);
}
static FORCEINLINE HRESULT IDirectManipulationCompositor_RemoveContent(IDirectManipulationCompositor* This,IDirectManipulationContent *content) {
return This->lpVtbl->RemoveContent(This,content);
}
static FORCEINLINE HRESULT IDirectManipulationCompositor_SetUpdateManager(IDirectManipulationCompositor* This,IDirectManipulationUpdateManager *manager) {
return This->lpVtbl->SetUpdateManager(This,manager);
}
static FORCEINLINE HRESULT IDirectManipulationCompositor_Flush(IDirectManipulationCompositor* This) {
return This->lpVtbl->Flush(This);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationCompositor_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectManipulationViewport interface
*/
#ifndef __IDirectManipulationViewport_INTERFACE_DEFINED__
#define __IDirectManipulationViewport_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationViewport, 0x28b85a3d, 0x60a0, 0x48bd, 0x9b,0xa1, 0x5c,0xe8,0xd9,0xea,0x3a,0x6d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("28b85a3d-60a0-48bd-9ba1-5ce8d9ea3a6d")
IDirectManipulationViewport : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Enable(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Disable(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetContact(
UINT32 id) = 0;
virtual HRESULT STDMETHODCALLTYPE ReleaseContact(
UINT32 id) = 0;
virtual HRESULT STDMETHODCALLTYPE ReleaseAllContacts(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStatus(
DIRECTMANIPULATION_STATUS *status) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTag(
REFIID riid,
void **object,
UINT32 *id) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTag(
IUnknown *object,
UINT32 id) = 0;
virtual HRESULT STDMETHODCALLTYPE GetViewportRect(
RECT *viewport) = 0;
virtual HRESULT STDMETHODCALLTYPE SetViewportRect(
const RECT *viewport) = 0;
virtual HRESULT STDMETHODCALLTYPE ZoomToRect(
const float left,
const float top,
const float right,
const float bottom,
WINBOOL animate) = 0;
virtual HRESULT STDMETHODCALLTYPE SetViewportTransform(
const float *matrix,
DWORD count) = 0;
virtual HRESULT STDMETHODCALLTYPE SyncDisplayTransform(
const float *matrix,
DWORD count) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPrimaryContent(
REFIID riid,
void **object) = 0;
virtual HRESULT STDMETHODCALLTYPE AddContent(
IDirectManipulationContent *content) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveContent(
IDirectManipulationContent *content) = 0;
virtual HRESULT STDMETHODCALLTYPE SetViewportOptions(
DIRECTMANIPULATION_VIEWPORT_OPTIONS options) = 0;
virtual HRESULT STDMETHODCALLTYPE AddConfiguration(
DIRECTMANIPULATION_CONFIGURATION configuration) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveConfiguration(
DIRECTMANIPULATION_CONFIGURATION configuration) = 0;
virtual HRESULT STDMETHODCALLTYPE ActivateConfiguration(
DIRECTMANIPULATION_CONFIGURATION configuration) = 0;
virtual HRESULT STDMETHODCALLTYPE SetManualGesture(
DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration) = 0;
virtual HRESULT STDMETHODCALLTYPE SetChaining(
DIRECTMANIPULATION_MOTION_TYPES enabledTypes) = 0;
virtual HRESULT STDMETHODCALLTYPE AddEventHandler(
HWND window,
IDirectManipulationViewportEventHandler *eventHandler,
DWORD *cookie) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveEventHandler(
DWORD cookie) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInputMode(
DIRECTMANIPULATION_INPUT_MODE mode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUpdateMode(
DIRECTMANIPULATION_INPUT_MODE mode) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Abandon(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationViewport, 0x28b85a3d, 0x60a0, 0x48bd, 0x9b,0xa1, 0x5c,0xe8,0xd9,0xea,0x3a,0x6d)
#endif
#else
typedef struct IDirectManipulationViewportVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationViewport *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationViewport *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationViewport *This);
/*** IDirectManipulationViewport methods ***/
HRESULT (STDMETHODCALLTYPE *Enable)(
IDirectManipulationViewport *This);
HRESULT (STDMETHODCALLTYPE *Disable)(
IDirectManipulationViewport *This);
HRESULT (STDMETHODCALLTYPE *SetContact)(
IDirectManipulationViewport *This,
UINT32 id);
HRESULT (STDMETHODCALLTYPE *ReleaseContact)(
IDirectManipulationViewport *This,
UINT32 id);
HRESULT (STDMETHODCALLTYPE *ReleaseAllContacts)(
IDirectManipulationViewport *This);
HRESULT (STDMETHODCALLTYPE *GetStatus)(
IDirectManipulationViewport *This,
DIRECTMANIPULATION_STATUS *status);
HRESULT (STDMETHODCALLTYPE *GetTag)(
IDirectManipulationViewport *This,
REFIID riid,
void **object,
UINT32 *id);
HRESULT (STDMETHODCALLTYPE *SetTag)(
IDirectManipulationViewport *This,
IUnknown *object,
UINT32 id);
HRESULT (STDMETHODCALLTYPE *GetViewportRect)(
IDirectManipulationViewport *This,
RECT *viewport);
HRESULT (STDMETHODCALLTYPE *SetViewportRect)(
IDirectManipulationViewport *This,
const RECT *viewport);
HRESULT (STDMETHODCALLTYPE *ZoomToRect)(
IDirectManipulationViewport *This,
const float left,
const float top,
const float right,
const float bottom,
WINBOOL animate);
HRESULT (STDMETHODCALLTYPE *SetViewportTransform)(
IDirectManipulationViewport *This,
const float *matrix,
DWORD count);
HRESULT (STDMETHODCALLTYPE *SyncDisplayTransform)(
IDirectManipulationViewport *This,
const float *matrix,
DWORD count);
HRESULT (STDMETHODCALLTYPE *GetPrimaryContent)(
IDirectManipulationViewport *This,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *AddContent)(
IDirectManipulationViewport *This,
IDirectManipulationContent *content);
HRESULT (STDMETHODCALLTYPE *RemoveContent)(
IDirectManipulationViewport *This,
IDirectManipulationContent *content);
HRESULT (STDMETHODCALLTYPE *SetViewportOptions)(
IDirectManipulationViewport *This,
DIRECTMANIPULATION_VIEWPORT_OPTIONS options);
HRESULT (STDMETHODCALLTYPE *AddConfiguration)(
IDirectManipulationViewport *This,
DIRECTMANIPULATION_CONFIGURATION configuration);
HRESULT (STDMETHODCALLTYPE *RemoveConfiguration)(
IDirectManipulationViewport *This,
DIRECTMANIPULATION_CONFIGURATION configuration);
HRESULT (STDMETHODCALLTYPE *ActivateConfiguration)(
IDirectManipulationViewport *This,
DIRECTMANIPULATION_CONFIGURATION configuration);
HRESULT (STDMETHODCALLTYPE *SetManualGesture)(
IDirectManipulationViewport *This,
DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration);
HRESULT (STDMETHODCALLTYPE *SetChaining)(
IDirectManipulationViewport *This,
DIRECTMANIPULATION_MOTION_TYPES enabledTypes);
HRESULT (STDMETHODCALLTYPE *AddEventHandler)(
IDirectManipulationViewport *This,
HWND window,
IDirectManipulationViewportEventHandler *eventHandler,
DWORD *cookie);
HRESULT (STDMETHODCALLTYPE *RemoveEventHandler)(
IDirectManipulationViewport *This,
DWORD cookie);
HRESULT (STDMETHODCALLTYPE *SetInputMode)(
IDirectManipulationViewport *This,
DIRECTMANIPULATION_INPUT_MODE mode);
HRESULT (STDMETHODCALLTYPE *SetUpdateMode)(
IDirectManipulationViewport *This,
DIRECTMANIPULATION_INPUT_MODE mode);
HRESULT (STDMETHODCALLTYPE *Stop)(
IDirectManipulationViewport *This);
HRESULT (STDMETHODCALLTYPE *Abandon)(
IDirectManipulationViewport *This);
END_INTERFACE
} IDirectManipulationViewportVtbl;
interface IDirectManipulationViewport {
CONST_VTBL IDirectManipulationViewportVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationViewport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationViewport_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationViewport_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationViewport methods ***/
#define IDirectManipulationViewport_Enable(This) (This)->lpVtbl->Enable(This)
#define IDirectManipulationViewport_Disable(This) (This)->lpVtbl->Disable(This)
#define IDirectManipulationViewport_SetContact(This,id) (This)->lpVtbl->SetContact(This,id)
#define IDirectManipulationViewport_ReleaseContact(This,id) (This)->lpVtbl->ReleaseContact(This,id)
#define IDirectManipulationViewport_ReleaseAllContacts(This) (This)->lpVtbl->ReleaseAllContacts(This)
#define IDirectManipulationViewport_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status)
#define IDirectManipulationViewport_GetTag(This,riid,object,id) (This)->lpVtbl->GetTag(This,riid,object,id)
#define IDirectManipulationViewport_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id)
#define IDirectManipulationViewport_GetViewportRect(This,viewport) (This)->lpVtbl->GetViewportRect(This,viewport)
#define IDirectManipulationViewport_SetViewportRect(This,viewport) (This)->lpVtbl->SetViewportRect(This,viewport)
#define IDirectManipulationViewport_ZoomToRect(This,left,top,right,bottom,animate) (This)->lpVtbl->ZoomToRect(This,left,top,right,bottom,animate)
#define IDirectManipulationViewport_SetViewportTransform(This,matrix,count) (This)->lpVtbl->SetViewportTransform(This,matrix,count)
#define IDirectManipulationViewport_SyncDisplayTransform(This,matrix,count) (This)->lpVtbl->SyncDisplayTransform(This,matrix,count)
#define IDirectManipulationViewport_GetPrimaryContent(This,riid,object) (This)->lpVtbl->GetPrimaryContent(This,riid,object)
#define IDirectManipulationViewport_AddContent(This,content) (This)->lpVtbl->AddContent(This,content)
#define IDirectManipulationViewport_RemoveContent(This,content) (This)->lpVtbl->RemoveContent(This,content)
#define IDirectManipulationViewport_SetViewportOptions(This,options) (This)->lpVtbl->SetViewportOptions(This,options)
#define IDirectManipulationViewport_AddConfiguration(This,configuration) (This)->lpVtbl->AddConfiguration(This,configuration)
#define IDirectManipulationViewport_RemoveConfiguration(This,configuration) (This)->lpVtbl->RemoveConfiguration(This,configuration)
#define IDirectManipulationViewport_ActivateConfiguration(This,configuration) (This)->lpVtbl->ActivateConfiguration(This,configuration)
#define IDirectManipulationViewport_SetManualGesture(This,configuration) (This)->lpVtbl->SetManualGesture(This,configuration)
#define IDirectManipulationViewport_SetChaining(This,enabledTypes) (This)->lpVtbl->SetChaining(This,enabledTypes)
#define IDirectManipulationViewport_AddEventHandler(This,window,eventHandler,cookie) (This)->lpVtbl->AddEventHandler(This,window,eventHandler,cookie)
#define IDirectManipulationViewport_RemoveEventHandler(This,cookie) (This)->lpVtbl->RemoveEventHandler(This,cookie)
#define IDirectManipulationViewport_SetInputMode(This,mode) (This)->lpVtbl->SetInputMode(This,mode)
#define IDirectManipulationViewport_SetUpdateMode(This,mode) (This)->lpVtbl->SetUpdateMode(This,mode)
#define IDirectManipulationViewport_Stop(This) (This)->lpVtbl->Stop(This)
#define IDirectManipulationViewport_Abandon(This) (This)->lpVtbl->Abandon(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationViewport_QueryInterface(IDirectManipulationViewport* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationViewport_AddRef(IDirectManipulationViewport* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationViewport_Release(IDirectManipulationViewport* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationViewport methods ***/
static FORCEINLINE HRESULT IDirectManipulationViewport_Enable(IDirectManipulationViewport* This) {
return This->lpVtbl->Enable(This);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_Disable(IDirectManipulationViewport* This) {
return This->lpVtbl->Disable(This);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_SetContact(IDirectManipulationViewport* This,UINT32 id) {
return This->lpVtbl->SetContact(This,id);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_ReleaseContact(IDirectManipulationViewport* This,UINT32 id) {
return This->lpVtbl->ReleaseContact(This,id);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_ReleaseAllContacts(IDirectManipulationViewport* This) {
return This->lpVtbl->ReleaseAllContacts(This);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_GetStatus(IDirectManipulationViewport* This,DIRECTMANIPULATION_STATUS *status) {
return This->lpVtbl->GetStatus(This,status);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_GetTag(IDirectManipulationViewport* This,REFIID riid,void **object,UINT32 *id) {
return This->lpVtbl->GetTag(This,riid,object,id);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_SetTag(IDirectManipulationViewport* This,IUnknown *object,UINT32 id) {
return This->lpVtbl->SetTag(This,object,id);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_GetViewportRect(IDirectManipulationViewport* This,RECT *viewport) {
return This->lpVtbl->GetViewportRect(This,viewport);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_SetViewportRect(IDirectManipulationViewport* This,const RECT *viewport) {
return This->lpVtbl->SetViewportRect(This,viewport);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_ZoomToRect(IDirectManipulationViewport* This,const float left,const float top,const float right,const float bottom,WINBOOL animate) {
return This->lpVtbl->ZoomToRect(This,left,top,right,bottom,animate);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_SetViewportTransform(IDirectManipulationViewport* This,const float *matrix,DWORD count) {
return This->lpVtbl->SetViewportTransform(This,matrix,count);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_SyncDisplayTransform(IDirectManipulationViewport* This,const float *matrix,DWORD count) {
return This->lpVtbl->SyncDisplayTransform(This,matrix,count);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_GetPrimaryContent(IDirectManipulationViewport* This,REFIID riid,void **object) {
return This->lpVtbl->GetPrimaryContent(This,riid,object);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_AddContent(IDirectManipulationViewport* This,IDirectManipulationContent *content) {
return This->lpVtbl->AddContent(This,content);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_RemoveContent(IDirectManipulationViewport* This,IDirectManipulationContent *content) {
return This->lpVtbl->RemoveContent(This,content);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_SetViewportOptions(IDirectManipulationViewport* This,DIRECTMANIPULATION_VIEWPORT_OPTIONS options) {
return This->lpVtbl->SetViewportOptions(This,options);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_AddConfiguration(IDirectManipulationViewport* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
return This->lpVtbl->AddConfiguration(This,configuration);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_RemoveConfiguration(IDirectManipulationViewport* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
return This->lpVtbl->RemoveConfiguration(This,configuration);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_ActivateConfiguration(IDirectManipulationViewport* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
return This->lpVtbl->ActivateConfiguration(This,configuration);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_SetManualGesture(IDirectManipulationViewport* This,DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration) {
return This->lpVtbl->SetManualGesture(This,configuration);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_SetChaining(IDirectManipulationViewport* This,DIRECTMANIPULATION_MOTION_TYPES enabledTypes) {
return This->lpVtbl->SetChaining(This,enabledTypes);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_AddEventHandler(IDirectManipulationViewport* This,HWND window,IDirectManipulationViewportEventHandler *eventHandler,DWORD *cookie) {
return This->lpVtbl->AddEventHandler(This,window,eventHandler,cookie);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_RemoveEventHandler(IDirectManipulationViewport* This,DWORD cookie) {
return This->lpVtbl->RemoveEventHandler(This,cookie);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_SetInputMode(IDirectManipulationViewport* This,DIRECTMANIPULATION_INPUT_MODE mode) {
return This->lpVtbl->SetInputMode(This,mode);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_SetUpdateMode(IDirectManipulationViewport* This,DIRECTMANIPULATION_INPUT_MODE mode) {
return This->lpVtbl->SetUpdateMode(This,mode);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_Stop(IDirectManipulationViewport* This) {
return This->lpVtbl->Stop(This);
}
static FORCEINLINE HRESULT IDirectManipulationViewport_Abandon(IDirectManipulationViewport* This) {
return This->lpVtbl->Abandon(This);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationViewport_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectManipulationViewport2 interface
*/
#ifndef __IDirectManipulationViewport2_INTERFACE_DEFINED__
#define __IDirectManipulationViewport2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationViewport2, 0x923ccaac, 0x61e1, 0x4385, 0xb7,0x26, 0x01,0x7a,0xf1,0x89,0x88,0x2a);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("923ccaac-61e1-4385-b726-017af189882a")
IDirectManipulationViewport2 : public IDirectManipulationViewport
{
virtual HRESULT STDMETHODCALLTYPE AddBehavior(
IUnknown *behavior,
DWORD *cookie) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveBehavior(
DWORD cookie) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveAllBehaviors(
) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationViewport2, 0x923ccaac, 0x61e1, 0x4385, 0xb7,0x26, 0x01,0x7a,0xf1,0x89,0x88,0x2a)
#endif
#else
typedef struct IDirectManipulationViewport2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationViewport2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationViewport2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationViewport2 *This);
/*** IDirectManipulationViewport methods ***/
HRESULT (STDMETHODCALLTYPE *Enable)(
IDirectManipulationViewport2 *This);
HRESULT (STDMETHODCALLTYPE *Disable)(
IDirectManipulationViewport2 *This);
HRESULT (STDMETHODCALLTYPE *SetContact)(
IDirectManipulationViewport2 *This,
UINT32 id);
HRESULT (STDMETHODCALLTYPE *ReleaseContact)(
IDirectManipulationViewport2 *This,
UINT32 id);
HRESULT (STDMETHODCALLTYPE *ReleaseAllContacts)(
IDirectManipulationViewport2 *This);
HRESULT (STDMETHODCALLTYPE *GetStatus)(
IDirectManipulationViewport2 *This,
DIRECTMANIPULATION_STATUS *status);
HRESULT (STDMETHODCALLTYPE *GetTag)(
IDirectManipulationViewport2 *This,
REFIID riid,
void **object,
UINT32 *id);
HRESULT (STDMETHODCALLTYPE *SetTag)(
IDirectManipulationViewport2 *This,
IUnknown *object,
UINT32 id);
HRESULT (STDMETHODCALLTYPE *GetViewportRect)(
IDirectManipulationViewport2 *This,
RECT *viewport);
HRESULT (STDMETHODCALLTYPE *SetViewportRect)(
IDirectManipulationViewport2 *This,
const RECT *viewport);
HRESULT (STDMETHODCALLTYPE *ZoomToRect)(
IDirectManipulationViewport2 *This,
const float left,
const float top,
const float right,
const float bottom,
WINBOOL animate);
HRESULT (STDMETHODCALLTYPE *SetViewportTransform)(
IDirectManipulationViewport2 *This,
const float *matrix,
DWORD count);
HRESULT (STDMETHODCALLTYPE *SyncDisplayTransform)(
IDirectManipulationViewport2 *This,
const float *matrix,
DWORD count);
HRESULT (STDMETHODCALLTYPE *GetPrimaryContent)(
IDirectManipulationViewport2 *This,
REFIID riid,
void **object);
HRESULT (STDMETHODCALLTYPE *AddContent)(
IDirectManipulationViewport2 *This,
IDirectManipulationContent *content);
HRESULT (STDMETHODCALLTYPE *RemoveContent)(
IDirectManipulationViewport2 *This,
IDirectManipulationContent *content);
HRESULT (STDMETHODCALLTYPE *SetViewportOptions)(
IDirectManipulationViewport2 *This,
DIRECTMANIPULATION_VIEWPORT_OPTIONS options);
HRESULT (STDMETHODCALLTYPE *AddConfiguration)(
IDirectManipulationViewport2 *This,
DIRECTMANIPULATION_CONFIGURATION configuration);
HRESULT (STDMETHODCALLTYPE *RemoveConfiguration)(
IDirectManipulationViewport2 *This,
DIRECTMANIPULATION_CONFIGURATION configuration);
HRESULT (STDMETHODCALLTYPE *ActivateConfiguration)(
IDirectManipulationViewport2 *This,
DIRECTMANIPULATION_CONFIGURATION configuration);
HRESULT (STDMETHODCALLTYPE *SetManualGesture)(
IDirectManipulationViewport2 *This,
DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration);
HRESULT (STDMETHODCALLTYPE *SetChaining)(
IDirectManipulationViewport2 *This,
DIRECTMANIPULATION_MOTION_TYPES enabledTypes);
HRESULT (STDMETHODCALLTYPE *AddEventHandler)(
IDirectManipulationViewport2 *This,
HWND window,
IDirectManipulationViewportEventHandler *eventHandler,
DWORD *cookie);
HRESULT (STDMETHODCALLTYPE *RemoveEventHandler)(
IDirectManipulationViewport2 *This,
DWORD cookie);
HRESULT (STDMETHODCALLTYPE *SetInputMode)(
IDirectManipulationViewport2 *This,
DIRECTMANIPULATION_INPUT_MODE mode);
HRESULT (STDMETHODCALLTYPE *SetUpdateMode)(
IDirectManipulationViewport2 *This,
DIRECTMANIPULATION_INPUT_MODE mode);
HRESULT (STDMETHODCALLTYPE *Stop)(
IDirectManipulationViewport2 *This);
HRESULT (STDMETHODCALLTYPE *Abandon)(
IDirectManipulationViewport2 *This);
/*** IDirectManipulationViewport2 methods ***/
HRESULT (STDMETHODCALLTYPE *AddBehavior)(
IDirectManipulationViewport2 *This,
IUnknown *behavior,
DWORD *cookie);
HRESULT (STDMETHODCALLTYPE *RemoveBehavior)(
IDirectManipulationViewport2 *This,
DWORD cookie);
HRESULT (STDMETHODCALLTYPE *RemoveAllBehaviors)(
IDirectManipulationViewport2 *This);
END_INTERFACE
} IDirectManipulationViewport2Vtbl;
interface IDirectManipulationViewport2 {
CONST_VTBL IDirectManipulationViewport2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationViewport2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationViewport2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationViewport2_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationViewport methods ***/
#define IDirectManipulationViewport2_Enable(This) (This)->lpVtbl->Enable(This)
#define IDirectManipulationViewport2_Disable(This) (This)->lpVtbl->Disable(This)
#define IDirectManipulationViewport2_SetContact(This,id) (This)->lpVtbl->SetContact(This,id)
#define IDirectManipulationViewport2_ReleaseContact(This,id) (This)->lpVtbl->ReleaseContact(This,id)
#define IDirectManipulationViewport2_ReleaseAllContacts(This) (This)->lpVtbl->ReleaseAllContacts(This)
#define IDirectManipulationViewport2_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status)
#define IDirectManipulationViewport2_GetTag(This,riid,object,id) (This)->lpVtbl->GetTag(This,riid,object,id)
#define IDirectManipulationViewport2_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id)
#define IDirectManipulationViewport2_GetViewportRect(This,viewport) (This)->lpVtbl->GetViewportRect(This,viewport)
#define IDirectManipulationViewport2_SetViewportRect(This,viewport) (This)->lpVtbl->SetViewportRect(This,viewport)
#define IDirectManipulationViewport2_ZoomToRect(This,left,top,right,bottom,animate) (This)->lpVtbl->ZoomToRect(This,left,top,right,bottom,animate)
#define IDirectManipulationViewport2_SetViewportTransform(This,matrix,count) (This)->lpVtbl->SetViewportTransform(This,matrix,count)
#define IDirectManipulationViewport2_SyncDisplayTransform(This,matrix,count) (This)->lpVtbl->SyncDisplayTransform(This,matrix,count)
#define IDirectManipulationViewport2_GetPrimaryContent(This,riid,object) (This)->lpVtbl->GetPrimaryContent(This,riid,object)
#define IDirectManipulationViewport2_AddContent(This,content) (This)->lpVtbl->AddContent(This,content)
#define IDirectManipulationViewport2_RemoveContent(This,content) (This)->lpVtbl->RemoveContent(This,content)
#define IDirectManipulationViewport2_SetViewportOptions(This,options) (This)->lpVtbl->SetViewportOptions(This,options)
#define IDirectManipulationViewport2_AddConfiguration(This,configuration) (This)->lpVtbl->AddConfiguration(This,configuration)
#define IDirectManipulationViewport2_RemoveConfiguration(This,configuration) (This)->lpVtbl->RemoveConfiguration(This,configuration)
#define IDirectManipulationViewport2_ActivateConfiguration(This,configuration) (This)->lpVtbl->ActivateConfiguration(This,configuration)
#define IDirectManipulationViewport2_SetManualGesture(This,configuration) (This)->lpVtbl->SetManualGesture(This,configuration)
#define IDirectManipulationViewport2_SetChaining(This,enabledTypes) (This)->lpVtbl->SetChaining(This,enabledTypes)
#define IDirectManipulationViewport2_AddEventHandler(This,window,eventHandler,cookie) (This)->lpVtbl->AddEventHandler(This,window,eventHandler,cookie)
#define IDirectManipulationViewport2_RemoveEventHandler(This,cookie) (This)->lpVtbl->RemoveEventHandler(This,cookie)
#define IDirectManipulationViewport2_SetInputMode(This,mode) (This)->lpVtbl->SetInputMode(This,mode)
#define IDirectManipulationViewport2_SetUpdateMode(This,mode) (This)->lpVtbl->SetUpdateMode(This,mode)
#define IDirectManipulationViewport2_Stop(This) (This)->lpVtbl->Stop(This)
#define IDirectManipulationViewport2_Abandon(This) (This)->lpVtbl->Abandon(This)
/*** IDirectManipulationViewport2 methods ***/
#define IDirectManipulationViewport2_AddBehavior(This,behavior,cookie) (This)->lpVtbl->AddBehavior(This,behavior,cookie)
#define IDirectManipulationViewport2_RemoveBehavior(This,cookie) (This)->lpVtbl->RemoveBehavior(This,cookie)
#define IDirectManipulationViewport2_RemoveAllBehaviors(This) (This)->lpVtbl->RemoveAllBehaviors(This)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationViewport2_QueryInterface(IDirectManipulationViewport2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationViewport2_AddRef(IDirectManipulationViewport2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationViewport2_Release(IDirectManipulationViewport2* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationViewport methods ***/
static FORCEINLINE HRESULT IDirectManipulationViewport2_Enable(IDirectManipulationViewport2* This) {
return This->lpVtbl->Enable(This);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_Disable(IDirectManipulationViewport2* This) {
return This->lpVtbl->Disable(This);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_SetContact(IDirectManipulationViewport2* This,UINT32 id) {
return This->lpVtbl->SetContact(This,id);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_ReleaseContact(IDirectManipulationViewport2* This,UINT32 id) {
return This->lpVtbl->ReleaseContact(This,id);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_ReleaseAllContacts(IDirectManipulationViewport2* This) {
return This->lpVtbl->ReleaseAllContacts(This);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_GetStatus(IDirectManipulationViewport2* This,DIRECTMANIPULATION_STATUS *status) {
return This->lpVtbl->GetStatus(This,status);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_GetTag(IDirectManipulationViewport2* This,REFIID riid,void **object,UINT32 *id) {
return This->lpVtbl->GetTag(This,riid,object,id);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_SetTag(IDirectManipulationViewport2* This,IUnknown *object,UINT32 id) {
return This->lpVtbl->SetTag(This,object,id);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_GetViewportRect(IDirectManipulationViewport2* This,RECT *viewport) {
return This->lpVtbl->GetViewportRect(This,viewport);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_SetViewportRect(IDirectManipulationViewport2* This,const RECT *viewport) {
return This->lpVtbl->SetViewportRect(This,viewport);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_ZoomToRect(IDirectManipulationViewport2* This,const float left,const float top,const float right,const float bottom,WINBOOL animate) {
return This->lpVtbl->ZoomToRect(This,left,top,right,bottom,animate);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_SetViewportTransform(IDirectManipulationViewport2* This,const float *matrix,DWORD count) {
return This->lpVtbl->SetViewportTransform(This,matrix,count);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_SyncDisplayTransform(IDirectManipulationViewport2* This,const float *matrix,DWORD count) {
return This->lpVtbl->SyncDisplayTransform(This,matrix,count);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_GetPrimaryContent(IDirectManipulationViewport2* This,REFIID riid,void **object) {
return This->lpVtbl->GetPrimaryContent(This,riid,object);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_AddContent(IDirectManipulationViewport2* This,IDirectManipulationContent *content) {
return This->lpVtbl->AddContent(This,content);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveContent(IDirectManipulationViewport2* This,IDirectManipulationContent *content) {
return This->lpVtbl->RemoveContent(This,content);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_SetViewportOptions(IDirectManipulationViewport2* This,DIRECTMANIPULATION_VIEWPORT_OPTIONS options) {
return This->lpVtbl->SetViewportOptions(This,options);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_AddConfiguration(IDirectManipulationViewport2* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
return This->lpVtbl->AddConfiguration(This,configuration);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveConfiguration(IDirectManipulationViewport2* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
return This->lpVtbl->RemoveConfiguration(This,configuration);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_ActivateConfiguration(IDirectManipulationViewport2* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
return This->lpVtbl->ActivateConfiguration(This,configuration);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_SetManualGesture(IDirectManipulationViewport2* This,DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration) {
return This->lpVtbl->SetManualGesture(This,configuration);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_SetChaining(IDirectManipulationViewport2* This,DIRECTMANIPULATION_MOTION_TYPES enabledTypes) {
return This->lpVtbl->SetChaining(This,enabledTypes);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_AddEventHandler(IDirectManipulationViewport2* This,HWND window,IDirectManipulationViewportEventHandler *eventHandler,DWORD *cookie) {
return This->lpVtbl->AddEventHandler(This,window,eventHandler,cookie);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveEventHandler(IDirectManipulationViewport2* This,DWORD cookie) {
return This->lpVtbl->RemoveEventHandler(This,cookie);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_SetInputMode(IDirectManipulationViewport2* This,DIRECTMANIPULATION_INPUT_MODE mode) {
return This->lpVtbl->SetInputMode(This,mode);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_SetUpdateMode(IDirectManipulationViewport2* This,DIRECTMANIPULATION_INPUT_MODE mode) {
return This->lpVtbl->SetUpdateMode(This,mode);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_Stop(IDirectManipulationViewport2* This) {
return This->lpVtbl->Stop(This);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_Abandon(IDirectManipulationViewport2* This) {
return This->lpVtbl->Abandon(This);
}
/*** IDirectManipulationViewport2 methods ***/
static FORCEINLINE HRESULT IDirectManipulationViewport2_AddBehavior(IDirectManipulationViewport2* This,IUnknown *behavior,DWORD *cookie) {
return This->lpVtbl->AddBehavior(This,behavior,cookie);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveBehavior(IDirectManipulationViewport2* This,DWORD cookie) {
return This->lpVtbl->RemoveBehavior(This,cookie);
}
static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveAllBehaviors(IDirectManipulationViewport2* This) {
return This->lpVtbl->RemoveAllBehaviors(This);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationViewport2_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectManipulationViewportEventHandler interface
*/
#ifndef __IDirectManipulationViewportEventHandler_INTERFACE_DEFINED__
#define __IDirectManipulationViewportEventHandler_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationViewportEventHandler, 0x952121da, 0xd69f, 0x45f9, 0xb0,0xf9, 0xf2,0x39,0x44,0x32,0x1a,0x6d);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("952121da-d69f-45f9-b0f9-f23944321a6d")
IDirectManipulationViewportEventHandler : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE OnViewportStatusChanged(
IDirectManipulationViewport *viewport,
DIRECTMANIPULATION_STATUS current,
DIRECTMANIPULATION_STATUS previous) = 0;
virtual HRESULT STDMETHODCALLTYPE OnViewportUpdated(
IDirectManipulationViewport *viewport) = 0;
virtual HRESULT STDMETHODCALLTYPE OnContentUpdated(
IDirectManipulationViewport *viewport,
IDirectManipulationContent *content) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationViewportEventHandler, 0x952121da, 0xd69f, 0x45f9, 0xb0,0xf9, 0xf2,0x39,0x44,0x32,0x1a,0x6d)
#endif
#else
typedef struct IDirectManipulationViewportEventHandlerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationViewportEventHandler *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationViewportEventHandler *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationViewportEventHandler *This);
/*** IDirectManipulationViewportEventHandler methods ***/
HRESULT (STDMETHODCALLTYPE *OnViewportStatusChanged)(
IDirectManipulationViewportEventHandler *This,
IDirectManipulationViewport *viewport,
DIRECTMANIPULATION_STATUS current,
DIRECTMANIPULATION_STATUS previous);
HRESULT (STDMETHODCALLTYPE *OnViewportUpdated)(
IDirectManipulationViewportEventHandler *This,
IDirectManipulationViewport *viewport);
HRESULT (STDMETHODCALLTYPE *OnContentUpdated)(
IDirectManipulationViewportEventHandler *This,
IDirectManipulationViewport *viewport,
IDirectManipulationContent *content);
END_INTERFACE
} IDirectManipulationViewportEventHandlerVtbl;
interface IDirectManipulationViewportEventHandler {
CONST_VTBL IDirectManipulationViewportEventHandlerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationViewportEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationViewportEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationViewportEventHandler_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationViewportEventHandler methods ***/
#define IDirectManipulationViewportEventHandler_OnViewportStatusChanged(This,viewport,current,previous) (This)->lpVtbl->OnViewportStatusChanged(This,viewport,current,previous)
#define IDirectManipulationViewportEventHandler_OnViewportUpdated(This,viewport) (This)->lpVtbl->OnViewportUpdated(This,viewport)
#define IDirectManipulationViewportEventHandler_OnContentUpdated(This,viewport,content) (This)->lpVtbl->OnContentUpdated(This,viewport,content)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationViewportEventHandler_QueryInterface(IDirectManipulationViewportEventHandler* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationViewportEventHandler_AddRef(IDirectManipulationViewportEventHandler* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationViewportEventHandler_Release(IDirectManipulationViewportEventHandler* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationViewportEventHandler methods ***/
static FORCEINLINE HRESULT IDirectManipulationViewportEventHandler_OnViewportStatusChanged(IDirectManipulationViewportEventHandler* This,IDirectManipulationViewport *viewport,DIRECTMANIPULATION_STATUS current,DIRECTMANIPULATION_STATUS previous) {
return This->lpVtbl->OnViewportStatusChanged(This,viewport,current,previous);
}
static FORCEINLINE HRESULT IDirectManipulationViewportEventHandler_OnViewportUpdated(IDirectManipulationViewportEventHandler* This,IDirectManipulationViewport *viewport) {
return This->lpVtbl->OnViewportUpdated(This,viewport);
}
static FORCEINLINE HRESULT IDirectManipulationViewportEventHandler_OnContentUpdated(IDirectManipulationViewportEventHandler* This,IDirectManipulationViewport *viewport,IDirectManipulationContent *content) {
return This->lpVtbl->OnContentUpdated(This,viewport,content);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationViewportEventHandler_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectManipulationManager2 interface
*/
#ifndef __IDirectManipulationManager2_INTERFACE_DEFINED__
#define __IDirectManipulationManager2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationManager2, 0xfa1005e9, 0x3d16, 0x484c, 0xbf,0xc9, 0x62,0xb6,0x1e,0x56,0xec,0x4e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fa1005e9-3d16-484c-bfc9-62b61e56ec4e")
IDirectManipulationManager2 : public IDirectManipulationManager
{
virtual HRESULT STDMETHODCALLTYPE CreateBehavior(
REFCLSID clsid,
REFIID riid,
void **obj) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationManager2, 0xfa1005e9, 0x3d16, 0x484c, 0xbf,0xc9, 0x62,0xb6,0x1e,0x56,0xec,0x4e)
#endif
#else
typedef struct IDirectManipulationManager2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationManager2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationManager2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationManager2 *This);
/*** IDirectManipulationManager methods ***/
HRESULT (STDMETHODCALLTYPE *Activate)(
IDirectManipulationManager2 *This,
HWND window);
HRESULT (STDMETHODCALLTYPE *Deactivate)(
IDirectManipulationManager2 *This,
HWND window);
HRESULT (STDMETHODCALLTYPE *RegisterHitTestTarget)(
IDirectManipulationManager2 *This,
HWND window,
HWND hittest,
DIRECTMANIPULATION_HITTEST_TYPE type);
HRESULT (STDMETHODCALLTYPE *ProcessInput)(
IDirectManipulationManager2 *This,
const MSG *msg,
WINBOOL *handled);
HRESULT (STDMETHODCALLTYPE *GetUpdateManager)(
IDirectManipulationManager2 *This,
REFIID riid,
void **obj);
HRESULT (STDMETHODCALLTYPE *CreateViewport)(
IDirectManipulationManager2 *This,
IDirectManipulationFrameInfoProvider *frame,
HWND window,
REFIID riid,
void **obj);
HRESULT (STDMETHODCALLTYPE *CreateContent)(
IDirectManipulationManager2 *This,
IDirectManipulationFrameInfoProvider *frame,
REFCLSID clsid,
REFIID riid,
void **obj);
/*** IDirectManipulationManager2 methods ***/
HRESULT (STDMETHODCALLTYPE *CreateBehavior)(
IDirectManipulationManager2 *This,
REFCLSID clsid,
REFIID riid,
void **obj);
END_INTERFACE
} IDirectManipulationManager2Vtbl;
interface IDirectManipulationManager2 {
CONST_VTBL IDirectManipulationManager2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationManager2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationManager2_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationManager methods ***/
#define IDirectManipulationManager2_Activate(This,window) (This)->lpVtbl->Activate(This,window)
#define IDirectManipulationManager2_Deactivate(This,window) (This)->lpVtbl->Deactivate(This,window)
#define IDirectManipulationManager2_RegisterHitTestTarget(This,window,hittest,type) (This)->lpVtbl->RegisterHitTestTarget(This,window,hittest,type)
#define IDirectManipulationManager2_ProcessInput(This,msg,handled) (This)->lpVtbl->ProcessInput(This,msg,handled)
#define IDirectManipulationManager2_GetUpdateManager(This,riid,obj) (This)->lpVtbl->GetUpdateManager(This,riid,obj)
#define IDirectManipulationManager2_CreateViewport(This,frame,window,riid,obj) (This)->lpVtbl->CreateViewport(This,frame,window,riid,obj)
#define IDirectManipulationManager2_CreateContent(This,frame,clsid,riid,obj) (This)->lpVtbl->CreateContent(This,frame,clsid,riid,obj)
/*** IDirectManipulationManager2 methods ***/
#define IDirectManipulationManager2_CreateBehavior(This,clsid,riid,obj) (This)->lpVtbl->CreateBehavior(This,clsid,riid,obj)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationManager2_QueryInterface(IDirectManipulationManager2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationManager2_AddRef(IDirectManipulationManager2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationManager2_Release(IDirectManipulationManager2* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationManager methods ***/
static FORCEINLINE HRESULT IDirectManipulationManager2_Activate(IDirectManipulationManager2* This,HWND window) {
return This->lpVtbl->Activate(This,window);
}
static FORCEINLINE HRESULT IDirectManipulationManager2_Deactivate(IDirectManipulationManager2* This,HWND window) {
return This->lpVtbl->Deactivate(This,window);
}
static FORCEINLINE HRESULT IDirectManipulationManager2_RegisterHitTestTarget(IDirectManipulationManager2* This,HWND window,HWND hittest,DIRECTMANIPULATION_HITTEST_TYPE type) {
return This->lpVtbl->RegisterHitTestTarget(This,window,hittest,type);
}
static FORCEINLINE HRESULT IDirectManipulationManager2_ProcessInput(IDirectManipulationManager2* This,const MSG *msg,WINBOOL *handled) {
return This->lpVtbl->ProcessInput(This,msg,handled);
}
static FORCEINLINE HRESULT IDirectManipulationManager2_GetUpdateManager(IDirectManipulationManager2* This,REFIID riid,void **obj) {
return This->lpVtbl->GetUpdateManager(This,riid,obj);
}
static FORCEINLINE HRESULT IDirectManipulationManager2_CreateViewport(IDirectManipulationManager2* This,IDirectManipulationFrameInfoProvider *frame,HWND window,REFIID riid,void **obj) {
return This->lpVtbl->CreateViewport(This,frame,window,riid,obj);
}
static FORCEINLINE HRESULT IDirectManipulationManager2_CreateContent(IDirectManipulationManager2* This,IDirectManipulationFrameInfoProvider *frame,REFCLSID clsid,REFIID riid,void **obj) {
return This->lpVtbl->CreateContent(This,frame,clsid,riid,obj);
}
/*** IDirectManipulationManager2 methods ***/
static FORCEINLINE HRESULT IDirectManipulationManager2_CreateBehavior(IDirectManipulationManager2* This,REFCLSID clsid,REFIID riid,void **obj) {
return This->lpVtbl->CreateBehavior(This,clsid,riid,obj);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationManager2_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectManipulationPrimaryContent interface
*/
#ifndef __IDirectManipulationPrimaryContent_INTERFACE_DEFINED__
#define __IDirectManipulationPrimaryContent_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationPrimaryContent, 0xc12851e4, 0x1698, 0x4625, 0xb9,0xb1, 0x7c,0xa3,0xec,0x18,0x63,0x0b);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c12851e4-1698-4625-b9b1-7ca3ec18630b")
IDirectManipulationPrimaryContent : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetSnapInterval(
DIRECTMANIPULATION_MOTION_TYPES motion,
float interval,
float offset) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSnapPoints(
DIRECTMANIPULATION_MOTION_TYPES motion,
const float *points,
DWORD count) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSnapType(
DIRECTMANIPULATION_MOTION_TYPES motion,
DIRECTMANIPULATION_SNAPPOINT_TYPE type) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSnapCoordinate(
DIRECTMANIPULATION_MOTION_TYPES motion,
DIRECTMANIPULATION_SNAPPOINT_COORDINATE coordinate,
float origin) = 0;
virtual HRESULT STDMETHODCALLTYPE SetZoomBoundaries(
float minimum,
float maximum) = 0;
virtual HRESULT STDMETHODCALLTYPE SetHorizontalAlignment(
DIRECTMANIPULATION_HORIZONTALALIGNMENT alignment) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVerticalAlignment(
DIRECTMANIPULATION_VERTICALALIGNMENT alignment) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInertiaEndTransform(
float *matrix,
DWORD count) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCenterPoint(
float *x,
float *y) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationPrimaryContent, 0xc12851e4, 0x1698, 0x4625, 0xb9,0xb1, 0x7c,0xa3,0xec,0x18,0x63,0x0b)
#endif
#else
typedef struct IDirectManipulationPrimaryContentVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationPrimaryContent *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationPrimaryContent *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationPrimaryContent *This);
/*** IDirectManipulationPrimaryContent methods ***/
HRESULT (STDMETHODCALLTYPE *SetSnapInterval)(
IDirectManipulationPrimaryContent *This,
DIRECTMANIPULATION_MOTION_TYPES motion,
float interval,
float offset);
HRESULT (STDMETHODCALLTYPE *SetSnapPoints)(
IDirectManipulationPrimaryContent *This,
DIRECTMANIPULATION_MOTION_TYPES motion,
const float *points,
DWORD count);
HRESULT (STDMETHODCALLTYPE *SetSnapType)(
IDirectManipulationPrimaryContent *This,
DIRECTMANIPULATION_MOTION_TYPES motion,
DIRECTMANIPULATION_SNAPPOINT_TYPE type);
HRESULT (STDMETHODCALLTYPE *SetSnapCoordinate)(
IDirectManipulationPrimaryContent *This,
DIRECTMANIPULATION_MOTION_TYPES motion,
DIRECTMANIPULATION_SNAPPOINT_COORDINATE coordinate,
float origin);
HRESULT (STDMETHODCALLTYPE *SetZoomBoundaries)(
IDirectManipulationPrimaryContent *This,
float minimum,
float maximum);
HRESULT (STDMETHODCALLTYPE *SetHorizontalAlignment)(
IDirectManipulationPrimaryContent *This,
DIRECTMANIPULATION_HORIZONTALALIGNMENT alignment);
HRESULT (STDMETHODCALLTYPE *SetVerticalAlignment)(
IDirectManipulationPrimaryContent *This,
DIRECTMANIPULATION_VERTICALALIGNMENT alignment);
HRESULT (STDMETHODCALLTYPE *GetInertiaEndTransform)(
IDirectManipulationPrimaryContent *This,
float *matrix,
DWORD count);
HRESULT (STDMETHODCALLTYPE *GetCenterPoint)(
IDirectManipulationPrimaryContent *This,
float *x,
float *y);
END_INTERFACE
} IDirectManipulationPrimaryContentVtbl;
interface IDirectManipulationPrimaryContent {
CONST_VTBL IDirectManipulationPrimaryContentVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationPrimaryContent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationPrimaryContent_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationPrimaryContent_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationPrimaryContent methods ***/
#define IDirectManipulationPrimaryContent_SetSnapInterval(This,motion,interval,offset) (This)->lpVtbl->SetSnapInterval(This,motion,interval,offset)
#define IDirectManipulationPrimaryContent_SetSnapPoints(This,motion,points,count) (This)->lpVtbl->SetSnapPoints(This,motion,points,count)
#define IDirectManipulationPrimaryContent_SetSnapType(This,motion,type) (This)->lpVtbl->SetSnapType(This,motion,type)
#define IDirectManipulationPrimaryContent_SetSnapCoordinate(This,motion,coordinate,origin) (This)->lpVtbl->SetSnapCoordinate(This,motion,coordinate,origin)
#define IDirectManipulationPrimaryContent_SetZoomBoundaries(This,minimum,maximum) (This)->lpVtbl->SetZoomBoundaries(This,minimum,maximum)
#define IDirectManipulationPrimaryContent_SetHorizontalAlignment(This,alignment) (This)->lpVtbl->SetHorizontalAlignment(This,alignment)
#define IDirectManipulationPrimaryContent_SetVerticalAlignment(This,alignment) (This)->lpVtbl->SetVerticalAlignment(This,alignment)
#define IDirectManipulationPrimaryContent_GetInertiaEndTransform(This,matrix,count) (This)->lpVtbl->GetInertiaEndTransform(This,matrix,count)
#define IDirectManipulationPrimaryContent_GetCenterPoint(This,x,y) (This)->lpVtbl->GetCenterPoint(This,x,y)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_QueryInterface(IDirectManipulationPrimaryContent* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationPrimaryContent_AddRef(IDirectManipulationPrimaryContent* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationPrimaryContent_Release(IDirectManipulationPrimaryContent* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationPrimaryContent methods ***/
static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetSnapInterval(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_MOTION_TYPES motion,float interval,float offset) {
return This->lpVtbl->SetSnapInterval(This,motion,interval,offset);
}
static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetSnapPoints(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_MOTION_TYPES motion,const float *points,DWORD count) {
return This->lpVtbl->SetSnapPoints(This,motion,points,count);
}
static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetSnapType(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_MOTION_TYPES motion,DIRECTMANIPULATION_SNAPPOINT_TYPE type) {
return This->lpVtbl->SetSnapType(This,motion,type);
}
static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetSnapCoordinate(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_MOTION_TYPES motion,DIRECTMANIPULATION_SNAPPOINT_COORDINATE coordinate,float origin) {
return This->lpVtbl->SetSnapCoordinate(This,motion,coordinate,origin);
}
static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetZoomBoundaries(IDirectManipulationPrimaryContent* This,float minimum,float maximum) {
return This->lpVtbl->SetZoomBoundaries(This,minimum,maximum);
}
static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetHorizontalAlignment(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_HORIZONTALALIGNMENT alignment) {
return This->lpVtbl->SetHorizontalAlignment(This,alignment);
}
static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetVerticalAlignment(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_VERTICALALIGNMENT alignment) {
return This->lpVtbl->SetVerticalAlignment(This,alignment);
}
static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_GetInertiaEndTransform(IDirectManipulationPrimaryContent* This,float *matrix,DWORD count) {
return This->lpVtbl->GetInertiaEndTransform(This,matrix,count);
}
static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_GetCenterPoint(IDirectManipulationPrimaryContent* This,float *x,float *y) {
return This->lpVtbl->GetCenterPoint(This,x,y);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationPrimaryContent_INTERFACE_DEFINED__ */
/*****************************************************************************
* IDirectManipulationCompositor2 interface
*/
#ifndef __IDirectManipulationCompositor2_INTERFACE_DEFINED__
#define __IDirectManipulationCompositor2_INTERFACE_DEFINED__
DEFINE_GUID(IID_IDirectManipulationCompositor2, 0xd38c7822, 0xf1cb, 0x43cb, 0xb4,0xb9, 0xac,0x0c,0x76,0x7a,0x41,0x2e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d38c7822-f1cb-43cb-b4b9-ac0c767a412e")
IDirectManipulationCompositor2 : public IDirectManipulationCompositor
{
virtual HRESULT STDMETHODCALLTYPE AddContentWithCrossProcessChaining(
IDirectManipulationPrimaryContent *content,
IUnknown *device,
IUnknown *parentVisual,
IUnknown *childVisual) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IDirectManipulationCompositor2, 0xd38c7822, 0xf1cb, 0x43cb, 0xb4,0xb9, 0xac,0x0c,0x76,0x7a,0x41,0x2e)
#endif
#else
typedef struct IDirectManipulationCompositor2Vtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IDirectManipulationCompositor2 *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IDirectManipulationCompositor2 *This);
ULONG (STDMETHODCALLTYPE *Release)(
IDirectManipulationCompositor2 *This);
/*** IDirectManipulationCompositor methods ***/
HRESULT (STDMETHODCALLTYPE *AddContent)(
IDirectManipulationCompositor2 *This,
IDirectManipulationContent *content,
IUnknown *device,
IUnknown *parent,
IUnknown *child);
HRESULT (STDMETHODCALLTYPE *RemoveContent)(
IDirectManipulationCompositor2 *This,
IDirectManipulationContent *content);
HRESULT (STDMETHODCALLTYPE *SetUpdateManager)(
IDirectManipulationCompositor2 *This,
IDirectManipulationUpdateManager *manager);
HRESULT (STDMETHODCALLTYPE *Flush)(
IDirectManipulationCompositor2 *This);
/*** IDirectManipulationCompositor2 methods ***/
HRESULT (STDMETHODCALLTYPE *AddContentWithCrossProcessChaining)(
IDirectManipulationCompositor2 *This,
IDirectManipulationPrimaryContent *content,
IUnknown *device,
IUnknown *parentVisual,
IUnknown *childVisual);
END_INTERFACE
} IDirectManipulationCompositor2Vtbl;
interface IDirectManipulationCompositor2 {
CONST_VTBL IDirectManipulationCompositor2Vtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IDirectManipulationCompositor2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IDirectManipulationCompositor2_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IDirectManipulationCompositor2_Release(This) (This)->lpVtbl->Release(This)
/*** IDirectManipulationCompositor methods ***/
#define IDirectManipulationCompositor2_AddContent(This,content,device,parent,child) (This)->lpVtbl->AddContent(This,content,device,parent,child)
#define IDirectManipulationCompositor2_RemoveContent(This,content) (This)->lpVtbl->RemoveContent(This,content)
#define IDirectManipulationCompositor2_SetUpdateManager(This,manager) (This)->lpVtbl->SetUpdateManager(This,manager)
#define IDirectManipulationCompositor2_Flush(This) (This)->lpVtbl->Flush(This)
/*** IDirectManipulationCompositor2 methods ***/
#define IDirectManipulationCompositor2_AddContentWithCrossProcessChaining(This,content,device,parentVisual,childVisual) (This)->lpVtbl->AddContentWithCrossProcessChaining(This,content,device,parentVisual,childVisual)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IDirectManipulationCompositor2_QueryInterface(IDirectManipulationCompositor2* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IDirectManipulationCompositor2_AddRef(IDirectManipulationCompositor2* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IDirectManipulationCompositor2_Release(IDirectManipulationCompositor2* This) {
return This->lpVtbl->Release(This);
}
/*** IDirectManipulationCompositor methods ***/
static FORCEINLINE HRESULT IDirectManipulationCompositor2_AddContent(IDirectManipulationCompositor2* This,IDirectManipulationContent *content,IUnknown *device,IUnknown *parent,IUnknown *child) {
return This->lpVtbl->AddContent(This,content,device,parent,child);
}
static FORCEINLINE HRESULT IDirectManipulationCompositor2_RemoveContent(IDirectManipulationCompositor2* This,IDirectManipulationContent *content) {
return This->lpVtbl->RemoveContent(This,content);
}
static FORCEINLINE HRESULT IDirectManipulationCompositor2_SetUpdateManager(IDirectManipulationCompositor2* This,IDirectManipulationUpdateManager *manager) {
return This->lpVtbl->SetUpdateManager(This,manager);
}
static FORCEINLINE HRESULT IDirectManipulationCompositor2_Flush(IDirectManipulationCompositor2* This) {
return This->lpVtbl->Flush(This);
}
/*** IDirectManipulationCompositor2 methods ***/
static FORCEINLINE HRESULT IDirectManipulationCompositor2_AddContentWithCrossProcessChaining(IDirectManipulationCompositor2* This,IDirectManipulationPrimaryContent *content,IUnknown *device,IUnknown *parentVisual,IUnknown *childVisual) {
return This->lpVtbl->AddContentWithCrossProcessChaining(This,content,device,parentVisual,childVisual);
}
#endif
#endif
#endif
#endif /* __IDirectManipulationCompositor2_INTERFACE_DEFINED__ */
#ifndef __DirectManipulation_LIBRARY_DEFINED__
#define __DirectManipulation_LIBRARY_DEFINED__
DEFINE_GUID(LIBID_DirectManipulation, 0x9fbedf98, 0xf6d8, 0x4e3b, 0xb4,0x88, 0xfa,0x66,0xdb,0xf5,0xe9,0xf3);
/*****************************************************************************
* DirectManipulationManager coclass
*/
DEFINE_GUID(CLSID_DirectManipulationManager, 0x54e211b6, 0x3650, 0x4f75, 0x83,0x34, 0xfa,0x35,0x95,0x98,0xe1,0xc5);
#ifdef __cplusplus
class DECLSPEC_UUID("54e211b6-3650-4f75-8334-fa359598e1c5") DirectManipulationManager;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DirectManipulationManager, 0x54e211b6, 0x3650, 0x4f75, 0x83,0x34, 0xfa,0x35,0x95,0x98,0xe1,0xc5)
#endif
#endif
/*****************************************************************************
* DirectManipulationSharedManager coclass
*/
DEFINE_GUID(CLSID_DirectManipulationSharedManager, 0x99793286, 0x77cc, 0x4b57, 0x96,0xdb, 0x3b,0x35,0x4f,0x6f,0x9f,0xb5);
#ifdef __cplusplus
class DECLSPEC_UUID("99793286-77cc-4b57-96db-3b354f6f9fb5") DirectManipulationSharedManager;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DirectManipulationSharedManager, 0x99793286, 0x77cc, 0x4b57, 0x96,0xdb, 0x3b,0x35,0x4f,0x6f,0x9f,0xb5)
#endif
#endif
/*****************************************************************************
* DCompManipulationCompositor coclass
*/
DEFINE_GUID(CLSID_DCompManipulationCompositor, 0x79dea627, 0xa08a, 0x43ac, 0x8e,0xf5, 0x69,0x00,0xb9,0x29,0x91,0x26);
#ifdef __cplusplus
class DECLSPEC_UUID("79dea627-a08a-43ac-8ef5-6900b9299126") DCompManipulationCompositor;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DCompManipulationCompositor, 0x79dea627, 0xa08a, 0x43ac, 0x8e,0xf5, 0x69,0x00,0xb9,0x29,0x91,0x26)
#endif
#endif
/*****************************************************************************
* DirectManipulationViewport coclass
*/
DEFINE_GUID(CLSID_DirectManipulationViewport, 0x34e211b6, 0x3650, 0x4f75, 0x83,0x34, 0xfa,0x35,0x95,0x98,0xe1,0xc5);
#ifdef __cplusplus
class DECLSPEC_UUID("34e211b6-3650-4f75-8334-fa359598e1c5") DirectManipulationViewport;
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(DirectManipulationViewport, 0x34e211b6, 0x3650, 0x4f75, 0x83,0x34, 0xfa,0x35,0x95,0x98,0xe1,0xc5)
#endif
#endif
#endif /* __DirectManipulation_LIBRARY_DEFINED__ */
/* Begin additional prototypes for all interfaces */
/* End additional prototypes */
#ifdef __cplusplus
}
#endif
#endif /* __directmanipulation_h__ */