source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/directmanipulation.h

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 98.5 KB
RevLine 
[1166]1/*** Autogenerated by WIDL 6.4 from include/directmanipulation.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __directmanipulation_h__
17#define __directmanipulation_h__
18
19/* Forward declarations */
20
21#ifndef __IDirectManipulationFrameInfoProvider_FWD_DEFINED__
22#define __IDirectManipulationFrameInfoProvider_FWD_DEFINED__
23typedef interface IDirectManipulationFrameInfoProvider IDirectManipulationFrameInfoProvider;
24#ifdef __cplusplus
25interface IDirectManipulationFrameInfoProvider;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IDirectManipulationManager_FWD_DEFINED__
30#define __IDirectManipulationManager_FWD_DEFINED__
31typedef interface IDirectManipulationManager IDirectManipulationManager;
32#ifdef __cplusplus
33interface IDirectManipulationManager;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IDirectManipulationContent_FWD_DEFINED__
38#define __IDirectManipulationContent_FWD_DEFINED__
39typedef interface IDirectManipulationContent IDirectManipulationContent;
40#ifdef __cplusplus
41interface IDirectManipulationContent;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IDirectManipulationUpdateHandler_FWD_DEFINED__
46#define __IDirectManipulationUpdateHandler_FWD_DEFINED__
47typedef interface IDirectManipulationUpdateHandler IDirectManipulationUpdateHandler;
48#ifdef __cplusplus
49interface IDirectManipulationUpdateHandler;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IDirectManipulationUpdateManager_FWD_DEFINED__
54#define __IDirectManipulationUpdateManager_FWD_DEFINED__
55typedef interface IDirectManipulationUpdateManager IDirectManipulationUpdateManager;
56#ifdef __cplusplus
57interface IDirectManipulationUpdateManager;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __IDirectManipulationCompositor_FWD_DEFINED__
62#define __IDirectManipulationCompositor_FWD_DEFINED__
63typedef interface IDirectManipulationCompositor IDirectManipulationCompositor;
64#ifdef __cplusplus
65interface IDirectManipulationCompositor;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IDirectManipulationViewport_FWD_DEFINED__
70#define __IDirectManipulationViewport_FWD_DEFINED__
71typedef interface IDirectManipulationViewport IDirectManipulationViewport;
72#ifdef __cplusplus
73interface IDirectManipulationViewport;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IDirectManipulationViewport2_FWD_DEFINED__
78#define __IDirectManipulationViewport2_FWD_DEFINED__
79typedef interface IDirectManipulationViewport2 IDirectManipulationViewport2;
80#ifdef __cplusplus
81interface IDirectManipulationViewport2;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IDirectManipulationViewportEventHandler_FWD_DEFINED__
86#define __IDirectManipulationViewportEventHandler_FWD_DEFINED__
87typedef interface IDirectManipulationViewportEventHandler IDirectManipulationViewportEventHandler;
88#ifdef __cplusplus
89interface IDirectManipulationViewportEventHandler;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IDirectManipulationManager2_FWD_DEFINED__
94#define __IDirectManipulationManager2_FWD_DEFINED__
95typedef interface IDirectManipulationManager2 IDirectManipulationManager2;
96#ifdef __cplusplus
97interface IDirectManipulationManager2;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __IDirectManipulationPrimaryContent_FWD_DEFINED__
102#define __IDirectManipulationPrimaryContent_FWD_DEFINED__
103typedef interface IDirectManipulationPrimaryContent IDirectManipulationPrimaryContent;
104#ifdef __cplusplus
105interface IDirectManipulationPrimaryContent;
106#endif /* __cplusplus */
107#endif
108
109#ifndef __IDirectManipulationCompositor2_FWD_DEFINED__
110#define __IDirectManipulationCompositor2_FWD_DEFINED__
111typedef interface IDirectManipulationCompositor2 IDirectManipulationCompositor2;
112#ifdef __cplusplus
113interface IDirectManipulationCompositor2;
114#endif /* __cplusplus */
115#endif
116
117#ifndef __DirectManipulationManager_FWD_DEFINED__
118#define __DirectManipulationManager_FWD_DEFINED__
119#ifdef __cplusplus
120typedef class DirectManipulationManager DirectManipulationManager;
121#else
122typedef struct DirectManipulationManager DirectManipulationManager;
123#endif /* defined __cplusplus */
124#endif /* defined __DirectManipulationManager_FWD_DEFINED__ */
125
126#ifndef __DirectManipulationSharedManager_FWD_DEFINED__
127#define __DirectManipulationSharedManager_FWD_DEFINED__
128#ifdef __cplusplus
129typedef class DirectManipulationSharedManager DirectManipulationSharedManager;
130#else
131typedef struct DirectManipulationSharedManager DirectManipulationSharedManager;
132#endif /* defined __cplusplus */
133#endif /* defined __DirectManipulationSharedManager_FWD_DEFINED__ */
134
135#ifndef __DCompManipulationCompositor_FWD_DEFINED__
136#define __DCompManipulationCompositor_FWD_DEFINED__
137#ifdef __cplusplus
138typedef class DCompManipulationCompositor DCompManipulationCompositor;
139#else
140typedef struct DCompManipulationCompositor DCompManipulationCompositor;
141#endif /* defined __cplusplus */
142#endif /* defined __DCompManipulationCompositor_FWD_DEFINED__ */
143
144#ifndef __DirectManipulationViewport_FWD_DEFINED__
145#define __DirectManipulationViewport_FWD_DEFINED__
146#ifdef __cplusplus
147typedef class DirectManipulationViewport DirectManipulationViewport;
148#else
149typedef struct DirectManipulationViewport DirectManipulationViewport;
150#endif /* defined __cplusplus */
151#endif /* defined __DirectManipulationViewport_FWD_DEFINED__ */
152
153/* Headers for imported files */
154
155#include <oaidl.h>
156#include <ocidl.h>
157
158#ifdef __cplusplus
159extern "C" {
160#endif
161
162#if 0
163typedef void *HWND;
164#endif
165#ifndef __IDirectManipulationViewportEventHandler_FWD_DEFINED__
166#define __IDirectManipulationViewportEventHandler_FWD_DEFINED__
167typedef interface IDirectManipulationViewportEventHandler IDirectManipulationViewportEventHandler;
168#ifdef __cplusplus
169interface IDirectManipulationViewportEventHandler;
170#endif /* __cplusplus */
171#endif
172
173typedef enum DIRECTMANIPULATION_HITTEST_TYPE {
174 DIRECTMANIPULATION_HITTEST_TYPE_ASYNCHRONOUS = 0x0,
175 DIRECTMANIPULATION_HITTEST_TYPE_SYNCHRONOUS = 0x1,
176 DIRECTMANIPULATION_HITTEST_TYPE_AUTO_SYNCHRONOUS = 0x2
177} DIRECTMANIPULATION_HITTEST_TYPE;
178DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_HITTEST_TYPE)
179typedef enum DIRECTMANIPULATION_STATUS {
180 DIRECTMANIPULATION_BUILDING = 0,
181 DIRECTMANIPULATION_ENABLED = 1,
182 DIRECTMANIPULATION_DISABLED = 2,
183 DIRECTMANIPULATION_RUNNING = 3,
184 DIRECTMANIPULATION_INERTIA = 4,
185 DIRECTMANIPULATION_READY = 5,
186 DIRECTMANIPULATION_SUSPENDED = 6
187} DIRECTMANIPULATION_STATUS;
188typedef enum DIRECTMANIPULATION_VIEWPORT_OPTIONS {
189 DIRECTMANIPULATION_VIEWPORT_OPTIONS_DEFAULT = 0x0,
190 DIRECTMANIPULATION_VIEWPORT_OPTIONS_AUTODISABLE = 0x1,
191 DIRECTMANIPULATION_VIEWPORT_OPTIONS_MANUALUPDATE = 0x2,
192 DIRECTMANIPULATION_VIEWPORT_OPTIONS_INPUT = 0x4,
193 DIRECTMANIPULATION_VIEWPORT_OPTIONS_EXPLICITHITTEST = 0x8,
194 DIRECTMANIPULATION_VIEWPORT_OPTIONS_DISABLEPIXELSNAPPING = 0x10
195} DIRECTMANIPULATION_VIEWPORT_OPTIONS;
196DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_VIEWPORT_OPTIONS)
197typedef enum DIRECTMANIPULATION_CONFIGURATION {
198 DIRECTMANIPULATION_CONFIGURATION_NONE = 0x0,
199 DIRECTMANIPULATION_CONFIGURATION_INTERACTION = 0x1,
200 DIRECTMANIPULATION_CONFIGURATION_TRANSLATION_X = 0x2,
201 DIRECTMANIPULATION_CONFIGURATION_TRANSLATION_Y = 0x4,
202 DIRECTMANIPULATION_CONFIGURATION_SCALING = 0x10,
203 DIRECTMANIPULATION_CONFIGURATION_TRANSLATION_INERTIA = 0x20,
204 DIRECTMANIPULATION_CONFIGURATION_SCALING_INERTIA = 0x80,
205 DIRECTMANIPULATION_CONFIGURATION_RAILS_X = 0x100,
206 DIRECTMANIPULATION_CONFIGURATION_RAILS_Y = 0x200
207} DIRECTMANIPULATION_CONFIGURATION;
208DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_CONFIGURATION)
209typedef enum DIRECTMANIPULATION_GESTURE_CONFIGURATION {
210 DIRECTMANIPULATION_GESTURE_NONE = 0x0,
211 DIRECTMANIPULATION_GESTURE_DEFAULT = 0x0,
212 DIRECTMANIPULATION_GESTURE_CROSS_SLIDE_VERTICAL = 0x8,
213 DIRECTMANIPULATION_GESTURE_CROSS_SLIDE_HORIZONTAL = 0x10,
214 DIRECTMANIPULATION_GESTURE_PINCH_ZOOM = 0x20
215} DIRECTMANIPULATION_GESTURE_CONFIGURATION;
216DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_GESTURE_CONFIGURATION)
217typedef enum DIRECTMANIPULATION_MOTION_TYPES {
218 DIRECTMANIPULATION_MOTION_NONE = 0x0,
219 DIRECTMANIPULATION_MOTION_TRANSLATEX = 0x1,
220 DIRECTMANIPULATION_MOTION_TRANSLATEY = 0x2,
221 DIRECTMANIPULATION_MOTION_ZOOM = 0x4,
222 DIRECTMANIPULATION_MOTION_CENTERX = 0x10,
223 DIRECTMANIPULATION_MOTION_CENTERY = 0x20,
224 DIRECTMANIPULATION_MOTION_ALL = (((DIRECTMANIPULATION_MOTION_TRANSLATEX | DIRECTMANIPULATION_MOTION_TRANSLATEY) | DIRECTMANIPULATION_MOTION_ZOOM) | DIRECTMANIPULATION_MOTION_CENTERX) | DIRECTMANIPULATION_MOTION_CENTERY
225} DIRECTMANIPULATION_MOTION_TYPES;
226DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_MOTION_TYPES)
227typedef enum DIRECTMANIPULATION_SNAPPOINT_TYPE {
228 DIRECTMANIPULATION_SNAPPOINT_MANDATORY = 0,
229 DIRECTMANIPULATION_SNAPPOINT_OPTIONAL = 1,
230 DIRECTMANIPULATION_SNAPPOINT_MANDATORY_SINGLE = 2,
231 DIRECTMANIPULATION_SNAPPOINT_OPTIONAL_SINGLE = 3
232} DIRECTMANIPULATION_SNAPPOINT_TYPE;
233typedef enum DIRECTMANIPULATION_SNAPPOINT_COORDINATE {
234 DIRECTMANIPULATION_COORDINATE_BOUNDARY = 0x0,
235 DIRECTMANIPULATION_COORDINATE_ORIGIN = 0x1,
236 DIRECTMANIPULATION_COORDINATE_MIRRORED = 0x10
237} DIRECTMANIPULATION_SNAPPOINT_COORDINATE;
238DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_SNAPPOINT_COORDINATE)
239typedef enum DIRECTMANIPULATION_HORIZONTALALIGNMENT {
240 DIRECTMANIPULATION_HORIZONTALALIGNMENT_NONE = 0x0,
241 DIRECTMANIPULATION_HORIZONTALALIGNMENT_LEFT = 0x1,
242 DIRECTMANIPULATION_HORIZONTALALIGNMENT_CENTER = 0x2,
243 DIRECTMANIPULATION_HORIZONTALALIGNMENT_RIGHT = 0x4,
244 DIRECTMANIPULATION_HORIZONTALALIGNMENT_UNLOCKCENTER = 0x8
245} DIRECTMANIPULATION_HORIZONTALALIGNMENT;
246DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_HORIZONTALALIGNMENT)
247typedef enum DIRECTMANIPULATION_VERTICALALIGNMENT {
248 DIRECTMANIPULATION_VERTICALALIGNMENT_NONE = 0x0,
249 DIRECTMANIPULATION_VERTICALALIGNMENT_TOP = 0x1,
250 DIRECTMANIPULATION_VERTICALALIGNMENT_CENTER = 0x2,
251 DIRECTMANIPULATION_VERTICALALIGNMENT_BOTTOM = 0x4,
252 DIRECTMANIPULATION_VERTICALALIGNMENT_UNLOCKCENTER = 0x8
253} DIRECTMANIPULATION_VERTICALALIGNMENT;
254DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_VERTICALALIGNMENT)
255typedef enum DIRECTMANIPULATION_INPUT_MODE {
256 DIRECTMANIPULATION_INPUT_MODE_AUTOMATIC = 0,
257 DIRECTMANIPULATION_INPUT_MODE_MANUAL = 1
258} DIRECTMANIPULATION_INPUT_MODE;
259/*****************************************************************************
260 * IDirectManipulationFrameInfoProvider interface
261 */
262#ifndef __IDirectManipulationFrameInfoProvider_INTERFACE_DEFINED__
263#define __IDirectManipulationFrameInfoProvider_INTERFACE_DEFINED__
264
265DEFINE_GUID(IID_IDirectManipulationFrameInfoProvider, 0xfb759dba, 0x6f4c, 0x4c01, 0x87,0x4e, 0x19,0xc8,0xa0,0x59,0x07,0xf9);
266#if defined(__cplusplus) && !defined(CINTERFACE)
267MIDL_INTERFACE("fb759dba-6f4c-4c01-874e-19c8a05907f9")
268IDirectManipulationFrameInfoProvider : public IUnknown
269{
270 virtual HRESULT STDMETHODCALLTYPE GetNextFrameInfo(
271 ULONGLONG *time,
272 ULONGLONG *process,
273 ULONGLONG *composition) = 0;
274
275};
276#ifdef __CRT_UUID_DECL
277__CRT_UUID_DECL(IDirectManipulationFrameInfoProvider, 0xfb759dba, 0x6f4c, 0x4c01, 0x87,0x4e, 0x19,0xc8,0xa0,0x59,0x07,0xf9)
278#endif
279#else
280typedef struct IDirectManipulationFrameInfoProviderVtbl {
281 BEGIN_INTERFACE
282
283 /*** IUnknown methods ***/
284 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
285 IDirectManipulationFrameInfoProvider *This,
286 REFIID riid,
287 void **ppvObject);
288
289 ULONG (STDMETHODCALLTYPE *AddRef)(
290 IDirectManipulationFrameInfoProvider *This);
291
292 ULONG (STDMETHODCALLTYPE *Release)(
293 IDirectManipulationFrameInfoProvider *This);
294
295 /*** IDirectManipulationFrameInfoProvider methods ***/
296 HRESULT (STDMETHODCALLTYPE *GetNextFrameInfo)(
297 IDirectManipulationFrameInfoProvider *This,
298 ULONGLONG *time,
299 ULONGLONG *process,
300 ULONGLONG *composition);
301
302 END_INTERFACE
303} IDirectManipulationFrameInfoProviderVtbl;
304
305interface IDirectManipulationFrameInfoProvider {
306 CONST_VTBL IDirectManipulationFrameInfoProviderVtbl* lpVtbl;
307};
308
309#ifdef COBJMACROS
310#ifndef WIDL_C_INLINE_WRAPPERS
311/*** IUnknown methods ***/
312#define IDirectManipulationFrameInfoProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
313#define IDirectManipulationFrameInfoProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
314#define IDirectManipulationFrameInfoProvider_Release(This) (This)->lpVtbl->Release(This)
315/*** IDirectManipulationFrameInfoProvider methods ***/
316#define IDirectManipulationFrameInfoProvider_GetNextFrameInfo(This,time,process,composition) (This)->lpVtbl->GetNextFrameInfo(This,time,process,composition)
317#else
318/*** IUnknown methods ***/
319static FORCEINLINE HRESULT IDirectManipulationFrameInfoProvider_QueryInterface(IDirectManipulationFrameInfoProvider* This,REFIID riid,void **ppvObject) {
320 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
321}
322static FORCEINLINE ULONG IDirectManipulationFrameInfoProvider_AddRef(IDirectManipulationFrameInfoProvider* This) {
323 return This->lpVtbl->AddRef(This);
324}
325static FORCEINLINE ULONG IDirectManipulationFrameInfoProvider_Release(IDirectManipulationFrameInfoProvider* This) {
326 return This->lpVtbl->Release(This);
327}
328/*** IDirectManipulationFrameInfoProvider methods ***/
329static FORCEINLINE HRESULT IDirectManipulationFrameInfoProvider_GetNextFrameInfo(IDirectManipulationFrameInfoProvider* This,ULONGLONG *time,ULONGLONG *process,ULONGLONG *composition) {
330 return This->lpVtbl->GetNextFrameInfo(This,time,process,composition);
331}
332#endif
333#endif
334
335#endif
336
337
338#endif /* __IDirectManipulationFrameInfoProvider_INTERFACE_DEFINED__ */
339
340/*****************************************************************************
341 * IDirectManipulationManager interface
342 */
343#ifndef __IDirectManipulationManager_INTERFACE_DEFINED__
344#define __IDirectManipulationManager_INTERFACE_DEFINED__
345
346DEFINE_GUID(IID_IDirectManipulationManager, 0xfbf5d3b4, 0x70c7, 0x4163, 0x93,0x22, 0x5a,0x6f,0x66,0x0d,0x6f,0xbc);
347#if defined(__cplusplus) && !defined(CINTERFACE)
348MIDL_INTERFACE("fbf5d3b4-70c7-4163-9322-5a6f660d6fbc")
349IDirectManipulationManager : public IUnknown
350{
351 virtual HRESULT STDMETHODCALLTYPE Activate(
352 HWND window) = 0;
353
354 virtual HRESULT STDMETHODCALLTYPE Deactivate(
355 HWND window) = 0;
356
357 virtual HRESULT STDMETHODCALLTYPE RegisterHitTestTarget(
358 HWND window,
359 HWND hittest,
360 DIRECTMANIPULATION_HITTEST_TYPE type) = 0;
361
362 virtual HRESULT STDMETHODCALLTYPE ProcessInput(
363 const MSG *msg,
364 WINBOOL *handled) = 0;
365
366 virtual HRESULT STDMETHODCALLTYPE GetUpdateManager(
367 REFIID riid,
368 void **obj) = 0;
369
370 virtual HRESULT STDMETHODCALLTYPE CreateViewport(
371 IDirectManipulationFrameInfoProvider *frame,
372 HWND window,
373 REFIID riid,
374 void **obj) = 0;
375
376 virtual HRESULT STDMETHODCALLTYPE CreateContent(
377 IDirectManipulationFrameInfoProvider *frame,
378 REFCLSID clsid,
379 REFIID riid,
380 void **obj) = 0;
381
382};
383#ifdef __CRT_UUID_DECL
384__CRT_UUID_DECL(IDirectManipulationManager, 0xfbf5d3b4, 0x70c7, 0x4163, 0x93,0x22, 0x5a,0x6f,0x66,0x0d,0x6f,0xbc)
385#endif
386#else
387typedef struct IDirectManipulationManagerVtbl {
388 BEGIN_INTERFACE
389
390 /*** IUnknown methods ***/
391 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
392 IDirectManipulationManager *This,
393 REFIID riid,
394 void **ppvObject);
395
396 ULONG (STDMETHODCALLTYPE *AddRef)(
397 IDirectManipulationManager *This);
398
399 ULONG (STDMETHODCALLTYPE *Release)(
400 IDirectManipulationManager *This);
401
402 /*** IDirectManipulationManager methods ***/
403 HRESULT (STDMETHODCALLTYPE *Activate)(
404 IDirectManipulationManager *This,
405 HWND window);
406
407 HRESULT (STDMETHODCALLTYPE *Deactivate)(
408 IDirectManipulationManager *This,
409 HWND window);
410
411 HRESULT (STDMETHODCALLTYPE *RegisterHitTestTarget)(
412 IDirectManipulationManager *This,
413 HWND window,
414 HWND hittest,
415 DIRECTMANIPULATION_HITTEST_TYPE type);
416
417 HRESULT (STDMETHODCALLTYPE *ProcessInput)(
418 IDirectManipulationManager *This,
419 const MSG *msg,
420 WINBOOL *handled);
421
422 HRESULT (STDMETHODCALLTYPE *GetUpdateManager)(
423 IDirectManipulationManager *This,
424 REFIID riid,
425 void **obj);
426
427 HRESULT (STDMETHODCALLTYPE *CreateViewport)(
428 IDirectManipulationManager *This,
429 IDirectManipulationFrameInfoProvider *frame,
430 HWND window,
431 REFIID riid,
432 void **obj);
433
434 HRESULT (STDMETHODCALLTYPE *CreateContent)(
435 IDirectManipulationManager *This,
436 IDirectManipulationFrameInfoProvider *frame,
437 REFCLSID clsid,
438 REFIID riid,
439 void **obj);
440
441 END_INTERFACE
442} IDirectManipulationManagerVtbl;
443
444interface IDirectManipulationManager {
445 CONST_VTBL IDirectManipulationManagerVtbl* lpVtbl;
446};
447
448#ifdef COBJMACROS
449#ifndef WIDL_C_INLINE_WRAPPERS
450/*** IUnknown methods ***/
451#define IDirectManipulationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
452#define IDirectManipulationManager_AddRef(This) (This)->lpVtbl->AddRef(This)
453#define IDirectManipulationManager_Release(This) (This)->lpVtbl->Release(This)
454/*** IDirectManipulationManager methods ***/
455#define IDirectManipulationManager_Activate(This,window) (This)->lpVtbl->Activate(This,window)
456#define IDirectManipulationManager_Deactivate(This,window) (This)->lpVtbl->Deactivate(This,window)
457#define IDirectManipulationManager_RegisterHitTestTarget(This,window,hittest,type) (This)->lpVtbl->RegisterHitTestTarget(This,window,hittest,type)
458#define IDirectManipulationManager_ProcessInput(This,msg,handled) (This)->lpVtbl->ProcessInput(This,msg,handled)
459#define IDirectManipulationManager_GetUpdateManager(This,riid,obj) (This)->lpVtbl->GetUpdateManager(This,riid,obj)
460#define IDirectManipulationManager_CreateViewport(This,frame,window,riid,obj) (This)->lpVtbl->CreateViewport(This,frame,window,riid,obj)
461#define IDirectManipulationManager_CreateContent(This,frame,clsid,riid,obj) (This)->lpVtbl->CreateContent(This,frame,clsid,riid,obj)
462#else
463/*** IUnknown methods ***/
464static FORCEINLINE HRESULT IDirectManipulationManager_QueryInterface(IDirectManipulationManager* This,REFIID riid,void **ppvObject) {
465 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
466}
467static FORCEINLINE ULONG IDirectManipulationManager_AddRef(IDirectManipulationManager* This) {
468 return This->lpVtbl->AddRef(This);
469}
470static FORCEINLINE ULONG IDirectManipulationManager_Release(IDirectManipulationManager* This) {
471 return This->lpVtbl->Release(This);
472}
473/*** IDirectManipulationManager methods ***/
474static FORCEINLINE HRESULT IDirectManipulationManager_Activate(IDirectManipulationManager* This,HWND window) {
475 return This->lpVtbl->Activate(This,window);
476}
477static FORCEINLINE HRESULT IDirectManipulationManager_Deactivate(IDirectManipulationManager* This,HWND window) {
478 return This->lpVtbl->Deactivate(This,window);
479}
480static FORCEINLINE HRESULT IDirectManipulationManager_RegisterHitTestTarget(IDirectManipulationManager* This,HWND window,HWND hittest,DIRECTMANIPULATION_HITTEST_TYPE type) {
481 return This->lpVtbl->RegisterHitTestTarget(This,window,hittest,type);
482}
483static FORCEINLINE HRESULT IDirectManipulationManager_ProcessInput(IDirectManipulationManager* This,const MSG *msg,WINBOOL *handled) {
484 return This->lpVtbl->ProcessInput(This,msg,handled);
485}
486static FORCEINLINE HRESULT IDirectManipulationManager_GetUpdateManager(IDirectManipulationManager* This,REFIID riid,void **obj) {
487 return This->lpVtbl->GetUpdateManager(This,riid,obj);
488}
489static FORCEINLINE HRESULT IDirectManipulationManager_CreateViewport(IDirectManipulationManager* This,IDirectManipulationFrameInfoProvider *frame,HWND window,REFIID riid,void **obj) {
490 return This->lpVtbl->CreateViewport(This,frame,window,riid,obj);
491}
492static FORCEINLINE HRESULT IDirectManipulationManager_CreateContent(IDirectManipulationManager* This,IDirectManipulationFrameInfoProvider *frame,REFCLSID clsid,REFIID riid,void **obj) {
493 return This->lpVtbl->CreateContent(This,frame,clsid,riid,obj);
494}
495#endif
496#endif
497
498#endif
499
500
501#endif /* __IDirectManipulationManager_INTERFACE_DEFINED__ */
502
503/*****************************************************************************
504 * IDirectManipulationContent interface
505 */
506#ifndef __IDirectManipulationContent_INTERFACE_DEFINED__
507#define __IDirectManipulationContent_INTERFACE_DEFINED__
508
509DEFINE_GUID(IID_IDirectManipulationContent, 0xb89962cb, 0x3d89, 0x442b, 0xbb,0x58, 0x50,0x98,0xfa,0x0f,0x9f,0x16);
510#if defined(__cplusplus) && !defined(CINTERFACE)
511MIDL_INTERFACE("b89962cb-3d89-442b-bb58-5098fa0f9f16")
512IDirectManipulationContent : public IUnknown
513{
514 virtual HRESULT STDMETHODCALLTYPE GetContentRect(
515 RECT *size) = 0;
516
517 virtual HRESULT STDMETHODCALLTYPE SetContentRect(
518 const RECT *size) = 0;
519
520 virtual HRESULT STDMETHODCALLTYPE GetViewport(
521 REFIID riid,
522 void **object) = 0;
523
524 virtual HRESULT STDMETHODCALLTYPE GetTag(
525 REFIID riid,
526 void **object,
527 UINT32 *id) = 0;
528
529 virtual HRESULT STDMETHODCALLTYPE SetTag(
530 IUnknown *object,
531 UINT32 id) = 0;
532
533 virtual HRESULT STDMETHODCALLTYPE GetOutputTransform(
534 float *matrix,
535 DWORD count) = 0;
536
537 virtual HRESULT STDMETHODCALLTYPE GetContentTransform(
538 float *matrix,
539 DWORD count) = 0;
540
541 virtual HRESULT STDMETHODCALLTYPE SyncContentTransform(
542 const float *matrix,
543 DWORD count) = 0;
544
545};
546#ifdef __CRT_UUID_DECL
547__CRT_UUID_DECL(IDirectManipulationContent, 0xb89962cb, 0x3d89, 0x442b, 0xbb,0x58, 0x50,0x98,0xfa,0x0f,0x9f,0x16)
548#endif
549#else
550typedef struct IDirectManipulationContentVtbl {
551 BEGIN_INTERFACE
552
553 /*** IUnknown methods ***/
554 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
555 IDirectManipulationContent *This,
556 REFIID riid,
557 void **ppvObject);
558
559 ULONG (STDMETHODCALLTYPE *AddRef)(
560 IDirectManipulationContent *This);
561
562 ULONG (STDMETHODCALLTYPE *Release)(
563 IDirectManipulationContent *This);
564
565 /*** IDirectManipulationContent methods ***/
566 HRESULT (STDMETHODCALLTYPE *GetContentRect)(
567 IDirectManipulationContent *This,
568 RECT *size);
569
570 HRESULT (STDMETHODCALLTYPE *SetContentRect)(
571 IDirectManipulationContent *This,
572 const RECT *size);
573
574 HRESULT (STDMETHODCALLTYPE *GetViewport)(
575 IDirectManipulationContent *This,
576 REFIID riid,
577 void **object);
578
579 HRESULT (STDMETHODCALLTYPE *GetTag)(
580 IDirectManipulationContent *This,
581 REFIID riid,
582 void **object,
583 UINT32 *id);
584
585 HRESULT (STDMETHODCALLTYPE *SetTag)(
586 IDirectManipulationContent *This,
587 IUnknown *object,
588 UINT32 id);
589
590 HRESULT (STDMETHODCALLTYPE *GetOutputTransform)(
591 IDirectManipulationContent *This,
592 float *matrix,
593 DWORD count);
594
595 HRESULT (STDMETHODCALLTYPE *GetContentTransform)(
596 IDirectManipulationContent *This,
597 float *matrix,
598 DWORD count);
599
600 HRESULT (STDMETHODCALLTYPE *SyncContentTransform)(
601 IDirectManipulationContent *This,
602 const float *matrix,
603 DWORD count);
604
605 END_INTERFACE
606} IDirectManipulationContentVtbl;
607
608interface IDirectManipulationContent {
609 CONST_VTBL IDirectManipulationContentVtbl* lpVtbl;
610};
611
612#ifdef COBJMACROS
613#ifndef WIDL_C_INLINE_WRAPPERS
614/*** IUnknown methods ***/
615#define IDirectManipulationContent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
616#define IDirectManipulationContent_AddRef(This) (This)->lpVtbl->AddRef(This)
617#define IDirectManipulationContent_Release(This) (This)->lpVtbl->Release(This)
618/*** IDirectManipulationContent methods ***/
619#define IDirectManipulationContent_GetContentRect(This,size) (This)->lpVtbl->GetContentRect(This,size)
620#define IDirectManipulationContent_SetContentRect(This,size) (This)->lpVtbl->SetContentRect(This,size)
621#define IDirectManipulationContent_GetViewport(This,riid,object) (This)->lpVtbl->GetViewport(This,riid,object)
622#define IDirectManipulationContent_GetTag(This,riid,object,id) (This)->lpVtbl->GetTag(This,riid,object,id)
623#define IDirectManipulationContent_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id)
624#define IDirectManipulationContent_GetOutputTransform(This,matrix,count) (This)->lpVtbl->GetOutputTransform(This,matrix,count)
625#define IDirectManipulationContent_GetContentTransform(This,matrix,count) (This)->lpVtbl->GetContentTransform(This,matrix,count)
626#define IDirectManipulationContent_SyncContentTransform(This,matrix,count) (This)->lpVtbl->SyncContentTransform(This,matrix,count)
627#else
628/*** IUnknown methods ***/
629static FORCEINLINE HRESULT IDirectManipulationContent_QueryInterface(IDirectManipulationContent* This,REFIID riid,void **ppvObject) {
630 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
631}
632static FORCEINLINE ULONG IDirectManipulationContent_AddRef(IDirectManipulationContent* This) {
633 return This->lpVtbl->AddRef(This);
634}
635static FORCEINLINE ULONG IDirectManipulationContent_Release(IDirectManipulationContent* This) {
636 return This->lpVtbl->Release(This);
637}
638/*** IDirectManipulationContent methods ***/
639static FORCEINLINE HRESULT IDirectManipulationContent_GetContentRect(IDirectManipulationContent* This,RECT *size) {
640 return This->lpVtbl->GetContentRect(This,size);
641}
642static FORCEINLINE HRESULT IDirectManipulationContent_SetContentRect(IDirectManipulationContent* This,const RECT *size) {
643 return This->lpVtbl->SetContentRect(This,size);
644}
645static FORCEINLINE HRESULT IDirectManipulationContent_GetViewport(IDirectManipulationContent* This,REFIID riid,void **object) {
646 return This->lpVtbl->GetViewport(This,riid,object);
647}
648static FORCEINLINE HRESULT IDirectManipulationContent_GetTag(IDirectManipulationContent* This,REFIID riid,void **object,UINT32 *id) {
649 return This->lpVtbl->GetTag(This,riid,object,id);
650}
651static FORCEINLINE HRESULT IDirectManipulationContent_SetTag(IDirectManipulationContent* This,IUnknown *object,UINT32 id) {
652 return This->lpVtbl->SetTag(This,object,id);
653}
654static FORCEINLINE HRESULT IDirectManipulationContent_GetOutputTransform(IDirectManipulationContent* This,float *matrix,DWORD count) {
655 return This->lpVtbl->GetOutputTransform(This,matrix,count);
656}
657static FORCEINLINE HRESULT IDirectManipulationContent_GetContentTransform(IDirectManipulationContent* This,float *matrix,DWORD count) {
658 return This->lpVtbl->GetContentTransform(This,matrix,count);
659}
660static FORCEINLINE HRESULT IDirectManipulationContent_SyncContentTransform(IDirectManipulationContent* This,const float *matrix,DWORD count) {
661 return This->lpVtbl->SyncContentTransform(This,matrix,count);
662}
663#endif
664#endif
665
666#endif
667
668
669#endif /* __IDirectManipulationContent_INTERFACE_DEFINED__ */
670
671/*****************************************************************************
672 * IDirectManipulationUpdateHandler interface
673 */
674#ifndef __IDirectManipulationUpdateHandler_INTERFACE_DEFINED__
675#define __IDirectManipulationUpdateHandler_INTERFACE_DEFINED__
676
677DEFINE_GUID(IID_IDirectManipulationUpdateHandler, 0x790b6337, 0x64f8, 0x4ff5, 0xa2,0x69, 0xb3,0x2b,0xc2,0xaf,0x27,0xa7);
678#if defined(__cplusplus) && !defined(CINTERFACE)
679MIDL_INTERFACE("790b6337-64f8-4ff5-a269-b32bc2af27a7")
680IDirectManipulationUpdateHandler : public IUnknown
681{
682 virtual HRESULT STDMETHODCALLTYPE Update(
683 ) = 0;
684
685};
686#ifdef __CRT_UUID_DECL
687__CRT_UUID_DECL(IDirectManipulationUpdateHandler, 0x790b6337, 0x64f8, 0x4ff5, 0xa2,0x69, 0xb3,0x2b,0xc2,0xaf,0x27,0xa7)
688#endif
689#else
690typedef struct IDirectManipulationUpdateHandlerVtbl {
691 BEGIN_INTERFACE
692
693 /*** IUnknown methods ***/
694 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
695 IDirectManipulationUpdateHandler *This,
696 REFIID riid,
697 void **ppvObject);
698
699 ULONG (STDMETHODCALLTYPE *AddRef)(
700 IDirectManipulationUpdateHandler *This);
701
702 ULONG (STDMETHODCALLTYPE *Release)(
703 IDirectManipulationUpdateHandler *This);
704
705 /*** IDirectManipulationUpdateHandler methods ***/
706 HRESULT (STDMETHODCALLTYPE *Update)(
707 IDirectManipulationUpdateHandler *This);
708
709 END_INTERFACE
710} IDirectManipulationUpdateHandlerVtbl;
711
712interface IDirectManipulationUpdateHandler {
713 CONST_VTBL IDirectManipulationUpdateHandlerVtbl* lpVtbl;
714};
715
716#ifdef COBJMACROS
717#ifndef WIDL_C_INLINE_WRAPPERS
718/*** IUnknown methods ***/
719#define IDirectManipulationUpdateHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
720#define IDirectManipulationUpdateHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
721#define IDirectManipulationUpdateHandler_Release(This) (This)->lpVtbl->Release(This)
722/*** IDirectManipulationUpdateHandler methods ***/
723#define IDirectManipulationUpdateHandler_Update(This) (This)->lpVtbl->Update(This)
724#else
725/*** IUnknown methods ***/
726static FORCEINLINE HRESULT IDirectManipulationUpdateHandler_QueryInterface(IDirectManipulationUpdateHandler* This,REFIID riid,void **ppvObject) {
727 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
728}
729static FORCEINLINE ULONG IDirectManipulationUpdateHandler_AddRef(IDirectManipulationUpdateHandler* This) {
730 return This->lpVtbl->AddRef(This);
731}
732static FORCEINLINE ULONG IDirectManipulationUpdateHandler_Release(IDirectManipulationUpdateHandler* This) {
733 return This->lpVtbl->Release(This);
734}
735/*** IDirectManipulationUpdateHandler methods ***/
736static FORCEINLINE HRESULT IDirectManipulationUpdateHandler_Update(IDirectManipulationUpdateHandler* This) {
737 return This->lpVtbl->Update(This);
738}
739#endif
740#endif
741
742#endif
743
744
745#endif /* __IDirectManipulationUpdateHandler_INTERFACE_DEFINED__ */
746
747/*****************************************************************************
748 * IDirectManipulationUpdateManager interface
749 */
750#ifndef __IDirectManipulationUpdateManager_INTERFACE_DEFINED__
751#define __IDirectManipulationUpdateManager_INTERFACE_DEFINED__
752
753DEFINE_GUID(IID_IDirectManipulationUpdateManager, 0xb0ae62fd, 0xbe34, 0x46e7, 0x9c,0xaa, 0xd3,0x61,0xfa,0xcb,0xb9,0xcc);
754#if defined(__cplusplus) && !defined(CINTERFACE)
755MIDL_INTERFACE("b0ae62fd-be34-46e7-9caa-d361facbb9cc")
756IDirectManipulationUpdateManager : public IUnknown
757{
758 virtual HRESULT STDMETHODCALLTYPE RegisterWaitHandleCallback(
759 HANDLE handle,
760 IDirectManipulationUpdateHandler *handler,
761 DWORD *cookie) = 0;
762
763 virtual HRESULT STDMETHODCALLTYPE UnregisterWaitHandleCallback(
764 DWORD cookie) = 0;
765
766 virtual HRESULT STDMETHODCALLTYPE Update(
767 IDirectManipulationFrameInfoProvider *provider) = 0;
768
769};
770#ifdef __CRT_UUID_DECL
771__CRT_UUID_DECL(IDirectManipulationUpdateManager, 0xb0ae62fd, 0xbe34, 0x46e7, 0x9c,0xaa, 0xd3,0x61,0xfa,0xcb,0xb9,0xcc)
772#endif
773#else
774typedef struct IDirectManipulationUpdateManagerVtbl {
775 BEGIN_INTERFACE
776
777 /*** IUnknown methods ***/
778 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
779 IDirectManipulationUpdateManager *This,
780 REFIID riid,
781 void **ppvObject);
782
783 ULONG (STDMETHODCALLTYPE *AddRef)(
784 IDirectManipulationUpdateManager *This);
785
786 ULONG (STDMETHODCALLTYPE *Release)(
787 IDirectManipulationUpdateManager *This);
788
789 /*** IDirectManipulationUpdateManager methods ***/
790 HRESULT (STDMETHODCALLTYPE *RegisterWaitHandleCallback)(
791 IDirectManipulationUpdateManager *This,
792 HANDLE handle,
793 IDirectManipulationUpdateHandler *handler,
794 DWORD *cookie);
795
796 HRESULT (STDMETHODCALLTYPE *UnregisterWaitHandleCallback)(
797 IDirectManipulationUpdateManager *This,
798 DWORD cookie);
799
800 HRESULT (STDMETHODCALLTYPE *Update)(
801 IDirectManipulationUpdateManager *This,
802 IDirectManipulationFrameInfoProvider *provider);
803
804 END_INTERFACE
805} IDirectManipulationUpdateManagerVtbl;
806
807interface IDirectManipulationUpdateManager {
808 CONST_VTBL IDirectManipulationUpdateManagerVtbl* lpVtbl;
809};
810
811#ifdef COBJMACROS
812#ifndef WIDL_C_INLINE_WRAPPERS
813/*** IUnknown methods ***/
814#define IDirectManipulationUpdateManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
815#define IDirectManipulationUpdateManager_AddRef(This) (This)->lpVtbl->AddRef(This)
816#define IDirectManipulationUpdateManager_Release(This) (This)->lpVtbl->Release(This)
817/*** IDirectManipulationUpdateManager methods ***/
818#define IDirectManipulationUpdateManager_RegisterWaitHandleCallback(This,handle,handler,cookie) (This)->lpVtbl->RegisterWaitHandleCallback(This,handle,handler,cookie)
819#define IDirectManipulationUpdateManager_UnregisterWaitHandleCallback(This,cookie) (This)->lpVtbl->UnregisterWaitHandleCallback(This,cookie)
820#define IDirectManipulationUpdateManager_Update(This,provider) (This)->lpVtbl->Update(This,provider)
821#else
822/*** IUnknown methods ***/
823static FORCEINLINE HRESULT IDirectManipulationUpdateManager_QueryInterface(IDirectManipulationUpdateManager* This,REFIID riid,void **ppvObject) {
824 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
825}
826static FORCEINLINE ULONG IDirectManipulationUpdateManager_AddRef(IDirectManipulationUpdateManager* This) {
827 return This->lpVtbl->AddRef(This);
828}
829static FORCEINLINE ULONG IDirectManipulationUpdateManager_Release(IDirectManipulationUpdateManager* This) {
830 return This->lpVtbl->Release(This);
831}
832/*** IDirectManipulationUpdateManager methods ***/
833static FORCEINLINE HRESULT IDirectManipulationUpdateManager_RegisterWaitHandleCallback(IDirectManipulationUpdateManager* This,HANDLE handle,IDirectManipulationUpdateHandler *handler,DWORD *cookie) {
834 return This->lpVtbl->RegisterWaitHandleCallback(This,handle,handler,cookie);
835}
836static FORCEINLINE HRESULT IDirectManipulationUpdateManager_UnregisterWaitHandleCallback(IDirectManipulationUpdateManager* This,DWORD cookie) {
837 return This->lpVtbl->UnregisterWaitHandleCallback(This,cookie);
838}
839static FORCEINLINE HRESULT IDirectManipulationUpdateManager_Update(IDirectManipulationUpdateManager* This,IDirectManipulationFrameInfoProvider *provider) {
840 return This->lpVtbl->Update(This,provider);
841}
842#endif
843#endif
844
845#endif
846
847
848#endif /* __IDirectManipulationUpdateManager_INTERFACE_DEFINED__ */
849
850/*****************************************************************************
851 * IDirectManipulationCompositor interface
852 */
853#ifndef __IDirectManipulationCompositor_INTERFACE_DEFINED__
854#define __IDirectManipulationCompositor_INTERFACE_DEFINED__
855
856DEFINE_GUID(IID_IDirectManipulationCompositor, 0x537a0825, 0x0387, 0x4efa, 0xb6,0x2f, 0x71,0xeb,0x1f,0x08,0x5a,0x7e);
857#if defined(__cplusplus) && !defined(CINTERFACE)
858MIDL_INTERFACE("537a0825-0387-4efa-b62f-71eb1f085a7e")
859IDirectManipulationCompositor : public IUnknown
860{
861 virtual HRESULT STDMETHODCALLTYPE AddContent(
862 IDirectManipulationContent *content,
863 IUnknown *device,
864 IUnknown *parent,
865 IUnknown *child) = 0;
866
867 virtual HRESULT STDMETHODCALLTYPE RemoveContent(
868 IDirectManipulationContent *content) = 0;
869
870 virtual HRESULT STDMETHODCALLTYPE SetUpdateManager(
871 IDirectManipulationUpdateManager *manager) = 0;
872
873 virtual HRESULT STDMETHODCALLTYPE Flush(
874 ) = 0;
875
876};
877#ifdef __CRT_UUID_DECL
878__CRT_UUID_DECL(IDirectManipulationCompositor, 0x537a0825, 0x0387, 0x4efa, 0xb6,0x2f, 0x71,0xeb,0x1f,0x08,0x5a,0x7e)
879#endif
880#else
881typedef struct IDirectManipulationCompositorVtbl {
882 BEGIN_INTERFACE
883
884 /*** IUnknown methods ***/
885 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
886 IDirectManipulationCompositor *This,
887 REFIID riid,
888 void **ppvObject);
889
890 ULONG (STDMETHODCALLTYPE *AddRef)(
891 IDirectManipulationCompositor *This);
892
893 ULONG (STDMETHODCALLTYPE *Release)(
894 IDirectManipulationCompositor *This);
895
896 /*** IDirectManipulationCompositor methods ***/
897 HRESULT (STDMETHODCALLTYPE *AddContent)(
898 IDirectManipulationCompositor *This,
899 IDirectManipulationContent *content,
900 IUnknown *device,
901 IUnknown *parent,
902 IUnknown *child);
903
904 HRESULT (STDMETHODCALLTYPE *RemoveContent)(
905 IDirectManipulationCompositor *This,
906 IDirectManipulationContent *content);
907
908 HRESULT (STDMETHODCALLTYPE *SetUpdateManager)(
909 IDirectManipulationCompositor *This,
910 IDirectManipulationUpdateManager *manager);
911
912 HRESULT (STDMETHODCALLTYPE *Flush)(
913 IDirectManipulationCompositor *This);
914
915 END_INTERFACE
916} IDirectManipulationCompositorVtbl;
917
918interface IDirectManipulationCompositor {
919 CONST_VTBL IDirectManipulationCompositorVtbl* lpVtbl;
920};
921
922#ifdef COBJMACROS
923#ifndef WIDL_C_INLINE_WRAPPERS
924/*** IUnknown methods ***/
925#define IDirectManipulationCompositor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
926#define IDirectManipulationCompositor_AddRef(This) (This)->lpVtbl->AddRef(This)
927#define IDirectManipulationCompositor_Release(This) (This)->lpVtbl->Release(This)
928/*** IDirectManipulationCompositor methods ***/
929#define IDirectManipulationCompositor_AddContent(This,content,device,parent,child) (This)->lpVtbl->AddContent(This,content,device,parent,child)
930#define IDirectManipulationCompositor_RemoveContent(This,content) (This)->lpVtbl->RemoveContent(This,content)
931#define IDirectManipulationCompositor_SetUpdateManager(This,manager) (This)->lpVtbl->SetUpdateManager(This,manager)
932#define IDirectManipulationCompositor_Flush(This) (This)->lpVtbl->Flush(This)
933#else
934/*** IUnknown methods ***/
935static FORCEINLINE HRESULT IDirectManipulationCompositor_QueryInterface(IDirectManipulationCompositor* This,REFIID riid,void **ppvObject) {
936 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
937}
938static FORCEINLINE ULONG IDirectManipulationCompositor_AddRef(IDirectManipulationCompositor* This) {
939 return This->lpVtbl->AddRef(This);
940}
941static FORCEINLINE ULONG IDirectManipulationCompositor_Release(IDirectManipulationCompositor* This) {
942 return This->lpVtbl->Release(This);
943}
944/*** IDirectManipulationCompositor methods ***/
945static FORCEINLINE HRESULT IDirectManipulationCompositor_AddContent(IDirectManipulationCompositor* This,IDirectManipulationContent *content,IUnknown *device,IUnknown *parent,IUnknown *child) {
946 return This->lpVtbl->AddContent(This,content,device,parent,child);
947}
948static FORCEINLINE HRESULT IDirectManipulationCompositor_RemoveContent(IDirectManipulationCompositor* This,IDirectManipulationContent *content) {
949 return This->lpVtbl->RemoveContent(This,content);
950}
951static FORCEINLINE HRESULT IDirectManipulationCompositor_SetUpdateManager(IDirectManipulationCompositor* This,IDirectManipulationUpdateManager *manager) {
952 return This->lpVtbl->SetUpdateManager(This,manager);
953}
954static FORCEINLINE HRESULT IDirectManipulationCompositor_Flush(IDirectManipulationCompositor* This) {
955 return This->lpVtbl->Flush(This);
956}
957#endif
958#endif
959
960#endif
961
962
963#endif /* __IDirectManipulationCompositor_INTERFACE_DEFINED__ */
964
965/*****************************************************************************
966 * IDirectManipulationViewport interface
967 */
968#ifndef __IDirectManipulationViewport_INTERFACE_DEFINED__
969#define __IDirectManipulationViewport_INTERFACE_DEFINED__
970
971DEFINE_GUID(IID_IDirectManipulationViewport, 0x28b85a3d, 0x60a0, 0x48bd, 0x9b,0xa1, 0x5c,0xe8,0xd9,0xea,0x3a,0x6d);
972#if defined(__cplusplus) && !defined(CINTERFACE)
973MIDL_INTERFACE("28b85a3d-60a0-48bd-9ba1-5ce8d9ea3a6d")
974IDirectManipulationViewport : public IUnknown
975{
976 virtual HRESULT STDMETHODCALLTYPE Enable(
977 ) = 0;
978
979 virtual HRESULT STDMETHODCALLTYPE Disable(
980 ) = 0;
981
982 virtual HRESULT STDMETHODCALLTYPE SetContact(
983 UINT32 id) = 0;
984
985 virtual HRESULT STDMETHODCALLTYPE ReleaseContact(
986 UINT32 id) = 0;
987
988 virtual HRESULT STDMETHODCALLTYPE ReleaseAllContacts(
989 ) = 0;
990
991 virtual HRESULT STDMETHODCALLTYPE GetStatus(
992 DIRECTMANIPULATION_STATUS *status) = 0;
993
994 virtual HRESULT STDMETHODCALLTYPE GetTag(
995 REFIID riid,
996 void **object,
997 UINT32 *id) = 0;
998
999 virtual HRESULT STDMETHODCALLTYPE SetTag(
1000 IUnknown *object,
1001 UINT32 id) = 0;
1002
1003 virtual HRESULT STDMETHODCALLTYPE GetViewportRect(
1004 RECT *viewport) = 0;
1005
1006 virtual HRESULT STDMETHODCALLTYPE SetViewportRect(
1007 const RECT *viewport) = 0;
1008
1009 virtual HRESULT STDMETHODCALLTYPE ZoomToRect(
1010 const float left,
1011 const float top,
1012 const float right,
1013 const float bottom,
1014 WINBOOL animate) = 0;
1015
1016 virtual HRESULT STDMETHODCALLTYPE SetViewportTransform(
1017 const float *matrix,
1018 DWORD count) = 0;
1019
1020 virtual HRESULT STDMETHODCALLTYPE SyncDisplayTransform(
1021 const float *matrix,
1022 DWORD count) = 0;
1023
1024 virtual HRESULT STDMETHODCALLTYPE GetPrimaryContent(
1025 REFIID riid,
1026 void **object) = 0;
1027
1028 virtual HRESULT STDMETHODCALLTYPE AddContent(
1029 IDirectManipulationContent *content) = 0;
1030
1031 virtual HRESULT STDMETHODCALLTYPE RemoveContent(
1032 IDirectManipulationContent *content) = 0;
1033
1034 virtual HRESULT STDMETHODCALLTYPE SetViewportOptions(
1035 DIRECTMANIPULATION_VIEWPORT_OPTIONS options) = 0;
1036
1037 virtual HRESULT STDMETHODCALLTYPE AddConfiguration(
1038 DIRECTMANIPULATION_CONFIGURATION configuration) = 0;
1039
1040 virtual HRESULT STDMETHODCALLTYPE RemoveConfiguration(
1041 DIRECTMANIPULATION_CONFIGURATION configuration) = 0;
1042
1043 virtual HRESULT STDMETHODCALLTYPE ActivateConfiguration(
1044 DIRECTMANIPULATION_CONFIGURATION configuration) = 0;
1045
1046 virtual HRESULT STDMETHODCALLTYPE SetManualGesture(
1047 DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration) = 0;
1048
1049 virtual HRESULT STDMETHODCALLTYPE SetChaining(
1050 DIRECTMANIPULATION_MOTION_TYPES enabledTypes) = 0;
1051
1052 virtual HRESULT STDMETHODCALLTYPE AddEventHandler(
1053 HWND window,
1054 IDirectManipulationViewportEventHandler *eventHandler,
1055 DWORD *cookie) = 0;
1056
1057 virtual HRESULT STDMETHODCALLTYPE RemoveEventHandler(
1058 DWORD cookie) = 0;
1059
1060 virtual HRESULT STDMETHODCALLTYPE SetInputMode(
1061 DIRECTMANIPULATION_INPUT_MODE mode) = 0;
1062
1063 virtual HRESULT STDMETHODCALLTYPE SetUpdateMode(
1064 DIRECTMANIPULATION_INPUT_MODE mode) = 0;
1065
1066 virtual HRESULT STDMETHODCALLTYPE Stop(
1067 ) = 0;
1068
1069 virtual HRESULT STDMETHODCALLTYPE Abandon(
1070 ) = 0;
1071
1072};
1073#ifdef __CRT_UUID_DECL
1074__CRT_UUID_DECL(IDirectManipulationViewport, 0x28b85a3d, 0x60a0, 0x48bd, 0x9b,0xa1, 0x5c,0xe8,0xd9,0xea,0x3a,0x6d)
1075#endif
1076#else
1077typedef struct IDirectManipulationViewportVtbl {
1078 BEGIN_INTERFACE
1079
1080 /*** IUnknown methods ***/
1081 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1082 IDirectManipulationViewport *This,
1083 REFIID riid,
1084 void **ppvObject);
1085
1086 ULONG (STDMETHODCALLTYPE *AddRef)(
1087 IDirectManipulationViewport *This);
1088
1089 ULONG (STDMETHODCALLTYPE *Release)(
1090 IDirectManipulationViewport *This);
1091
1092 /*** IDirectManipulationViewport methods ***/
1093 HRESULT (STDMETHODCALLTYPE *Enable)(
1094 IDirectManipulationViewport *This);
1095
1096 HRESULT (STDMETHODCALLTYPE *Disable)(
1097 IDirectManipulationViewport *This);
1098
1099 HRESULT (STDMETHODCALLTYPE *SetContact)(
1100 IDirectManipulationViewport *This,
1101 UINT32 id);
1102
1103 HRESULT (STDMETHODCALLTYPE *ReleaseContact)(
1104 IDirectManipulationViewport *This,
1105 UINT32 id);
1106
1107 HRESULT (STDMETHODCALLTYPE *ReleaseAllContacts)(
1108 IDirectManipulationViewport *This);
1109
1110 HRESULT (STDMETHODCALLTYPE *GetStatus)(
1111 IDirectManipulationViewport *This,
1112 DIRECTMANIPULATION_STATUS *status);
1113
1114 HRESULT (STDMETHODCALLTYPE *GetTag)(
1115 IDirectManipulationViewport *This,
1116 REFIID riid,
1117 void **object,
1118 UINT32 *id);
1119
1120 HRESULT (STDMETHODCALLTYPE *SetTag)(
1121 IDirectManipulationViewport *This,
1122 IUnknown *object,
1123 UINT32 id);
1124
1125 HRESULT (STDMETHODCALLTYPE *GetViewportRect)(
1126 IDirectManipulationViewport *This,
1127 RECT *viewport);
1128
1129 HRESULT (STDMETHODCALLTYPE *SetViewportRect)(
1130 IDirectManipulationViewport *This,
1131 const RECT *viewport);
1132
1133 HRESULT (STDMETHODCALLTYPE *ZoomToRect)(
1134 IDirectManipulationViewport *This,
1135 const float left,
1136 const float top,
1137 const float right,
1138 const float bottom,
1139 WINBOOL animate);
1140
1141 HRESULT (STDMETHODCALLTYPE *SetViewportTransform)(
1142 IDirectManipulationViewport *This,
1143 const float *matrix,
1144 DWORD count);
1145
1146 HRESULT (STDMETHODCALLTYPE *SyncDisplayTransform)(
1147 IDirectManipulationViewport *This,
1148 const float *matrix,
1149 DWORD count);
1150
1151 HRESULT (STDMETHODCALLTYPE *GetPrimaryContent)(
1152 IDirectManipulationViewport *This,
1153 REFIID riid,
1154 void **object);
1155
1156 HRESULT (STDMETHODCALLTYPE *AddContent)(
1157 IDirectManipulationViewport *This,
1158 IDirectManipulationContent *content);
1159
1160 HRESULT (STDMETHODCALLTYPE *RemoveContent)(
1161 IDirectManipulationViewport *This,
1162 IDirectManipulationContent *content);
1163
1164 HRESULT (STDMETHODCALLTYPE *SetViewportOptions)(
1165 IDirectManipulationViewport *This,
1166 DIRECTMANIPULATION_VIEWPORT_OPTIONS options);
1167
1168 HRESULT (STDMETHODCALLTYPE *AddConfiguration)(
1169 IDirectManipulationViewport *This,
1170 DIRECTMANIPULATION_CONFIGURATION configuration);
1171
1172 HRESULT (STDMETHODCALLTYPE *RemoveConfiguration)(
1173 IDirectManipulationViewport *This,
1174 DIRECTMANIPULATION_CONFIGURATION configuration);
1175
1176 HRESULT (STDMETHODCALLTYPE *ActivateConfiguration)(
1177 IDirectManipulationViewport *This,
1178 DIRECTMANIPULATION_CONFIGURATION configuration);
1179
1180 HRESULT (STDMETHODCALLTYPE *SetManualGesture)(
1181 IDirectManipulationViewport *This,
1182 DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration);
1183
1184 HRESULT (STDMETHODCALLTYPE *SetChaining)(
1185 IDirectManipulationViewport *This,
1186 DIRECTMANIPULATION_MOTION_TYPES enabledTypes);
1187
1188 HRESULT (STDMETHODCALLTYPE *AddEventHandler)(
1189 IDirectManipulationViewport *This,
1190 HWND window,
1191 IDirectManipulationViewportEventHandler *eventHandler,
1192 DWORD *cookie);
1193
1194 HRESULT (STDMETHODCALLTYPE *RemoveEventHandler)(
1195 IDirectManipulationViewport *This,
1196 DWORD cookie);
1197
1198 HRESULT (STDMETHODCALLTYPE *SetInputMode)(
1199 IDirectManipulationViewport *This,
1200 DIRECTMANIPULATION_INPUT_MODE mode);
1201
1202 HRESULT (STDMETHODCALLTYPE *SetUpdateMode)(
1203 IDirectManipulationViewport *This,
1204 DIRECTMANIPULATION_INPUT_MODE mode);
1205
1206 HRESULT (STDMETHODCALLTYPE *Stop)(
1207 IDirectManipulationViewport *This);
1208
1209 HRESULT (STDMETHODCALLTYPE *Abandon)(
1210 IDirectManipulationViewport *This);
1211
1212 END_INTERFACE
1213} IDirectManipulationViewportVtbl;
1214
1215interface IDirectManipulationViewport {
1216 CONST_VTBL IDirectManipulationViewportVtbl* lpVtbl;
1217};
1218
1219#ifdef COBJMACROS
1220#ifndef WIDL_C_INLINE_WRAPPERS
1221/*** IUnknown methods ***/
1222#define IDirectManipulationViewport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1223#define IDirectManipulationViewport_AddRef(This) (This)->lpVtbl->AddRef(This)
1224#define IDirectManipulationViewport_Release(This) (This)->lpVtbl->Release(This)
1225/*** IDirectManipulationViewport methods ***/
1226#define IDirectManipulationViewport_Enable(This) (This)->lpVtbl->Enable(This)
1227#define IDirectManipulationViewport_Disable(This) (This)->lpVtbl->Disable(This)
1228#define IDirectManipulationViewport_SetContact(This,id) (This)->lpVtbl->SetContact(This,id)
1229#define IDirectManipulationViewport_ReleaseContact(This,id) (This)->lpVtbl->ReleaseContact(This,id)
1230#define IDirectManipulationViewport_ReleaseAllContacts(This) (This)->lpVtbl->ReleaseAllContacts(This)
1231#define IDirectManipulationViewport_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status)
1232#define IDirectManipulationViewport_GetTag(This,riid,object,id) (This)->lpVtbl->GetTag(This,riid,object,id)
1233#define IDirectManipulationViewport_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id)
1234#define IDirectManipulationViewport_GetViewportRect(This,viewport) (This)->lpVtbl->GetViewportRect(This,viewport)
1235#define IDirectManipulationViewport_SetViewportRect(This,viewport) (This)->lpVtbl->SetViewportRect(This,viewport)
1236#define IDirectManipulationViewport_ZoomToRect(This,left,top,right,bottom,animate) (This)->lpVtbl->ZoomToRect(This,left,top,right,bottom,animate)
1237#define IDirectManipulationViewport_SetViewportTransform(This,matrix,count) (This)->lpVtbl->SetViewportTransform(This,matrix,count)
1238#define IDirectManipulationViewport_SyncDisplayTransform(This,matrix,count) (This)->lpVtbl->SyncDisplayTransform(This,matrix,count)
1239#define IDirectManipulationViewport_GetPrimaryContent(This,riid,object) (This)->lpVtbl->GetPrimaryContent(This,riid,object)
1240#define IDirectManipulationViewport_AddContent(This,content) (This)->lpVtbl->AddContent(This,content)
1241#define IDirectManipulationViewport_RemoveContent(This,content) (This)->lpVtbl->RemoveContent(This,content)
1242#define IDirectManipulationViewport_SetViewportOptions(This,options) (This)->lpVtbl->SetViewportOptions(This,options)
1243#define IDirectManipulationViewport_AddConfiguration(This,configuration) (This)->lpVtbl->AddConfiguration(This,configuration)
1244#define IDirectManipulationViewport_RemoveConfiguration(This,configuration) (This)->lpVtbl->RemoveConfiguration(This,configuration)
1245#define IDirectManipulationViewport_ActivateConfiguration(This,configuration) (This)->lpVtbl->ActivateConfiguration(This,configuration)
1246#define IDirectManipulationViewport_SetManualGesture(This,configuration) (This)->lpVtbl->SetManualGesture(This,configuration)
1247#define IDirectManipulationViewport_SetChaining(This,enabledTypes) (This)->lpVtbl->SetChaining(This,enabledTypes)
1248#define IDirectManipulationViewport_AddEventHandler(This,window,eventHandler,cookie) (This)->lpVtbl->AddEventHandler(This,window,eventHandler,cookie)
1249#define IDirectManipulationViewport_RemoveEventHandler(This,cookie) (This)->lpVtbl->RemoveEventHandler(This,cookie)
1250#define IDirectManipulationViewport_SetInputMode(This,mode) (This)->lpVtbl->SetInputMode(This,mode)
1251#define IDirectManipulationViewport_SetUpdateMode(This,mode) (This)->lpVtbl->SetUpdateMode(This,mode)
1252#define IDirectManipulationViewport_Stop(This) (This)->lpVtbl->Stop(This)
1253#define IDirectManipulationViewport_Abandon(This) (This)->lpVtbl->Abandon(This)
1254#else
1255/*** IUnknown methods ***/
1256static FORCEINLINE HRESULT IDirectManipulationViewport_QueryInterface(IDirectManipulationViewport* This,REFIID riid,void **ppvObject) {
1257 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1258}
1259static FORCEINLINE ULONG IDirectManipulationViewport_AddRef(IDirectManipulationViewport* This) {
1260 return This->lpVtbl->AddRef(This);
1261}
1262static FORCEINLINE ULONG IDirectManipulationViewport_Release(IDirectManipulationViewport* This) {
1263 return This->lpVtbl->Release(This);
1264}
1265/*** IDirectManipulationViewport methods ***/
1266static FORCEINLINE HRESULT IDirectManipulationViewport_Enable(IDirectManipulationViewport* This) {
1267 return This->lpVtbl->Enable(This);
1268}
1269static FORCEINLINE HRESULT IDirectManipulationViewport_Disable(IDirectManipulationViewport* This) {
1270 return This->lpVtbl->Disable(This);
1271}
1272static FORCEINLINE HRESULT IDirectManipulationViewport_SetContact(IDirectManipulationViewport* This,UINT32 id) {
1273 return This->lpVtbl->SetContact(This,id);
1274}
1275static FORCEINLINE HRESULT IDirectManipulationViewport_ReleaseContact(IDirectManipulationViewport* This,UINT32 id) {
1276 return This->lpVtbl->ReleaseContact(This,id);
1277}
1278static FORCEINLINE HRESULT IDirectManipulationViewport_ReleaseAllContacts(IDirectManipulationViewport* This) {
1279 return This->lpVtbl->ReleaseAllContacts(This);
1280}
1281static FORCEINLINE HRESULT IDirectManipulationViewport_GetStatus(IDirectManipulationViewport* This,DIRECTMANIPULATION_STATUS *status) {
1282 return This->lpVtbl->GetStatus(This,status);
1283}
1284static FORCEINLINE HRESULT IDirectManipulationViewport_GetTag(IDirectManipulationViewport* This,REFIID riid,void **object,UINT32 *id) {
1285 return This->lpVtbl->GetTag(This,riid,object,id);
1286}
1287static FORCEINLINE HRESULT IDirectManipulationViewport_SetTag(IDirectManipulationViewport* This,IUnknown *object,UINT32 id) {
1288 return This->lpVtbl->SetTag(This,object,id);
1289}
1290static FORCEINLINE HRESULT IDirectManipulationViewport_GetViewportRect(IDirectManipulationViewport* This,RECT *viewport) {
1291 return This->lpVtbl->GetViewportRect(This,viewport);
1292}
1293static FORCEINLINE HRESULT IDirectManipulationViewport_SetViewportRect(IDirectManipulationViewport* This,const RECT *viewport) {
1294 return This->lpVtbl->SetViewportRect(This,viewport);
1295}
1296static FORCEINLINE HRESULT IDirectManipulationViewport_ZoomToRect(IDirectManipulationViewport* This,const float left,const float top,const float right,const float bottom,WINBOOL animate) {
1297 return This->lpVtbl->ZoomToRect(This,left,top,right,bottom,animate);
1298}
1299static FORCEINLINE HRESULT IDirectManipulationViewport_SetViewportTransform(IDirectManipulationViewport* This,const float *matrix,DWORD count) {
1300 return This->lpVtbl->SetViewportTransform(This,matrix,count);
1301}
1302static FORCEINLINE HRESULT IDirectManipulationViewport_SyncDisplayTransform(IDirectManipulationViewport* This,const float *matrix,DWORD count) {
1303 return This->lpVtbl->SyncDisplayTransform(This,matrix,count);
1304}
1305static FORCEINLINE HRESULT IDirectManipulationViewport_GetPrimaryContent(IDirectManipulationViewport* This,REFIID riid,void **object) {
1306 return This->lpVtbl->GetPrimaryContent(This,riid,object);
1307}
1308static FORCEINLINE HRESULT IDirectManipulationViewport_AddContent(IDirectManipulationViewport* This,IDirectManipulationContent *content) {
1309 return This->lpVtbl->AddContent(This,content);
1310}
1311static FORCEINLINE HRESULT IDirectManipulationViewport_RemoveContent(IDirectManipulationViewport* This,IDirectManipulationContent *content) {
1312 return This->lpVtbl->RemoveContent(This,content);
1313}
1314static FORCEINLINE HRESULT IDirectManipulationViewport_SetViewportOptions(IDirectManipulationViewport* This,DIRECTMANIPULATION_VIEWPORT_OPTIONS options) {
1315 return This->lpVtbl->SetViewportOptions(This,options);
1316}
1317static FORCEINLINE HRESULT IDirectManipulationViewport_AddConfiguration(IDirectManipulationViewport* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1318 return This->lpVtbl->AddConfiguration(This,configuration);
1319}
1320static FORCEINLINE HRESULT IDirectManipulationViewport_RemoveConfiguration(IDirectManipulationViewport* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1321 return This->lpVtbl->RemoveConfiguration(This,configuration);
1322}
1323static FORCEINLINE HRESULT IDirectManipulationViewport_ActivateConfiguration(IDirectManipulationViewport* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1324 return This->lpVtbl->ActivateConfiguration(This,configuration);
1325}
1326static FORCEINLINE HRESULT IDirectManipulationViewport_SetManualGesture(IDirectManipulationViewport* This,DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration) {
1327 return This->lpVtbl->SetManualGesture(This,configuration);
1328}
1329static FORCEINLINE HRESULT IDirectManipulationViewport_SetChaining(IDirectManipulationViewport* This,DIRECTMANIPULATION_MOTION_TYPES enabledTypes) {
1330 return This->lpVtbl->SetChaining(This,enabledTypes);
1331}
1332static FORCEINLINE HRESULT IDirectManipulationViewport_AddEventHandler(IDirectManipulationViewport* This,HWND window,IDirectManipulationViewportEventHandler *eventHandler,DWORD *cookie) {
1333 return This->lpVtbl->AddEventHandler(This,window,eventHandler,cookie);
1334}
1335static FORCEINLINE HRESULT IDirectManipulationViewport_RemoveEventHandler(IDirectManipulationViewport* This,DWORD cookie) {
1336 return This->lpVtbl->RemoveEventHandler(This,cookie);
1337}
1338static FORCEINLINE HRESULT IDirectManipulationViewport_SetInputMode(IDirectManipulationViewport* This,DIRECTMANIPULATION_INPUT_MODE mode) {
1339 return This->lpVtbl->SetInputMode(This,mode);
1340}
1341static FORCEINLINE HRESULT IDirectManipulationViewport_SetUpdateMode(IDirectManipulationViewport* This,DIRECTMANIPULATION_INPUT_MODE mode) {
1342 return This->lpVtbl->SetUpdateMode(This,mode);
1343}
1344static FORCEINLINE HRESULT IDirectManipulationViewport_Stop(IDirectManipulationViewport* This) {
1345 return This->lpVtbl->Stop(This);
1346}
1347static FORCEINLINE HRESULT IDirectManipulationViewport_Abandon(IDirectManipulationViewport* This) {
1348 return This->lpVtbl->Abandon(This);
1349}
1350#endif
1351#endif
1352
1353#endif
1354
1355
1356#endif /* __IDirectManipulationViewport_INTERFACE_DEFINED__ */
1357
1358/*****************************************************************************
1359 * IDirectManipulationViewport2 interface
1360 */
1361#ifndef __IDirectManipulationViewport2_INTERFACE_DEFINED__
1362#define __IDirectManipulationViewport2_INTERFACE_DEFINED__
1363
1364DEFINE_GUID(IID_IDirectManipulationViewport2, 0x923ccaac, 0x61e1, 0x4385, 0xb7,0x26, 0x01,0x7a,0xf1,0x89,0x88,0x2a);
1365#if defined(__cplusplus) && !defined(CINTERFACE)
1366MIDL_INTERFACE("923ccaac-61e1-4385-b726-017af189882a")
1367IDirectManipulationViewport2 : public IDirectManipulationViewport
1368{
1369 virtual HRESULT STDMETHODCALLTYPE AddBehavior(
1370 IUnknown *behavior,
1371 DWORD *cookie) = 0;
1372
1373 virtual HRESULT STDMETHODCALLTYPE RemoveBehavior(
1374 DWORD cookie) = 0;
1375
1376 virtual HRESULT STDMETHODCALLTYPE RemoveAllBehaviors(
1377 ) = 0;
1378
1379};
1380#ifdef __CRT_UUID_DECL
1381__CRT_UUID_DECL(IDirectManipulationViewport2, 0x923ccaac, 0x61e1, 0x4385, 0xb7,0x26, 0x01,0x7a,0xf1,0x89,0x88,0x2a)
1382#endif
1383#else
1384typedef struct IDirectManipulationViewport2Vtbl {
1385 BEGIN_INTERFACE
1386
1387 /*** IUnknown methods ***/
1388 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1389 IDirectManipulationViewport2 *This,
1390 REFIID riid,
1391 void **ppvObject);
1392
1393 ULONG (STDMETHODCALLTYPE *AddRef)(
1394 IDirectManipulationViewport2 *This);
1395
1396 ULONG (STDMETHODCALLTYPE *Release)(
1397 IDirectManipulationViewport2 *This);
1398
1399 /*** IDirectManipulationViewport methods ***/
1400 HRESULT (STDMETHODCALLTYPE *Enable)(
1401 IDirectManipulationViewport2 *This);
1402
1403 HRESULT (STDMETHODCALLTYPE *Disable)(
1404 IDirectManipulationViewport2 *This);
1405
1406 HRESULT (STDMETHODCALLTYPE *SetContact)(
1407 IDirectManipulationViewport2 *This,
1408 UINT32 id);
1409
1410 HRESULT (STDMETHODCALLTYPE *ReleaseContact)(
1411 IDirectManipulationViewport2 *This,
1412 UINT32 id);
1413
1414 HRESULT (STDMETHODCALLTYPE *ReleaseAllContacts)(
1415 IDirectManipulationViewport2 *This);
1416
1417 HRESULT (STDMETHODCALLTYPE *GetStatus)(
1418 IDirectManipulationViewport2 *This,
1419 DIRECTMANIPULATION_STATUS *status);
1420
1421 HRESULT (STDMETHODCALLTYPE *GetTag)(
1422 IDirectManipulationViewport2 *This,
1423 REFIID riid,
1424 void **object,
1425 UINT32 *id);
1426
1427 HRESULT (STDMETHODCALLTYPE *SetTag)(
1428 IDirectManipulationViewport2 *This,
1429 IUnknown *object,
1430 UINT32 id);
1431
1432 HRESULT (STDMETHODCALLTYPE *GetViewportRect)(
1433 IDirectManipulationViewport2 *This,
1434 RECT *viewport);
1435
1436 HRESULT (STDMETHODCALLTYPE *SetViewportRect)(
1437 IDirectManipulationViewport2 *This,
1438 const RECT *viewport);
1439
1440 HRESULT (STDMETHODCALLTYPE *ZoomToRect)(
1441 IDirectManipulationViewport2 *This,
1442 const float left,
1443 const float top,
1444 const float right,
1445 const float bottom,
1446 WINBOOL animate);
1447
1448 HRESULT (STDMETHODCALLTYPE *SetViewportTransform)(
1449 IDirectManipulationViewport2 *This,
1450 const float *matrix,
1451 DWORD count);
1452
1453 HRESULT (STDMETHODCALLTYPE *SyncDisplayTransform)(
1454 IDirectManipulationViewport2 *This,
1455 const float *matrix,
1456 DWORD count);
1457
1458 HRESULT (STDMETHODCALLTYPE *GetPrimaryContent)(
1459 IDirectManipulationViewport2 *This,
1460 REFIID riid,
1461 void **object);
1462
1463 HRESULT (STDMETHODCALLTYPE *AddContent)(
1464 IDirectManipulationViewport2 *This,
1465 IDirectManipulationContent *content);
1466
1467 HRESULT (STDMETHODCALLTYPE *RemoveContent)(
1468 IDirectManipulationViewport2 *This,
1469 IDirectManipulationContent *content);
1470
1471 HRESULT (STDMETHODCALLTYPE *SetViewportOptions)(
1472 IDirectManipulationViewport2 *This,
1473 DIRECTMANIPULATION_VIEWPORT_OPTIONS options);
1474
1475 HRESULT (STDMETHODCALLTYPE *AddConfiguration)(
1476 IDirectManipulationViewport2 *This,
1477 DIRECTMANIPULATION_CONFIGURATION configuration);
1478
1479 HRESULT (STDMETHODCALLTYPE *RemoveConfiguration)(
1480 IDirectManipulationViewport2 *This,
1481 DIRECTMANIPULATION_CONFIGURATION configuration);
1482
1483 HRESULT (STDMETHODCALLTYPE *ActivateConfiguration)(
1484 IDirectManipulationViewport2 *This,
1485 DIRECTMANIPULATION_CONFIGURATION configuration);
1486
1487 HRESULT (STDMETHODCALLTYPE *SetManualGesture)(
1488 IDirectManipulationViewport2 *This,
1489 DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration);
1490
1491 HRESULT (STDMETHODCALLTYPE *SetChaining)(
1492 IDirectManipulationViewport2 *This,
1493 DIRECTMANIPULATION_MOTION_TYPES enabledTypes);
1494
1495 HRESULT (STDMETHODCALLTYPE *AddEventHandler)(
1496 IDirectManipulationViewport2 *This,
1497 HWND window,
1498 IDirectManipulationViewportEventHandler *eventHandler,
1499 DWORD *cookie);
1500
1501 HRESULT (STDMETHODCALLTYPE *RemoveEventHandler)(
1502 IDirectManipulationViewport2 *This,
1503 DWORD cookie);
1504
1505 HRESULT (STDMETHODCALLTYPE *SetInputMode)(
1506 IDirectManipulationViewport2 *This,
1507 DIRECTMANIPULATION_INPUT_MODE mode);
1508
1509 HRESULT (STDMETHODCALLTYPE *SetUpdateMode)(
1510 IDirectManipulationViewport2 *This,
1511 DIRECTMANIPULATION_INPUT_MODE mode);
1512
1513 HRESULT (STDMETHODCALLTYPE *Stop)(
1514 IDirectManipulationViewport2 *This);
1515
1516 HRESULT (STDMETHODCALLTYPE *Abandon)(
1517 IDirectManipulationViewport2 *This);
1518
1519 /*** IDirectManipulationViewport2 methods ***/
1520 HRESULT (STDMETHODCALLTYPE *AddBehavior)(
1521 IDirectManipulationViewport2 *This,
1522 IUnknown *behavior,
1523 DWORD *cookie);
1524
1525 HRESULT (STDMETHODCALLTYPE *RemoveBehavior)(
1526 IDirectManipulationViewport2 *This,
1527 DWORD cookie);
1528
1529 HRESULT (STDMETHODCALLTYPE *RemoveAllBehaviors)(
1530 IDirectManipulationViewport2 *This);
1531
1532 END_INTERFACE
1533} IDirectManipulationViewport2Vtbl;
1534
1535interface IDirectManipulationViewport2 {
1536 CONST_VTBL IDirectManipulationViewport2Vtbl* lpVtbl;
1537};
1538
1539#ifdef COBJMACROS
1540#ifndef WIDL_C_INLINE_WRAPPERS
1541/*** IUnknown methods ***/
1542#define IDirectManipulationViewport2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1543#define IDirectManipulationViewport2_AddRef(This) (This)->lpVtbl->AddRef(This)
1544#define IDirectManipulationViewport2_Release(This) (This)->lpVtbl->Release(This)
1545/*** IDirectManipulationViewport methods ***/
1546#define IDirectManipulationViewport2_Enable(This) (This)->lpVtbl->Enable(This)
1547#define IDirectManipulationViewport2_Disable(This) (This)->lpVtbl->Disable(This)
1548#define IDirectManipulationViewport2_SetContact(This,id) (This)->lpVtbl->SetContact(This,id)
1549#define IDirectManipulationViewport2_ReleaseContact(This,id) (This)->lpVtbl->ReleaseContact(This,id)
1550#define IDirectManipulationViewport2_ReleaseAllContacts(This) (This)->lpVtbl->ReleaseAllContacts(This)
1551#define IDirectManipulationViewport2_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status)
1552#define IDirectManipulationViewport2_GetTag(This,riid,object,id) (This)->lpVtbl->GetTag(This,riid,object,id)
1553#define IDirectManipulationViewport2_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id)
1554#define IDirectManipulationViewport2_GetViewportRect(This,viewport) (This)->lpVtbl->GetViewportRect(This,viewport)
1555#define IDirectManipulationViewport2_SetViewportRect(This,viewport) (This)->lpVtbl->SetViewportRect(This,viewport)
1556#define IDirectManipulationViewport2_ZoomToRect(This,left,top,right,bottom,animate) (This)->lpVtbl->ZoomToRect(This,left,top,right,bottom,animate)
1557#define IDirectManipulationViewport2_SetViewportTransform(This,matrix,count) (This)->lpVtbl->SetViewportTransform(This,matrix,count)
1558#define IDirectManipulationViewport2_SyncDisplayTransform(This,matrix,count) (This)->lpVtbl->SyncDisplayTransform(This,matrix,count)
1559#define IDirectManipulationViewport2_GetPrimaryContent(This,riid,object) (This)->lpVtbl->GetPrimaryContent(This,riid,object)
1560#define IDirectManipulationViewport2_AddContent(This,content) (This)->lpVtbl->AddContent(This,content)
1561#define IDirectManipulationViewport2_RemoveContent(This,content) (This)->lpVtbl->RemoveContent(This,content)
1562#define IDirectManipulationViewport2_SetViewportOptions(This,options) (This)->lpVtbl->SetViewportOptions(This,options)
1563#define IDirectManipulationViewport2_AddConfiguration(This,configuration) (This)->lpVtbl->AddConfiguration(This,configuration)
1564#define IDirectManipulationViewport2_RemoveConfiguration(This,configuration) (This)->lpVtbl->RemoveConfiguration(This,configuration)
1565#define IDirectManipulationViewport2_ActivateConfiguration(This,configuration) (This)->lpVtbl->ActivateConfiguration(This,configuration)
1566#define IDirectManipulationViewport2_SetManualGesture(This,configuration) (This)->lpVtbl->SetManualGesture(This,configuration)
1567#define IDirectManipulationViewport2_SetChaining(This,enabledTypes) (This)->lpVtbl->SetChaining(This,enabledTypes)
1568#define IDirectManipulationViewport2_AddEventHandler(This,window,eventHandler,cookie) (This)->lpVtbl->AddEventHandler(This,window,eventHandler,cookie)
1569#define IDirectManipulationViewport2_RemoveEventHandler(This,cookie) (This)->lpVtbl->RemoveEventHandler(This,cookie)
1570#define IDirectManipulationViewport2_SetInputMode(This,mode) (This)->lpVtbl->SetInputMode(This,mode)
1571#define IDirectManipulationViewport2_SetUpdateMode(This,mode) (This)->lpVtbl->SetUpdateMode(This,mode)
1572#define IDirectManipulationViewport2_Stop(This) (This)->lpVtbl->Stop(This)
1573#define IDirectManipulationViewport2_Abandon(This) (This)->lpVtbl->Abandon(This)
1574/*** IDirectManipulationViewport2 methods ***/
1575#define IDirectManipulationViewport2_AddBehavior(This,behavior,cookie) (This)->lpVtbl->AddBehavior(This,behavior,cookie)
1576#define IDirectManipulationViewport2_RemoveBehavior(This,cookie) (This)->lpVtbl->RemoveBehavior(This,cookie)
1577#define IDirectManipulationViewport2_RemoveAllBehaviors(This) (This)->lpVtbl->RemoveAllBehaviors(This)
1578#else
1579/*** IUnknown methods ***/
1580static FORCEINLINE HRESULT IDirectManipulationViewport2_QueryInterface(IDirectManipulationViewport2* This,REFIID riid,void **ppvObject) {
1581 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1582}
1583static FORCEINLINE ULONG IDirectManipulationViewport2_AddRef(IDirectManipulationViewport2* This) {
1584 return This->lpVtbl->AddRef(This);
1585}
1586static FORCEINLINE ULONG IDirectManipulationViewport2_Release(IDirectManipulationViewport2* This) {
1587 return This->lpVtbl->Release(This);
1588}
1589/*** IDirectManipulationViewport methods ***/
1590static FORCEINLINE HRESULT IDirectManipulationViewport2_Enable(IDirectManipulationViewport2* This) {
1591 return This->lpVtbl->Enable(This);
1592}
1593static FORCEINLINE HRESULT IDirectManipulationViewport2_Disable(IDirectManipulationViewport2* This) {
1594 return This->lpVtbl->Disable(This);
1595}
1596static FORCEINLINE HRESULT IDirectManipulationViewport2_SetContact(IDirectManipulationViewport2* This,UINT32 id) {
1597 return This->lpVtbl->SetContact(This,id);
1598}
1599static FORCEINLINE HRESULT IDirectManipulationViewport2_ReleaseContact(IDirectManipulationViewport2* This,UINT32 id) {
1600 return This->lpVtbl->ReleaseContact(This,id);
1601}
1602static FORCEINLINE HRESULT IDirectManipulationViewport2_ReleaseAllContacts(IDirectManipulationViewport2* This) {
1603 return This->lpVtbl->ReleaseAllContacts(This);
1604}
1605static FORCEINLINE HRESULT IDirectManipulationViewport2_GetStatus(IDirectManipulationViewport2* This,DIRECTMANIPULATION_STATUS *status) {
1606 return This->lpVtbl->GetStatus(This,status);
1607}
1608static FORCEINLINE HRESULT IDirectManipulationViewport2_GetTag(IDirectManipulationViewport2* This,REFIID riid,void **object,UINT32 *id) {
1609 return This->lpVtbl->GetTag(This,riid,object,id);
1610}
1611static FORCEINLINE HRESULT IDirectManipulationViewport2_SetTag(IDirectManipulationViewport2* This,IUnknown *object,UINT32 id) {
1612 return This->lpVtbl->SetTag(This,object,id);
1613}
1614static FORCEINLINE HRESULT IDirectManipulationViewport2_GetViewportRect(IDirectManipulationViewport2* This,RECT *viewport) {
1615 return This->lpVtbl->GetViewportRect(This,viewport);
1616}
1617static FORCEINLINE HRESULT IDirectManipulationViewport2_SetViewportRect(IDirectManipulationViewport2* This,const RECT *viewport) {
1618 return This->lpVtbl->SetViewportRect(This,viewport);
1619}
1620static FORCEINLINE HRESULT IDirectManipulationViewport2_ZoomToRect(IDirectManipulationViewport2* This,const float left,const float top,const float right,const float bottom,WINBOOL animate) {
1621 return This->lpVtbl->ZoomToRect(This,left,top,right,bottom,animate);
1622}
1623static FORCEINLINE HRESULT IDirectManipulationViewport2_SetViewportTransform(IDirectManipulationViewport2* This,const float *matrix,DWORD count) {
1624 return This->lpVtbl->SetViewportTransform(This,matrix,count);
1625}
1626static FORCEINLINE HRESULT IDirectManipulationViewport2_SyncDisplayTransform(IDirectManipulationViewport2* This,const float *matrix,DWORD count) {
1627 return This->lpVtbl->SyncDisplayTransform(This,matrix,count);
1628}
1629static FORCEINLINE HRESULT IDirectManipulationViewport2_GetPrimaryContent(IDirectManipulationViewport2* This,REFIID riid,void **object) {
1630 return This->lpVtbl->GetPrimaryContent(This,riid,object);
1631}
1632static FORCEINLINE HRESULT IDirectManipulationViewport2_AddContent(IDirectManipulationViewport2* This,IDirectManipulationContent *content) {
1633 return This->lpVtbl->AddContent(This,content);
1634}
1635static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveContent(IDirectManipulationViewport2* This,IDirectManipulationContent *content) {
1636 return This->lpVtbl->RemoveContent(This,content);
1637}
1638static FORCEINLINE HRESULT IDirectManipulationViewport2_SetViewportOptions(IDirectManipulationViewport2* This,DIRECTMANIPULATION_VIEWPORT_OPTIONS options) {
1639 return This->lpVtbl->SetViewportOptions(This,options);
1640}
1641static FORCEINLINE HRESULT IDirectManipulationViewport2_AddConfiguration(IDirectManipulationViewport2* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1642 return This->lpVtbl->AddConfiguration(This,configuration);
1643}
1644static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveConfiguration(IDirectManipulationViewport2* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1645 return This->lpVtbl->RemoveConfiguration(This,configuration);
1646}
1647static FORCEINLINE HRESULT IDirectManipulationViewport2_ActivateConfiguration(IDirectManipulationViewport2* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1648 return This->lpVtbl->ActivateConfiguration(This,configuration);
1649}
1650static FORCEINLINE HRESULT IDirectManipulationViewport2_SetManualGesture(IDirectManipulationViewport2* This,DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration) {
1651 return This->lpVtbl->SetManualGesture(This,configuration);
1652}
1653static FORCEINLINE HRESULT IDirectManipulationViewport2_SetChaining(IDirectManipulationViewport2* This,DIRECTMANIPULATION_MOTION_TYPES enabledTypes) {
1654 return This->lpVtbl->SetChaining(This,enabledTypes);
1655}
1656static FORCEINLINE HRESULT IDirectManipulationViewport2_AddEventHandler(IDirectManipulationViewport2* This,HWND window,IDirectManipulationViewportEventHandler *eventHandler,DWORD *cookie) {
1657 return This->lpVtbl->AddEventHandler(This,window,eventHandler,cookie);
1658}
1659static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveEventHandler(IDirectManipulationViewport2* This,DWORD cookie) {
1660 return This->lpVtbl->RemoveEventHandler(This,cookie);
1661}
1662static FORCEINLINE HRESULT IDirectManipulationViewport2_SetInputMode(IDirectManipulationViewport2* This,DIRECTMANIPULATION_INPUT_MODE mode) {
1663 return This->lpVtbl->SetInputMode(This,mode);
1664}
1665static FORCEINLINE HRESULT IDirectManipulationViewport2_SetUpdateMode(IDirectManipulationViewport2* This,DIRECTMANIPULATION_INPUT_MODE mode) {
1666 return This->lpVtbl->SetUpdateMode(This,mode);
1667}
1668static FORCEINLINE HRESULT IDirectManipulationViewport2_Stop(IDirectManipulationViewport2* This) {
1669 return This->lpVtbl->Stop(This);
1670}
1671static FORCEINLINE HRESULT IDirectManipulationViewport2_Abandon(IDirectManipulationViewport2* This) {
1672 return This->lpVtbl->Abandon(This);
1673}
1674/*** IDirectManipulationViewport2 methods ***/
1675static FORCEINLINE HRESULT IDirectManipulationViewport2_AddBehavior(IDirectManipulationViewport2* This,IUnknown *behavior,DWORD *cookie) {
1676 return This->lpVtbl->AddBehavior(This,behavior,cookie);
1677}
1678static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveBehavior(IDirectManipulationViewport2* This,DWORD cookie) {
1679 return This->lpVtbl->RemoveBehavior(This,cookie);
1680}
1681static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveAllBehaviors(IDirectManipulationViewport2* This) {
1682 return This->lpVtbl->RemoveAllBehaviors(This);
1683}
1684#endif
1685#endif
1686
1687#endif
1688
1689
1690#endif /* __IDirectManipulationViewport2_INTERFACE_DEFINED__ */
1691
1692/*****************************************************************************
1693 * IDirectManipulationViewportEventHandler interface
1694 */
1695#ifndef __IDirectManipulationViewportEventHandler_INTERFACE_DEFINED__
1696#define __IDirectManipulationViewportEventHandler_INTERFACE_DEFINED__
1697
1698DEFINE_GUID(IID_IDirectManipulationViewportEventHandler, 0x952121da, 0xd69f, 0x45f9, 0xb0,0xf9, 0xf2,0x39,0x44,0x32,0x1a,0x6d);
1699#if defined(__cplusplus) && !defined(CINTERFACE)
1700MIDL_INTERFACE("952121da-d69f-45f9-b0f9-f23944321a6d")
1701IDirectManipulationViewportEventHandler : public IUnknown
1702{
1703 virtual HRESULT STDMETHODCALLTYPE OnViewportStatusChanged(
1704 IDirectManipulationViewport *viewport,
1705 DIRECTMANIPULATION_STATUS current,
1706 DIRECTMANIPULATION_STATUS previous) = 0;
1707
1708 virtual HRESULT STDMETHODCALLTYPE OnViewportUpdated(
1709 IDirectManipulationViewport *viewport) = 0;
1710
1711 virtual HRESULT STDMETHODCALLTYPE OnContentUpdated(
1712 IDirectManipulationViewport *viewport,
1713 IDirectManipulationContent *content) = 0;
1714
1715};
1716#ifdef __CRT_UUID_DECL
1717__CRT_UUID_DECL(IDirectManipulationViewportEventHandler, 0x952121da, 0xd69f, 0x45f9, 0xb0,0xf9, 0xf2,0x39,0x44,0x32,0x1a,0x6d)
1718#endif
1719#else
1720typedef struct IDirectManipulationViewportEventHandlerVtbl {
1721 BEGIN_INTERFACE
1722
1723 /*** IUnknown methods ***/
1724 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1725 IDirectManipulationViewportEventHandler *This,
1726 REFIID riid,
1727 void **ppvObject);
1728
1729 ULONG (STDMETHODCALLTYPE *AddRef)(
1730 IDirectManipulationViewportEventHandler *This);
1731
1732 ULONG (STDMETHODCALLTYPE *Release)(
1733 IDirectManipulationViewportEventHandler *This);
1734
1735 /*** IDirectManipulationViewportEventHandler methods ***/
1736 HRESULT (STDMETHODCALLTYPE *OnViewportStatusChanged)(
1737 IDirectManipulationViewportEventHandler *This,
1738 IDirectManipulationViewport *viewport,
1739 DIRECTMANIPULATION_STATUS current,
1740 DIRECTMANIPULATION_STATUS previous);
1741
1742 HRESULT (STDMETHODCALLTYPE *OnViewportUpdated)(
1743 IDirectManipulationViewportEventHandler *This,
1744 IDirectManipulationViewport *viewport);
1745
1746 HRESULT (STDMETHODCALLTYPE *OnContentUpdated)(
1747 IDirectManipulationViewportEventHandler *This,
1748 IDirectManipulationViewport *viewport,
1749 IDirectManipulationContent *content);
1750
1751 END_INTERFACE
1752} IDirectManipulationViewportEventHandlerVtbl;
1753
1754interface IDirectManipulationViewportEventHandler {
1755 CONST_VTBL IDirectManipulationViewportEventHandlerVtbl* lpVtbl;
1756};
1757
1758#ifdef COBJMACROS
1759#ifndef WIDL_C_INLINE_WRAPPERS
1760/*** IUnknown methods ***/
1761#define IDirectManipulationViewportEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1762#define IDirectManipulationViewportEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This)
1763#define IDirectManipulationViewportEventHandler_Release(This) (This)->lpVtbl->Release(This)
1764/*** IDirectManipulationViewportEventHandler methods ***/
1765#define IDirectManipulationViewportEventHandler_OnViewportStatusChanged(This,viewport,current,previous) (This)->lpVtbl->OnViewportStatusChanged(This,viewport,current,previous)
1766#define IDirectManipulationViewportEventHandler_OnViewportUpdated(This,viewport) (This)->lpVtbl->OnViewportUpdated(This,viewport)
1767#define IDirectManipulationViewportEventHandler_OnContentUpdated(This,viewport,content) (This)->lpVtbl->OnContentUpdated(This,viewport,content)
1768#else
1769/*** IUnknown methods ***/
1770static FORCEINLINE HRESULT IDirectManipulationViewportEventHandler_QueryInterface(IDirectManipulationViewportEventHandler* This,REFIID riid,void **ppvObject) {
1771 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1772}
1773static FORCEINLINE ULONG IDirectManipulationViewportEventHandler_AddRef(IDirectManipulationViewportEventHandler* This) {
1774 return This->lpVtbl->AddRef(This);
1775}
1776static FORCEINLINE ULONG IDirectManipulationViewportEventHandler_Release(IDirectManipulationViewportEventHandler* This) {
1777 return This->lpVtbl->Release(This);
1778}
1779/*** IDirectManipulationViewportEventHandler methods ***/
1780static FORCEINLINE HRESULT IDirectManipulationViewportEventHandler_OnViewportStatusChanged(IDirectManipulationViewportEventHandler* This,IDirectManipulationViewport *viewport,DIRECTMANIPULATION_STATUS current,DIRECTMANIPULATION_STATUS previous) {
1781 return This->lpVtbl->OnViewportStatusChanged(This,viewport,current,previous);
1782}
1783static FORCEINLINE HRESULT IDirectManipulationViewportEventHandler_OnViewportUpdated(IDirectManipulationViewportEventHandler* This,IDirectManipulationViewport *viewport) {
1784 return This->lpVtbl->OnViewportUpdated(This,viewport);
1785}
1786static FORCEINLINE HRESULT IDirectManipulationViewportEventHandler_OnContentUpdated(IDirectManipulationViewportEventHandler* This,IDirectManipulationViewport *viewport,IDirectManipulationContent *content) {
1787 return This->lpVtbl->OnContentUpdated(This,viewport,content);
1788}
1789#endif
1790#endif
1791
1792#endif
1793
1794
1795#endif /* __IDirectManipulationViewportEventHandler_INTERFACE_DEFINED__ */
1796
1797/*****************************************************************************
1798 * IDirectManipulationManager2 interface
1799 */
1800#ifndef __IDirectManipulationManager2_INTERFACE_DEFINED__
1801#define __IDirectManipulationManager2_INTERFACE_DEFINED__
1802
1803DEFINE_GUID(IID_IDirectManipulationManager2, 0xfa1005e9, 0x3d16, 0x484c, 0xbf,0xc9, 0x62,0xb6,0x1e,0x56,0xec,0x4e);
1804#if defined(__cplusplus) && !defined(CINTERFACE)
1805MIDL_INTERFACE("fa1005e9-3d16-484c-bfc9-62b61e56ec4e")
1806IDirectManipulationManager2 : public IDirectManipulationManager
1807{
1808 virtual HRESULT STDMETHODCALLTYPE CreateBehavior(
1809 REFCLSID clsid,
1810 REFIID riid,
1811 void **obj) = 0;
1812
1813};
1814#ifdef __CRT_UUID_DECL
1815__CRT_UUID_DECL(IDirectManipulationManager2, 0xfa1005e9, 0x3d16, 0x484c, 0xbf,0xc9, 0x62,0xb6,0x1e,0x56,0xec,0x4e)
1816#endif
1817#else
1818typedef struct IDirectManipulationManager2Vtbl {
1819 BEGIN_INTERFACE
1820
1821 /*** IUnknown methods ***/
1822 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1823 IDirectManipulationManager2 *This,
1824 REFIID riid,
1825 void **ppvObject);
1826
1827 ULONG (STDMETHODCALLTYPE *AddRef)(
1828 IDirectManipulationManager2 *This);
1829
1830 ULONG (STDMETHODCALLTYPE *Release)(
1831 IDirectManipulationManager2 *This);
1832
1833 /*** IDirectManipulationManager methods ***/
1834 HRESULT (STDMETHODCALLTYPE *Activate)(
1835 IDirectManipulationManager2 *This,
1836 HWND window);
1837
1838 HRESULT (STDMETHODCALLTYPE *Deactivate)(
1839 IDirectManipulationManager2 *This,
1840 HWND window);
1841
1842 HRESULT (STDMETHODCALLTYPE *RegisterHitTestTarget)(
1843 IDirectManipulationManager2 *This,
1844 HWND window,
1845 HWND hittest,
1846 DIRECTMANIPULATION_HITTEST_TYPE type);
1847
1848 HRESULT (STDMETHODCALLTYPE *ProcessInput)(
1849 IDirectManipulationManager2 *This,
1850 const MSG *msg,
1851 WINBOOL *handled);
1852
1853 HRESULT (STDMETHODCALLTYPE *GetUpdateManager)(
1854 IDirectManipulationManager2 *This,
1855 REFIID riid,
1856 void **obj);
1857
1858 HRESULT (STDMETHODCALLTYPE *CreateViewport)(
1859 IDirectManipulationManager2 *This,
1860 IDirectManipulationFrameInfoProvider *frame,
1861 HWND window,
1862 REFIID riid,
1863 void **obj);
1864
1865 HRESULT (STDMETHODCALLTYPE *CreateContent)(
1866 IDirectManipulationManager2 *This,
1867 IDirectManipulationFrameInfoProvider *frame,
1868 REFCLSID clsid,
1869 REFIID riid,
1870 void **obj);
1871
1872 /*** IDirectManipulationManager2 methods ***/
1873 HRESULT (STDMETHODCALLTYPE *CreateBehavior)(
1874 IDirectManipulationManager2 *This,
1875 REFCLSID clsid,
1876 REFIID riid,
1877 void **obj);
1878
1879 END_INTERFACE
1880} IDirectManipulationManager2Vtbl;
1881
1882interface IDirectManipulationManager2 {
1883 CONST_VTBL IDirectManipulationManager2Vtbl* lpVtbl;
1884};
1885
1886#ifdef COBJMACROS
1887#ifndef WIDL_C_INLINE_WRAPPERS
1888/*** IUnknown methods ***/
1889#define IDirectManipulationManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1890#define IDirectManipulationManager2_AddRef(This) (This)->lpVtbl->AddRef(This)
1891#define IDirectManipulationManager2_Release(This) (This)->lpVtbl->Release(This)
1892/*** IDirectManipulationManager methods ***/
1893#define IDirectManipulationManager2_Activate(This,window) (This)->lpVtbl->Activate(This,window)
1894#define IDirectManipulationManager2_Deactivate(This,window) (This)->lpVtbl->Deactivate(This,window)
1895#define IDirectManipulationManager2_RegisterHitTestTarget(This,window,hittest,type) (This)->lpVtbl->RegisterHitTestTarget(This,window,hittest,type)
1896#define IDirectManipulationManager2_ProcessInput(This,msg,handled) (This)->lpVtbl->ProcessInput(This,msg,handled)
1897#define IDirectManipulationManager2_GetUpdateManager(This,riid,obj) (This)->lpVtbl->GetUpdateManager(This,riid,obj)
1898#define IDirectManipulationManager2_CreateViewport(This,frame,window,riid,obj) (This)->lpVtbl->CreateViewport(This,frame,window,riid,obj)
1899#define IDirectManipulationManager2_CreateContent(This,frame,clsid,riid,obj) (This)->lpVtbl->CreateContent(This,frame,clsid,riid,obj)
1900/*** IDirectManipulationManager2 methods ***/
1901#define IDirectManipulationManager2_CreateBehavior(This,clsid,riid,obj) (This)->lpVtbl->CreateBehavior(This,clsid,riid,obj)
1902#else
1903/*** IUnknown methods ***/
1904static FORCEINLINE HRESULT IDirectManipulationManager2_QueryInterface(IDirectManipulationManager2* This,REFIID riid,void **ppvObject) {
1905 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1906}
1907static FORCEINLINE ULONG IDirectManipulationManager2_AddRef(IDirectManipulationManager2* This) {
1908 return This->lpVtbl->AddRef(This);
1909}
1910static FORCEINLINE ULONG IDirectManipulationManager2_Release(IDirectManipulationManager2* This) {
1911 return This->lpVtbl->Release(This);
1912}
1913/*** IDirectManipulationManager methods ***/
1914static FORCEINLINE HRESULT IDirectManipulationManager2_Activate(IDirectManipulationManager2* This,HWND window) {
1915 return This->lpVtbl->Activate(This,window);
1916}
1917static FORCEINLINE HRESULT IDirectManipulationManager2_Deactivate(IDirectManipulationManager2* This,HWND window) {
1918 return This->lpVtbl->Deactivate(This,window);
1919}
1920static FORCEINLINE HRESULT IDirectManipulationManager2_RegisterHitTestTarget(IDirectManipulationManager2* This,HWND window,HWND hittest,DIRECTMANIPULATION_HITTEST_TYPE type) {
1921 return This->lpVtbl->RegisterHitTestTarget(This,window,hittest,type);
1922}
1923static FORCEINLINE HRESULT IDirectManipulationManager2_ProcessInput(IDirectManipulationManager2* This,const MSG *msg,WINBOOL *handled) {
1924 return This->lpVtbl->ProcessInput(This,msg,handled);
1925}
1926static FORCEINLINE HRESULT IDirectManipulationManager2_GetUpdateManager(IDirectManipulationManager2* This,REFIID riid,void **obj) {
1927 return This->lpVtbl->GetUpdateManager(This,riid,obj);
1928}
1929static FORCEINLINE HRESULT IDirectManipulationManager2_CreateViewport(IDirectManipulationManager2* This,IDirectManipulationFrameInfoProvider *frame,HWND window,REFIID riid,void **obj) {
1930 return This->lpVtbl->CreateViewport(This,frame,window,riid,obj);
1931}
1932static FORCEINLINE HRESULT IDirectManipulationManager2_CreateContent(IDirectManipulationManager2* This,IDirectManipulationFrameInfoProvider *frame,REFCLSID clsid,REFIID riid,void **obj) {
1933 return This->lpVtbl->CreateContent(This,frame,clsid,riid,obj);
1934}
1935/*** IDirectManipulationManager2 methods ***/
1936static FORCEINLINE HRESULT IDirectManipulationManager2_CreateBehavior(IDirectManipulationManager2* This,REFCLSID clsid,REFIID riid,void **obj) {
1937 return This->lpVtbl->CreateBehavior(This,clsid,riid,obj);
1938}
1939#endif
1940#endif
1941
1942#endif
1943
1944
1945#endif /* __IDirectManipulationManager2_INTERFACE_DEFINED__ */
1946
1947/*****************************************************************************
1948 * IDirectManipulationPrimaryContent interface
1949 */
1950#ifndef __IDirectManipulationPrimaryContent_INTERFACE_DEFINED__
1951#define __IDirectManipulationPrimaryContent_INTERFACE_DEFINED__
1952
1953DEFINE_GUID(IID_IDirectManipulationPrimaryContent, 0xc12851e4, 0x1698, 0x4625, 0xb9,0xb1, 0x7c,0xa3,0xec,0x18,0x63,0x0b);
1954#if defined(__cplusplus) && !defined(CINTERFACE)
1955MIDL_INTERFACE("c12851e4-1698-4625-b9b1-7ca3ec18630b")
1956IDirectManipulationPrimaryContent : public IUnknown
1957{
1958 virtual HRESULT STDMETHODCALLTYPE SetSnapInterval(
1959 DIRECTMANIPULATION_MOTION_TYPES motion,
1960 float interval,
1961 float offset) = 0;
1962
1963 virtual HRESULT STDMETHODCALLTYPE SetSnapPoints(
1964 DIRECTMANIPULATION_MOTION_TYPES motion,
1965 const float *points,
1966 DWORD count) = 0;
1967
1968 virtual HRESULT STDMETHODCALLTYPE SetSnapType(
1969 DIRECTMANIPULATION_MOTION_TYPES motion,
1970 DIRECTMANIPULATION_SNAPPOINT_TYPE type) = 0;
1971
1972 virtual HRESULT STDMETHODCALLTYPE SetSnapCoordinate(
1973 DIRECTMANIPULATION_MOTION_TYPES motion,
1974 DIRECTMANIPULATION_SNAPPOINT_COORDINATE coordinate,
1975 float origin) = 0;
1976
1977 virtual HRESULT STDMETHODCALLTYPE SetZoomBoundaries(
1978 float minimum,
1979 float maximum) = 0;
1980
1981 virtual HRESULT STDMETHODCALLTYPE SetHorizontalAlignment(
1982 DIRECTMANIPULATION_HORIZONTALALIGNMENT alignment) = 0;
1983
1984 virtual HRESULT STDMETHODCALLTYPE SetVerticalAlignment(
1985 DIRECTMANIPULATION_VERTICALALIGNMENT alignment) = 0;
1986
1987 virtual HRESULT STDMETHODCALLTYPE GetInertiaEndTransform(
1988 float *matrix,
1989 DWORD count) = 0;
1990
1991 virtual HRESULT STDMETHODCALLTYPE GetCenterPoint(
1992 float *x,
1993 float *y) = 0;
1994
1995};
1996#ifdef __CRT_UUID_DECL
1997__CRT_UUID_DECL(IDirectManipulationPrimaryContent, 0xc12851e4, 0x1698, 0x4625, 0xb9,0xb1, 0x7c,0xa3,0xec,0x18,0x63,0x0b)
1998#endif
1999#else
2000typedef struct IDirectManipulationPrimaryContentVtbl {
2001 BEGIN_INTERFACE
2002
2003 /*** IUnknown methods ***/
2004 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2005 IDirectManipulationPrimaryContent *This,
2006 REFIID riid,
2007 void **ppvObject);
2008
2009 ULONG (STDMETHODCALLTYPE *AddRef)(
2010 IDirectManipulationPrimaryContent *This);
2011
2012 ULONG (STDMETHODCALLTYPE *Release)(
2013 IDirectManipulationPrimaryContent *This);
2014
2015 /*** IDirectManipulationPrimaryContent methods ***/
2016 HRESULT (STDMETHODCALLTYPE *SetSnapInterval)(
2017 IDirectManipulationPrimaryContent *This,
2018 DIRECTMANIPULATION_MOTION_TYPES motion,
2019 float interval,
2020 float offset);
2021
2022 HRESULT (STDMETHODCALLTYPE *SetSnapPoints)(
2023 IDirectManipulationPrimaryContent *This,
2024 DIRECTMANIPULATION_MOTION_TYPES motion,
2025 const float *points,
2026 DWORD count);
2027
2028 HRESULT (STDMETHODCALLTYPE *SetSnapType)(
2029 IDirectManipulationPrimaryContent *This,
2030 DIRECTMANIPULATION_MOTION_TYPES motion,
2031 DIRECTMANIPULATION_SNAPPOINT_TYPE type);
2032
2033 HRESULT (STDMETHODCALLTYPE *SetSnapCoordinate)(
2034 IDirectManipulationPrimaryContent *This,
2035 DIRECTMANIPULATION_MOTION_TYPES motion,
2036 DIRECTMANIPULATION_SNAPPOINT_COORDINATE coordinate,
2037 float origin);
2038
2039 HRESULT (STDMETHODCALLTYPE *SetZoomBoundaries)(
2040 IDirectManipulationPrimaryContent *This,
2041 float minimum,
2042 float maximum);
2043
2044 HRESULT (STDMETHODCALLTYPE *SetHorizontalAlignment)(
2045 IDirectManipulationPrimaryContent *This,
2046 DIRECTMANIPULATION_HORIZONTALALIGNMENT alignment);
2047
2048 HRESULT (STDMETHODCALLTYPE *SetVerticalAlignment)(
2049 IDirectManipulationPrimaryContent *This,
2050 DIRECTMANIPULATION_VERTICALALIGNMENT alignment);
2051
2052 HRESULT (STDMETHODCALLTYPE *GetInertiaEndTransform)(
2053 IDirectManipulationPrimaryContent *This,
2054 float *matrix,
2055 DWORD count);
2056
2057 HRESULT (STDMETHODCALLTYPE *GetCenterPoint)(
2058 IDirectManipulationPrimaryContent *This,
2059 float *x,
2060 float *y);
2061
2062 END_INTERFACE
2063} IDirectManipulationPrimaryContentVtbl;
2064
2065interface IDirectManipulationPrimaryContent {
2066 CONST_VTBL IDirectManipulationPrimaryContentVtbl* lpVtbl;
2067};
2068
2069#ifdef COBJMACROS
2070#ifndef WIDL_C_INLINE_WRAPPERS
2071/*** IUnknown methods ***/
2072#define IDirectManipulationPrimaryContent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2073#define IDirectManipulationPrimaryContent_AddRef(This) (This)->lpVtbl->AddRef(This)
2074#define IDirectManipulationPrimaryContent_Release(This) (This)->lpVtbl->Release(This)
2075/*** IDirectManipulationPrimaryContent methods ***/
2076#define IDirectManipulationPrimaryContent_SetSnapInterval(This,motion,interval,offset) (This)->lpVtbl->SetSnapInterval(This,motion,interval,offset)
2077#define IDirectManipulationPrimaryContent_SetSnapPoints(This,motion,points,count) (This)->lpVtbl->SetSnapPoints(This,motion,points,count)
2078#define IDirectManipulationPrimaryContent_SetSnapType(This,motion,type) (This)->lpVtbl->SetSnapType(This,motion,type)
2079#define IDirectManipulationPrimaryContent_SetSnapCoordinate(This,motion,coordinate,origin) (This)->lpVtbl->SetSnapCoordinate(This,motion,coordinate,origin)
2080#define IDirectManipulationPrimaryContent_SetZoomBoundaries(This,minimum,maximum) (This)->lpVtbl->SetZoomBoundaries(This,minimum,maximum)
2081#define IDirectManipulationPrimaryContent_SetHorizontalAlignment(This,alignment) (This)->lpVtbl->SetHorizontalAlignment(This,alignment)
2082#define IDirectManipulationPrimaryContent_SetVerticalAlignment(This,alignment) (This)->lpVtbl->SetVerticalAlignment(This,alignment)
2083#define IDirectManipulationPrimaryContent_GetInertiaEndTransform(This,matrix,count) (This)->lpVtbl->GetInertiaEndTransform(This,matrix,count)
2084#define IDirectManipulationPrimaryContent_GetCenterPoint(This,x,y) (This)->lpVtbl->GetCenterPoint(This,x,y)
2085#else
2086/*** IUnknown methods ***/
2087static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_QueryInterface(IDirectManipulationPrimaryContent* This,REFIID riid,void **ppvObject) {
2088 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2089}
2090static FORCEINLINE ULONG IDirectManipulationPrimaryContent_AddRef(IDirectManipulationPrimaryContent* This) {
2091 return This->lpVtbl->AddRef(This);
2092}
2093static FORCEINLINE ULONG IDirectManipulationPrimaryContent_Release(IDirectManipulationPrimaryContent* This) {
2094 return This->lpVtbl->Release(This);
2095}
2096/*** IDirectManipulationPrimaryContent methods ***/
2097static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetSnapInterval(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_MOTION_TYPES motion,float interval,float offset) {
2098 return This->lpVtbl->SetSnapInterval(This,motion,interval,offset);
2099}
2100static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetSnapPoints(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_MOTION_TYPES motion,const float *points,DWORD count) {
2101 return This->lpVtbl->SetSnapPoints(This,motion,points,count);
2102}
2103static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetSnapType(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_MOTION_TYPES motion,DIRECTMANIPULATION_SNAPPOINT_TYPE type) {
2104 return This->lpVtbl->SetSnapType(This,motion,type);
2105}
2106static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetSnapCoordinate(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_MOTION_TYPES motion,DIRECTMANIPULATION_SNAPPOINT_COORDINATE coordinate,float origin) {
2107 return This->lpVtbl->SetSnapCoordinate(This,motion,coordinate,origin);
2108}
2109static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetZoomBoundaries(IDirectManipulationPrimaryContent* This,float minimum,float maximum) {
2110 return This->lpVtbl->SetZoomBoundaries(This,minimum,maximum);
2111}
2112static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetHorizontalAlignment(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_HORIZONTALALIGNMENT alignment) {
2113 return This->lpVtbl->SetHorizontalAlignment(This,alignment);
2114}
2115static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetVerticalAlignment(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_VERTICALALIGNMENT alignment) {
2116 return This->lpVtbl->SetVerticalAlignment(This,alignment);
2117}
2118static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_GetInertiaEndTransform(IDirectManipulationPrimaryContent* This,float *matrix,DWORD count) {
2119 return This->lpVtbl->GetInertiaEndTransform(This,matrix,count);
2120}
2121static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_GetCenterPoint(IDirectManipulationPrimaryContent* This,float *x,float *y) {
2122 return This->lpVtbl->GetCenterPoint(This,x,y);
2123}
2124#endif
2125#endif
2126
2127#endif
2128
2129
2130#endif /* __IDirectManipulationPrimaryContent_INTERFACE_DEFINED__ */
2131
2132/*****************************************************************************
2133 * IDirectManipulationCompositor2 interface
2134 */
2135#ifndef __IDirectManipulationCompositor2_INTERFACE_DEFINED__
2136#define __IDirectManipulationCompositor2_INTERFACE_DEFINED__
2137
2138DEFINE_GUID(IID_IDirectManipulationCompositor2, 0xd38c7822, 0xf1cb, 0x43cb, 0xb4,0xb9, 0xac,0x0c,0x76,0x7a,0x41,0x2e);
2139#if defined(__cplusplus) && !defined(CINTERFACE)
2140MIDL_INTERFACE("d38c7822-f1cb-43cb-b4b9-ac0c767a412e")
2141IDirectManipulationCompositor2 : public IDirectManipulationCompositor
2142{
2143 virtual HRESULT STDMETHODCALLTYPE AddContentWithCrossProcessChaining(
2144 IDirectManipulationPrimaryContent *content,
2145 IUnknown *device,
2146 IUnknown *parentVisual,
2147 IUnknown *childVisual) = 0;
2148
2149};
2150#ifdef __CRT_UUID_DECL
2151__CRT_UUID_DECL(IDirectManipulationCompositor2, 0xd38c7822, 0xf1cb, 0x43cb, 0xb4,0xb9, 0xac,0x0c,0x76,0x7a,0x41,0x2e)
2152#endif
2153#else
2154typedef struct IDirectManipulationCompositor2Vtbl {
2155 BEGIN_INTERFACE
2156
2157 /*** IUnknown methods ***/
2158 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2159 IDirectManipulationCompositor2 *This,
2160 REFIID riid,
2161 void **ppvObject);
2162
2163 ULONG (STDMETHODCALLTYPE *AddRef)(
2164 IDirectManipulationCompositor2 *This);
2165
2166 ULONG (STDMETHODCALLTYPE *Release)(
2167 IDirectManipulationCompositor2 *This);
2168
2169 /*** IDirectManipulationCompositor methods ***/
2170 HRESULT (STDMETHODCALLTYPE *AddContent)(
2171 IDirectManipulationCompositor2 *This,
2172 IDirectManipulationContent *content,
2173 IUnknown *device,
2174 IUnknown *parent,
2175 IUnknown *child);
2176
2177 HRESULT (STDMETHODCALLTYPE *RemoveContent)(
2178 IDirectManipulationCompositor2 *This,
2179 IDirectManipulationContent *content);
2180
2181 HRESULT (STDMETHODCALLTYPE *SetUpdateManager)(
2182 IDirectManipulationCompositor2 *This,
2183 IDirectManipulationUpdateManager *manager);
2184
2185 HRESULT (STDMETHODCALLTYPE *Flush)(
2186 IDirectManipulationCompositor2 *This);
2187
2188 /*** IDirectManipulationCompositor2 methods ***/
2189 HRESULT (STDMETHODCALLTYPE *AddContentWithCrossProcessChaining)(
2190 IDirectManipulationCompositor2 *This,
2191 IDirectManipulationPrimaryContent *content,
2192 IUnknown *device,
2193 IUnknown *parentVisual,
2194 IUnknown *childVisual);
2195
2196 END_INTERFACE
2197} IDirectManipulationCompositor2Vtbl;
2198
2199interface IDirectManipulationCompositor2 {
2200 CONST_VTBL IDirectManipulationCompositor2Vtbl* lpVtbl;
2201};
2202
2203#ifdef COBJMACROS
2204#ifndef WIDL_C_INLINE_WRAPPERS
2205/*** IUnknown methods ***/
2206#define IDirectManipulationCompositor2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2207#define IDirectManipulationCompositor2_AddRef(This) (This)->lpVtbl->AddRef(This)
2208#define IDirectManipulationCompositor2_Release(This) (This)->lpVtbl->Release(This)
2209/*** IDirectManipulationCompositor methods ***/
2210#define IDirectManipulationCompositor2_AddContent(This,content,device,parent,child) (This)->lpVtbl->AddContent(This,content,device,parent,child)
2211#define IDirectManipulationCompositor2_RemoveContent(This,content) (This)->lpVtbl->RemoveContent(This,content)
2212#define IDirectManipulationCompositor2_SetUpdateManager(This,manager) (This)->lpVtbl->SetUpdateManager(This,manager)
2213#define IDirectManipulationCompositor2_Flush(This) (This)->lpVtbl->Flush(This)
2214/*** IDirectManipulationCompositor2 methods ***/
2215#define IDirectManipulationCompositor2_AddContentWithCrossProcessChaining(This,content,device,parentVisual,childVisual) (This)->lpVtbl->AddContentWithCrossProcessChaining(This,content,device,parentVisual,childVisual)
2216#else
2217/*** IUnknown methods ***/
2218static FORCEINLINE HRESULT IDirectManipulationCompositor2_QueryInterface(IDirectManipulationCompositor2* This,REFIID riid,void **ppvObject) {
2219 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2220}
2221static FORCEINLINE ULONG IDirectManipulationCompositor2_AddRef(IDirectManipulationCompositor2* This) {
2222 return This->lpVtbl->AddRef(This);
2223}
2224static FORCEINLINE ULONG IDirectManipulationCompositor2_Release(IDirectManipulationCompositor2* This) {
2225 return This->lpVtbl->Release(This);
2226}
2227/*** IDirectManipulationCompositor methods ***/
2228static FORCEINLINE HRESULT IDirectManipulationCompositor2_AddContent(IDirectManipulationCompositor2* This,IDirectManipulationContent *content,IUnknown *device,IUnknown *parent,IUnknown *child) {
2229 return This->lpVtbl->AddContent(This,content,device,parent,child);
2230}
2231static FORCEINLINE HRESULT IDirectManipulationCompositor2_RemoveContent(IDirectManipulationCompositor2* This,IDirectManipulationContent *content) {
2232 return This->lpVtbl->RemoveContent(This,content);
2233}
2234static FORCEINLINE HRESULT IDirectManipulationCompositor2_SetUpdateManager(IDirectManipulationCompositor2* This,IDirectManipulationUpdateManager *manager) {
2235 return This->lpVtbl->SetUpdateManager(This,manager);
2236}
2237static FORCEINLINE HRESULT IDirectManipulationCompositor2_Flush(IDirectManipulationCompositor2* This) {
2238 return This->lpVtbl->Flush(This);
2239}
2240/*** IDirectManipulationCompositor2 methods ***/
2241static FORCEINLINE HRESULT IDirectManipulationCompositor2_AddContentWithCrossProcessChaining(IDirectManipulationCompositor2* This,IDirectManipulationPrimaryContent *content,IUnknown *device,IUnknown *parentVisual,IUnknown *childVisual) {
2242 return This->lpVtbl->AddContentWithCrossProcessChaining(This,content,device,parentVisual,childVisual);
2243}
2244#endif
2245#endif
2246
2247#endif
2248
2249
2250#endif /* __IDirectManipulationCompositor2_INTERFACE_DEFINED__ */
2251
2252#ifndef __DirectManipulation_LIBRARY_DEFINED__
2253#define __DirectManipulation_LIBRARY_DEFINED__
2254
2255DEFINE_GUID(LIBID_DirectManipulation, 0x9fbedf98, 0xf6d8, 0x4e3b, 0xb4,0x88, 0xfa,0x66,0xdb,0xf5,0xe9,0xf3);
2256
2257/*****************************************************************************
2258 * DirectManipulationManager coclass
2259 */
2260
2261DEFINE_GUID(CLSID_DirectManipulationManager, 0x54e211b6, 0x3650, 0x4f75, 0x83,0x34, 0xfa,0x35,0x95,0x98,0xe1,0xc5);
2262
2263#ifdef __cplusplus
2264class DECLSPEC_UUID("54e211b6-3650-4f75-8334-fa359598e1c5") DirectManipulationManager;
2265#ifdef __CRT_UUID_DECL
2266__CRT_UUID_DECL(DirectManipulationManager, 0x54e211b6, 0x3650, 0x4f75, 0x83,0x34, 0xfa,0x35,0x95,0x98,0xe1,0xc5)
2267#endif
2268#endif
2269
2270/*****************************************************************************
2271 * DirectManipulationSharedManager coclass
2272 */
2273
2274DEFINE_GUID(CLSID_DirectManipulationSharedManager, 0x99793286, 0x77cc, 0x4b57, 0x96,0xdb, 0x3b,0x35,0x4f,0x6f,0x9f,0xb5);
2275
2276#ifdef __cplusplus
2277class DECLSPEC_UUID("99793286-77cc-4b57-96db-3b354f6f9fb5") DirectManipulationSharedManager;
2278#ifdef __CRT_UUID_DECL
2279__CRT_UUID_DECL(DirectManipulationSharedManager, 0x99793286, 0x77cc, 0x4b57, 0x96,0xdb, 0x3b,0x35,0x4f,0x6f,0x9f,0xb5)
2280#endif
2281#endif
2282
2283/*****************************************************************************
2284 * DCompManipulationCompositor coclass
2285 */
2286
2287DEFINE_GUID(CLSID_DCompManipulationCompositor, 0x79dea627, 0xa08a, 0x43ac, 0x8e,0xf5, 0x69,0x00,0xb9,0x29,0x91,0x26);
2288
2289#ifdef __cplusplus
2290class DECLSPEC_UUID("79dea627-a08a-43ac-8ef5-6900b9299126") DCompManipulationCompositor;
2291#ifdef __CRT_UUID_DECL
2292__CRT_UUID_DECL(DCompManipulationCompositor, 0x79dea627, 0xa08a, 0x43ac, 0x8e,0xf5, 0x69,0x00,0xb9,0x29,0x91,0x26)
2293#endif
2294#endif
2295
2296/*****************************************************************************
2297 * DirectManipulationViewport coclass
2298 */
2299
2300DEFINE_GUID(CLSID_DirectManipulationViewport, 0x34e211b6, 0x3650, 0x4f75, 0x83,0x34, 0xfa,0x35,0x95,0x98,0xe1,0xc5);
2301
2302#ifdef __cplusplus
2303class DECLSPEC_UUID("34e211b6-3650-4f75-8334-fa359598e1c5") DirectManipulationViewport;
2304#ifdef __CRT_UUID_DECL
2305__CRT_UUID_DECL(DirectManipulationViewport, 0x34e211b6, 0x3650, 0x4f75, 0x83,0x34, 0xfa,0x35,0x95,0x98,0xe1,0xc5)
2306#endif
2307#endif
2308
2309#endif /* __DirectManipulation_LIBRARY_DEFINED__ */
2310/* Begin additional prototypes for all interfaces */
2311
2312
2313/* End additional prototypes */
2314
2315#ifdef __cplusplus
2316}
2317#endif
2318
2319#endif /* __directmanipulation_h__ */
Note: See TracBrowser for help on using the repository browser.