/* * 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)")