ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/directmanipulation.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 100897 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
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__
23 typedef interface IDirectManipulationFrameInfoProvider IDirectManipulationFrameInfoProvider;
24 #ifdef __cplusplus
25 interface IDirectManipulationFrameInfoProvider;
26 #endif /* __cplusplus */
27 #endif
28
29 #ifndef __IDirectManipulationManager_FWD_DEFINED__
30 #define __IDirectManipulationManager_FWD_DEFINED__
31 typedef interface IDirectManipulationManager IDirectManipulationManager;
32 #ifdef __cplusplus
33 interface IDirectManipulationManager;
34 #endif /* __cplusplus */
35 #endif
36
37 #ifndef __IDirectManipulationContent_FWD_DEFINED__
38 #define __IDirectManipulationContent_FWD_DEFINED__
39 typedef interface IDirectManipulationContent IDirectManipulationContent;
40 #ifdef __cplusplus
41 interface IDirectManipulationContent;
42 #endif /* __cplusplus */
43 #endif
44
45 #ifndef __IDirectManipulationUpdateHandler_FWD_DEFINED__
46 #define __IDirectManipulationUpdateHandler_FWD_DEFINED__
47 typedef interface IDirectManipulationUpdateHandler IDirectManipulationUpdateHandler;
48 #ifdef __cplusplus
49 interface IDirectManipulationUpdateHandler;
50 #endif /* __cplusplus */
51 #endif
52
53 #ifndef __IDirectManipulationUpdateManager_FWD_DEFINED__
54 #define __IDirectManipulationUpdateManager_FWD_DEFINED__
55 typedef interface IDirectManipulationUpdateManager IDirectManipulationUpdateManager;
56 #ifdef __cplusplus
57 interface IDirectManipulationUpdateManager;
58 #endif /* __cplusplus */
59 #endif
60
61 #ifndef __IDirectManipulationCompositor_FWD_DEFINED__
62 #define __IDirectManipulationCompositor_FWD_DEFINED__
63 typedef interface IDirectManipulationCompositor IDirectManipulationCompositor;
64 #ifdef __cplusplus
65 interface IDirectManipulationCompositor;
66 #endif /* __cplusplus */
67 #endif
68
69 #ifndef __IDirectManipulationViewport_FWD_DEFINED__
70 #define __IDirectManipulationViewport_FWD_DEFINED__
71 typedef interface IDirectManipulationViewport IDirectManipulationViewport;
72 #ifdef __cplusplus
73 interface IDirectManipulationViewport;
74 #endif /* __cplusplus */
75 #endif
76
77 #ifndef __IDirectManipulationViewport2_FWD_DEFINED__
78 #define __IDirectManipulationViewport2_FWD_DEFINED__
79 typedef interface IDirectManipulationViewport2 IDirectManipulationViewport2;
80 #ifdef __cplusplus
81 interface IDirectManipulationViewport2;
82 #endif /* __cplusplus */
83 #endif
84
85 #ifndef __IDirectManipulationViewportEventHandler_FWD_DEFINED__
86 #define __IDirectManipulationViewportEventHandler_FWD_DEFINED__
87 typedef interface IDirectManipulationViewportEventHandler IDirectManipulationViewportEventHandler;
88 #ifdef __cplusplus
89 interface IDirectManipulationViewportEventHandler;
90 #endif /* __cplusplus */
91 #endif
92
93 #ifndef __IDirectManipulationManager2_FWD_DEFINED__
94 #define __IDirectManipulationManager2_FWD_DEFINED__
95 typedef interface IDirectManipulationManager2 IDirectManipulationManager2;
96 #ifdef __cplusplus
97 interface IDirectManipulationManager2;
98 #endif /* __cplusplus */
99 #endif
100
101 #ifndef __IDirectManipulationPrimaryContent_FWD_DEFINED__
102 #define __IDirectManipulationPrimaryContent_FWD_DEFINED__
103 typedef interface IDirectManipulationPrimaryContent IDirectManipulationPrimaryContent;
104 #ifdef __cplusplus
105 interface IDirectManipulationPrimaryContent;
106 #endif /* __cplusplus */
107 #endif
108
109 #ifndef __IDirectManipulationCompositor2_FWD_DEFINED__
110 #define __IDirectManipulationCompositor2_FWD_DEFINED__
111 typedef interface IDirectManipulationCompositor2 IDirectManipulationCompositor2;
112 #ifdef __cplusplus
113 interface IDirectManipulationCompositor2;
114 #endif /* __cplusplus */
115 #endif
116
117 #ifndef __DirectManipulationManager_FWD_DEFINED__
118 #define __DirectManipulationManager_FWD_DEFINED__
119 #ifdef __cplusplus
120 typedef class DirectManipulationManager DirectManipulationManager;
121 #else
122 typedef 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
129 typedef class DirectManipulationSharedManager DirectManipulationSharedManager;
130 #else
131 typedef 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
138 typedef class DCompManipulationCompositor DCompManipulationCompositor;
139 #else
140 typedef 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
147 typedef class DirectManipulationViewport DirectManipulationViewport;
148 #else
149 typedef 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
159 extern "C" {
160 #endif
161
162 #if 0
163 typedef void *HWND;
164 #endif
165 #ifndef __IDirectManipulationViewportEventHandler_FWD_DEFINED__
166 #define __IDirectManipulationViewportEventHandler_FWD_DEFINED__
167 typedef interface IDirectManipulationViewportEventHandler IDirectManipulationViewportEventHandler;
168 #ifdef __cplusplus
169 interface IDirectManipulationViewportEventHandler;
170 #endif /* __cplusplus */
171 #endif
172
173 typedef 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;
178 DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_HITTEST_TYPE)
179 typedef 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;
188 typedef 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;
196 DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_VIEWPORT_OPTIONS)
197 typedef 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;
208 DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_CONFIGURATION)
209 typedef 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;
216 DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_GESTURE_CONFIGURATION)
217 typedef 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;
226 DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_MOTION_TYPES)
227 typedef 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;
233 typedef enum DIRECTMANIPULATION_SNAPPOINT_COORDINATE {
234 DIRECTMANIPULATION_COORDINATE_BOUNDARY = 0x0,
235 DIRECTMANIPULATION_COORDINATE_ORIGIN = 0x1,
236 DIRECTMANIPULATION_COORDINATE_MIRRORED = 0x10
237 } DIRECTMANIPULATION_SNAPPOINT_COORDINATE;
238 DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_SNAPPOINT_COORDINATE)
239 typedef 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;
246 DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_HORIZONTALALIGNMENT)
247 typedef 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;
254 DEFINE_ENUM_FLAG_OPERATORS(DIRECTMANIPULATION_VERTICALALIGNMENT)
255 typedef 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
265 DEFINE_GUID(IID_IDirectManipulationFrameInfoProvider, 0xfb759dba, 0x6f4c, 0x4c01, 0x87,0x4e, 0x19,0xc8,0xa0,0x59,0x07,0xf9);
266 #if defined(__cplusplus) && !defined(CINTERFACE)
267 MIDL_INTERFACE("fb759dba-6f4c-4c01-874e-19c8a05907f9")
268 IDirectManipulationFrameInfoProvider : 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
280 typedef 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
305 interface 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 ***/
319 static FORCEINLINE HRESULT IDirectManipulationFrameInfoProvider_QueryInterface(IDirectManipulationFrameInfoProvider* This,REFIID riid,void **ppvObject) {
320 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
321 }
322 static FORCEINLINE ULONG IDirectManipulationFrameInfoProvider_AddRef(IDirectManipulationFrameInfoProvider* This) {
323 return This->lpVtbl->AddRef(This);
324 }
325 static FORCEINLINE ULONG IDirectManipulationFrameInfoProvider_Release(IDirectManipulationFrameInfoProvider* This) {
326 return This->lpVtbl->Release(This);
327 }
328 /*** IDirectManipulationFrameInfoProvider methods ***/
329 static 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
346 DEFINE_GUID(IID_IDirectManipulationManager, 0xfbf5d3b4, 0x70c7, 0x4163, 0x93,0x22, 0x5a,0x6f,0x66,0x0d,0x6f,0xbc);
347 #if defined(__cplusplus) && !defined(CINTERFACE)
348 MIDL_INTERFACE("fbf5d3b4-70c7-4163-9322-5a6f660d6fbc")
349 IDirectManipulationManager : 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
387 typedef 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
444 interface 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 ***/
464 static FORCEINLINE HRESULT IDirectManipulationManager_QueryInterface(IDirectManipulationManager* This,REFIID riid,void **ppvObject) {
465 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
466 }
467 static FORCEINLINE ULONG IDirectManipulationManager_AddRef(IDirectManipulationManager* This) {
468 return This->lpVtbl->AddRef(This);
469 }
470 static FORCEINLINE ULONG IDirectManipulationManager_Release(IDirectManipulationManager* This) {
471 return This->lpVtbl->Release(This);
472 }
473 /*** IDirectManipulationManager methods ***/
474 static FORCEINLINE HRESULT IDirectManipulationManager_Activate(IDirectManipulationManager* This,HWND window) {
475 return This->lpVtbl->Activate(This,window);
476 }
477 static FORCEINLINE HRESULT IDirectManipulationManager_Deactivate(IDirectManipulationManager* This,HWND window) {
478 return This->lpVtbl->Deactivate(This,window);
479 }
480 static FORCEINLINE HRESULT IDirectManipulationManager_RegisterHitTestTarget(IDirectManipulationManager* This,HWND window,HWND hittest,DIRECTMANIPULATION_HITTEST_TYPE type) {
481 return This->lpVtbl->RegisterHitTestTarget(This,window,hittest,type);
482 }
483 static FORCEINLINE HRESULT IDirectManipulationManager_ProcessInput(IDirectManipulationManager* This,const MSG *msg,WINBOOL *handled) {
484 return This->lpVtbl->ProcessInput(This,msg,handled);
485 }
486 static FORCEINLINE HRESULT IDirectManipulationManager_GetUpdateManager(IDirectManipulationManager* This,REFIID riid,void **obj) {
487 return This->lpVtbl->GetUpdateManager(This,riid,obj);
488 }
489 static 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 }
492 static 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
509 DEFINE_GUID(IID_IDirectManipulationContent, 0xb89962cb, 0x3d89, 0x442b, 0xbb,0x58, 0x50,0x98,0xfa,0x0f,0x9f,0x16);
510 #if defined(__cplusplus) && !defined(CINTERFACE)
511 MIDL_INTERFACE("b89962cb-3d89-442b-bb58-5098fa0f9f16")
512 IDirectManipulationContent : 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
550 typedef 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
608 interface 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 ***/
629 static FORCEINLINE HRESULT IDirectManipulationContent_QueryInterface(IDirectManipulationContent* This,REFIID riid,void **ppvObject) {
630 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
631 }
632 static FORCEINLINE ULONG IDirectManipulationContent_AddRef(IDirectManipulationContent* This) {
633 return This->lpVtbl->AddRef(This);
634 }
635 static FORCEINLINE ULONG IDirectManipulationContent_Release(IDirectManipulationContent* This) {
636 return This->lpVtbl->Release(This);
637 }
638 /*** IDirectManipulationContent methods ***/
639 static FORCEINLINE HRESULT IDirectManipulationContent_GetContentRect(IDirectManipulationContent* This,RECT *size) {
640 return This->lpVtbl->GetContentRect(This,size);
641 }
642 static FORCEINLINE HRESULT IDirectManipulationContent_SetContentRect(IDirectManipulationContent* This,const RECT *size) {
643 return This->lpVtbl->SetContentRect(This,size);
644 }
645 static FORCEINLINE HRESULT IDirectManipulationContent_GetViewport(IDirectManipulationContent* This,REFIID riid,void **object) {
646 return This->lpVtbl->GetViewport(This,riid,object);
647 }
648 static FORCEINLINE HRESULT IDirectManipulationContent_GetTag(IDirectManipulationContent* This,REFIID riid,void **object,UINT32 *id) {
649 return This->lpVtbl->GetTag(This,riid,object,id);
650 }
651 static FORCEINLINE HRESULT IDirectManipulationContent_SetTag(IDirectManipulationContent* This,IUnknown *object,UINT32 id) {
652 return This->lpVtbl->SetTag(This,object,id);
653 }
654 static FORCEINLINE HRESULT IDirectManipulationContent_GetOutputTransform(IDirectManipulationContent* This,float *matrix,DWORD count) {
655 return This->lpVtbl->GetOutputTransform(This,matrix,count);
656 }
657 static FORCEINLINE HRESULT IDirectManipulationContent_GetContentTransform(IDirectManipulationContent* This,float *matrix,DWORD count) {
658 return This->lpVtbl->GetContentTransform(This,matrix,count);
659 }
660 static 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
677 DEFINE_GUID(IID_IDirectManipulationUpdateHandler, 0x790b6337, 0x64f8, 0x4ff5, 0xa2,0x69, 0xb3,0x2b,0xc2,0xaf,0x27,0xa7);
678 #if defined(__cplusplus) && !defined(CINTERFACE)
679 MIDL_INTERFACE("790b6337-64f8-4ff5-a269-b32bc2af27a7")
680 IDirectManipulationUpdateHandler : 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
690 typedef 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
712 interface 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 ***/
726 static FORCEINLINE HRESULT IDirectManipulationUpdateHandler_QueryInterface(IDirectManipulationUpdateHandler* This,REFIID riid,void **ppvObject) {
727 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
728 }
729 static FORCEINLINE ULONG IDirectManipulationUpdateHandler_AddRef(IDirectManipulationUpdateHandler* This) {
730 return This->lpVtbl->AddRef(This);
731 }
732 static FORCEINLINE ULONG IDirectManipulationUpdateHandler_Release(IDirectManipulationUpdateHandler* This) {
733 return This->lpVtbl->Release(This);
734 }
735 /*** IDirectManipulationUpdateHandler methods ***/
736 static 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
753 DEFINE_GUID(IID_IDirectManipulationUpdateManager, 0xb0ae62fd, 0xbe34, 0x46e7, 0x9c,0xaa, 0xd3,0x61,0xfa,0xcb,0xb9,0xcc);
754 #if defined(__cplusplus) && !defined(CINTERFACE)
755 MIDL_INTERFACE("b0ae62fd-be34-46e7-9caa-d361facbb9cc")
756 IDirectManipulationUpdateManager : 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
774 typedef 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
807 interface 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 ***/
823 static FORCEINLINE HRESULT IDirectManipulationUpdateManager_QueryInterface(IDirectManipulationUpdateManager* This,REFIID riid,void **ppvObject) {
824 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
825 }
826 static FORCEINLINE ULONG IDirectManipulationUpdateManager_AddRef(IDirectManipulationUpdateManager* This) {
827 return This->lpVtbl->AddRef(This);
828 }
829 static FORCEINLINE ULONG IDirectManipulationUpdateManager_Release(IDirectManipulationUpdateManager* This) {
830 return This->lpVtbl->Release(This);
831 }
832 /*** IDirectManipulationUpdateManager methods ***/
833 static FORCEINLINE HRESULT IDirectManipulationUpdateManager_RegisterWaitHandleCallback(IDirectManipulationUpdateManager* This,HANDLE handle,IDirectManipulationUpdateHandler *handler,DWORD *cookie) {
834 return This->lpVtbl->RegisterWaitHandleCallback(This,handle,handler,cookie);
835 }
836 static FORCEINLINE HRESULT IDirectManipulationUpdateManager_UnregisterWaitHandleCallback(IDirectManipulationUpdateManager* This,DWORD cookie) {
837 return This->lpVtbl->UnregisterWaitHandleCallback(This,cookie);
838 }
839 static 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
856 DEFINE_GUID(IID_IDirectManipulationCompositor, 0x537a0825, 0x0387, 0x4efa, 0xb6,0x2f, 0x71,0xeb,0x1f,0x08,0x5a,0x7e);
857 #if defined(__cplusplus) && !defined(CINTERFACE)
858 MIDL_INTERFACE("537a0825-0387-4efa-b62f-71eb1f085a7e")
859 IDirectManipulationCompositor : 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
881 typedef 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
918 interface 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 ***/
935 static FORCEINLINE HRESULT IDirectManipulationCompositor_QueryInterface(IDirectManipulationCompositor* This,REFIID riid,void **ppvObject) {
936 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
937 }
938 static FORCEINLINE ULONG IDirectManipulationCompositor_AddRef(IDirectManipulationCompositor* This) {
939 return This->lpVtbl->AddRef(This);
940 }
941 static FORCEINLINE ULONG IDirectManipulationCompositor_Release(IDirectManipulationCompositor* This) {
942 return This->lpVtbl->Release(This);
943 }
944 /*** IDirectManipulationCompositor methods ***/
945 static 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 }
948 static FORCEINLINE HRESULT IDirectManipulationCompositor_RemoveContent(IDirectManipulationCompositor* This,IDirectManipulationContent *content) {
949 return This->lpVtbl->RemoveContent(This,content);
950 }
951 static FORCEINLINE HRESULT IDirectManipulationCompositor_SetUpdateManager(IDirectManipulationCompositor* This,IDirectManipulationUpdateManager *manager) {
952 return This->lpVtbl->SetUpdateManager(This,manager);
953 }
954 static 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
971 DEFINE_GUID(IID_IDirectManipulationViewport, 0x28b85a3d, 0x60a0, 0x48bd, 0x9b,0xa1, 0x5c,0xe8,0xd9,0xea,0x3a,0x6d);
972 #if defined(__cplusplus) && !defined(CINTERFACE)
973 MIDL_INTERFACE("28b85a3d-60a0-48bd-9ba1-5ce8d9ea3a6d")
974 IDirectManipulationViewport : 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
1077 typedef 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
1215 interface 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 ***/
1256 static FORCEINLINE HRESULT IDirectManipulationViewport_QueryInterface(IDirectManipulationViewport* This,REFIID riid,void **ppvObject) {
1257 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1258 }
1259 static FORCEINLINE ULONG IDirectManipulationViewport_AddRef(IDirectManipulationViewport* This) {
1260 return This->lpVtbl->AddRef(This);
1261 }
1262 static FORCEINLINE ULONG IDirectManipulationViewport_Release(IDirectManipulationViewport* This) {
1263 return This->lpVtbl->Release(This);
1264 }
1265 /*** IDirectManipulationViewport methods ***/
1266 static FORCEINLINE HRESULT IDirectManipulationViewport_Enable(IDirectManipulationViewport* This) {
1267 return This->lpVtbl->Enable(This);
1268 }
1269 static FORCEINLINE HRESULT IDirectManipulationViewport_Disable(IDirectManipulationViewport* This) {
1270 return This->lpVtbl->Disable(This);
1271 }
1272 static FORCEINLINE HRESULT IDirectManipulationViewport_SetContact(IDirectManipulationViewport* This,UINT32 id) {
1273 return This->lpVtbl->SetContact(This,id);
1274 }
1275 static FORCEINLINE HRESULT IDirectManipulationViewport_ReleaseContact(IDirectManipulationViewport* This,UINT32 id) {
1276 return This->lpVtbl->ReleaseContact(This,id);
1277 }
1278 static FORCEINLINE HRESULT IDirectManipulationViewport_ReleaseAllContacts(IDirectManipulationViewport* This) {
1279 return This->lpVtbl->ReleaseAllContacts(This);
1280 }
1281 static FORCEINLINE HRESULT IDirectManipulationViewport_GetStatus(IDirectManipulationViewport* This,DIRECTMANIPULATION_STATUS *status) {
1282 return This->lpVtbl->GetStatus(This,status);
1283 }
1284 static FORCEINLINE HRESULT IDirectManipulationViewport_GetTag(IDirectManipulationViewport* This,REFIID riid,void **object,UINT32 *id) {
1285 return This->lpVtbl->GetTag(This,riid,object,id);
1286 }
1287 static FORCEINLINE HRESULT IDirectManipulationViewport_SetTag(IDirectManipulationViewport* This,IUnknown *object,UINT32 id) {
1288 return This->lpVtbl->SetTag(This,object,id);
1289 }
1290 static FORCEINLINE HRESULT IDirectManipulationViewport_GetViewportRect(IDirectManipulationViewport* This,RECT *viewport) {
1291 return This->lpVtbl->GetViewportRect(This,viewport);
1292 }
1293 static FORCEINLINE HRESULT IDirectManipulationViewport_SetViewportRect(IDirectManipulationViewport* This,const RECT *viewport) {
1294 return This->lpVtbl->SetViewportRect(This,viewport);
1295 }
1296 static 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 }
1299 static FORCEINLINE HRESULT IDirectManipulationViewport_SetViewportTransform(IDirectManipulationViewport* This,const float *matrix,DWORD count) {
1300 return This->lpVtbl->SetViewportTransform(This,matrix,count);
1301 }
1302 static FORCEINLINE HRESULT IDirectManipulationViewport_SyncDisplayTransform(IDirectManipulationViewport* This,const float *matrix,DWORD count) {
1303 return This->lpVtbl->SyncDisplayTransform(This,matrix,count);
1304 }
1305 static FORCEINLINE HRESULT IDirectManipulationViewport_GetPrimaryContent(IDirectManipulationViewport* This,REFIID riid,void **object) {
1306 return This->lpVtbl->GetPrimaryContent(This,riid,object);
1307 }
1308 static FORCEINLINE HRESULT IDirectManipulationViewport_AddContent(IDirectManipulationViewport* This,IDirectManipulationContent *content) {
1309 return This->lpVtbl->AddContent(This,content);
1310 }
1311 static FORCEINLINE HRESULT IDirectManipulationViewport_RemoveContent(IDirectManipulationViewport* This,IDirectManipulationContent *content) {
1312 return This->lpVtbl->RemoveContent(This,content);
1313 }
1314 static FORCEINLINE HRESULT IDirectManipulationViewport_SetViewportOptions(IDirectManipulationViewport* This,DIRECTMANIPULATION_VIEWPORT_OPTIONS options) {
1315 return This->lpVtbl->SetViewportOptions(This,options);
1316 }
1317 static FORCEINLINE HRESULT IDirectManipulationViewport_AddConfiguration(IDirectManipulationViewport* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1318 return This->lpVtbl->AddConfiguration(This,configuration);
1319 }
1320 static FORCEINLINE HRESULT IDirectManipulationViewport_RemoveConfiguration(IDirectManipulationViewport* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1321 return This->lpVtbl->RemoveConfiguration(This,configuration);
1322 }
1323 static FORCEINLINE HRESULT IDirectManipulationViewport_ActivateConfiguration(IDirectManipulationViewport* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1324 return This->lpVtbl->ActivateConfiguration(This,configuration);
1325 }
1326 static FORCEINLINE HRESULT IDirectManipulationViewport_SetManualGesture(IDirectManipulationViewport* This,DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration) {
1327 return This->lpVtbl->SetManualGesture(This,configuration);
1328 }
1329 static FORCEINLINE HRESULT IDirectManipulationViewport_SetChaining(IDirectManipulationViewport* This,DIRECTMANIPULATION_MOTION_TYPES enabledTypes) {
1330 return This->lpVtbl->SetChaining(This,enabledTypes);
1331 }
1332 static FORCEINLINE HRESULT IDirectManipulationViewport_AddEventHandler(IDirectManipulationViewport* This,HWND window,IDirectManipulationViewportEventHandler *eventHandler,DWORD *cookie) {
1333 return This->lpVtbl->AddEventHandler(This,window,eventHandler,cookie);
1334 }
1335 static FORCEINLINE HRESULT IDirectManipulationViewport_RemoveEventHandler(IDirectManipulationViewport* This,DWORD cookie) {
1336 return This->lpVtbl->RemoveEventHandler(This,cookie);
1337 }
1338 static FORCEINLINE HRESULT IDirectManipulationViewport_SetInputMode(IDirectManipulationViewport* This,DIRECTMANIPULATION_INPUT_MODE mode) {
1339 return This->lpVtbl->SetInputMode(This,mode);
1340 }
1341 static FORCEINLINE HRESULT IDirectManipulationViewport_SetUpdateMode(IDirectManipulationViewport* This,DIRECTMANIPULATION_INPUT_MODE mode) {
1342 return This->lpVtbl->SetUpdateMode(This,mode);
1343 }
1344 static FORCEINLINE HRESULT IDirectManipulationViewport_Stop(IDirectManipulationViewport* This) {
1345 return This->lpVtbl->Stop(This);
1346 }
1347 static 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
1364 DEFINE_GUID(IID_IDirectManipulationViewport2, 0x923ccaac, 0x61e1, 0x4385, 0xb7,0x26, 0x01,0x7a,0xf1,0x89,0x88,0x2a);
1365 #if defined(__cplusplus) && !defined(CINTERFACE)
1366 MIDL_INTERFACE("923ccaac-61e1-4385-b726-017af189882a")
1367 IDirectManipulationViewport2 : 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
1384 typedef 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
1535 interface 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 ***/
1580 static FORCEINLINE HRESULT IDirectManipulationViewport2_QueryInterface(IDirectManipulationViewport2* This,REFIID riid,void **ppvObject) {
1581 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1582 }
1583 static FORCEINLINE ULONG IDirectManipulationViewport2_AddRef(IDirectManipulationViewport2* This) {
1584 return This->lpVtbl->AddRef(This);
1585 }
1586 static FORCEINLINE ULONG IDirectManipulationViewport2_Release(IDirectManipulationViewport2* This) {
1587 return This->lpVtbl->Release(This);
1588 }
1589 /*** IDirectManipulationViewport methods ***/
1590 static FORCEINLINE HRESULT IDirectManipulationViewport2_Enable(IDirectManipulationViewport2* This) {
1591 return This->lpVtbl->Enable(This);
1592 }
1593 static FORCEINLINE HRESULT IDirectManipulationViewport2_Disable(IDirectManipulationViewport2* This) {
1594 return This->lpVtbl->Disable(This);
1595 }
1596 static FORCEINLINE HRESULT IDirectManipulationViewport2_SetContact(IDirectManipulationViewport2* This,UINT32 id) {
1597 return This->lpVtbl->SetContact(This,id);
1598 }
1599 static FORCEINLINE HRESULT IDirectManipulationViewport2_ReleaseContact(IDirectManipulationViewport2* This,UINT32 id) {
1600 return This->lpVtbl->ReleaseContact(This,id);
1601 }
1602 static FORCEINLINE HRESULT IDirectManipulationViewport2_ReleaseAllContacts(IDirectManipulationViewport2* This) {
1603 return This->lpVtbl->ReleaseAllContacts(This);
1604 }
1605 static FORCEINLINE HRESULT IDirectManipulationViewport2_GetStatus(IDirectManipulationViewport2* This,DIRECTMANIPULATION_STATUS *status) {
1606 return This->lpVtbl->GetStatus(This,status);
1607 }
1608 static FORCEINLINE HRESULT IDirectManipulationViewport2_GetTag(IDirectManipulationViewport2* This,REFIID riid,void **object,UINT32 *id) {
1609 return This->lpVtbl->GetTag(This,riid,object,id);
1610 }
1611 static FORCEINLINE HRESULT IDirectManipulationViewport2_SetTag(IDirectManipulationViewport2* This,IUnknown *object,UINT32 id) {
1612 return This->lpVtbl->SetTag(This,object,id);
1613 }
1614 static FORCEINLINE HRESULT IDirectManipulationViewport2_GetViewportRect(IDirectManipulationViewport2* This,RECT *viewport) {
1615 return This->lpVtbl->GetViewportRect(This,viewport);
1616 }
1617 static FORCEINLINE HRESULT IDirectManipulationViewport2_SetViewportRect(IDirectManipulationViewport2* This,const RECT *viewport) {
1618 return This->lpVtbl->SetViewportRect(This,viewport);
1619 }
1620 static 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 }
1623 static FORCEINLINE HRESULT IDirectManipulationViewport2_SetViewportTransform(IDirectManipulationViewport2* This,const float *matrix,DWORD count) {
1624 return This->lpVtbl->SetViewportTransform(This,matrix,count);
1625 }
1626 static FORCEINLINE HRESULT IDirectManipulationViewport2_SyncDisplayTransform(IDirectManipulationViewport2* This,const float *matrix,DWORD count) {
1627 return This->lpVtbl->SyncDisplayTransform(This,matrix,count);
1628 }
1629 static FORCEINLINE HRESULT IDirectManipulationViewport2_GetPrimaryContent(IDirectManipulationViewport2* This,REFIID riid,void **object) {
1630 return This->lpVtbl->GetPrimaryContent(This,riid,object);
1631 }
1632 static FORCEINLINE HRESULT IDirectManipulationViewport2_AddContent(IDirectManipulationViewport2* This,IDirectManipulationContent *content) {
1633 return This->lpVtbl->AddContent(This,content);
1634 }
1635 static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveContent(IDirectManipulationViewport2* This,IDirectManipulationContent *content) {
1636 return This->lpVtbl->RemoveContent(This,content);
1637 }
1638 static FORCEINLINE HRESULT IDirectManipulationViewport2_SetViewportOptions(IDirectManipulationViewport2* This,DIRECTMANIPULATION_VIEWPORT_OPTIONS options) {
1639 return This->lpVtbl->SetViewportOptions(This,options);
1640 }
1641 static FORCEINLINE HRESULT IDirectManipulationViewport2_AddConfiguration(IDirectManipulationViewport2* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1642 return This->lpVtbl->AddConfiguration(This,configuration);
1643 }
1644 static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveConfiguration(IDirectManipulationViewport2* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1645 return This->lpVtbl->RemoveConfiguration(This,configuration);
1646 }
1647 static FORCEINLINE HRESULT IDirectManipulationViewport2_ActivateConfiguration(IDirectManipulationViewport2* This,DIRECTMANIPULATION_CONFIGURATION configuration) {
1648 return This->lpVtbl->ActivateConfiguration(This,configuration);
1649 }
1650 static FORCEINLINE HRESULT IDirectManipulationViewport2_SetManualGesture(IDirectManipulationViewport2* This,DIRECTMANIPULATION_GESTURE_CONFIGURATION configuration) {
1651 return This->lpVtbl->SetManualGesture(This,configuration);
1652 }
1653 static FORCEINLINE HRESULT IDirectManipulationViewport2_SetChaining(IDirectManipulationViewport2* This,DIRECTMANIPULATION_MOTION_TYPES enabledTypes) {
1654 return This->lpVtbl->SetChaining(This,enabledTypes);
1655 }
1656 static FORCEINLINE HRESULT IDirectManipulationViewport2_AddEventHandler(IDirectManipulationViewport2* This,HWND window,IDirectManipulationViewportEventHandler *eventHandler,DWORD *cookie) {
1657 return This->lpVtbl->AddEventHandler(This,window,eventHandler,cookie);
1658 }
1659 static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveEventHandler(IDirectManipulationViewport2* This,DWORD cookie) {
1660 return This->lpVtbl->RemoveEventHandler(This,cookie);
1661 }
1662 static FORCEINLINE HRESULT IDirectManipulationViewport2_SetInputMode(IDirectManipulationViewport2* This,DIRECTMANIPULATION_INPUT_MODE mode) {
1663 return This->lpVtbl->SetInputMode(This,mode);
1664 }
1665 static FORCEINLINE HRESULT IDirectManipulationViewport2_SetUpdateMode(IDirectManipulationViewport2* This,DIRECTMANIPULATION_INPUT_MODE mode) {
1666 return This->lpVtbl->SetUpdateMode(This,mode);
1667 }
1668 static FORCEINLINE HRESULT IDirectManipulationViewport2_Stop(IDirectManipulationViewport2* This) {
1669 return This->lpVtbl->Stop(This);
1670 }
1671 static FORCEINLINE HRESULT IDirectManipulationViewport2_Abandon(IDirectManipulationViewport2* This) {
1672 return This->lpVtbl->Abandon(This);
1673 }
1674 /*** IDirectManipulationViewport2 methods ***/
1675 static FORCEINLINE HRESULT IDirectManipulationViewport2_AddBehavior(IDirectManipulationViewport2* This,IUnknown *behavior,DWORD *cookie) {
1676 return This->lpVtbl->AddBehavior(This,behavior,cookie);
1677 }
1678 static FORCEINLINE HRESULT IDirectManipulationViewport2_RemoveBehavior(IDirectManipulationViewport2* This,DWORD cookie) {
1679 return This->lpVtbl->RemoveBehavior(This,cookie);
1680 }
1681 static 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
1698 DEFINE_GUID(IID_IDirectManipulationViewportEventHandler, 0x952121da, 0xd69f, 0x45f9, 0xb0,0xf9, 0xf2,0x39,0x44,0x32,0x1a,0x6d);
1699 #if defined(__cplusplus) && !defined(CINTERFACE)
1700 MIDL_INTERFACE("952121da-d69f-45f9-b0f9-f23944321a6d")
1701 IDirectManipulationViewportEventHandler : 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
1720 typedef 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
1754 interface 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 ***/
1770 static FORCEINLINE HRESULT IDirectManipulationViewportEventHandler_QueryInterface(IDirectManipulationViewportEventHandler* This,REFIID riid,void **ppvObject) {
1771 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1772 }
1773 static FORCEINLINE ULONG IDirectManipulationViewportEventHandler_AddRef(IDirectManipulationViewportEventHandler* This) {
1774 return This->lpVtbl->AddRef(This);
1775 }
1776 static FORCEINLINE ULONG IDirectManipulationViewportEventHandler_Release(IDirectManipulationViewportEventHandler* This) {
1777 return This->lpVtbl->Release(This);
1778 }
1779 /*** IDirectManipulationViewportEventHandler methods ***/
1780 static FORCEINLINE HRESULT IDirectManipulationViewportEventHandler_OnViewportStatusChanged(IDirectManipulationViewportEventHandler* This,IDirectManipulationViewport *viewport,DIRECTMANIPULATION_STATUS current,DIRECTMANIPULATION_STATUS previous) {
1781 return This->lpVtbl->OnViewportStatusChanged(This,viewport,current,previous);
1782 }
1783 static FORCEINLINE HRESULT IDirectManipulationViewportEventHandler_OnViewportUpdated(IDirectManipulationViewportEventHandler* This,IDirectManipulationViewport *viewport) {
1784 return This->lpVtbl->OnViewportUpdated(This,viewport);
1785 }
1786 static 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
1803 DEFINE_GUID(IID_IDirectManipulationManager2, 0xfa1005e9, 0x3d16, 0x484c, 0xbf,0xc9, 0x62,0xb6,0x1e,0x56,0xec,0x4e);
1804 #if defined(__cplusplus) && !defined(CINTERFACE)
1805 MIDL_INTERFACE("fa1005e9-3d16-484c-bfc9-62b61e56ec4e")
1806 IDirectManipulationManager2 : 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
1818 typedef 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
1882 interface 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 ***/
1904 static FORCEINLINE HRESULT IDirectManipulationManager2_QueryInterface(IDirectManipulationManager2* This,REFIID riid,void **ppvObject) {
1905 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1906 }
1907 static FORCEINLINE ULONG IDirectManipulationManager2_AddRef(IDirectManipulationManager2* This) {
1908 return This->lpVtbl->AddRef(This);
1909 }
1910 static FORCEINLINE ULONG IDirectManipulationManager2_Release(IDirectManipulationManager2* This) {
1911 return This->lpVtbl->Release(This);
1912 }
1913 /*** IDirectManipulationManager methods ***/
1914 static FORCEINLINE HRESULT IDirectManipulationManager2_Activate(IDirectManipulationManager2* This,HWND window) {
1915 return This->lpVtbl->Activate(This,window);
1916 }
1917 static FORCEINLINE HRESULT IDirectManipulationManager2_Deactivate(IDirectManipulationManager2* This,HWND window) {
1918 return This->lpVtbl->Deactivate(This,window);
1919 }
1920 static FORCEINLINE HRESULT IDirectManipulationManager2_RegisterHitTestTarget(IDirectManipulationManager2* This,HWND window,HWND hittest,DIRECTMANIPULATION_HITTEST_TYPE type) {
1921 return This->lpVtbl->RegisterHitTestTarget(This,window,hittest,type);
1922 }
1923 static FORCEINLINE HRESULT IDirectManipulationManager2_ProcessInput(IDirectManipulationManager2* This,const MSG *msg,WINBOOL *handled) {
1924 return This->lpVtbl->ProcessInput(This,msg,handled);
1925 }
1926 static FORCEINLINE HRESULT IDirectManipulationManager2_GetUpdateManager(IDirectManipulationManager2* This,REFIID riid,void **obj) {
1927 return This->lpVtbl->GetUpdateManager(This,riid,obj);
1928 }
1929 static 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 }
1932 static 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 ***/
1936 static 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
1953 DEFINE_GUID(IID_IDirectManipulationPrimaryContent, 0xc12851e4, 0x1698, 0x4625, 0xb9,0xb1, 0x7c,0xa3,0xec,0x18,0x63,0x0b);
1954 #if defined(__cplusplus) && !defined(CINTERFACE)
1955 MIDL_INTERFACE("c12851e4-1698-4625-b9b1-7ca3ec18630b")
1956 IDirectManipulationPrimaryContent : 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
2000 typedef 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
2065 interface 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 ***/
2087 static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_QueryInterface(IDirectManipulationPrimaryContent* This,REFIID riid,void **ppvObject) {
2088 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2089 }
2090 static FORCEINLINE ULONG IDirectManipulationPrimaryContent_AddRef(IDirectManipulationPrimaryContent* This) {
2091 return This->lpVtbl->AddRef(This);
2092 }
2093 static FORCEINLINE ULONG IDirectManipulationPrimaryContent_Release(IDirectManipulationPrimaryContent* This) {
2094 return This->lpVtbl->Release(This);
2095 }
2096 /*** IDirectManipulationPrimaryContent methods ***/
2097 static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetSnapInterval(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_MOTION_TYPES motion,float interval,float offset) {
2098 return This->lpVtbl->SetSnapInterval(This,motion,interval,offset);
2099 }
2100 static 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 }
2103 static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetSnapType(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_MOTION_TYPES motion,DIRECTMANIPULATION_SNAPPOINT_TYPE type) {
2104 return This->lpVtbl->SetSnapType(This,motion,type);
2105 }
2106 static 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 }
2109 static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetZoomBoundaries(IDirectManipulationPrimaryContent* This,float minimum,float maximum) {
2110 return This->lpVtbl->SetZoomBoundaries(This,minimum,maximum);
2111 }
2112 static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetHorizontalAlignment(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_HORIZONTALALIGNMENT alignment) {
2113 return This->lpVtbl->SetHorizontalAlignment(This,alignment);
2114 }
2115 static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_SetVerticalAlignment(IDirectManipulationPrimaryContent* This,DIRECTMANIPULATION_VERTICALALIGNMENT alignment) {
2116 return This->lpVtbl->SetVerticalAlignment(This,alignment);
2117 }
2118 static FORCEINLINE HRESULT IDirectManipulationPrimaryContent_GetInertiaEndTransform(IDirectManipulationPrimaryContent* This,float *matrix,DWORD count) {
2119 return This->lpVtbl->GetInertiaEndTransform(This,matrix,count);
2120 }
2121 static 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
2138 DEFINE_GUID(IID_IDirectManipulationCompositor2, 0xd38c7822, 0xf1cb, 0x43cb, 0xb4,0xb9, 0xac,0x0c,0x76,0x7a,0x41,0x2e);
2139 #if defined(__cplusplus) && !defined(CINTERFACE)
2140 MIDL_INTERFACE("d38c7822-f1cb-43cb-b4b9-ac0c767a412e")
2141 IDirectManipulationCompositor2 : 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
2154 typedef 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
2199 interface 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 ***/
2218 static FORCEINLINE HRESULT IDirectManipulationCompositor2_QueryInterface(IDirectManipulationCompositor2* This,REFIID riid,void **ppvObject) {
2219 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2220 }
2221 static FORCEINLINE ULONG IDirectManipulationCompositor2_AddRef(IDirectManipulationCompositor2* This) {
2222 return This->lpVtbl->AddRef(This);
2223 }
2224 static FORCEINLINE ULONG IDirectManipulationCompositor2_Release(IDirectManipulationCompositor2* This) {
2225 return This->lpVtbl->Release(This);
2226 }
2227 /*** IDirectManipulationCompositor methods ***/
2228 static 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 }
2231 static FORCEINLINE HRESULT IDirectManipulationCompositor2_RemoveContent(IDirectManipulationCompositor2* This,IDirectManipulationContent *content) {
2232 return This->lpVtbl->RemoveContent(This,content);
2233 }
2234 static FORCEINLINE HRESULT IDirectManipulationCompositor2_SetUpdateManager(IDirectManipulationCompositor2* This,IDirectManipulationUpdateManager *manager) {
2235 return This->lpVtbl->SetUpdateManager(This,manager);
2236 }
2237 static FORCEINLINE HRESULT IDirectManipulationCompositor2_Flush(IDirectManipulationCompositor2* This) {
2238 return This->lpVtbl->Flush(This);
2239 }
2240 /*** IDirectManipulationCompositor2 methods ***/
2241 static 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
2255 DEFINE_GUID(LIBID_DirectManipulation, 0x9fbedf98, 0xf6d8, 0x4e3b, 0xb4,0x88, 0xfa,0x66,0xdb,0xf5,0xe9,0xf3);
2256
2257 /*****************************************************************************
2258 * DirectManipulationManager coclass
2259 */
2260
2261 DEFINE_GUID(CLSID_DirectManipulationManager, 0x54e211b6, 0x3650, 0x4f75, 0x83,0x34, 0xfa,0x35,0x95,0x98,0xe1,0xc5);
2262
2263 #ifdef __cplusplus
2264 class 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
2274 DEFINE_GUID(CLSID_DirectManipulationSharedManager, 0x99793286, 0x77cc, 0x4b57, 0x96,0xdb, 0x3b,0x35,0x4f,0x6f,0x9f,0xb5);
2275
2276 #ifdef __cplusplus
2277 class 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
2287 DEFINE_GUID(CLSID_DCompManipulationCompositor, 0x79dea627, 0xa08a, 0x43ac, 0x8e,0xf5, 0x69,0x00,0xb9,0x29,0x91,0x26);
2288
2289 #ifdef __cplusplus
2290 class 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
2300 DEFINE_GUID(CLSID_DirectManipulationViewport, 0x34e211b6, 0x3650, 0x4f75, 0x83,0x34, 0xfa,0x35,0x95,0x98,0xe1,0xc5);
2301
2302 #ifdef __cplusplus
2303 class 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__ */