1 /**************************************************************************
2  *
3  * Copyright 2016 VMware, Inc.
4  * All Rights Reserved.
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to deal
8  * in the Software without restriction, including without limitation the rights
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10  * copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in
14  * all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22  * THE SOFTWARE.
23  *
24  **************************************************************************/
25 
26 #pragma once
27 
28 
29 #include <windows.h>
30 
31 #include "winsdk_compat.h"
32 
33 #include <dcomp.h>
34 
35 // These are necessary on MinGW because DECLSPEC_UUID(x) is a no-op
36 #ifdef __MINGW32__
37 EXTERN_C CONST IID IID_IDCompositionDevice;
38 EXTERN_C CONST IID IID_IDCompositionTarget;
39 EXTERN_C CONST IID IID_IDCompositionVisual;
40 EXTERN_C CONST IID IID_IDCompositionEffect;
41 EXTERN_C CONST IID IID_IDCompositionTransform3D;
42 EXTERN_C CONST IID IID_IDCompositionTransform;
43 EXTERN_C CONST IID IID_IDCompositionTranslateTransform;
44 EXTERN_C CONST IID IID_IDCompositionScaleTransform;
45 EXTERN_C CONST IID IID_IDCompositionRotateTransform;
46 EXTERN_C CONST IID IID_IDCompositionSkewTransform;
47 EXTERN_C CONST IID IID_IDCompositionMatrixTransform;
48 EXTERN_C CONST IID IID_IDCompositionEffectGroup;
49 EXTERN_C CONST IID IID_IDCompositionTranslateTransform3D;
50 EXTERN_C CONST IID IID_IDCompositionScaleTransform3D;
51 EXTERN_C CONST IID IID_IDCompositionRotateTransform3D;
52 EXTERN_C CONST IID IID_IDCompositionMatrixTransform3D;
53 EXTERN_C CONST IID IID_IDCompositionClip;
54 EXTERN_C CONST IID IID_IDCompositionRectangleClip;
55 EXTERN_C CONST IID IID_IDCompositionSurface;
56 EXTERN_C CONST IID IID_IDCompositionVirtualSurface;
57 EXTERN_C CONST IID IID_IDCompositionDevice2;
58 EXTERN_C CONST IID IID_IDCompositionDesktopDevice;
59 EXTERN_C CONST IID IID_IDCompositionDeviceDebug;
60 EXTERN_C CONST IID IID_IDCompositionSurfaceFactory;
61 EXTERN_C CONST IID IID_IDCompositionVisual2;
62 EXTERN_C CONST IID IID_IDCompositionVisualDebug;
63 EXTERN_C CONST IID IID_IDCompositionDevice3;
64 EXTERN_C CONST IID IID_IDCompositionFilterEffect;
65 EXTERN_C CONST IID IID_IDCompositionGaussianBlurEffect;
66 EXTERN_C CONST IID IID_IDCompositionBrightnessEffect;
67 EXTERN_C CONST IID IID_IDCompositionColorMatrixEffect;
68 EXTERN_C CONST IID IID_IDCompositionShadowEffect;
69 EXTERN_C CONST IID IID_IDCompositionHueRotationEffect;
70 EXTERN_C CONST IID IID_IDCompositionSaturationEffect;
71 EXTERN_C CONST IID IID_IDCompositionTurbulenceEffect;
72 EXTERN_C CONST IID IID_IDCompositionLinearTransferEffect;
73 EXTERN_C CONST IID IID_IDCompositionTableTransferEffect;
74 EXTERN_C CONST IID IID_IDCompositionCompositeEffect;
75 EXTERN_C CONST IID IID_IDCompositionBlendEffect;
76 EXTERN_C CONST IID IID_IDCompositionArithmeticCompositeEffect;
77 EXTERN_C CONST IID IID_IDCompositionAffineTransform2DEffect;
78 #endif
79