| 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 |
| 24 | DECLARE_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 |
| 35 | DECLARE_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 |
| 43 | DECLARE_INTERFACE_IID_(IDCompositionEffect,IUnknown,"ec81b08f-bfcb-4e8d-b193-a915587999e8") |
| 44 | { |
| 45 | }; |
| 46 | |
| 47 | #undef INTERFACE |
| 48 | #define INTERFACE IDCompositionTransform3D |
| 49 | DECLARE_INTERFACE_IID_(IDCompositionTransform3D,IDCompositionEffect,"71185722-246b-41f2-aad1-0443f7f4bfc2") |
| 50 | { |
| 51 | }; |
| 52 | |
| 53 | #undef INTERFACE |
| 54 | #define INTERFACE IDCompositionTransform |
| 55 | DECLARE_INTERFACE_IID_(IDCompositionTransform,IDCompositionTransform3D,"fd55faa7-37e0-4c20-95d2-9be45bc33f55") |
| 56 | { |
| 57 | }; |
| 58 | |
| 59 | #undef INTERFACE |
| 60 | #define INTERFACE IDCompositionTranslateTransform |
| 61 | DECLARE_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 |
| 78 | DECLARE_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 |
| 103 | DECLARE_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 |
| 124 | DECLARE_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 |
| 149 | DECLARE_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 |
| 163 | DECLARE_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 |
| 184 | DECLARE_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 |
| 217 | DECLARE_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 |
| 254 | DECLARE_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 |
| 268 | DECLARE_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 |
| 282 | DECLARE_INTERFACE_IID_(IDCompositionClip,IUnknown,"64ac3703-9d3f-45ec-a109-7cac0e7a13a7") |
| 283 | { |
| 284 | }; |
| 285 | |
| 286 | #undef INTERFACE |
| 287 | #define INTERFACE IDCompositionRectangleClip |
| 288 | DECLARE_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 |
| 345 | DECLARE_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 |
| 382 | DECLARE_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 |
| 389 | DECLARE_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 | |
| 421 | STDAPI DCompositionCreateDevice(IDXGIDevice *dxgiDevice, REFIID iid, void **dcompositionDevice); |
| 422 | |
| 423 | #if (_WIN32_WINNT >= 0x0603) |
| 424 | |
| 425 | STDAPI DCompositionCreateDevice2(IUnknown *renderingDevice, REFIID iid, void **dcompositionDevice); |
| 426 | |
| 427 | #undef INTERFACE |
| 428 | #define INTERFACE IDCompositionVisual2 |
| 429 | DECLARE_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 |
| 442 | DECLARE_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 |
| 455 | DECLARE_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 |
| 487 | DECLARE_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 |
| 501 | DECLARE_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 |
| 514 | DECLARE_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 | #undef INTERFACE |
| 528 | #define INTERFACE IDCompositionFilterEffect |
| 529 | DECLARE_INTERFACE_IID_(IDCompositionFilterEffect, IDCompositionEffect, "30C421D5-8CB2-4E9F-B133-37BE270D4AC2") |
| 530 | { |
| 531 | STDMETHOD(SetInput)(THIS_ UINT index, IUnknown *input, UINT flags) PURE; |
| 532 | }; |
| 533 | |
| 534 | #ifdef __CRT_UUID_DECL |
| 535 | __CRT_UUID_DECL(IDCompositionFilterEffect,0x30c421d5,0x8cb2,0x4e9f,0xb1,0x33,0x37,0xbe,0x27,0x0d,0x4a,0xc2); |
| 536 | #endif |
| 537 | |
| 538 | |
| 539 | #undef INTERFACE |
| 540 | #define INTERFACE IDCompositionSaturationEffect |
| 541 | DECLARE_INTERFACE_IID_(IDCompositionSaturationEffect, IDCompositionFilterEffect, "A08DEBDA-3258-4FA4-9F16-9174D3FE93B1") |
| 542 | { |
| 543 | #if defined(_MSC_VER) && defined(__cplusplus) |
| 544 | STDMETHOD(SetSaturation)(THIS_ float ratio) PURE; |
| 545 | STDMETHOD(SetSaturation)(THIS_ IDCompositionAnimation* animation) PURE; |
| 546 | #else |
| 547 | STDMETHOD(SetSaturation)(THIS_ IDCompositionAnimation* animation) PURE; |
| 548 | STDMETHOD(SetSaturation)(THIS_ float ratio ) PURE; |
| 549 | #endif |
| 550 | }; |
| 551 | |
| 552 | #ifdef __CRT_UUID_DECL |
| 553 | __CRT_UUID_DECL(IDCompositionSaturationEffect,0xa08debda,0x3258,0x4fa4,0x9f,0x16,0x91,0x74,0xd3,0xfe,0x93,0xb1); |
| 554 | #endif |
| 555 | |
| 556 | |
| 557 | #undef INTERFACE |
| 558 | #define INTERFACE IDCompositionTableTransferEffect |
| 559 | DECLARE_INTERFACE_IID_(IDCompositionTableTransferEffect, IDCompositionFilterEffect, "9B7E82E2-69C5-4EB4-A5F5-A7033F5132CD") |
| 560 | { |
| 561 | STDMETHOD(SetRedTable)(THIS_ const float *tableValues, UINT count) PURE; |
| 562 | STDMETHOD(SetGreenTable)(THIS_ const float *tableValues, UINT count) PURE; |
| 563 | STDMETHOD(SetBlueTable)(THIS_ const float *tableValues, UINT count) PURE; |
| 564 | STDMETHOD(SetAlphaTable)(THIS_ const float *tableValues, UINT count) PURE; |
| 565 | STDMETHOD(SetRedDisable)(THIS_ BOOL redDisable) PURE; |
| 566 | STDMETHOD(SetGreenDisable)(THIS_ BOOL greenDisable) PURE; |
| 567 | STDMETHOD(SetBlueDisable)(THIS_ BOOL blueDisable) PURE; |
| 568 | STDMETHOD(SetAlphaDisable)(THIS_ BOOL alphaDisable) PURE; |
| 569 | STDMETHOD(SetClampOutput)(THIS_ BOOL clampOutput) PURE; |
| 570 | #if defined(_MSC_VER) && defined(__cplusplus) |
| 571 | STDMETHOD(SetRedTableValue)(THIS_ UINT index, float value) PURE; |
| 572 | STDMETHOD(SetRedTableValue)(THIS_ UINT index, IDCompositionAnimation *animation) PURE; |
| 573 | #else |
| 574 | STDMETHOD(SetRedTableValue)(THIS_ UINT index, IDCompositionAnimation *animation) PURE; |
| 575 | STDMETHOD(SetRedTableValue)(THIS_ UINT index, float value) PURE; |
| 576 | #endif |
| 577 | #if defined(_MSC_VER) && defined(__cplusplus) |
| 578 | STDMETHOD(SetGreenTableValue)(THIS_ UINT index, float value) PURE; |
| 579 | STDMETHOD(SetGreenTableValue)(THIS_ UINT index, IDCompositionAnimation *animation) PURE; |
| 580 | #else |
| 581 | STDMETHOD(SetGreenTableValue)(THIS_ UINT index, IDCompositionAnimation *animation) PURE; |
| 582 | STDMETHOD(SetGreenTableValue)(THIS_ UINT index, float value) PURE; |
| 583 | #endif |
| 584 | #if defined(_MSC_VER) && defined(__cplusplus) |
| 585 | STDMETHOD(SetBlueTableValue)(THIS_ UINT index, float value) PURE; |
| 586 | STDMETHOD(SetBlueTableValue)(THIS_ UINT index, IDCompositionAnimation *animation) PURE; |
| 587 | #else |
| 588 | STDMETHOD(SetBlueTableValue)(THIS_ UINT index, IDCompositionAnimation *animation) PURE; |
| 589 | STDMETHOD(SetBlueTableValue)(THIS_ UINT index, float value) PURE; |
| 590 | #endif |
| 591 | #if defined(_MSC_VER) && defined(__cplusplus) |
| 592 | STDMETHOD(SetAlphaTableValue)(THIS_ UINT index, float value) PURE; |
| 593 | STDMETHOD(SetAlphaTableValue)(THIS_ UINT index, IDCompositionAnimation *animation) PURE; |
| 594 | #else |
| 595 | STDMETHOD(SetAlphaTableValue)(THIS_ UINT index, IDCompositionAnimation *animation) PURE; |
| 596 | STDMETHOD(SetAlphaTableValue)(THIS_ UINT index, float value) PURE; |
| 597 | #endif |
| 598 | }; |
| 599 | |
| 600 | #ifdef __CRT_UUID_DECL |
| 601 | __CRT_UUID_DECL(IDCompositionTableTransferEffect,0x9b7e82e2,0x69c5,0x4eb4,0xa5,0xf5,0xa7,0x03,0x3f,0x51,0x32,0xcd); |
| 602 | #endif |
| 603 | |
| 604 | |
| 605 | #undef INTERFACE |
| 606 | #define INTERFACE IDCompositionGaussianBlurEffect |
| 607 | DECLARE_INTERFACE_IID_(IDCompositionGaussianBlurEffect, IDCompositionFilterEffect, "45D4D0B7-1BD4-454E-8894-2BFA68443033") |
| 608 | { |
| 609 | |
| 610 | #if defined(_MSC_VER) && defined(__cplusplus) |
| 611 | STDMETHOD(SetStandardDeviation)(THIS_ float amount) PURE; |
| 612 | STDMETHOD(SetStandardDeviation)(THIS_ IDCompositionAnimation* animation) PURE; |
| 613 | #else |
| 614 | STDMETHOD(SetStandardDeviation)(THIS_ IDCompositionAnimation* animation) PURE; |
| 615 | STDMETHOD(SetStandardDeviation)(THIS_ float amount) PURE; |
| 616 | #endif |
| 617 | STDMETHOD(SetBorderMode)(THIS_ D2D1_BORDER_MODE mode) PURE; |
| 618 | }; |
| 619 | |
| 620 | #ifdef __CRT_UUID_DECL |
| 621 | __CRT_UUID_DECL(IDCompositionGaussianBlurEffect,0x45d4d0b7,0x1bd4,0x454e,0x88,0x94,0x2b,0xfa,0x68,0x44,0x30,0x33); |
| 622 | #endif |
| 623 | |
| 624 | |
| 625 | #undef INTERFACE |
| 626 | #define INTERFACE IDCompositionColorMatrixEffect |
| 627 | DECLARE_INTERFACE_IID_(IDCompositionColorMatrixEffect, IDCompositionFilterEffect, "C1170A22-3CE2-4966-90D4-55408BFC84C4") |
| 628 | { |
| 629 | STDMETHOD(SetMatrix)(THIS_ const D2D1_MATRIX_5X4_F &matrix) PURE; |
| 630 | #if defined(_MSC_VER) && defined(__cplusplus) |
| 631 | STDMETHOD(SetMatrixElement)(THIS_ int row, int column, float value) PURE; |
| 632 | STDMETHOD(SetMatrixElement)(THIS_ int row, int column, IDCompositionAnimation *animation) PURE; |
| 633 | #else |
| 634 | STDMETHOD(SetMatrixElement)(THIS_ int row, int column, IDCompositionAnimation *animation) PURE; |
| 635 | STDMETHOD(SetMatrixElement)(THIS_ int row, int column, float value) PURE; |
| 636 | #endif |
| 637 | STDMETHOD(SetAlphaMode)(THIS_ D2D1_COLORMATRIX_ALPHA_MODE mode) PURE; |
| 638 | STDMETHOD(SetClampOutput)(THIS_ BOOL clamp) PURE; |
| 639 | }; |
| 640 | |
| 641 | #ifdef __CRT_UUID_DECL |
| 642 | __CRT_UUID_DECL(IDCompositionColorMatrixEffect,0xc1170a22,0x3ce2,0x4966,0x90,0xd4,0x55,0x40,0x8b,0xfc,0x84,0xc4); |
| 643 | #endif |
| 644 | |
| 645 | |
| 646 | /* WARNING: some of the arguments are replaced with void*, only what's used has been kept */ |
| 647 | #undef INTERFACE |
| 648 | #define INTERFACE IDCompositionDevice3 |
| 649 | DECLARE_INTERFACE_IID_(IDCompositionDevice3, IDCompositionDevice2, "0987CB06-F916-48BF-8D35-CE7641781BD9") |
| 650 | { |
| 651 | STDMETHOD(CreateGaussianBlurEffect)(THIS_ IDCompositionGaussianBlurEffect **gaussianBlurEffect) PURE; |
| 652 | STDMETHOD(CreateBrightnessEffect)(THIS_ /* TODO IDCompositionBrightnessEffect */ void **brightnessEffect) PURE; |
| 653 | STDMETHOD(CreateColorMatrixEffect)(THIS_ IDCompositionColorMatrixEffect **colorMatrixEffect) PURE; |
| 654 | STDMETHOD(CreateShadowEffect)(THIS_ /* TODO IDCompositionShadowEffect */ void **shadowEffect) PURE; |
| 655 | STDMETHOD(CreateHueRotationEffect)(THIS_ /* IDCompositionHueRotationEffect */ void **hueRotationEffect) PURE; |
| 656 | STDMETHOD(CreateSaturationEffect)(THIS_ IDCompositionSaturationEffect **saturationEffect) PURE; |
| 657 | STDMETHOD(CreateTurbulenceEffect)(THIS_ /* IDCompositionTurbulenceEffect */ void **turbulenceEffect) PURE; |
| 658 | STDMETHOD(CreateLinearTransferEffect)(THIS_ /* IDCompositionLinearTransferEffect */ void **linearTransferEffect) PURE; |
| 659 | STDMETHOD(CreateTableTransferEffect)(THIS_ IDCompositionTableTransferEffect **tableTransferEffect) PURE; |
| 660 | STDMETHOD(CreateCompositeEffect)(THIS_ /* IDCompositionCompositeEffect */ void **compositeEffect) PURE; |
| 661 | STDMETHOD(CreateBlendEffect)(THIS_ /* TODO IDCompositionBlendEffect */ void **blendEffect) PURE; |
| 662 | STDMETHOD(CreateArithmeticCompositeEffect)(THIS_ /* IDCompositionArithmeticCompositeEffect */ void **arithmeticCompositeEffect) PURE; |
| 663 | STDMETHOD(CreateAffineTransform2DEffect)(THIS_ /* IDCompositionAffineTransform2DEffect */ void **affineTransform2dEffect) PURE; |
| 664 | }; |
| 665 | |
| 666 | #ifdef __CRT_UUID_DECL |
| 667 | __CRT_UUID_DECL(IDCompositionDevice3,0x0987cb06,0xf916,0x48bf,0x8d,0x35,0xce,0x76,0x41,0x78,0x1b,0xd9); |
| 668 | #endif |
| 669 | |
| 670 | #if (NTDDI_VERSION >= NTDDI_WIN10_NI) |
| 671 | |
| 672 | #undef INTERFACE |
| 673 | #define INTERFACE IDCompositionTexture |
| 674 | DECLARE_INTERFACE_IID_(IDCompositionTexture, IUnknown, "929BB1AA-725F-433B-ABD7-273075A835F2") |
| 675 | { |
| 676 | STDMETHOD(SetSourceRect)(THIS_ const D2D_RECT_U &sourceRect) PURE; |
| 677 | STDMETHOD(SetColorSpace)(THIS_ DXGI_COLOR_SPACE_TYPE colorSpace) PURE; |
| 678 | STDMETHOD(SetAlphaMode)(THIS_ DXGI_ALPHA_MODE alphaMode) PURE; |
| 679 | STDMETHOD(GetAvailableFence)(THIS_ UINT64 *fenceValue, REFIID iid, void **availableFence) PURE; |
| 680 | }; |
| 681 | |
| 682 | #ifdef __CRT_UUID_DECL |
| 683 | __CRT_UUID_DECL(IDCompositionTexture, 0x929bb1aa, 0x725f, 0x433b, 0xab, 0xd7, 0x27, 0x30, 0x75, 0xa8, 0x35, 0xf2); |
| 684 | #endif |
| 685 | |
| 686 | #undef INTERFACE |
| 687 | #define INTERFACE IDCompositionDevice4 |
| 688 | DECLARE_INTERFACE_IID_(IDCompositionDevice4, IDCompositionDevice3, "85FC5CCA-2DA6-494C-86B6-4A775C049B8A") |
| 689 | { |
| 690 | STDMETHOD(CheckCompositionTextureSupport)(THIS_ IUnknown *renderingDevice, WINBOOL *supportsCompositionTextures) PURE; |
| 691 | STDMETHOD(CreateCompositionTexture)(THIS_ IUnknown *d3dTexture, IDCompositionTexture **compositionTexture) PURE; |
| 692 | }; |
| 693 | |
| 694 | #ifdef __CRT_UUID_DECL |
| 695 | __CRT_UUID_DECL(IDCompositionDevice4, 0x85fc5cca, 0x2da6, 0x494c, 0x86, 0xb6, 0x4a, 0x77, 0x5c, 0x04, 0x9b, 0x8a); |
| 696 | #endif |
| 697 | |
| 698 | #endif /* (NTDDI_VERSION >= NTDDI_WIN10_NI) */ |
| 699 | |
| 700 | #if (NTDDI_VERSION >= NTDDI_WIN11_GE) |
| 701 | |
| 702 | #undef INTERFACE |
| 703 | #define INTERFACE IDCompositionDynamicTexture |
| 704 | DECLARE_INTERFACE_IID_(IDCompositionDynamicTexture, IUnknown, "A1DE1D3F-6405-447F-8E95-1383A34B0277") |
| 705 | { |
| 706 | #if defined(_MSC_VER) && defined(__cplusplus) |
| 707 | STDMETHOD(SetTexture)(THIS_ IDCompositionTexture *pTexture) PURE; |
| 708 | STDMETHOD(SetTexture)(THIS_ IDCompositionTexture *pTexture, const D2D_RECT_L *pRects, size_t rectCount) PURE; |
| 709 | #else |
| 710 | STDMETHOD(SetTexture)(THIS_ IDCompositionTexture *pTexture, const D2D_RECT_L *pRects, size_t rectCount) PURE; |
| 711 | STDMETHOD(SetTexture)(THIS_ IDCompositionTexture *pTexture) PURE; |
| 712 | #endif |
| 713 | }; |
| 714 | |
| 715 | #ifdef __CRT_UUID_DECL |
| 716 | __CRT_UUID_DECL(IDCompositionDynamicTexture, 0xa1de1d3f, 0x6405, 0x447f, 0x8e, 0x95, 0x13, 0x83, 0xa3, 0x4b, 0x02, 0x77); |
| 717 | #endif |
| 718 | |
| 719 | #undef INTERFACE |
| 720 | #define INTERFACE IDCompositionDevice5 |
| 721 | DECLARE_INTERFACE_IID_(IDCompositionDevice5, IDCompositionDevice4, "2C6BEBFE-A603-472F-AF34-D2443356E61B") |
| 722 | { |
| 723 | STDMETHOD(CreateDynamicTexture)(THIS_ IDCompositionDynamicTexture **compositionDynamicTexture) PURE; |
| 724 | }; |
| 725 | |
| 726 | #ifdef __CRT_UUID_DECL |
| 727 | __CRT_UUID_DECL(IDCompositionDevice5, 0x2c6bebfe, 0xa603, 0x472f, 0xaf, 0x34, 0xd2, 0x44, 0x33, 0x56, 0xe6, 0x1b); |
| 728 | #endif |
| 729 | |
| 730 | #endif /* (NTDDI_VERSION >= NTDDI_WIN11_GE) */ |
| 731 | |
| 732 | #endif /* WINAPI_PARTITION_DESKTOP */ |
| 733 | |
| 734 | #if (_WIN32_WINNT >= 0x0A00) |
| 735 | |
| 736 | STDAPI DCompositionCreateDevice3(IUnknown *renderingDevice, REFIID iid, void **dcompositionDevice); |
| 737 | |
| 738 | #endif |
| 739 | |
| 740 | STDAPI DCompositionCreateSurfaceHandle(DWORD desiredAccess, SECURITY_ATTRIBUTES *securityAttributes, HANDLE *surfaceHandle); |
| 741 | |
| 742 | STDAPI DCompositionAttachMouseWheelToHwnd(IDCompositionVisual* visual, HWND hwnd, BOOL enable); |
| 743 | |
| 744 | STDAPI DCompositionAttachMouseDragToHwnd(IDCompositionVisual* visual, HWND hwnd, BOOL enable); |
| 745 | |
| 746 | |
| 747 | #endif |
| 748 | #endif /* _DCOMP_H_ */ |