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