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