source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/dcomp.h@ 1167

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

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

File size: 23.3 KB
RevLine 
[1166]1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef _DCOMP_H_
8#define _DCOMP_H_
9
10#include <d2dbasetypes.h>
11#ifndef D3DMATRIX_DEFINED
12#include <d3d9types.h>
13#endif
14#include <d2d1_1.h>
15#include <winapifamily.h>
16
17#include <dcomptypes.h>
18#include <dcompanimation.h>
19
20#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
21
22#undef INTERFACE
23#define INTERFACE IDCompositionSurface
24DECLARE_INTERFACE_IID_(IDCompositionSurface,IUnknown,"bb8a4953-2c99-4f5a-96f5-4819027fa3ac")
25{
26 STDMETHOD(BeginDraw)(THIS_ const RECT*,REFIID,void**,POINT*) PURE;
27 STDMETHOD(EndDraw)(THIS) PURE;
28 STDMETHOD(SuspendDraw)(THIS) PURE;
29 STDMETHOD(ResumeDraw)(THIS) PURE;
30 STDMETHOD(Scroll)(THIS_ const RECT*,const RECT*,int,int) PURE;
31};
32
33#undef INTERFACE
34#define INTERFACE IDCompositionVirtualSurface
35DECLARE_INTERFACE_IID_(IDCompositionVirtualSurface,IDCompositionSurface,"ae471c51-5f53-4a24-8d3e-d0c39c30b3f0")
36{
37 STDMETHOD(Resize)(THIS_ UINT,UINT) PURE;
38 STDMETHOD(Trim)(THIS_ const RECT*,UINT) PURE;
39};
40
41#undef INTERFACE
42#define INTERFACE IDCompositionEffect
43DECLARE_INTERFACE_IID_(IDCompositionEffect,IUnknown,"ec81b08f-bfcb-4e8d-b193-a915587999e8")
44{
45};
46
47#undef INTERFACE
48#define INTERFACE IDCompositionTransform3D
49DECLARE_INTERFACE_IID_(IDCompositionTransform3D,IDCompositionEffect,"71185722-246b-41f2-aad1-0443f7f4bfc2")
50{
51};
52
53#undef INTERFACE
54#define INTERFACE IDCompositionTransform
55DECLARE_INTERFACE_IID_(IDCompositionTransform,IDCompositionTransform3D,"fd55faa7-37e0-4c20-95d2-9be45bc33f55")
56{
57};
58
59#undef INTERFACE
60#define INTERFACE IDCompositionTranslateTransform
61DECLARE_INTERFACE_IID_(IDCompositionTranslateTransform,IDCompositionTransform,"06791122-c6f0-417d-8323-269e987f5954")
62{
63#if defined(_MSC_VER) && defined(__cplusplus)
64 STDMETHOD(SetOffsetX)(THIS_ float) PURE;
65 STDMETHOD(SetOffsetX)(THIS_ IDCompositionAnimation*) PURE;
66 STDMETHOD(SetOffsetY)(THIS_ float) PURE;
67 STDMETHOD(SetOffsetY)(THIS_ IDCompositionAnimation*) PURE;
68#else
69 STDMETHOD(SetOffsetX)(THIS_ IDCompositionAnimation*) PURE;
70 STDMETHOD(SetOffsetX)(THIS_ float) PURE;
71 STDMETHOD(SetOffsetY)(THIS_ IDCompositionAnimation*) PURE;
72 STDMETHOD(SetOffsetY)(THIS_ float) PURE;
73#endif
74};
75
76#undef INTERFACE
77#define INTERFACE IDCompositionScaleTransform
78DECLARE_INTERFACE_IID_(IDCompositionScaleTransform,IDCompositionTransform,"71fde914-40ef-45ef-bd51-68b037c339f9")
79{
80#if defined(_MSC_VER) && defined(__cplusplus)
81 STDMETHOD(SetScaleX)(THIS_ float) PURE;
82 STDMETHOD(SetScaleX)(THIS_ IDCompositionAnimation*) PURE;
83 STDMETHOD(SetScaleY)(THIS_ float) PURE;
84 STDMETHOD(SetScaleY)(THIS_ IDCompositionAnimation*) PURE;
85 STDMETHOD(SetCenterX)(THIS_ float) PURE;
86 STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
87 STDMETHOD(SetCenterY)(THIS_ float) PURE;
88 STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
89#else
90 STDMETHOD(SetScaleX)(THIS_ IDCompositionAnimation*) PURE;
91 STDMETHOD(SetScaleX)(THIS_ float) PURE;
92 STDMETHOD(SetScaleY)(THIS_ IDCompositionAnimation*) PURE;
93 STDMETHOD(SetScaleY)(THIS_ float) PURE;
94 STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
95 STDMETHOD(SetCenterX)(THIS_ float) PURE;
96 STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
97 STDMETHOD(SetCenterY)(THIS_ float) PURE;
98#endif
99};
100
101#undef INTERFACE
102#define INTERFACE IDCompositionRotateTransform
103DECLARE_INTERFACE_IID_(IDCompositionRotateTransform,IDCompositionTransform,"641ed83c-ae96-46c5-90dc-32774cc5c6d5")
104{
105#if defined(_MSC_VER) && defined(__cplusplus)
106 STDMETHOD(SetAngle)(THIS_ float) PURE;
107 STDMETHOD(SetAngle)(THIS_ IDCompositionAnimation*) PURE;
108 STDMETHOD(SetCenterX)(THIS_ float) PURE;
109 STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
110 STDMETHOD(SetCenterY)(THIS_ float) PURE;
111 STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
112#else
113 STDMETHOD(SetAngle)(THIS_ IDCompositionAnimation*) PURE;
114 STDMETHOD(SetAngle)(THIS_ float) PURE;
115 STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
116 STDMETHOD(SetCenterX)(THIS_ float) PURE;
117 STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
118 STDMETHOD(SetCenterY)(THIS_ float) PURE;
119#endif
120};
121
122#undef INTERFACE
123#define INTERFACE IDCompositionSkewTransform
124DECLARE_INTERFACE_IID_(IDCompositionSkewTransform,IDCompositionTransform,"e57aa735-dcdb-4c72-9c61-0591f58889ee")
125{
126#if defined(_MSC_VER) && defined(__cplusplus)
127 STDMETHOD(SetAngleX)(THIS_ float) PURE;
128 STDMETHOD(SetAngleX)(THIS_ IDCompositionAnimation*) PURE;
129 STDMETHOD(SetAngleY)(THIS_ float) PURE;
130 STDMETHOD(SetAngleY)(THIS_ IDCompositionAnimation*) PURE;
131 STDMETHOD(SetCenterX)(THIS_ float) PURE;
132 STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
133 STDMETHOD(SetCenterY)(THIS_ float) PURE;
134 STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
135#else
136 STDMETHOD(SetAngleX)(THIS_ IDCompositionAnimation*) PURE;
137 STDMETHOD(SetAngleX)(THIS_ float) PURE;
138 STDMETHOD(SetAngleY)(THIS_ IDCompositionAnimation*) PURE;
139 STDMETHOD(SetAngleY)(THIS_ float) PURE;
140 STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
141 STDMETHOD(SetCenterX)(THIS_ float) PURE;
142 STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
143 STDMETHOD(SetCenterY)(THIS_ float) PURE;
144#endif
145};
146
147#undef INTERFACE
148#define INTERFACE IDCompositionMatrixTransform
149DECLARE_INTERFACE_IID_(IDCompositionMatrixTransform,IDCompositionTransform,"16cdff07-c503-419c-83f2-0965c7af1fa6")
150{
151 STDMETHOD(SetMatrix)(THIS_ const D2D_MATRIX_3X2_F&) PURE;
152#if defined(_MSC_VER) && defined(__cplusplus)
153 STDMETHOD(SetMatrixElement)(THIS_ int,int,float) PURE;
154 STDMETHOD(SetMatrixElement)(THIS_ int,int,IDCompositionAnimation*) PURE;
155#else
156 STDMETHOD(SetMatrixElement)(THIS_ int,int,IDCompositionAnimation*) PURE;
157 STDMETHOD(SetMatrixElement)(THIS_ int,int,float) PURE;
158#endif
159};
160
161#undef INTERFACE
162#define INTERFACE IDCompositionTranslateTransform3D
163DECLARE_INTERFACE_IID_(IDCompositionTranslateTransform3D,IDCompositionTransform3D,"91636d4b-9ba1-4532-aaf7-e3344994d788")
164{
165#if defined(_MSC_VER) && defined(__cplusplus)
166 STDMETHOD(SetOffsetX)(THIS_ float) PURE;
167 STDMETHOD(SetOffsetX)(THIS_ IDCompositionAnimation*) PURE;
168 STDMETHOD(SetOffsetY)(THIS_ float) PURE;
169 STDMETHOD(SetOffsetY)(THIS_ IDCompositionAnimation*) PURE;
170 STDMETHOD(SetOffsetZ)(THIS_ float) PURE;
171 STDMETHOD(SetOffsetZ)(THIS_ IDCompositionAnimation*) PURE;
172#else
173 STDMETHOD(SetOffsetX)(THIS_ IDCompositionAnimation*) PURE;
174 STDMETHOD(SetOffsetX)(THIS_ float) PURE;
175 STDMETHOD(SetOffsetY)(THIS_ IDCompositionAnimation*) PURE;
176 STDMETHOD(SetOffsetY)(THIS_ float) PURE;
177 STDMETHOD(SetOffsetZ)(THIS_ IDCompositionAnimation*) PURE;
178 STDMETHOD(SetOffsetZ)(THIS_ float) PURE;
179#endif
180};
181
182#undef INTERFACE
183#define INTERFACE IDCompositionScaleTransform3D
184DECLARE_INTERFACE_IID_(IDCompositionScaleTransform3D,IDCompositionTransform3D,"2a9e9ead-364b-4b15-a7c4-a1997f78b389")
185{
186#if defined(_MSC_VER) && defined(__cplusplus)
187 STDMETHOD(SetScaleX)(THIS_ float) PURE;
188 STDMETHOD(SetScaleX)(THIS_ IDCompositionAnimation*) PURE;
189 STDMETHOD(SetScaleY)(THIS_ float) PURE;
190 STDMETHOD(SetScaleY)(THIS_ IDCompositionAnimation*) PURE;
191 STDMETHOD(SetScaleZ)(THIS_ float) PURE;
192 STDMETHOD(SetScaleZ)(THIS_ IDCompositionAnimation*) PURE;
193 STDMETHOD(SetCenterX)(THIS_ float) PURE;
194 STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
195 STDMETHOD(SetCenterY)(THIS_ float) PURE;
196 STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
197 STDMETHOD(SetCenterZ)(THIS_ float) PURE;
198 STDMETHOD(SetCenterZ)(THIS_ IDCompositionAnimation*) PURE;
199#else
200 STDMETHOD(SetScaleX)(THIS_ IDCompositionAnimation*) PURE;
201 STDMETHOD(SetScaleX)(THIS_ float) PURE;
202 STDMETHOD(SetScaleY)(THIS_ IDCompositionAnimation*) PURE;
203 STDMETHOD(SetScaleY)(THIS_ float) PURE;
204 STDMETHOD(SetScaleZ)(THIS_ IDCompositionAnimation*) PURE;
205 STDMETHOD(SetScaleZ)(THIS_ float) PURE;
206 STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
207 STDMETHOD(SetCenterX)(THIS_ float) PURE;
208 STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
209 STDMETHOD(SetCenterY)(THIS_ float) PURE;
210 STDMETHOD(SetCenterZ)(THIS_ IDCompositionAnimation*) PURE;
211 STDMETHOD(SetCenterZ)(THIS_ float) PURE;
212#endif
213};
214
215#undef INTERFACE
216#define INTERFACE IDCompositionRotateTransform3D
217DECLARE_INTERFACE_IID_(IDCompositionRotateTransform3D,IDCompositionTransform3D,"d8f5b23f-d429-4a91-b55a-d2f45fd75b18")
218{
219#if defined(_MSC_VER) && defined(__cplusplus)
220 STDMETHOD(SetAngle)(THIS_ float) PURE;
221 STDMETHOD(SetAngle)(THIS_ IDCompositionAnimation*) PURE;
222 STDMETHOD(SetAxisX)(THIS_ float) PURE;
223 STDMETHOD(SetAxisX)(THIS_ IDCompositionAnimation*) PURE;
224 STDMETHOD(SetAxisY)(THIS_ float) PURE;
225 STDMETHOD(SetAxisY)(THIS_ IDCompositionAnimation*) PURE;
226 STDMETHOD(SetAxisZ)(THIS_ float) PURE;
227 STDMETHOD(SetAxisZ)(THIS_ IDCompositionAnimation*) PURE;
228 STDMETHOD(SetCenterX)(THIS_ float) PURE;
229 STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
230 STDMETHOD(SetCenterY)(THIS_ float) PURE;
231 STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
232 STDMETHOD(SetCenterZ)(THIS_ float) PURE;
233 STDMETHOD(SetCenterZ)(THIS_ IDCompositionAnimation*) PURE;
234#else
235 STDMETHOD(SetAngle)(THIS_ IDCompositionAnimation*) PURE;
236 STDMETHOD(SetAngle)(THIS_ float) PURE;
237 STDMETHOD(SetAxisX)(THIS_ IDCompositionAnimation*) PURE;
238 STDMETHOD(SetAxisX)(THIS_ float) PURE;
239 STDMETHOD(SetAxisY)(THIS_ IDCompositionAnimation*) PURE;
240 STDMETHOD(SetAxisY)(THIS_ float) PURE;
241 STDMETHOD(SetAxisZ)(THIS_ IDCompositionAnimation*) PURE;
242 STDMETHOD(SetAxisZ)(THIS_ float) PURE;
243 STDMETHOD(SetCenterX)(THIS_ IDCompositionAnimation*) PURE;
244 STDMETHOD(SetCenterX)(THIS_ float) PURE;
245 STDMETHOD(SetCenterY)(THIS_ IDCompositionAnimation*) PURE;
246 STDMETHOD(SetCenterY)(THIS_ float) PURE;
247 STDMETHOD(SetCenterZ)(THIS_ IDCompositionAnimation*) PURE;
248 STDMETHOD(SetCenterZ)(THIS_ float) PURE;
249#endif
250};
251
252#undef INTERFACE
253#define INTERFACE IDCompositionMatrixTransform3D
254DECLARE_INTERFACE_IID_(IDCompositionMatrixTransform3D,IDCompositionTransform3D,"4b3363f0-643b-41b7-b6e0-ccf22d34467c")
255{
256 STDMETHOD(SetMatrix)(THIS_ const D3DMATRIX&) PURE;
257#if defined(_MSC_VER) && defined(__cplusplus)
258 STDMETHOD(SetMatrixElement)(THIS_ int,int,float) PURE;
259 STDMETHOD(SetMatrixElement)(THIS_ int,int,IDCompositionAnimation*) PURE;
260#else
261 STDMETHOD(SetMatrixElement)(THIS_ int,int,IDCompositionAnimation*) PURE;
262 STDMETHOD(SetMatrixElement)(THIS_ int,int,float) PURE;
263#endif
264};
265
266#undef INTERFACE
267#define INTERFACE IDCompositionEffectGroup
268DECLARE_INTERFACE_IID_(IDCompositionEffectGroup,IDCompositionEffect,"a7929a74-e6b2-4bd6-8b95-4040119ca34d")
269{
270#if defined(_MSC_VER) && defined(__cplusplus)
271 STDMETHOD(SetOpacity)(THIS_ float) PURE;
272 STDMETHOD(SetOpacity)(THIS_ IDCompositionAnimation*) PURE;
273#else
274 STDMETHOD(SetOpacity)(THIS_ IDCompositionAnimation*) PURE;
275 STDMETHOD(SetOpacity)(THIS_ float) PURE;
276#endif
277 STDMETHOD(SetTransform3D)(THIS_ IDCompositionTransform3D*) PURE;
278};
279
280#undef INTERFACE
281#define INTERFACE IDCompositionClip
282DECLARE_INTERFACE_IID_(IDCompositionClip,IUnknown,"64ac3703-9d3f-45ec-a109-7cac0e7a13a7")
283{
284};
285
286#undef INTERFACE
287#define INTERFACE IDCompositionRectangleClip
288DECLARE_INTERFACE_IID_(IDCompositionRectangleClip,IDCompositionClip,"9842ad7d-d9cf-4908-aed7-48b51da5e7c2")
289{
290#if defined(_MSC_VER) && defined(__cplusplus)
291 STDMETHOD(SetLeft)(THIS_ float) PURE;
292 STDMETHOD(SetLeft)(THIS_ IDCompositionAnimation*) PURE;
293 STDMETHOD(SetTop)(THIS_ float) PURE;
294 STDMETHOD(SetTop)(THIS_ IDCompositionAnimation*) PURE;
295 STDMETHOD(SetRight)(THIS_ float) PURE;
296 STDMETHOD(SetRight)(THIS_ IDCompositionAnimation*) PURE;
297 STDMETHOD(SetBottom)(THIS_ float) PURE;
298 STDMETHOD(SetBottom)(THIS_ IDCompositionAnimation*) PURE;
299 STDMETHOD(SetTopLeftRadiusX)(THIS_ float) PURE;
300 STDMETHOD(SetTopLeftRadiusX)(THIS_ IDCompositionAnimation*) PURE;
301 STDMETHOD(SetTopLeftRadiusY)(THIS_ float) PURE;
302 STDMETHOD(SetTopLeftRadiusY)(THIS_ IDCompositionAnimation*) PURE;
303 STDMETHOD(SetTopRightRadiusX)(THIS_ float) PURE;
304 STDMETHOD(SetTopRightRadiusX)(THIS_ IDCompositionAnimation*) PURE;
305 STDMETHOD(SetTopRightRadiusY)(THIS_ float) PURE;
306 STDMETHOD(SetTopRightRadiusY)(THIS_ IDCompositionAnimation*) PURE;
307 STDMETHOD(SetBottomLeftRadiusX)(THIS_ float) PURE;
308 STDMETHOD(SetBottomLeftRadiusX)(THIS_ IDCompositionAnimation*) PURE;
309 STDMETHOD(SetBottomLeftRadiusY)(THIS_ float) PURE;
310 STDMETHOD(SetBottomLeftRadiusY)(THIS_ IDCompositionAnimation*) PURE;
311 STDMETHOD(SetBottomRightRadiusX)(THIS_ float) PURE;
312 STDMETHOD(SetBottomRightRadiusX)(THIS_ IDCompositionAnimation*) PURE;
313 STDMETHOD(SetBottomRightRadiusY)(THIS_ float) PURE;
314 STDMETHOD(SetBottomRightRadiusY)(THIS_ IDCompositionAnimation*) PURE;
315#else
316 STDMETHOD(SetLeft)(THIS_ IDCompositionAnimation*) PURE;
317 STDMETHOD(SetLeft)(THIS_ float) PURE;
318 STDMETHOD(SetTop)(THIS_ IDCompositionAnimation*) PURE;
319 STDMETHOD(SetTop)(THIS_ float) PURE;
320 STDMETHOD(SetRight)(THIS_ IDCompositionAnimation*) PURE;
321 STDMETHOD(SetRight)(THIS_ float) PURE;
322 STDMETHOD(SetBottom)(THIS_ IDCompositionAnimation*) PURE;
323 STDMETHOD(SetBottom)(THIS_ float) PURE;
324 STDMETHOD(SetTopLeftRadiusX)(THIS_ IDCompositionAnimation*) PURE;
325 STDMETHOD(SetTopLeftRadiusX)(THIS_ float) PURE;
326 STDMETHOD(SetTopLeftRadiusY)(THIS_ IDCompositionAnimation*) PURE;
327 STDMETHOD(SetTopLeftRadiusY)(THIS_ float) PURE;
328 STDMETHOD(SetTopRightRadiusX)(THIS_ IDCompositionAnimation*) PURE;
329 STDMETHOD(SetTopRightRadiusX)(THIS_ float) PURE;
330 STDMETHOD(SetTopRightRadiusY)(THIS_ IDCompositionAnimation*) PURE;
331 STDMETHOD(SetTopRightRadiusY)(THIS_ float) PURE;
332 STDMETHOD(SetBottomLeftRadiusX)(THIS_ IDCompositionAnimation*) PURE;
333 STDMETHOD(SetBottomLeftRadiusX)(THIS_ float) PURE;
334 STDMETHOD(SetBottomLeftRadiusY)(THIS_ IDCompositionAnimation*) PURE;
335 STDMETHOD(SetBottomLeftRadiusY)(THIS_ float) PURE;
336 STDMETHOD(SetBottomRightRadiusX)(THIS_ IDCompositionAnimation*) PURE;
337 STDMETHOD(SetBottomRightRadiusX)(THIS_ float) PURE;
338 STDMETHOD(SetBottomRightRadiusY)(THIS_ IDCompositionAnimation*) PURE;
339 STDMETHOD(SetBottomRightRadiusY)(THIS_ float) PURE;
340#endif
341};
342
343#undef INTERFACE
344#define INTERFACE IDCompositionVisual
345DECLARE_INTERFACE_IID_(IDCompositionVisual,IUnknown,"4d93059d-097b-4651-9a60-f0f25116e2f3")
346{
347#if defined(_MSC_VER) && defined(__cplusplus)
348 STDMETHOD(SetOffsetX)(THIS_ float) PURE;
349 STDMETHOD(SetOffsetX)(THIS_ IDCompositionAnimation*) PURE;
350 STDMETHOD(SetOffsetY)(THIS_ float) PURE;
351 STDMETHOD(SetOffsetY)(THIS_ IDCompositionAnimation*) PURE;
352 STDMETHOD(SetTransform)(THIS_ const D2D_MATRIX_3X2_F&) PURE;
353 STDMETHOD(SetTransform)(THIS_ IDCompositionTransform*) PURE;
354#else
355 STDMETHOD(SetOffsetX)(THIS_ IDCompositionAnimation*) PURE;
356 STDMETHOD(SetOffsetX)(THIS_ float) PURE;
357 STDMETHOD(SetOffsetY)(THIS_ IDCompositionAnimation*) PURE;
358 STDMETHOD(SetOffsetY)(THIS_ float) PURE;
359 STDMETHOD(SetTransform)(THIS_ IDCompositionTransform*) PURE;
360 STDMETHOD(SetTransform)(THIS_ const D2D_MATRIX_3X2_F&) PURE;
361#endif
362 STDMETHOD(SetTransformParent)(THIS_ IDCompositionVisual*) PURE;
363 STDMETHOD(SetEffect)(THIS_ IDCompositionEffect*) PURE;
364 STDMETHOD(SetBitmapInterpolationMode)(THIS_ DCOMPOSITION_BITMAP_INTERPOLATION_MODE) PURE;
365 STDMETHOD(SetBorderMode)(THIS_ DCOMPOSITION_BORDER_MODE) PURE;
366#if defined(_MSC_VER) && defined(__cplusplus)
367 STDMETHOD(SetClip)(THIS_ const D2D_RECT_F&) PURE;
368 STDMETHOD(SetClip)(THIS_ IDCompositionClip*) PURE;
369#else
370 STDMETHOD(SetClip)(THIS_ IDCompositionClip*) PURE;
371 STDMETHOD(SetClip)(THIS_ const D2D_RECT_F&) PURE;
372#endif
373 STDMETHOD(SetContent)(THIS_ IUnknown*) PURE;
374 STDMETHOD(AddVisual)(THIS_ IDCompositionVisual*,BOOL,IDCompositionVisual*) PURE;
375 STDMETHOD(RemoveVisual)(THIS_ IDCompositionVisual*) PURE;
376 STDMETHOD(RemoveAllVisuals)(THIS_) PURE;
377 STDMETHOD(SetCompositeMode)(THIS_ DCOMPOSITION_COMPOSITE_MODE) PURE;
378};
379
380#undef INTERFACE
381#define INTERFACE IDCompositionTarget
382DECLARE_INTERFACE_IID_(IDCompositionTarget,IUnknown,"eacdd04c-117e-4e17-88f4-d1b12b0e3d89")
383{
384 STDMETHOD(SetRoot)(THIS_ IDCompositionVisual*) PURE;
385};
386
387#undef INTERFACE
388#define INTERFACE IDCompositionDevice
389DECLARE_INTERFACE_IID_(IDCompositionDevice,IUnknown,"c37ea93a-e7aa-450d-b16f-9746cb0407f3")
390{
391 STDMETHOD(Commit)(THIS) PURE;
392 STDMETHOD(WaitForCommitCompletion)(THIS) PURE;
393 STDMETHOD(GetFrameStatistics)(THIS_ DCOMPOSITION_FRAME_STATISTICS*) PURE;
394 STDMETHOD(CreateTargetForHwnd)(THIS_ HWND,BOOL,IDCompositionTarget**) PURE;
395 STDMETHOD(CreateVisual)(THIS_ IDCompositionVisual**) PURE;
396 STDMETHOD(CreateSurface)(THIS_ UINT,UINT,DXGI_FORMAT,DXGI_ALPHA_MODE,IDCompositionSurface**) PURE;
397 STDMETHOD(CreateVirtualSurface)(THIS_ UINT,UINT,DXGI_FORMAT,DXGI_ALPHA_MODE,IDCompositionVirtualSurface**) PURE;
398 STDMETHOD(CreateSurfaceFromHandle)(THIS_ HANDLE,IUnknown**) PURE;
399 STDMETHOD(CreateSurfaceFromHwnd)(THIS_ HWND,IUnknown**) PURE;
400 STDMETHOD(CreateTranslateTransform)(THIS_ IDCompositionTranslateTransform**) PURE;
401 STDMETHOD(CreateScaleTransform)(THIS_ IDCompositionScaleTransform**) PURE;
402 STDMETHOD(CreateRotateTransform)(THIS_ IDCompositionRotateTransform**) PURE;
403 STDMETHOD(CreateSkewTransform)(THIS_ IDCompositionSkewTransform**) PURE;
404 STDMETHOD(CreateMatrixTransform)(THIS_ IDCompositionMatrixTransform**) PURE;
405 STDMETHOD(CreateTransformGroup)(THIS_ IDCompositionTransform**,UINT,IDCompositionTransform**) PURE;
406 STDMETHOD(CreateTranslateTransform3D)(THIS_ IDCompositionTranslateTransform3D**) PURE;
407 STDMETHOD(CreateScaleTransform3D)(THIS_ IDCompositionScaleTransform3D**) PURE;
408 STDMETHOD(CreateRotateTransform3D)(THIS_ IDCompositionRotateTransform3D**) PURE;
409 STDMETHOD(CreateMatrixTransform3D)(THIS_ IDCompositionMatrixTransform3D**) PURE;
410 STDMETHOD(CreateTransform3DGroup)(THIS_ IDCompositionTransform3D**,UINT,IDCompositionTransform3D**) PURE;
411 STDMETHOD(CreateEffectGroup)(THIS_ IDCompositionEffectGroup**) PURE;
412 STDMETHOD(CreateRectangleClip)(THIS_ IDCompositionRectangleClip**) PURE;
413 STDMETHOD(CreateAnimation)(THIS_ IDCompositionAnimation**) PURE;
414 STDMETHOD(CheckDeviceState)(THIS_ BOOL*) PURE;
415};
416
417#ifdef __CRT_UUID_DECL
418__CRT_UUID_DECL(IDCompositionDevice,0xc37ea93a,0xe7aa,0x450d,0xb1,0x6f,0x97,0x46,0xcb,0x04,0x07,0xf3);
419#endif
420
421STDAPI DCompositionCreateDevice(IDXGIDevice *dxgiDevice, REFIID iid, void **dcompositionDevice);
422
423#if (_WIN32_WINNT >= 0x0603)
424
425STDAPI DCompositionCreateDevice2(IUnknown *renderingDevice, REFIID iid, void **dcompositionDevice);
426
427#undef INTERFACE
428#define INTERFACE IDCompositionVisual2
429DECLARE_INTERFACE_IID_(IDCompositionVisual2, IDCompositionVisual, "E8DE1639-4331-4B26-BC5F-6A321D347A85")
430{
431 STDMETHOD(SetOpacityMode)(THIS_ DCOMPOSITION_OPACITY_MODE) PURE;
432 STDMETHOD(SetBackFaceVisibility)(THIS_ DCOMPOSITION_BACKFACE_VISIBILITY) PURE;
433};
434
435#ifdef __CRT_UUID_DECL
436__CRT_UUID_DECL(IDCompositionVisual2,0xe8de1639,0x4331,0x4b26,0xbc,0x5f,0x6a,0x32,0x1d,0x34,0x7a,0x85);
437#endif
438
439
440#undef INTERFACE
441#define INTERFACE IDCompositionSurfaceFactory
442DECLARE_INTERFACE_IID_(IDCompositionSurfaceFactory, IUnknown, "E334BC12-3937-4E02-85EB-FCF4EB30D2C8")
443{
444 STDMETHOD(CreateSurface)(THIS_ UINT,UINT, DXGI_FORMAT, DXGI_ALPHA_MODE, IDCompositionSurface**) PURE;
445 STDMETHOD(CreateVirtualSurface)(THIS_ UINT, UINT, DXGI_FORMAT , DXGI_ALPHA_MODE, IDCompositionVirtualSurface**) PURE;
446};
447
448#ifdef __CRT_UUID_DECL
449__CRT_UUID_DECL(IDCompositionSurfaceFactory,0xe334bc12,0x3937,0x4e02,0x85,0xeb,0xfc,0xf4,0xeb,0x30,0xd2,0xc8);
450#endif
451
452
453#undef INTERFACE
454#define INTERFACE IDCompositionDevice2
455DECLARE_INTERFACE_IID_(IDCompositionDevice2, IUnknown, "75F6468D-1B8E-447C-9BC6-75FEA80B5B25")
456{
457 STDMETHOD(Commit)(THIS) PURE;
458 STDMETHOD(WaitForCommitCompletion)(THIS) PURE;
459 STDMETHOD(GetFrameStatistics)(THIS_ DCOMPOSITION_FRAME_STATISTICS*) PURE;
460 STDMETHOD(CreateVisual)(THIS_ IDCompositionVisual2**) PURE;
461 STDMETHOD(CreateSurfaceFactory)(THIS_ IUnknown*, IDCompositionSurfaceFactory**) PURE;
462 STDMETHOD(CreateSurface)(THIS_ UINT, UINT, DXGI_FORMAT, DXGI_ALPHA_MODE, IDCompositionSurface**) PURE;
463 STDMETHOD(CreateVirtualSurface)(THIS_ UINT, UINT, DXGI_FORMAT, DXGI_ALPHA_MODE, IDCompositionVirtualSurface**) PURE;
464 STDMETHOD(CreateTranslateTransform)(THIS_ IDCompositionTranslateTransform**) PURE;
465 STDMETHOD(CreateScaleTransform)(THIS_ IDCompositionScaleTransform**) PURE;
466 STDMETHOD(CreateRotateTransform)(THIS_ IDCompositionRotateTransform**) PURE;
467 STDMETHOD(CreateSkewTransform)(THIS_ IDCompositionSkewTransform**) PURE;
468 STDMETHOD(CreateMatrixTransform)(THIS_ IDCompositionMatrixTransform**) PURE;
469 STDMETHOD(CreateTransformGroup)(THIS_ IDCompositionTransform**, UINT, IDCompositionTransform**) PURE;
470 STDMETHOD(CreateTranslateTransform3D)(THIS_ IDCompositionTranslateTransform3D**) PURE;
471 STDMETHOD(CreateScaleTransform3D)(THIS_ IDCompositionScaleTransform3D**) PURE;
472 STDMETHOD(CreateRotateTransform3D)(THIS_ IDCompositionRotateTransform3D**) PURE;
473 STDMETHOD(CreateMatrixTransform3D)(THIS_ IDCompositionMatrixTransform3D**) PURE;
474 STDMETHOD(CreateTransform3DGroup)(THIS_ IDCompositionTransform3D**, UINT, IDCompositionTransform3D**) PURE;
475 STDMETHOD(CreateEffectGroup)(THIS_ IDCompositionEffectGroup**) PURE;
476 STDMETHOD(CreateRectangleClip)(THIS_ IDCompositionRectangleClip**) PURE;
477 STDMETHOD(CreateAnimation)(THIS_ IDCompositionAnimation**) PURE;
478};
479
480#ifdef __CRT_UUID_DECL
481__CRT_UUID_DECL(IDCompositionDevice2,0x75f6468d,0x1b8e,0x447c,0x9b,0xc6,0x75,0xfe,0xa8,0x0b,0x5b,0x25);
482#endif
483
484
485#undef INTERFACE
486#define INTERFACE IDCompositionDesktopDevice
487DECLARE_INTERFACE_IID_(IDCompositionDesktopDevice, IDCompositionDevice2, "5F4633FE-1E08-4CB8-8C75-CE24333F5602")
488{
489 STDMETHOD(CreateTargetForHwnd)(THIS_ HWND, BOOL, IDCompositionTarget**) PURE;
490 STDMETHOD(CreateSurfaceFromHandle)(THIS_ HANDLE, IUnknown**) PURE;
491 STDMETHOD(CreateSurfaceFromHwnd)(THIS_ HWND, IUnknown**) PURE;
492};
493
494#ifdef __CRT_UUID_DECL
495__CRT_UUID_DECL(IDCompositionDesktopDevice,0x5f4633fe,0x1e08,0x4cb8,0x8c,0x75,0xce,0x24,0x33,0x3f,0x56,0x02);
496#endif
497
498
499#undef INTERFACE
500#define INTERFACE IDCompositionDeviceDebug
501DECLARE_INTERFACE_IID_(IDCompositionDeviceDebug, IUnknown, "A1A3C64A-224F-4A81-9773-4F03A89D3C6C")
502{
503 STDMETHOD(EnableDebugCounters)(THIS_) PURE;
504 STDMETHOD(DisableDebugCounters)(THIS_) PURE;
505};
506
507#ifdef __CRT_UUID_DECL
508__CRT_UUID_DECL(IDCompositionDeviceDebug,0xa1a3c64a,0x224f,0x4a81,0x97,0x73,0x4f,0x03,0xa8,0x9d,0x3c,0x6c);
509#endif
510
511
512#undef INTERFACE
513#define INTERFACE IDCompositionVisualDebug
514DECLARE_INTERFACE_IID_(IDCompositionVisualDebug, IDCompositionVisual2, "FED2B808-5EB4-43A0-AEA3-35F65280F91B")
515{
516 STDMETHOD(EnableHeatMap)(THIS_ const D2D1_COLOR_F &color) PURE;
517 STDMETHOD(DisableHeatMap)(THIS_) PURE;
518 STDMETHOD(EnableRedrawRegions)(THIS_) PURE;
519 STDMETHOD(DisableRedrawRegions)(THIS_) PURE;
520};
521
522#ifdef __CRT_UUID_DECL
523__CRT_UUID_DECL(IDCompositionVisualDebug,0xfed2b808,0x5eb4,0x43a0,0xae,0xa3,0x35,0xf6,0x52,0x80,0xf9,0x1b);
524#endif
525
526
527#endif
528
529#if (_WIN32_WINNT >= 0x0A00)
530
531STDAPI DCompositionCreateDevice3(IUnknown *renderingDevice, REFIID iid, void **dcompositionDevice);
532
533#endif
534
535STDAPI DCompositionCreateSurfaceHandle(DWORD desiredAccess, SECURITY_ATTRIBUTES *securityAttributes, HANDLE *surfaceHandle);
536
537STDAPI DCompositionAttachMouseWheelToHwnd(IDCompositionVisual* visual, HWND hwnd, BOOL enable);
538
539STDAPI DCompositionAttachMouseDragToHwnd(IDCompositionVisual* visual, HWND hwnd, BOOL enable);
540
541
542#endif
543#endif /* _DCOMP_H_ */
Note: See TracBrowser for help on using the repository browser.