diff --git a/include/Makefile.in b/include/Makefile.in index 40d6c00fb7b..c69194ef127 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -104,6 +104,7 @@ SOURCES = \ d2d1_2.idl \ d2d1_3.idl \ d2d1effects.idl \ + d2d1effects_1.idl \ d2dbasetypes.h \ d2derr.h \ d3d.h \ diff --git a/include/d2d1_2.idl b/include/d2d1_2.idl index 39e285dc221..1fc9111151c 100644 --- a/include/d2d1_2.idl +++ b/include/d2d1_2.idl @@ -17,6 +17,7 @@ */ import "d2d1_1.idl"; +import "d2d1effects_1.idl"; typedef enum D2D1_RENDERING_PRIORITY { diff --git a/include/d2d1effects_1.idl b/include/d2d1effects_1.idl new file mode 100644 index 00000000000..03616b770e6 --- /dev/null +++ b/include/d2d1effects_1.idl @@ -0,0 +1,50 @@ +/* + * Copyright 2022 Ziqing Hui for CodeWeavers + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +import "d2d1effects.idl"; + +cpp_quote("DEFINE_GUID(CLSID_D2D1YCbCr, 0x99503cc1,0x66c7,0x45c9,0xa8,0x75,0x8a,0xd8,0xa7,0x91,0x44,0x01);") + +typedef enum D2D1_YCBCR_PROP +{ + D2D1_YCBCR_PROP_CHROMA_SUBSAMPLING = 0x0, + D2D1_YCBCR_PROP_TRANSFORM_MATRIX = 0x1, + D2D1_YCBCR_PROP_INTERPOLATION_MODE = 0x2, + D2D1_YCBCR_PROP_FORCE_DWORD = 0xffffffff +} D2D1_YCBCR_PROP; + +typedef enum D2D1_YCBCR_CHROMA_SUBSAMPLING +{ + D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO = 0x0, + D2D1_YCBCR_CHROMA_SUBSAMPLING_420 = 0x1, + D2D1_YCBCR_CHROMA_SUBSAMPLING_422 = 0x2, + D2D1_YCBCR_CHROMA_SUBSAMPLING_444 = 0x3, + D2D1_YCBCR_CHROMA_SUBSAMPLING_440 = 0x4, + D2D1_YCBCR_CHROMA_SUBSAMPLING_FORCE_DWORD = 0xffffffff +} D2D1_YCBCR_CHROMA_SUBSAMPLING; + +typedef enum D2D1_YCBCR_INTERPOLATION_MODE +{ + D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0x0, + D2D1_YCBCR_INTERPOLATION_MODE_LINEAR = 0x1, + D2D1_YCBCR_INTERPOLATION_MODE_CUBIC = 0x2, + D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 0x3, + D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC = 0x4, + D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 0x5, + D2D1_YCBCR_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff +} D2D1_YCBCR_INTERPOLATION_MODE;