Signed-off-by: Ziqing Hui zhui@codeweavers.com ---
Note: The final goal of the following IDL defines adding patches is to add ID2D1Factory3 define. ID2D1Factory3 depends on some other interfaces. So we add these interfaces first.
dlls/d2d1/d2d1_private.h | 2 +- include/Makefile.in | 1 + include/d2d1_3.idl | 45 ++++++++++++++++++++++++++++++++++++++++ libs/uuid/d2d.c | 2 +- 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 include/d2d1_3.idl
diff --git a/dlls/d2d1/d2d1_private.h b/dlls/d2d1/d2d1_private.h index aaf6d045c73..aa8e8569455 100644 --- a/dlls/d2d1/d2d1_private.h +++ b/dlls/d2d1/d2d1_private.h @@ -28,7 +28,7 @@ #include <stdbool.h> #include <math.h> #define COBJMACROS -#include "d2d1_2.h" +#include "d2d1_3.h" #include "d3d11_1.h" #ifdef D2D1_INIT_GUID #include "initguid.h" diff --git a/include/Makefile.in b/include/Makefile.in index 9578c557af7..40d6c00fb7b 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -102,6 +102,7 @@ SOURCES = \ d2d1.idl \ d2d1_1.idl \ d2d1_2.idl \ + d2d1_3.idl \ d2d1effects.idl \ d2dbasetypes.h \ d2derr.h \ diff --git a/include/d2d1_3.idl b/include/d2d1_3.idl new file mode 100644 index 00000000000..3b27439f2d1 --- /dev/null +++ b/include/d2d1_3.idl @@ -0,0 +1,45 @@ +/* + * 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 "d2d1_2.idl"; + +typedef enum D2D1_INK_NIB_SHAPE +{ + D2D1_INK_NIB_SHAPE_ROUND = 0x0, + D2D1_INK_NIB_SHAPE_SQUARE = 0x1, + D2D1_INK_NIB_SHAPE_FORCE_DWORD = 0xffffffff +} D2D1_INK_NIB_SHAPE; + +[ + object, + uuid(bae8b344-23fc-4071-8cb5-d05d6f073848), + local, +] +interface ID2D1InkStyle : ID2D1Resource +{ + void SetNibTransform( + [in] const D2D1_MATRIX_3X2_F *transform + ); + void GetNibTransform( + [out] D2D1_MATRIX_3X2_F *transform + ); + void SetNibShape( + [in] D2D1_INK_NIB_SHAPE shape + ); + D2D1_INK_NIB_SHAPE GetNibShape(); +}; diff --git a/libs/uuid/d2d.c b/libs/uuid/d2d.c index c74ebc9c495..801bcaeab92 100644 --- a/libs/uuid/d2d.c +++ b/libs/uuid/d2d.c @@ -18,4 +18,4 @@
#include "d3d10_1.h" #include "initguid.h" -#include "d2d1_2.h" +#include "d2d1_3.h"