Module: wine Branch: master Commit: 74e6345712fe97c6a21fe48f877eb012577ae6d8 URL: https://gitlab.winehq.org/wine/wine/-/commit/74e6345712fe97c6a21fe48f877eb01...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Thu Feb 2 21:11:34 2023 +0800
include: Add dcomptypes.idl.
---
include/Makefile.in | 1 + include/dcomptypes.idl | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+)
diff --git a/include/Makefile.in b/include/Makefile.in index 49b5f7c4b01..07917b4923d 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -182,6 +182,7 @@ SOURCES = \ dciddi.h \ dciman.h \ dcommon.idl \ + dcomptypes.idl \ dde.h \ dde.rh \ ddeml.h \ diff --git a/include/dcomptypes.idl b/include/dcomptypes.idl new file mode 100644 index 00000000000..2ee6b17cde3 --- /dev/null +++ b/include/dcomptypes.idl @@ -0,0 +1,77 @@ +/* + * Copyright 2023 Zhiyi Zhang 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 "dxgitype.idl"; +import "dxgi1_5.idl"; + +enum DCOMPOSITION_BITMAP_INTERPOLATION_MODE +{ + DCOMPOSITION_BITMAP_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0, + DCOMPOSITION_BITMAP_INTERPOLATION_MODE_LINEAR = 1, + DCOMPOSITION_BITMAP_INTERPOLATION_MODE_INHERIT = 0xffffffff +}; + +enum DCOMPOSITION_BORDER_MODE +{ + DCOMPOSITION_BORDER_MODE_SOFT = 0, + DCOMPOSITION_BORDER_MODE_HARD = 1, + DCOMPOSITION_BORDER_MODE_INHERIT = 0xffffffff +}; + +enum DCOMPOSITION_COMPOSITE_MODE +{ + DCOMPOSITION_COMPOSITE_MODE_SOURCE_OVER = 0, + DCOMPOSITION_COMPOSITE_MODE_DESTINATION_INVERT = 1, + DCOMPOSITION_COMPOSITE_MODE_MIN_BLEND = 2, + DCOMPOSITION_COMPOSITE_MODE_INHERIT = 0xffffffff +}; + +enum DCOMPOSITION_BACKFACE_VISIBILITY +{ + DCOMPOSITION_BACKFACE_VISIBILITY_VISIBLE = 0, + DCOMPOSITION_BACKFACE_VISIBILITY_HIDDEN = 1, + DCOMPOSITION_BACKFACE_VISIBILITY_INHERIT = 0xffffffff +}; + +enum DCOMPOSITION_OPACITY_MODE +{ + DCOMPOSITION_OPACITY_MODE_LAYER = 0, + DCOMPOSITION_OPACITY_MODE_MULTIPLY = 1, + DCOMPOSITION_OPACITY_MODE_INHERIT = 0xffffffff +}; + +enum DCOMPOSITION_DEPTH_MODE +{ + DCOMPOSITION_DEPTH_MODE_TREE = 0, + DCOMPOSITION_DEPTH_MODE_SPATIAL = 1, + DCOMPOSITION_DEPTH_MODE_SORTED = 3, + DCOMPOSITION_DEPTH_MODE_INHERIT = 0xffffffff +}; + +typedef struct +{ + LARGE_INTEGER lastFrameTime; + DXGI_RATIONAL currentCompositionRate; + LARGE_INTEGER currentTime; + LARGE_INTEGER timeFrequency; + LARGE_INTEGER nextEstimatedFrameTime; +} DCOMPOSITION_FRAME_STATISTICS; + +cpp_quote("#define COMPOSITIONOBJECT_READ 0x0001L") +cpp_quote("#define COMPOSITIONOBJECT_WRITE 0x0002L") +cpp_quote("#define COMPOSITIONOBJECT_ALL_ACCESS (COMPOSITIONOBJECT_READ | COMPOSITIONOBJECT_WRITE)")