Revert "headers: Update to wine master"

This reverts commit 7352638564.
This commit is contained in:
LIU Hao 2023-07-23 19:01:04 +08:00
parent 7352638564
commit d40cd2aba7
21 changed files with 6463 additions and 21056 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,983 +0,0 @@
/*
* Copyright 2017 Lucian Poston
*
* 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.idl";
import "d2d1effects.idl";
interface ID2D1DeviceContext;
interface ID2D1Properties;
interface IPrintDocumentPackageTarget;
interface ID2D1PrintControl;
interface IWICImagingFactory;
interface IWICColorContext;
interface ID2D1ColorContext;
interface ID2D1Effect;
interface ID2D1BitmapBrush1;
cpp_quote("#ifndef __dwrite_h__")
/* already defined in dwrite.h but needed for WIDL */
typedef struct DWRITE_GLYPH_RUN_DESCRIPTION DWRITE_GLYPH_RUN_DESCRIPTION;
cpp_quote("#endif /* __dwrite_h__ */")
cpp_quote("#define D2D1_INVALID_PROPERTY_INDEX UINT_MAX")
typedef enum D2D1_DEVICE_CONTEXT_OPTIONS
{
D2D1_DEVICE_CONTEXT_OPTIONS_NONE = 0x0,
D2D1_DEVICE_CONTEXT_OPTIONS_ENABLE_MULTITHREADED_OPTIMIZATIONS = 0x1,
D2D1_DEVICE_CONTEXT_OPTIONS_FORCE_DWORD = 0xffffffff,
} D2D1_DEVICE_CONTEXT_OPTIONS;
typedef enum D2D1_STROKE_TRANSFORM_TYPE
{
D2D1_STROKE_TRANSFORM_TYPE_NORMAL = 0x0,
D2D1_STROKE_TRANSFORM_TYPE_FIXED = 0x1,
D2D1_STROKE_TRANSFORM_TYPE_HAIRLINE = 0x2,
D2D1_STROKE_TRANSFORM_TYPE_FORCE_DWORD = 0xffffffff,
} D2D1_STROKE_TRANSFORM_TYPE;
typedef enum D2D1_PRIMITIVE_BLEND
{
D2D1_PRIMITIVE_BLEND_SOURCE_OVER = 0x0,
D2D1_PRIMITIVE_BLEND_COPY = 0x1,
D2D1_PRIMITIVE_BLEND_MIN = 0x2,
D2D1_PRIMITIVE_BLEND_ADD = 0x3,
D2D1_PRIMITIVE_BLEND_MAX = 0x4,
D2D1_PRIMITIVE_BLEND_FORCE_DWORD = 0xffffffff,
} D2D1_PRIMITIVE_BLEND;
typedef enum D2D1_UNIT_MODE
{
D2D1_UNIT_MODE_DIPS = 0x0,
D2D1_UNIT_MODE_PIXELS = 0x1,
D2D1_UNIT_MODE_FORCE_DWORD = 0xffffffff,
} D2D1_UNIT_MODE;
typedef enum D2D1_PRINT_FONT_SUBSET_MODE
{
D2D1_PRINT_FONT_SUBSET_MODE_DEFAULT = 0x0,
D2D1_PRINT_FONT_SUBSET_MODE_EACHPAGE = 0x1,
D2D1_PRINT_FONT_SUBSET_MODE_NONE = 0x2,
D2D1_PRINT_FONT_SUBSET_MODE_FORCE_DWORD = 0xffffffff,
} D2D1_PRINT_FONT_SUBSET_MODE;
typedef enum D2D1_COLOR_SPACE
{
D2D1_COLOR_SPACE_CUSTOM = 0x0,
D2D1_COLOR_SPACE_SRGB = 0x1,
D2D1_COLOR_SPACE_SCRGB = 0x2,
D2D1_COLOR_SPACE_FORCE_DWORD = 0xffffffff,
} D2D1_COLOR_SPACE;
typedef enum D2D1_BITMAP_OPTIONS
{
D2D1_BITMAP_OPTIONS_NONE = 0x0,
D2D1_BITMAP_OPTIONS_TARGET = 0x1,
D2D1_BITMAP_OPTIONS_CANNOT_DRAW = 0x2,
D2D1_BITMAP_OPTIONS_CPU_READ = 0x4,
D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE = 0x8,
D2D1_BITMAP_OPTIONS_FORCE_DWORD = 0xffffffff,
} D2D1_BITMAP_OPTIONS;
typedef enum D2D1_MAP_OPTIONS
{
D2D1_MAP_OPTIONS_NONE = 0x0,
D2D1_MAP_OPTIONS_READ = 0x1,
D2D1_MAP_OPTIONS_WRITE = 0x2,
D2D1_MAP_OPTIONS_DISCARD = 0x4,
D2D1_MAP_OPTIONS_FORCE_DWORD = 0xffffffff,
} D2D1_MAP_OPTIONS;
typedef enum D2D1_BUFFER_PRECISION
{
D2D1_BUFFER_PRECISION_UNKNOWN = 0x0,
D2D1_BUFFER_PRECISION_8BPC_UNORM = 0x1,
D2D1_BUFFER_PRECISION_8BPC_UNORM_SRGB = 0x2,
D2D1_BUFFER_PRECISION_16BPC_UNORM = 0x3,
D2D1_BUFFER_PRECISION_16BPC_FLOAT = 0x4,
D2D1_BUFFER_PRECISION_32BPC_FLOAT = 0x5,
D2D1_BUFFER_PRECISION_FORCE_DWORD = 0xffffffff,
} D2D1_BUFFER_PRECISION;
typedef enum D2D1_COLOR_INTERPOLATION_MODE
{
D2D1_COLOR_INTERPOLATION_MODE_STRAIGHT = 0x0,
D2D1_COLOR_INTERPOLATION_MODE_PREMULTIPLIED = 0x1,
D2D1_COLOR_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff,
} D2D1_COLOR_INTERPOLATION_MODE;
typedef enum D2D1_INTERPOLATION_MODE
{
D2D1_INTERPOLATION_MODE_NEAREST_NEIGHBOR = D2D1_INTERPOLATION_MODE_DEFINITION_NEAREST_NEIGHBOR,
D2D1_INTERPOLATION_MODE_LINEAR = D2D1_INTERPOLATION_MODE_DEFINITION_LINEAR,
D2D1_INTERPOLATION_MODE_CUBIC = D2D1_INTERPOLATION_MODE_DEFINITION_CUBIC,
D2D1_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = D2D1_INTERPOLATION_MODE_DEFINITION_MULTI_SAMPLE_LINEAR,
D2D1_INTERPOLATION_MODE_ANISOTROPIC = D2D1_INTERPOLATION_MODE_DEFINITION_ANISOTROPIC,
D2D1_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = D2D1_INTERPOLATION_MODE_DEFINITION_HIGH_QUALITY_CUBIC,
D2D1_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff,
} D2D1_INTERPOLATION_MODE;
typedef enum D2D1_COMPOSITE_MODE
{
D2D1_COMPOSITE_MODE_SOURCE_OVER = 0x0,
D2D1_COMPOSITE_MODE_DESTINATION_OVER = 0x1,
D2D1_COMPOSITE_MODE_SOURCE_IN = 0x2,
D2D1_COMPOSITE_MODE_DESTINATION_IN = 0x3,
D2D1_COMPOSITE_MODE_SOURCE_OUT = 0x4,
D2D1_COMPOSITE_MODE_DESTINATION_OUT = 0x5,
D2D1_COMPOSITE_MODE_SOURCE_ATOP = 0x6,
D2D1_COMPOSITE_MODE_DESTINATION_ATOP = 0x7,
D2D1_COMPOSITE_MODE_XOR = 0x8,
D2D1_COMPOSITE_MODE_PLUS = 0x9,
D2D1_COMPOSITE_MODE_SOURCE_COPY = 0xa,
D2D1_COMPOSITE_MODE_BOUNDED_SOURCE_COPY = 0xb,
D2D1_COMPOSITE_MODE_MASK_INVERT = 0xc,
D2D1_COMPOSITE_MODE_FORCE_DWORD = 0xffffffff,
} D2D1_COMPOSITE_MODE;
typedef enum D2D1_LAYER_OPTIONS1
{
D2D1_LAYER_OPTIONS1_NONE = 0x0,
D2D1_LAYER_OPTIONS1_INITIALIZE_FROM_BACKGROUND = 0x1,
D2D1_LAYER_OPTIONS1_IGNORE_ALPHA = 0x2,
D2D1_LAYER_OPTIONS1_FORCE_DWORD = 0xffffffff,
} D2D1_LAYER_OPTIONS1;
struct D2D1_PROPERTY_BINDING;
typedef D2D_MATRIX_4X4_F D2D1_MATRIX_4X4_F;
typedef enum D2D1_PROPERTY_TYPE
{
D2D1_PROPERTY_TYPE_UNKNOWN = 0x0,
D2D1_PROPERTY_TYPE_STRING = 0x1,
D2D1_PROPERTY_TYPE_BOOL = 0x2,
D2D1_PROPERTY_TYPE_UINT32 = 0x3,
D2D1_PROPERTY_TYPE_INT32 = 0x4,
D2D1_PROPERTY_TYPE_FLOAT = 0x5,
D2D1_PROPERTY_TYPE_VECTOR2 = 0x6,
D2D1_PROPERTY_TYPE_VECTOR3 = 0x7,
D2D1_PROPERTY_TYPE_VECTOR4 = 0x8,
D2D1_PROPERTY_TYPE_BLOB = 0x9,
D2D1_PROPERTY_TYPE_IUNKNOWN = 0xa,
D2D1_PROPERTY_TYPE_ENUM = 0xb,
D2D1_PROPERTY_TYPE_ARRAY = 0xc,
D2D1_PROPERTY_TYPE_CLSID = 0xd,
D2D1_PROPERTY_TYPE_MATRIX_3X2 = 0xe,
D2D1_PROPERTY_TYPE_MATRIX_4X3 = 0xf,
D2D1_PROPERTY_TYPE_MATRIX_4X4 = 0x10,
D2D1_PROPERTY_TYPE_MATRIX_5X4 = 0x11,
D2D1_PROPERTY_TYPE_COLOR_CONTEXT = 0x12,
D2D1_PROPERTY_TYPE_FORCE_DWORD = 0xffffffff,
} D2D1_PROPERTY_TYPE;
typedef enum D2D1_PROPERTY
{
D2D1_PROPERTY_CLSID = 0x80000000,
D2D1_PROPERTY_DISPLAYNAME = 0x80000001,
D2D1_PROPERTY_AUTHOR = 0x80000002,
D2D1_PROPERTY_CATEGORY = 0x80000003,
D2D1_PROPERTY_DESCRIPTION = 0x80000004,
D2D1_PROPERTY_INPUTS = 0x80000005,
D2D1_PROPERTY_CACHED = 0x80000006,
D2D1_PROPERTY_PRECISION = 0x80000007,
D2D1_PROPERTY_MIN_INPUTS = 0x80000008,
D2D1_PROPERTY_MAX_INPUTS = 0x80000009,
D2D1_PROPERTY_FORCE_DWORD = 0xffffffff
} D2D1_PROPERTY;
typedef enum D2D1_SUBPROPERTY
{
D2D1_SUBPROPERTY_DISPLAYNAME = 0x80000000,
D2D1_SUBPROPERTY_ISREADONLY = 0x80000001,
D2D1_SUBPROPERTY_MIN = 0x80000002,
D2D1_SUBPROPERTY_MAX = 0x80000003,
D2D1_SUBPROPERTY_DEFAULT = 0x80000004,
D2D1_SUBPROPERTY_FIELDS = 0x80000005,
D2D1_SUBPROPERTY_INDEX = 0x80000006,
D2D1_SUBPROPERTY_FORCE_DWORD = 0xffffffff
} D2D1_SUBPROPERTY;
typedef enum D2D1_THREADING_MODE
{
D2D1_THREADING_MODE_SINGLE_THREADED = D2D1_FACTORY_TYPE_SINGLE_THREADED,
D2D1_THREADING_MODE_MULTI_THREADED = D2D1_FACTORY_TYPE_MULTI_THREADED,
D2D1_THREADING_MODE_FORCE_DWORD = 0xffffffff,
} D2D1_THREADING_MODE;
typedef struct D2D1_CREATION_PROPERTIES
{
D2D1_THREADING_MODE threadingMode;
D2D1_DEBUG_LEVEL debugLevel;
D2D1_DEVICE_CONTEXT_OPTIONS options;
} D2D1_CREATION_PROPERTIES;
typedef struct D2D1_STROKE_STYLE_PROPERTIES1
{
D2D1_CAP_STYLE startCap;
D2D1_CAP_STYLE endCap;
D2D1_CAP_STYLE dashCap;
D2D1_LINE_JOIN lineJoin;
float miterLimit;
D2D1_DASH_STYLE dashStyle;
float dashOffset;
D2D1_STROKE_TRANSFORM_TYPE transformType;
} D2D1_STROKE_STYLE_PROPERTIES1;
typedef struct D2D1_DRAWING_STATE_DESCRIPTION1
{
D2D1_ANTIALIAS_MODE antialiasMode;
D2D1_TEXT_ANTIALIAS_MODE textAntialiasMode;
D2D1_TAG tag1;
D2D1_TAG tag2;
D2D1_MATRIX_3X2_F transform;
D2D1_PRIMITIVE_BLEND primitiveBlend;
D2D1_UNIT_MODE unitMode;
} D2D1_DRAWING_STATE_DESCRIPTION1;
typedef struct D2D1_PRINT_CONTROL_PROPERTIES
{
D2D1_PRINT_FONT_SUBSET_MODE fontSubset;
float rasterDPI;
D2D1_COLOR_SPACE colorSpace;
} D2D1_PRINT_CONTROL_PROPERTIES;
typedef struct D2D1_MAPPED_RECT
{
UINT32 pitch;
BYTE *bits;
} D2D1_MAPPED_RECT;
typedef struct D2D1_BITMAP_PROPERTIES1
{
D2D1_PIXEL_FORMAT pixelFormat;
float dpiX;
float dpiY;
D2D1_BITMAP_OPTIONS bitmapOptions;
ID2D1ColorContext *colorContext;
} D2D1_BITMAP_PROPERTIES1;
typedef struct D2D1_IMAGE_BRUSH_PROPERTIES
{
D2D1_RECT_F sourceRectangle;
D2D1_EXTEND_MODE extendModeX;
D2D1_EXTEND_MODE extendModeY;
D2D1_INTERPOLATION_MODE interpolationMode;
} D2D1_IMAGE_BRUSH_PROPERTIES;
typedef struct D2D1_BITMAP_BRUSH_PROPERTIES1
{
D2D1_EXTEND_MODE extendModeX;
D2D1_EXTEND_MODE extendModeY;
D2D1_INTERPOLATION_MODE interpolationMode;
} D2D1_BITMAP_BRUSH_PROPERTIES1;
typedef struct D2D1_RENDERING_CONTROLS
{
D2D1_BUFFER_PRECISION bufferPrecision;
D2D1_SIZE_U tileSize;
} D2D1_RENDERING_CONTROLS;
typedef struct D2D1_LAYER_PARAMETERS1
{
D2D1_RECT_F contentBounds;
ID2D1Geometry *geometricMask;
D2D1_ANTIALIAS_MODE maskAntialiasMode;
D2D1_MATRIX_3X2_F maskTransform;
float opacity;
ID2D1Brush *opacityBrush;
D2D1_LAYER_OPTIONS1 layerOptions;
} D2D1_LAYER_PARAMETERS1;
typedef struct D2D1_EFFECT_INPUT_DESCRIPTION
{
ID2D1Effect *effect;
UINT32 inputIndex;
D2D1_RECT_F inputRectangle;
} D2D1_EFFECT_INPUT_DESCRIPTION;
typedef struct D2D1_POINT_DESCRIPTION
{
D2D1_POINT_2F point;
D2D1_POINT_2F unitTangentVector;
UINT32 endSegment;
UINT32 endFigure;
float lengthToEndSegment;
} D2D1_POINT_DESCRIPTION;
typedef HRESULT (__stdcall *PD2D1_EFFECT_FACTORY)(IUnknown **effect);
[
object,
uuid(82237326-8111-4f7c-bcf4-b5c1175564fe),
local,
]
interface ID2D1GdiMetafileSink : IUnknown
{
HRESULT ProcessRecord(
[in] DWORD type,
[in, optional] const void *data,
[in] DWORD size
);
}
[
object,
uuid(2f543dc3-cfc1-4211-864f-cfd91c6f3395),
local,
]
interface ID2D1GdiMetafile : ID2D1Resource
{
HRESULT Stream(
[in] ID2D1GdiMetafileSink *sink
);
HRESULT GetBounds(
[out] D2D1_RECT_F *bounds
);
}
[
object,
uuid(62baa2d2-ab54-41b7-b872-787e0106a421),
local,
]
interface ID2D1PathGeometry1 : ID2D1PathGeometry
{
HRESULT ComputePointAndSegmentAtLength(
[in] float length,
[in] UINT32 start_segment,
[in, optional] const D2D1_MATRIX_3X2_F *transform,
[in] float tolerance,
[out] D2D1_POINT_DESCRIPTION *point_desc
);
}
[
object,
uuid(483473d7-cd46-4f9d-9d3a-3112aa80159d),
local,
]
interface ID2D1Properties : IUnknown
{
UINT32 GetPropertyCount();
HRESULT GetPropertyName(
[in] UINT32 index,
[out] WCHAR *name,
[in] UINT32 name_count
);
UINT32 GetPropertyNameLength(
[in] UINT32 index
);
D2D1_PROPERTY_TYPE GetType(
[in] UINT32 index
);
UINT32 GetPropertyIndex(
[in] const WCHAR *name
);
HRESULT SetValueByName(
[in] const WCHAR *name,
[in] D2D1_PROPERTY_TYPE type,
[in] const BYTE *value,
[in] UINT32 value_size
);
HRESULT SetValue(
[in] UINT32 index,
[in] D2D1_PROPERTY_TYPE type,
[in] const BYTE *value,
[in] UINT32 value_size
);
HRESULT GetValueByName(
[in] const WCHAR *name,
[in] D2D1_PROPERTY_TYPE type,
[out] BYTE *value,
[in] UINT32 value_size
);
HRESULT GetValue(
[in] UINT32 index,
[in] D2D1_PROPERTY_TYPE type,
[out] BYTE *value,
[in] UINT32 value_size
);
UINT32 GetValueSize(
[in] UINT32 index
);
HRESULT GetSubProperties(
[in] UINT32 index,
[out] ID2D1Properties **props
);
}
[
object,
uuid(28211a43-7d89-476f-8181-2d6159b220ad),
local,
]
interface ID2D1Effect : ID2D1Properties
{
void SetInput(
[in] UINT32 index,
[in] ID2D1Image *input,
[in] BOOL invalidate
);
HRESULT SetInputCount(
[in] UINT32 count
);
void GetInput(
[in] UINT32 index,
[out] ID2D1Image **input
);
UINT32 GetInputCount();
void GetOutput(
[out] ID2D1Image **output
);
}
[
object,
uuid(689f1f85-c72e-4e33-8f19-85754efd5ace),
local,
]
interface ID2D1DrawingStateBlock1 : ID2D1DrawingStateBlock
{
void GetDescription(
[out] D2D1_DRAWING_STATE_DESCRIPTION1 *desc
);
void SetDescription(
[in] const D2D1_DRAWING_STATE_DESCRIPTION1 *desc
);
}
[
object,
uuid(1c4820bb-5771-4518-a581-2fe4dd0ec657),
local,
]
interface ID2D1ColorContext : ID2D1Resource
{
D2D1_COLOR_SPACE GetColorSpace();
UINT32 GetProfileSize();
HRESULT GetProfile(
[out] BYTE *profile,
[in] UINT32 size
);
}
[
object,
uuid(a898a84c-3873-4588-b08b-ebbf978df041),
local,
]
interface ID2D1Bitmap1 : ID2D1Bitmap
{
void GetColorContext(
[out] ID2D1ColorContext **context
);
D2D1_BITMAP_OPTIONS GetOptions();
HRESULT GetSurface(
[out] IDXGISurface **surface
);
HRESULT Map(
[in] D2D1_MAP_OPTIONS options,
[out] D2D1_MAPPED_RECT *mapped_rect
);
HRESULT Unmap();
}
[
object,
uuid(41343a53-e41a-49a2-91cd-21793bbb62e5),
local,
]
interface ID2D1BitmapBrush1 : ID2D1BitmapBrush
{
void SetInterpolationMode1(
[in] D2D1_INTERPOLATION_MODE mode
);
D2D1_INTERPOLATION_MODE GetInterpolationMode1();
}
[
object,
uuid(ae1572f4-5dd0-4777-998b-9279472ae63b),
local,
]
interface ID2D1GradientStopCollection1 : ID2D1GradientStopCollection
{
void GetGradientStops1(
[out] D2D1_GRADIENT_STOP *gradient,
[in] UINT32 count
);
D2D1_COLOR_SPACE GetPreInterpolationSpace();
D2D1_COLOR_SPACE GetPostInterpolationSpace();
D2D1_BUFFER_PRECISION GetBufferPrecision();
D2D1_COLOR_INTERPOLATION_MODE GetColorInterpolationMode();
}
[
object,
uuid(47dd575d-ac05-4cdd-8049-9b02cd16f44c),
local,
]
interface ID2D1Device : ID2D1Resource
{
HRESULT CreateDeviceContext(
[in] D2D1_DEVICE_CONTEXT_OPTIONS options,
[out] ID2D1DeviceContext **context
);
HRESULT CreatePrintControl(
[in] IWICImagingFactory *wic_factory,
[in] IPrintDocumentPackageTarget *document_target,
[in] const D2D1_PRINT_CONTROL_PROPERTIES *desc,
[out] ID2D1PrintControl **print_control
);
void SetMaximumTextureMemory(
[in] UINT64 max_texture_memory
);
UINT64 GetMaximumTextureMemory();
HRESULT ClearResources(
[in, defaultvalue(0)] UINT msec_since_use
);
}
[
object,
uuid(54d7898a-a061-40a7-bec7-e465bcba2c4f),
local,
]
interface ID2D1CommandSink : IUnknown
{
HRESULT BeginDraw();
HRESULT EndDraw();
HRESULT SetAntialiasMode(
[in] D2D1_ANTIALIAS_MODE antialias_mode
);
HRESULT SetTags(
[in] D2D1_TAG tag1,
[in] D2D1_TAG tag2
);
HRESULT SetTextAntialiasMode(
[in] D2D1_TEXT_ANTIALIAS_MODE antialias_mode
);
HRESULT SetTextRenderingParams(
[in] IDWriteRenderingParams *text_rendering_params
);
HRESULT SetTransform(
[in] const D2D1_MATRIX_3X2_F *transform
);
HRESULT SetPrimitiveBlend(
[in] D2D1_PRIMITIVE_BLEND primitive_blend
);
HRESULT SetUnitMode(
[in] D2D1_UNIT_MODE unit_mode
);
HRESULT Clear(
[in] const D2D1_COLOR_F *color
);
HRESULT DrawGlyphRun(
[in] D2D1_POINT_2F baseline_origin,
[in] const DWRITE_GLYPH_RUN *glyph_run,
[in] const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,
[in] ID2D1Brush *brush,
[in] DWRITE_MEASURING_MODE measuring_mode
);
HRESULT DrawLine(
[in] D2D1_POINT_2F p0,
[in] D2D1_POINT_2F p1,
[in] ID2D1Brush *brush,
[in] float stroke_width,
[in] ID2D1StrokeStyle *stroke_style
);
HRESULT DrawGeometry(
[in] ID2D1Geometry *geometry,
[in] ID2D1Brush *brush,
[in] float stroke_width,
[in] ID2D1StrokeStyle *stroke_style
);
HRESULT DrawRectangle(
[in] const D2D1_RECT_F *rect,
[in] ID2D1Brush *brush,
[in] float stroke_width,
[in] ID2D1StrokeStyle *stroke_style
);
HRESULT DrawBitmap(
[in] ID2D1Bitmap *bitmap,
[in] const D2D1_RECT_F *dst_rect,
[in] float opacity,
[in] D2D1_INTERPOLATION_MODE interpolation_mode,
[in] const D2D1_RECT_F *src_rect,
[in] const D2D1_MATRIX_4X4_F *perspective_transform
);
HRESULT DrawImage(
[in] ID2D1Image *image,
[in] const D2D1_POINT_2F *target_offset,
[in] const D2D1_RECT_F *image_rect,
[in] D2D1_INTERPOLATION_MODE interpolation_mode,
[in] D2D1_COMPOSITE_MODE composite_mode
);
HRESULT DrawGdiMetafile(
[in] ID2D1GdiMetafile *metafile,
[in] const D2D1_POINT_2F *target_offset
);
HRESULT FillMesh(
[in] ID2D1Mesh *mesh,
[in] ID2D1Brush *brush
);
HRESULT FillOpacityMask(
[in] ID2D1Bitmap *bitmap,
[in] ID2D1Brush *brush,
[in] const D2D1_RECT_F *dst_rect,
[in] const D2D1_RECT_F *src_rect
);
HRESULT FillGeometry(
[in] ID2D1Geometry *geometry,
[in] ID2D1Brush *brush,
[in] ID2D1Brush *opacity_brush
);
HRESULT FillRectangle(
[in] const D2D1_RECT_F *rect,
[in] ID2D1Brush *brush
);
HRESULT PushAxisAlignedClip(
[in] const D2D1_RECT_F *clip_rect,
[in] D2D1_ANTIALIAS_MODE antialias_mode
);
HRESULT PushLayer(
[in] const D2D1_LAYER_PARAMETERS1 *layer_parameters,
[in] ID2D1Layer *layer
);
HRESULT PopAxisAlignedClip();
HRESULT PopLayer();
}
[
object,
uuid(b4f34a19-2383-4d76-94f6-ec343657c3dc),
local,
]
interface ID2D1CommandList : ID2D1Image
{
HRESULT Stream(
[in] ID2D1CommandSink *sink
);
HRESULT Close();
}
[
object,
uuid(2c1d867d-c290-41c8-ae7e-34a98702e9a5),
local,
]
interface ID2D1PrintControl : IUnknown
{
HRESULT AddPage(
[in] ID2D1CommandList *list,
[in] D2D_SIZE_F size,
[in, optional] IStream *stream,
[out, optional] D2D1_TAG *tag1,
[out, optional] D2D1_TAG *tag2
);
HRESULT Close();
}
[
object,
uuid(fe9e984d-3f95-407c-b5db-cb94d4e8f87c),
local,
]
interface ID2D1ImageBrush : ID2D1Brush
{
void SetImage(
[in] ID2D1Image *image
);
void SetExtendModeX(
[in] D2D1_EXTEND_MODE extend_mode
);
void SetExtendModeY(
[in] D2D1_EXTEND_MODE extend_mode
);
void SetInterpolationMode(
[in] D2D1_INTERPOLATION_MODE interpolation_mode
);
void SetSourceRectangle(
[in] const D2D1_RECT_F *rect
);
void GetImage(
[out] ID2D1Image **image
);
D2D1_EXTEND_MODE GetExtendModeX();
D2D1_EXTEND_MODE GetExtendModeY();
D2D1_INTERPOLATION_MODE GetInterpolationMode();
void GetSourceRectangle(
[out] D2D1_RECT_F *rect
);
}
[
object,
uuid(e8f7fe7a-191c-466d-ad95-975678bda998),
local,
]
interface ID2D1DeviceContext : ID2D1RenderTarget
{
HRESULT CreateBitmap(
[in] D2D1_SIZE_U size,
[in] const void *src_data,
[in] UINT32 pitch,
[in] const D2D1_BITMAP_PROPERTIES1 *desc,
[out] ID2D1Bitmap1 **bitmap
);
HRESULT CreateBitmapFromWicBitmap(
[in] IWICBitmapSource *bitmap_source,
[in] const D2D1_BITMAP_PROPERTIES1 *desc,
[out] ID2D1Bitmap1 **bitmap
);
HRESULT CreateColorContext(
[in] D2D1_COLOR_SPACE space,
[in] const BYTE *profile,
[in] UINT32 profile_size,
[out] ID2D1ColorContext **color_context
);
HRESULT CreateColorContextFromFilename(
[in] const WCHAR *filename,
[out] ID2D1ColorContext **color_context
);
HRESULT CreateColorContextFromWicColorContext(
[in] IWICColorContext *wic_color_context,
[out] ID2D1ColorContext **color_context
);
HRESULT CreateBitmapFromDxgiSurface(
[in] IDXGISurface *surface,
[in] const D2D1_BITMAP_PROPERTIES1 *desc,
[out] ID2D1Bitmap1 **bitmap
);
HRESULT CreateEffect(
[in] REFCLSID effect_id,
[out] ID2D1Effect **effect
);
HRESULT CreateGradientStopCollection(
[in] const D2D1_GRADIENT_STOP *stops,
[in] UINT32 stop_count,
[in] D2D1_COLOR_SPACE preinterpolation_space,
[in] D2D1_COLOR_SPACE postinterpolation_space,
[in] D2D1_BUFFER_PRECISION buffer_precision,
[in] D2D1_EXTEND_MODE extend_mode,
[in] D2D1_COLOR_INTERPOLATION_MODE color_interpolation_mode,
[out] ID2D1GradientStopCollection1 **gradient
);
HRESULT CreateImageBrush(
[in] ID2D1Image *image,
[in] const D2D1_IMAGE_BRUSH_PROPERTIES *image_brush_desc,
[in] const D2D1_BRUSH_PROPERTIES *brush_desc,
[out] ID2D1ImageBrush **brush
);
HRESULT CreateBitmapBrush(
[in] ID2D1Bitmap *bitmap,
[in] const D2D1_BITMAP_BRUSH_PROPERTIES1 *bitmap_brush_desc,
[in] const D2D1_BRUSH_PROPERTIES *brush_desc,
[out] ID2D1BitmapBrush1 **bitmap_brush
);
HRESULT CreateCommandList(
[out] ID2D1CommandList **command_list
);
BOOL IsDxgiFormatSupported(
[in] DXGI_FORMAT format
);
BOOL IsBufferPrecisionSupported(
[in] D2D1_BUFFER_PRECISION buffer_precision
);
void GetImageLocalBounds(
[in] ID2D1Image *image,
[out] D2D1_RECT_F *local_bounds
);
HRESULT GetImageWorldBounds(
[in] ID2D1Image *image,
[out] D2D1_RECT_F *world_bounds
);
HRESULT GetGlyphRunWorldBounds(
[in] D2D1_POINT_2F baseline_origin,
[in] const DWRITE_GLYPH_RUN *glyph_run,
[in] DWRITE_MEASURING_MODE measuring_mode,
[out] D2D1_RECT_F *bounds
);
void GetDevice(
[out] ID2D1Device **device
);
void SetTarget(
[in] ID2D1Image *target
);
void GetTarget(
[out] ID2D1Image **target
);
void SetRenderingControls(
[in] const D2D1_RENDERING_CONTROLS *rendering_controls
);
void GetRenderingControls(
[out] D2D1_RENDERING_CONTROLS *rendering_controls
);
void SetPrimitiveBlend(
[in] D2D1_PRIMITIVE_BLEND primitive_blend
);
D2D1_PRIMITIVE_BLEND GetPrimitiveBlend();
void SetUnitMode(
[in] D2D1_UNIT_MODE unit_mode
);
D2D1_UNIT_MODE GetUnitMode();
void DrawGlyphRun(
[in] D2D1_POINT_2F baseline_origin,
[in] const DWRITE_GLYPH_RUN *glyph_run,
[in] const DWRITE_GLYPH_RUN_DESCRIPTION *glyph_run_desc,
[in] ID2D1Brush *brush,
[in] DWRITE_MEASURING_MODE measuring_mode
);
void DrawImage(
[in] ID2D1Image *image,
[in] const D2D1_POINT_2F *target_offset,
[in] const D2D1_RECT_F *image_rect,
[in] D2D1_INTERPOLATION_MODE interpolation_mode,
[in] D2D1_COMPOSITE_MODE composite_mode
);
void DrawGdiMetafile(
[in] ID2D1GdiMetafile *metafile,
[in] const D2D1_POINT_2F *target_offset
);
void DrawBitmap(
[in] ID2D1Bitmap *bitmap,
[in] const D2D1_RECT_F *dst_rect,
[in] float opacity,
[in] D2D1_INTERPOLATION_MODE interpolation_mode,
[in] const D2D1_RECT_F *src_rect,
[in] const D2D1_MATRIX_4X4_F *perspective_transform
);
void PushLayer(
[in] const D2D1_LAYER_PARAMETERS1 *layer_parameters,
[in] ID2D1Layer *layer
);
HRESULT InvalidateEffectInputRectangle(
[in] ID2D1Effect *effect,
[in] UINT32 input,
[in] const D2D1_RECT_F *input_rect
);
HRESULT GetEffectInvalidRectangleCount(
[in] ID2D1Effect *effect,
[out] UINT32 *rect_count
);
HRESULT GetEffectInvalidRectangles(
[in] ID2D1Effect *effect,
[out] D2D1_RECT_F *rectangles,
[in] UINT32 rect_count
);
HRESULT GetEffectRequiredInputRectangles(
[in] ID2D1Effect *effect,
[in] const D2D1_RECT_F *image_rect,
[in] const D2D1_EFFECT_INPUT_DESCRIPTION *desc,
[out] D2D1_RECT_F *input_rect,
[in] UINT32 input_count
);
void FillOpacityMask(
[in] ID2D1Bitmap *mask,
[in] ID2D1Brush *brush,
[in] const D2D1_RECT_F *dst_rect,
[in] const D2D1_RECT_F *src_rect
);
}
[
object,
uuid(10a72a66-e91c-43f4-993f-ddf4b82b0b4a),
local,
]
interface ID2D1StrokeStyle1 : ID2D1StrokeStyle
{
D2D1_STROKE_TRANSFORM_TYPE GetStrokeTransformType();
}
[
object,
uuid(bb12d362-daee-4b9a-aa1d-14ba401cfa1f),
local,
]
interface ID2D1Factory1 : ID2D1Factory
{
HRESULT CreateDevice(
[in] IDXGIDevice *dxgi_device,
[out] ID2D1Device **device
);
HRESULT CreateStrokeStyle(
[in] const D2D1_STROKE_STYLE_PROPERTIES1 *desc,
[in, size_is(dash_count)] const float *dashes,
[in] UINT32 dash_count,
[out] ID2D1StrokeStyle1 **stroke_style
);
HRESULT CreatePathGeometry(
[out] ID2D1PathGeometry1 **geometry
);
HRESULT CreateDrawingStateBlock(
[in] const D2D1_DRAWING_STATE_DESCRIPTION1 *desc,
[in] IDWriteRenderingParams *text_rendering_params,
[out] ID2D1DrawingStateBlock1 **state_block
);
HRESULT CreateGdiMetafile(
[in] IStream *stream,
[out] ID2D1GdiMetafile **metafile
);
HRESULT RegisterEffectFromStream(
[in] REFCLSID effect_id,
[in] IStream *property_xml,
[in, size_is(binding_count)] const struct D2D1_PROPERTY_BINDING *bindings,
[in] UINT32 binding_count,
[in] PD2D1_EFFECT_FACTORY effect_factory
);
HRESULT RegisterEffectFromString(
[in] REFCLSID effect_id,
[in] const WCHAR *property_xml,
[in, size_is(binding_count)] const struct D2D1_PROPERTY_BINDING *bindings,
[in] UINT32 binding_count,
[in] PD2D1_EFFECT_FACTORY effect_factory
);
HRESULT UnregisterEffect(
[in] REFCLSID effect_id
);
HRESULT GetRegisteredEffects(
[out, size_is(effect_count)] CLSID *effects,
[in] UINT32 effect_count,
[out] UINT32 *returned,
[out] UINT32 *registered
);
HRESULT GetEffectProperties(
[in] REFCLSID effect_id,
[out] ID2D1Properties **props
);
}
[
object,
uuid(31e6e7bc-e0ff-4d46-8c64-a0a8c41c15d3),
local,
]
interface ID2D1Multithread : IUnknown
{
BOOL GetMultithreadProtected();
void Enter();
void Leave();
}
[local] HRESULT __stdcall D2D1CreateDevice(IDXGIDevice *dxgi_device,
const D2D1_CREATION_PROPERTIES *creation_properties, ID2D1Device **device);
[local] void __stdcall D2D1SinCos(float angle, float *s, float *c);
[local] float __stdcall D2D1Tan(float angle);
[local] float __stdcall D2D1Vec3Length(float x, float y, float z);
[local] D2D1_COLOR_F __stdcall D2D1ConvertColorSpace(D2D1_COLOR_SPACE src_colour_space,
D2D1_COLOR_SPACE dst_colour_space, const D2D1_COLOR_F *colour);

View File

@ -1,103 +0,0 @@
/*
* Copyright 2018 Nikolay Sivov 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_1.idl";
import "d2d1effects_1.idl";
typedef enum D2D1_RENDERING_PRIORITY
{
D2D1_RENDERING_PRIORITY_NORMAL = 0,
D2D1_RENDERING_PRIORITY_LOW = 1,
D2D1_RENDERING_PRIORITY_FORCE_DWORD = 0xffffffff,
} D2D1_RENDERING_PRIORITY;
[
object,
uuid(a16907d7-bc02-4801-99e8-8cf7f485f774),
local,
]
interface ID2D1GeometryRealization : ID2D1Resource
{
}
[
object,
uuid(d37f57e4-6908-459f-a199-e72f24f79987),
local,
]
interface ID2D1DeviceContext1 : ID2D1DeviceContext
{
HRESULT CreateFilledGeometryRealization(
[in] ID2D1Geometry *geometry,
[in] float tolerance,
[out] ID2D1GeometryRealization **realization
);
HRESULT CreateStrokedGeometryRealization(
[in] ID2D1Geometry *geometry,
[in] float tolerance,
[in] float stroke_width,
[in] ID2D1StrokeStyle *stroke_style,
[out] ID2D1GeometryRealization **realization
);
void DrawGeometryRealization(
[in] ID2D1GeometryRealization *realization,
[in] ID2D1Brush *brush
);
}
[
object,
uuid(d21768e1-23a4-4823-a14b-7c3eba85d658),
local,
]
interface ID2D1Device1 : ID2D1Device
{
D2D1_RENDERING_PRIORITY GetRenderingPriority();
void SetRenderingPriority(
[in] D2D1_RENDERING_PRIORITY priority
);
HRESULT CreateDeviceContext(
[in] D2D1_DEVICE_CONTEXT_OPTIONS options,
[out] ID2D1DeviceContext1 **device_context
);
}
[
object,
uuid(94f81a73-9212-4376-9c58-b16a3a0d3992),
local,
]
interface ID2D1Factory2 : ID2D1Factory1
{
HRESULT CreateDevice(
[in] IDXGIDevice *dxgi_device,
[out] ID2D1Device1 **device
);
}
[
object,
uuid(9eb767fd-4269-4467-b8c2-eb30cb305743),
local,
]
interface ID2D1CommandSink1 : ID2D1CommandSink
{
HRESULT SetPrimitiveBlend1(
[in] D2D1_PRIMITIVE_BLEND primitive_blend
);
}

View File

@ -1,591 +0,0 @@
/*
* 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";
import "d2d1effects_2.idl";
interface IDWriteFontFace;
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;
typedef enum D2D1_PATCH_EDGE_MODE
{
D2D1_PATCH_EDGE_MODE_ALIASED = 0x0,
D2D1_PATCH_EDGE_MODE_ANTIALIASED = 0x1,
D2D1_PATCH_EDGE_MODE_ALIASED_INFLATED = 0x2,
D2D1_PATCH_EDGE_MODE_FORCE_DWORD = 0xffffffff
} D2D1_PATCH_EDGE_MODE;
typedef enum D2D1_ORIENTATION
{
D2D1_ORIENTATION_DEFAULT = 0x1,
D2D1_ORIENTATION_FLIP_HORIZONTAL = 0x2,
D2D1_ORIENTATION_ROTATE_CLOCKWISE180 = 0x3,
D2D1_ORIENTATION_ROTATE_CLOCKWISE180_FLIP_HORIZONTAL = 0x4,
D2D1_ORIENTATION_ROTATE_CLOCKWISE90_FLIP_HORIZONTAL = 0x5,
D2D1_ORIENTATION_ROTATE_CLOCKWISE270 = 0x6,
D2D1_ORIENTATION_ROTATE_CLOCKWISE270_FLIP_HORIZONTAL = 0x7,
D2D1_ORIENTATION_ROTATE_CLOCKWISE90 = 0x8,
D2D1_ORIENTATION_FORCE_DWORD = 0xffffffff
} D2D1_ORIENTATION;
typedef enum D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS
{
D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_NONE = 0x0,
D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_DISABLE_DPI_SCALE = 0x1,
D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS;
typedef enum D2D1_IMAGE_SOURCE_LOADING_OPTIONS
{
D2D1_IMAGE_SOURCE_LOADING_OPTIONS_NONE = 0x0,
D2D1_IMAGE_SOURCE_LOADING_OPTIONS_RELEASE_SOURCE = 0x1,
D2D1_IMAGE_SOURCE_LOADING_OPTIONS_CACHE_ON_DEMAND = 0x2,
D2D1_IMAGE_SOURCE_LOADING_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_IMAGE_SOURCE_LOADING_OPTIONS;
typedef enum D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS
{
D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_NONE = 0x0,
D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_LOW_QUALITY_PRIMARY_CONVERSION = 0x1,
D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS;
typedef enum D2D1_SPRITE_OPTIONS
{
D2D1_SPRITE_OPTIONS_NONE = 0x0,
D2D1_SPRITE_OPTIONS_CLAMP_TO_SOURCE_RECTANGLE = 0x1,
D2D1_SPRITE_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_SPRITE_OPTIONS;
typedef enum D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION
{
D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DEFAULT = 0x0,
D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_DISABLE = 0x1,
D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_FORCE_DWORD = 0xffffffff
} D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION;
typedef struct D2D1_INK_POINT
{
float x;
float y;
float radius;
} D2D1_INK_POINT;
typedef struct D2D1_INK_BEZIER_SEGMENT
{
D2D1_INK_POINT point1;
D2D1_INK_POINT point2;
D2D1_INK_POINT point3;
} D2D1_INK_BEZIER_SEGMENT;
typedef struct D2D1_INK_STYLE_PROPERTIES
{
D2D1_INK_NIB_SHAPE nibShape;
D2D1_MATRIX_3X2_F nibTransform;
} D2D1_INK_STYLE_PROPERTIES;
typedef struct D2D1_GRADIENT_MESH_PATCH
{
D2D1_POINT_2F point00;
D2D1_POINT_2F point01;
D2D1_POINT_2F point02;
D2D1_POINT_2F point03;
D2D1_POINT_2F point10;
D2D1_POINT_2F point11;
D2D1_POINT_2F point12;
D2D1_POINT_2F point13;
D2D1_POINT_2F point20;
D2D1_POINT_2F point21;
D2D1_POINT_2F point22;
D2D1_POINT_2F point23;
D2D1_POINT_2F point30;
D2D1_POINT_2F point31;
D2D1_POINT_2F point32;
D2D1_POINT_2F point33;
D2D1_COLOR_F color00;
D2D1_COLOR_F color03;
D2D1_COLOR_F color30;
D2D1_COLOR_F color33;
D2D1_PATCH_EDGE_MODE topEdgeMode;
D2D1_PATCH_EDGE_MODE leftEdgeMode;
D2D1_PATCH_EDGE_MODE bottomEdgeMode;
D2D1_PATCH_EDGE_MODE rightEdgeMode;
} D2D1_GRADIENT_MESH_PATCH;
typedef struct D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES
{
D2D1_ORIENTATION orientation;
float scaleX;
float scaleY;
D2D1_INTERPOLATION_MODE interpolationMode;
D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS options;
} D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES;
[
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();
}
[
object,
uuid(b499923b-7029-478f-a8b3-432c7c5f5312),
local,
]
interface ID2D1Ink : ID2D1Resource
{
void SetStartPoint(
[in] const D2D1_INK_POINT *start_point
);
D2D1_INK_POINT GetStartPoint();
HRESULT AddSegments(
[in] const D2D1_INK_BEZIER_SEGMENT *segments,
[in] UINT32 segment_count
);
HRESULT RemoveSegmentsAtEnd(
[in] UINT32 segment_count
);
HRESULT SetSegments(
[in] UINT32 start_segment,
[in] const D2D1_INK_BEZIER_SEGMENT *segments,
[in] UINT32 segment_count
);
HRESULT SetSegmentAtEnd(
[in] const D2D1_INK_BEZIER_SEGMENT *segment
);
UINT32 GetSegmentCount();
HRESULT GetSegments(
[in] UINT32 start_segment,
[out] D2D1_INK_BEZIER_SEGMENT *segments,
[in] UINT32 segment_count
);
HRESULT StreamAsGeometry(
[in, optional] ID2D1InkStyle *ink_style,
[in, optional] const D2D1_MATRIX_3X2_F *world_transform,
[in] float flattening_tolerance,
[in] ID2D1SimplifiedGeometrySink *geometry_sink
);
HRESULT GetBounds(
[in, optional] ID2D1InkStyle *ink_style,
[in, optional] const D2D1_MATRIX_3X2_F *world_transform,
[out] D2D1_RECT_F *bounds
);
}
[
object,
uuid(f292e401-c050-4cde-83d7-04962d3b23c2),
local,
]
interface ID2D1GradientMesh : ID2D1Resource
{
UINT32 GetPatchCount();
HRESULT GetPatches(
[in] UINT32 start_index,
[out] D2D1_GRADIENT_MESH_PATCH *patches,
[in] UINT32 patch_count
);
}
[
object,
uuid(c9b664e5-74a1-4378-9ac2-eefc37a3f4d8),
local,
]
interface ID2D1ImageSource : ID2D1Image
{
HRESULT OfferResources();
HRESULT TryReclaimResources(
[out] BOOL *resources_discarded
);
}
[
object,
uuid(77395441-1c8f-4555-8683-f50dab0fe792),
local,
]
interface ID2D1ImageSourceFromWic : ID2D1ImageSource
{
HRESULT EnsureCached(
[in, optional] const D2D1_RECT_U *rect_to_fill
);
HRESULT TrimCache(
[in, optional] const D2D1_RECT_U *rect_to_preserve
);
void GetSource(
[out] IWICBitmapSource **source
);
}
[
object,
uuid(7f1f79e5-2796-416c-8f55-700f911445e5),
local,
]
interface ID2D1TransformedImageSource : ID2D1Image
{
void GetSource(
[out] ID2D1ImageSource **source
);
void GetProperties(
[out] D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *out
);
}
[
object,
uuid(53dd9855-a3b0-4d5b-82e1-26e25c5e5797),
local,
]
interface ID2D1LookupTable3D : ID2D1Resource
{
}
[
object,
uuid(4dc583bf-3a10-438a-8722-e9765224f1f1),
local,
]
interface ID2D1SpriteBatch : ID2D1Resource
{
HRESULT AddSprites(
[in] UINT32 sprite_count,
[in] const D2D1_RECT_F *destination_rectangles,
[in] const D2D1_RECT_U *source_rectangles,
[in] const D2D1_COLOR_F *colors,
[in] const D2D1_MATRIX_3X2_F *transforms,
[in] UINT32 destination_rectangles_stride,
[in] UINT32 source_rectangles_stride,
[in] UINT32 colors_stride,
[in] UINT32 transforms_stride
);
HRESULT SetSprites(
[in] UINT32 start_index,
[in] UINT32 sprite_count,
[in] const D2D1_RECT_F *destination_rectangles,
[in] const D2D1_RECT_U *source_rectangles,
[in] const D2D1_COLOR_F *colors,
[in] const D2D1_MATRIX_3X2_F *transforms,
[in] UINT32 destination_rectangles_stride,
[in] UINT32 source_rectangles_stride,
[in] UINT32 colors_stride,
[in] UINT32 transforms_stride
);
HRESULT GetSprites(
[in] UINT32 start_index,
[in] UINT32 sprite_count,
[out, optional] D2D1_RECT_F *destination_rectangles,
[out, optional] D2D1_RECT_U *source_rectangles,
[out, optional] D2D1_COLOR_F *colors,
[out, optional] D2D1_MATRIX_3X2_F *transforms
);
UINT32 GetSpriteCount(void);
void Clear(void);
}
[
object,
uuid(af671749-d241-4db8-8e41-dcc2e5c1a438),
local,
]
interface ID2D1SvgGlyphStyle : ID2D1Resource
{
HRESULT SetFill(
[in, optional] ID2D1Brush *brush
);
void GetFill(
[out] ID2D1Brush **brush
);
HRESULT SetStroke(
[in, optional] ID2D1Brush *brush,
[in] FLOAT stroke_width,
[in, optional] const FLOAT *dashes,
[in, optional] UINT32 dashes_count,
[in] FLOAT dash_offset
);
UINT32 GetStrokeDashesCount(void);
void GetStroke(
[out, optional] ID2D1Brush **brush,
[out, optional] FLOAT *stroke_width,
[out, optional] FLOAT *dashes,
[in, optional] UINT32 dashes_count,
[out, optional] FLOAT *dash_offset
);
}
[
object,
uuid(394ea6a3-0c34-4321-950b-6ca20f0be6c7),
local,
]
interface ID2D1DeviceContext2 : ID2D1DeviceContext1
{
HRESULT CreateInk(
[in] const D2D1_INK_POINT *start_point,
[out] ID2D1Ink **ink
);
HRESULT CreateInkStyle(
[in, optional] const D2D1_INK_STYLE_PROPERTIES *ink_style_properties,
[out] ID2D1InkStyle **ink_style
);
HRESULT CreateGradientMesh(
[in] const D2D1_GRADIENT_MESH_PATCH *patches,
[in] UINT32 patches_count,
[out] ID2D1GradientMesh **gradient_mesh
);
HRESULT CreateImageSourceFromWic(
[in] IWICBitmapSource *wic_bitmap_source,
[in] D2D1_IMAGE_SOURCE_LOADING_OPTIONS loading_options,
[in] D2D1_ALPHA_MODE alpha_mode,
[out] ID2D1ImageSourceFromWic **image_source
);
HRESULT CreateLookupTable3D(
[in] D2D1_BUFFER_PRECISION precision,
[in] const UINT32 *extents,
[in] const BYTE *data,
[in] UINT32 data_count,
[in] const UINT32 *strides,
[out] ID2D1LookupTable3D **lookup_table
);
HRESULT CreateImageSourceFromDxgi(
[in] IDXGISurface **surfaces,
[in] UINT32 surface_count,
[in] DXGI_COLOR_SPACE_TYPE color_space,
[in] D2D1_IMAGE_SOURCE_FROM_DXGI_OPTIONS options,
[out] ID2D1ImageSource **image_source
);
HRESULT GetGradientMeshWorldBounds(
[in] ID2D1GradientMesh *gradient_mesh,
[out] D2D1_RECT_F *bounds
);
void DrawInk(
[in] ID2D1Ink *ink,
[in] ID2D1Brush *brush,
[in, optional] ID2D1InkStyle *ink_style
);
void DrawGradientMesh(
[in] ID2D1GradientMesh *gradient_mesh
);
void DrawGdiMetafile(
[in] ID2D1GdiMetafile *gdi_metafile,
[in, optional] const D2D1_RECT_F *dst_rect,
[in, optional] const D2D1_RECT_F *src_rect
);
HRESULT CreateTransformedImageSource(
[in] ID2D1ImageSource *source,
[in] const D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES *props,
[out] ID2D1TransformedImageSource **transformed
);
}
[
object,
uuid(235a7496-8351-414c-bcd4-6672ab2d8e00),
local,
]
interface ID2D1DeviceContext3 : ID2D1DeviceContext2
{
HRESULT CreateSpriteBatch(
[out] ID2D1SpriteBatch **sprite_batch
);
void DrawSpriteBatch(
[in] ID2D1SpriteBatch *sprite_batch,
[in] UINT32 start_index,
[in] UINT32 sprite_count,
[in] ID2D1Bitmap *bitmap,
[in] D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,
[in] D2D1_SPRITE_OPTIONS sprite_options
);
}
[
object,
uuid(8c427831-3d90-4476-b647-c4fae349e4db),
local,
]
interface ID2D1DeviceContext4 : ID2D1DeviceContext3
{
HRESULT CreateSvgGlyphStyle(
[out] ID2D1SvgGlyphStyle **svg_glyph_style
);
void DrawText(
[in] const WCHAR *string,
[in] UINT32 string_length,
[in] IDWriteTextFormat *text_format,
[in] const D2D1_RECT_F *layout_rect,
[in, optional] ID2D1Brush *default_fill_brush,
[in, optional] ID2D1SvgGlyphStyle *svg_glyph_style,
[in, optional] UINT32 color_palette_index,
[in] D2D1_DRAW_TEXT_OPTIONS options,
[in] DWRITE_MEASURING_MODE measuring_mode
);
void DrawTextLayout(
[in] D2D1_POINT_2F origin,
[in] IDWriteTextLayout *text_layout,
[in, optional] ID2D1Brush *default_fill_brush,
[in, optional] ID2D1SvgGlyphStyle *svg_glyph_style,
[in, optional] UINT32 color_palette_index,
[in] D2D1_DRAW_TEXT_OPTIONS options
);
void DrawColorBitmapGlyphRun(
[in] DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,
[in] D2D1_POINT_2F baseline_origin,
[in] const DWRITE_GLYPH_RUN *glyph_run,
[in] DWRITE_MEASURING_MODE measuring_mode,
[in] D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION bitmap_snap_option
);
void DrawSvgGlyphRun(
[in] D2D1_POINT_2F baseline_origin,
[in] const DWRITE_GLYPH_RUN *glyph_run,
[in, optional] ID2D1Brush *default_fill_brush,
[in, optional] ID2D1SvgGlyphStyle *svg_glyph_style,
[in, optional]UINT32 color_palette_index,
[in] DWRITE_MEASURING_MODE measuring_mode
);
HRESULT GetColorBitmapGlyphImage(
[in] DWRITE_GLYPH_IMAGE_FORMATS glyph_image_format,
[in] D2D1_POINT_2F glyph_origin,
[in] IDWriteFontFace *font_face,
[in] FLOAT font_em_size,
[in] UINT16 glyph_index,
[in] BOOL is_sideways,
[in, optional] const D2D1_MATRIX_3X2_F *world_transform,
[in] FLOAT dpi_x,
[in] FLOAT dpi_y,
[out] D2D1_MATRIX_3X2_F *glyph_transform,
[out] ID2D1Image **glyph_image
);
HRESULT GetSvgGlyphImage(
[in] D2D1_POINT_2F glyph_origin,
[in] IDWriteFontFace *font_face,
[in] FLOAT font_em_size,
[in] UINT16 glyph_index,
[in] BOOL is_sideways,
[in, optional] const D2D1_MATRIX_3X2_F *world_transform,
[in, optional] ID2D1Brush *default_fill_brush,
[in, optional] ID2D1SvgGlyphStyle *svg_glyph_style,
[in] UINT32 color_palette_index,
[out] D2D1_MATRIX_3X2_F *glyph_transform,
[out] ID2D1CommandList **glyph_image
);
}
[
object,
uuid(a44472e1-8dfb-4e60-8492-6e2861c9ca8b),
local,
]
interface ID2D1Device2 : ID2D1Device1
{
HRESULT CreateDeviceContext(
[in] D2D1_DEVICE_CONTEXT_OPTIONS options,
[out] ID2D1DeviceContext2 **context
);
void FlushDeviceContexts(
[in] ID2D1Bitmap *bitmap
);
HRESULT GetDxgiDevice(
[out] IDXGIDevice **dxgi_device
);
}
[
object,
uuid(0869759f-4f00-413f-b03e-2bda45404d0f),
local,
]
interface ID2D1Factory3 : ID2D1Factory2
{
HRESULT CreateDevice(
[in] IDXGIDevice *dxgi_device,
[out] ID2D1Device2 **d2d_device
);
}
[
object,
uuid(3bab440e-417e-47df-a2e2-bc0be6a00916),
local,
]
interface ID2D1CommandSink2 : ID2D1CommandSink1
{
HRESULT DrawInk(
[in] ID2D1Ink *ink,
[in] ID2D1Brush *brush,
[in] ID2D1InkStyle *ink_style
);
HRESULT DrawGradientMesh(
[in] ID2D1GradientMesh *gradient_mesh
);
HRESULT DrawGdiMetafile(
[in] ID2D1GdiMetafile *gdi_metafile,
[in] const D2D1_RECT_F *dest_rect,
[in] const D2D1_RECT_F *src_rect
);
}
[
object,
uuid(18079135-4cf3-4868-bc8e-06067e6d242d),
local,
]
interface ID2D1CommandSink3 : ID2D1CommandSink2
{
HRESULT DrawSpriteBatch(
[in] ID2D1SpriteBatch *sprite_batch,
[in] UINT32 start_index,
[in] UINT32 sprite_count,
[in] ID2D1Bitmap *bitmap,
[in] D2D1_BITMAP_INTERPOLATION_MODE interpolation_mode,
[in] D2D1_SPRITE_OPTIONS sprite_options
);
}
[
object,
uuid(c78a6519-40d6-4218-b2de-beeeb744bb3e),
local,
]
interface ID2D1CommandSink4 : ID2D1CommandSink3
{
HRESULT SetPrimitiveBlend2(
[in] D2D1_PRIMITIVE_BLEND primitive_blend
);
}

File diff suppressed because it is too large Load Diff

View File

@ -1,619 +0,0 @@
/*
* 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_1.idl";
typedef HRESULT (__stdcall *PD2D1_PROPERTY_SET_FUNCTION)(IUnknown *effect,
const BYTE *data, UINT32 data_size);
typedef HRESULT (__stdcall *PD2D1_PROPERTY_GET_FUNCTION)(const IUnknown *effect,
BYTE *data, UINT32 data_size, UINT32 *actual_size);
typedef enum D2D1_FILTER
{
D2D1_FILTER_MIN_MAG_MIP_POINT = 0x00,
D2D1_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x01,
D2D1_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x04,
D2D1_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x05,
D2D1_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
D2D1_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
D2D1_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
D2D1_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
D2D1_FILTER_ANISOTROPIC = 0x55,
D2D1_FILTER_FORCE_DWORD = 0xffffffff
} D2D1_FILTER;
typedef enum D2D1_FEATURE
{
D2D1_FEATURE_DOUBLES = 0x0,
D2D1_FEATURE_D3D10_X_HARDWARE_OPTIONS = 0x1,
D2D1_FEATURE_FORCE_DWORD = 0xffffffff
} D2D1_FEATURE;
typedef struct D2D1_PROPERTY_BINDING
{
const WCHAR *propertyName;
PD2D1_PROPERTY_SET_FUNCTION setFunction;
PD2D1_PROPERTY_GET_FUNCTION getFunction;
} D2D1_PROPERTY_BINDING;
typedef enum D2D1_CHANNEL_DEPTH
{
D2D1_CHANNEL_DEPTH_DEFAULT = 0x0,
D2D1_CHANNEL_DEPTH_1 = 0x1,
D2D1_CHANNEL_DEPTH_4 = 0x4,
D2D1_CHANNEL_DEPTH_FORCE_DWORD = 0xffffffff
} D2D1_CHANNEL_DEPTH;
typedef enum D2D1_CHANGE_TYPE
{
D2D1_CHANGE_TYPE_NONE = 0x0,
D2D1_CHANGE_TYPE_PROPERTIES = 0x1,
D2D1_CHANGE_TYPE_CONTEXT = 0x2,
D2D1_CHANGE_TYPE_GRAPH = 0x3,
D2D1_CHANGE_TYPE_FORCE_DWORD = 0xffffffff
} D2D1_CHANGE_TYPE;
typedef enum D2D1_PIXEL_OPTIONS
{
D2D1_PIXEL_OPTIONS_NONE = 0x0,
D2D1_PIXEL_OPTIONS_TRIVIAL_SAMPLING = 0x1,
D2D1_PIXEL_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_PIXEL_OPTIONS;
typedef enum D2D1_VERTEX_OPTIONS
{
D2D1_VERTEX_OPTIONS_NONE = 0x0,
D2D1_VERTEX_OPTIONS_DO_NOT_CLEAR = 0x1,
D2D1_VERTEX_OPTIONS_USE_DEPTH_BUFFER = 0x2,
D2D1_VERTEX_OPTIONS_ASSUME_NO_OVERLAP = 0x4,
D2D1_VERTEX_OPTIONS_FORCE_DWORD = 0xffffffff
} D2D1_VERTEX_OPTIONS;
typedef enum D2D1_VERTEX_USAGE
{
D2D1_VERTEX_USAGE_STATIC = 0x0,
D2D1_VERTEX_USAGE_DYNAMIC = 0x1,
D2D1_VERTEX_USAGE_FORCE_DWORD = 0xffffffff
} D2D1_VERTEX_USAGE;
typedef enum D2D1_BLEND_OPERATION
{
D2D1_BLEND_OPERATION_ADD = 0x1,
D2D1_BLEND_OPERATION_SUBTRACT = 0x2,
D2D1_BLEND_OPERATION_REV_SUBTRACT = 0x3,
D2D1_BLEND_OPERATION_MIN = 0x4,
D2D1_BLEND_OPERATION_MAX = 0x5,
D2D1_BLEND_OPERATION_FORCE_DWORD = 0xffffffff
} D2D1_BLEND_OPERATION;
typedef enum D2D1_BLEND
{
D2D1_BLEND_ZERO = 1,
D2D1_BLEND_ONE = 2,
D2D1_BLEND_SRC_COLOR = 3,
D2D1_BLEND_INV_SRC_COLOR = 4,
D2D1_BLEND_SRC_ALPHA = 5,
D2D1_BLEND_INV_SRC_ALPHA = 6,
D2D1_BLEND_DEST_ALPHA = 7,
D2D1_BLEND_INV_DEST_ALPHA = 8,
D2D1_BLEND_DEST_COLOR = 9,
D2D1_BLEND_INV_DEST_COLOR = 10,
D2D1_BLEND_SRC_ALPHA_SAT = 11,
D2D1_BLEND_BLEND_FACTOR = 14,
D2D1_BLEND_INV_BLEND_FACTOR = 15,
D2D1_BLEND_FORCE_DWORD = 0xffffffff
} D2D1_BLEND;
typedef struct D2D1_INPUT_DESCRIPTION
{
D2D1_FILTER filter;
UINT32 levelOfDetailCount;
} D2D1_INPUT_DESCRIPTION;
typedef struct D2D1_VERTEX_RANGE
{
UINT32 startVertex;
UINT32 vertexCount;
} D2D1_VERTEX_RANGE;
typedef struct D2D1_BLEND_DESCRIPTION
{
D2D1_BLEND sourceBlend;
D2D1_BLEND destinationBlend;
D2D1_BLEND_OPERATION blendOperation;
D2D1_BLEND sourceBlendAlpha;
D2D1_BLEND destinationBlendAlpha;
D2D1_BLEND_OPERATION blendOperationAlpha;
float blendFactor[4];
} D2D1_BLEND_DESCRIPTION;
typedef struct D2D1_RESOURCE_TEXTURE_PROPERTIES
{
const UINT32 *extents;
UINT32 dimensions;
D2D1_BUFFER_PRECISION bufferPrecision;
D2D1_CHANNEL_DEPTH channelDepth;
D2D1_FILTER filter;
const D2D1_EXTEND_MODE *extendModes;
} D2D1_RESOURCE_TEXTURE_PROPERTIES;
typedef struct D2D1_INPUT_ELEMENT_DESC
{
const char *semanticName;
UINT32 semanticIndex;
DXGI_FORMAT format;
UINT32 inputSlot;
UINT32 alignedByteOffset;
} D2D1_INPUT_ELEMENT_DESC;
typedef struct D2D1_VERTEX_BUFFER_PROPERTIES
{
UINT32 inputCount;
D2D1_VERTEX_USAGE usage;
const BYTE *data;
UINT32 byteWidth;
} D2D1_VERTEX_BUFFER_PROPERTIES;
typedef struct D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES
{
const BYTE *shaderBufferWithInputSignature;
UINT32 shaderBufferSize;
const D2D1_INPUT_ELEMENT_DESC *inputElements;
UINT32 elementCount;
UINT32 stride;
} D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES;
[
object,
uuid(9b8b1336-00a5-4668-92b7-ced5d8bf9b7b),
local,
]
interface ID2D1VertexBuffer : IUnknown
{
HRESULT Map(
[out] BYTE **data,
[in] UINT32 size
);
HRESULT Unmap();
}
[
object,
uuid(688d15c3-02b0-438d-b13a-d1b44c32c39a),
local,
]
interface ID2D1ResourceTexture : IUnknown
{
HRESULT Update(
[in] const UINT32 *min_extents,
[in] const UINT32 *max_extents,
[in] const UINT32 *strides,
[in] UINT32 dimensions,
[in] const BYTE *data,
[in] UINT32 data_size
);
}
[
object,
uuid(519ae1bd-d19a-420d-b849-364f594776b7),
local,
]
interface ID2D1RenderInfo : IUnknown
{
HRESULT SetInputDescription(
[in] UINT32 index,
[in] D2D1_INPUT_DESCRIPTION description
);
HRESULT SetOutputBuffer(
[in] D2D1_BUFFER_PRECISION precision,
[in] D2D1_CHANNEL_DEPTH depth
);
void SetCached(
[in] BOOL is_cached
);
void SetInstructionCountHint(
[in] UINT32 count
);
}
[
object,
uuid(693ce632-7f2f-45de-93fe-18d88b37aa21),
local,
]
interface ID2D1DrawInfo : ID2D1RenderInfo
{
HRESULT SetPixelShaderConstantBuffer(
[in] const BYTE *buffer,
[in] UINT32 size
);
HRESULT SetResourceTexture(
[in] UINT32 index,
[in] ID2D1ResourceTexture *texture
);
HRESULT SetVertexShaderConstantBuffer(
[in] const BYTE *buffer,
[in] UINT32 size
);
HRESULT SetPixelShader(
[in] REFGUID id,
[in] D2D1_PIXEL_OPTIONS options
);
HRESULT SetVertexProcessing(
[in, optional] ID2D1VertexBuffer *buffer,
[in] D2D1_VERTEX_OPTIONS options,
[in, optional] const D2D1_BLEND_DESCRIPTION *description,
[in, optional] const D2D1_VERTEX_RANGE *range,
[in, optional] const GUID *shader
);
}
[
object,
uuid(5598b14b-9fd7-48b7-9bdb-8f0964eb38bc),
local,
]
interface ID2D1ComputeInfo : ID2D1RenderInfo
{
HRESULT SetComputeShaderconstantBuffer(
[in] const BYTE *buffer,
[in] UINT32 size
);
HRESULT SetComputeShader(
[in] REFGUID id
);
HRESULT SetResourceTexture(
[in] UINT32 index,
[in] ID2D1ResourceTexture *texture
);
}
[
object,
uuid(b2efe1e7-729f-4102-949f-505fa21bf666),
local,
]
interface ID2D1TransformNode : IUnknown
{
UINT32 GetInputCount();
}
[
object,
uuid(13d29038-c3e6-4034-9081-13b53a417992),
local,
]
interface ID2D1TransformGraph : IUnknown
{
UINT32 GetInputCount();
HRESULT SetSingleTransformNode(
[in] ID2D1TransformNode *node
);
HRESULT AddNode(
[in] ID2D1TransformNode *node
);
HRESULT RemoveNode(
[in] ID2D1TransformNode *node
);
HRESULT SetOutputNode(
[in] ID2D1TransformNode *node
);
HRESULT ConnectNode(
[in] ID2D1TransformNode *from_node,
[in] ID2D1TransformNode *to_node,
[in] UINT32 index
);
HRESULT ConnectToEffectInput(
[in] UINT32 input_index,
[in] ID2D1TransformNode *node,
[in] UINT32 node_index
);
void Clear();
HRESULT SetPassthroughGraph(
[in] UINT32 index
);
}
[
object,
uuid(ef1a287d-342a-4f76-8fdb-da0d6ea9f92b),
local,
]
interface ID2D1Transform : ID2D1TransformNode
{
HRESULT MapOutputRectToInputRects(
[in] const D2D1_RECT_L *output_rect,
[out] D2D1_RECT_L *input_rects,
[in] UINT32 input_rects_count
);
HRESULT MapInputRectsToOutputRect(
[in] const D2D1_RECT_L *input_rects,
[in] const D2D1_RECT_L *input_opaque_rects,
[in] UINT32 input_rect_count,
[out] D2D1_RECT_L *output_rect,
[out] D2D1_RECT_L *output_opaque_rect
);
HRESULT MapInvalidRect(
[in] UINT32 index,
[in] D2D1_RECT_L input_rect,
[out] D2D1_RECT_L *output_rect
);
}
[
object,
uuid(36bfdcb6-9739-435d-a30d-a653beff6a6f),
local,
]
interface ID2D1DrawTransform : ID2D1Transform
{
HRESULT SetDrawInfo(
[in] ID2D1DrawInfo *info
);
}
[
object,
uuid(0d85573c-01e3-4f7d-bfd9-0d60608bf3c3),
local,
]
interface ID2D1ComputeTransform : ID2D1Transform
{
HRESULT SetComputeInfo(
[in] ID2D1ComputeInfo *info
);
HRESULT CalculateThreadgroups(
[in] const D2D1_RECT_L *output_rect,
[out] UINT32 *dimension_x,
[out] UINT32 *dimension_y,
[out] UINT32 *dimension_z
);
}
[
object,
uuid(0359dc30-95e6-4568-9055-27720d130e93),
local,
]
interface ID2D1AnalysisTransform : IUnknown
{
HRESULT ProcessAnalysisResults(
[in] const BYTE *data,
[in] UINT32 size
);
}
[
object,
uuid(db1800dd-0c34-4cf9-be90-31cc0a5653e1),
local,
]
interface ID2D1SourceTransform : ID2D1Transform
{
HRESULT SetRenderInfo(
[in] ID2D1RenderInfo *info
);
HRESULT Draw(
[in] ID2D1Bitmap1 *target,
[in] const D2D1_RECT_L *draw_rect,
[in] D2D1_POINT_2U target_origin
);
}
[
object,
uuid(1a799d8a-69f7-4e4c-9fed-437ccc6684cc),
local,
]
interface ID2D1ConcreteTransform : ID2D1TransformNode
{
HRESULT SetOutputBuffer(
[in] D2D1_BUFFER_PRECISION precision,
[in] D2D1_CHANNEL_DEPTH depth
);
void SetCached(
[in] BOOL is_cached
);
}
[
object,
uuid(63ac0b32-ba44-450f-8806-7f4ca1ff2f1b),
local,
]
interface ID2D1BlendTransform : ID2D1ConcreteTransform
{
void SetDescription(
[in] const D2D1_BLEND_DESCRIPTION *description
);
void GetDescription(
[out] D2D1_BLEND_DESCRIPTION *description
);
}
[
object,
uuid(4998735c-3a19-473c-9781-656847e3a347),
local,
]
interface ID2D1BorderTransform : ID2D1ConcreteTransform
{
void SetExtendModeX(
[in] D2D1_EXTEND_MODE mode
);
void SetExtendModeY(
[in] D2D1_EXTEND_MODE mode
);
D2D1_EXTEND_MODE GetExtendModeX();
D2D1_EXTEND_MODE GetExtendModeY();
}
[
object,
uuid(3fe6adea-7643-4f53-bd14-a0ce63f24042),
local,
]
interface ID2D1OffsetTransform : ID2D1TransformNode
{
void SetOffset(
[in] D2D1_POINT_2L offset
);
D2D1_POINT_2L GetOffset();
}
[
object,
uuid(90f732e2-5092-4606-a819-8651970baccd),
local,
]
interface ID2D1BoundsAdjustmentTransform : ID2D1TransformNode
{
void SetOutputBounds(
[in] const D2D1_RECT_L *bounds
);
void GetOutputBounds(
[out] D2D1_RECT_L *bounds
);
}
[
object,
uuid(3d9f916b-27dc-4ad7-b4f1-64945340f563),
local,
]
interface ID2D1EffectContext : IUnknown
{
void GetDpi(
[out] float *dpi_x,
[out] float *dpi_y
);
HRESULT CreateEffect(
[in] REFCLSID clsid,
[out] ID2D1Effect **effect
);
HRESULT GetMaximumSupportedFeatureLevel(
[in] const D3D_FEATURE_LEVEL *levels,
[in] UINT32 level_count,
[out] D3D_FEATURE_LEVEL *max_level
);
HRESULT CreateTransformNodeFromEffect(
[in] ID2D1Effect *effect,
[out] ID2D1TransformNode **node
);
HRESULT CreateBlendTransform(
[in] UINT32 num_inputs,
[in] const D2D1_BLEND_DESCRIPTION *description,
[out] ID2D1BlendTransform **transform
);
HRESULT CreateBorderTransform(
[in] D2D1_EXTEND_MODE mode_x,
[in] D2D1_EXTEND_MODE mode_y,
[out] ID2D1BorderTransform **transform
);
HRESULT CreateOffsetTransform(
[in] D2D1_POINT_2L offset,
[out] ID2D1OffsetTransform **transform
);
HRESULT CreateBoundsAdjustmentTransform(
[in] const D2D1_RECT_L *output_rect,
[out] ID2D1BoundsAdjustmentTransform **transform
);
HRESULT LoadPixelShader(
[in] REFGUID shader_id,
[in] const BYTE *buffer,
[in] UINT32 buffer_size
);
HRESULT LoadVertexShader(
[in] REFGUID shader_id,
[in] const BYTE *buffer,
[in] UINT32 buffer_size
);
HRESULT LoadComputeShader(
[in] REFGUID shader_id,
[in] const BYTE *buffer,
[in] UINT32 buffer_size
);
BOOL IsShaderLoaded(
[in] REFGUID shader_id
);
HRESULT CreateResourceTexture(
[in, optional] const GUID *id,
[in] const D2D1_RESOURCE_TEXTURE_PROPERTIES *texture_properties,
[in] const BYTE *data,
[in] const UINT32 *strides,
[in] UINT32 data_size,
[out] ID2D1ResourceTexture **texture
);
HRESULT FindResourceTexture(
[in] const GUID *id,
[out] ID2D1ResourceTexture **texture
);
HRESULT CreateVertexBuffer(
[in] const D2D1_VERTEX_BUFFER_PROPERTIES *buffer_properties,
[in, optional] const GUID *id,
[in, optional] const D2D1_CUSTOM_VERTEX_BUFFER_PROPERTIES *custom_buffer_properties,
[out] ID2D1VertexBuffer **buffer
);
HRESULT FindVertexBuffer(
[in] const GUID *id,
[out] ID2D1VertexBuffer **buffer
);
HRESULT CreateColorContext(
[in] D2D1_COLOR_SPACE space,
[in] const BYTE *profile,
[in] UINT32 profile_size,
[out] ID2D1ColorContext **color_context
);
HRESULT CreateColorContextFromFilename(
[in] const WCHAR *filename,
[out] ID2D1ColorContext **color_context
);
HRESULT CreateColorContextFromWicColorContext(
[in] IWICColorContext *wic_color_context,
[out] ID2D1ColorContext **color_context
);
HRESULT CheckFeatureSupport(
[in] D2D1_FEATURE feature,
[out] void *data,
[in] UINT32 data_size
);
BOOL IsBufferPrecisionSupported(
[in] D2D1_BUFFER_PRECISION precision
);
}
[
object,
uuid(a248fd3f-3e6c-4e63-9f03-7f68ecc91db9),
local,
]
interface ID2D1EffectImpl : IUnknown
{
HRESULT Initialize(
[in] ID2D1EffectContext *context,
[in] ID2D1TransformGraph *graph
);
HRESULT PrepareForRender(
[in] D2D1_CHANGE_TYPE type
);
HRESULT SetGraph(
[in] ID2D1TransformGraph *graph
);
}

View File

@ -1,43 +1,21 @@
/*** Autogenerated by WIDL 8.12 from include/d2d1effects.idl - Do not edit ***/
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif
#ifndef _D2D1_EFFECTS_
#define _D2D1_EFFECTS_
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#include <winapifamily.h>
#ifndef __d2d1effects_h__
#define __d2d1effects_h__
#ifndef __WIDL_INLINE
#if defined(__cplusplus) || defined(_MSC_VER)
#define __WIDL_INLINE inline
#elif defined(__GNUC__)
#define __WIDL_INLINE __inline__
#endif
#endif
/* Forward declarations */
/* Headers for imported files */
#ifdef __cplusplus
extern "C" {
#endif
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
DEFINE_GUID(CLSID_D2D12DAffineTransform, 0x6aa97485,0x6354,0x4cfc,0x90,0x8c,0xe4,0xa7,0x4f,0x62,0xc9,0x6c);
DEFINE_GUID(CLSID_D2D13DPerspectiveTransform, 0xc2844d0b,0x3d86,0x46e7,0x85,0xba,0x52,0x6c,0x92,0x40,0xf3,0xfb);
DEFINE_GUID(CLSID_D2D13DTransform, 0xe8467b04,0xec61,0x4b8a,0xb5,0xde,0xd4,0xd7,0x3d,0xeb,0xea,0x5a);
DEFINE_GUID(CLSID_D2D1ArithmeticComposite, 0xfc151437,0x049a,0x4784,0xa2,0x4a,0xf1,0xc4,0xda,0xf2,0x09,0x87);
DEFINE_GUID(CLSID_D2D1Atlas, 0x913e2be4,0xfdcf,0x4fe2,0xa5,0xf0,0x24,0x54,0xf1,0x4f,0xf4,0x08);
DEFINE_GUID(CLSID_D2D1Atlas, 0x913e2be4,0xfdcf,0x4fe2,0xa5,0xf0,0x24,0x54,0xf1,0x4f,0xf4,0x8);
DEFINE_GUID(CLSID_D2D1BitmapSource, 0x5fb6c24d,0xc6dd,0x4231,0x94,0x04,0x50,0xf4,0xd5,0xc3,0x25,0x2d);
DEFINE_GUID(CLSID_D2D1Blend, 0x81c5b77b,0x13f8,0x4cdd,0xad,0x20,0xc8,0x90,0x54,0x7a,0xc6,0x5d);
DEFINE_GUID(CLSID_D2D1Border, 0x2a2d49c0,0x4acf,0x43c7,0x8c,0x6a,0x7c,0x4a,0x27,0x87,0x4d,0x27);
@ -74,62 +52,335 @@ DEFINE_GUID(CLSID_D2D1TableTransfer, 0x5bf818c3,0x5e43,0x48cb,0xb6,0x31
DEFINE_GUID(CLSID_D2D1Tile, 0xb0784138,0x3b76,0x4bc5,0xb1,0x3b,0x0f,0xa2,0xad,0x02,0x65,0x9f);
DEFINE_GUID(CLSID_D2D1Turbulence, 0xcf2bb6ae,0x889a,0x4ad7,0xba,0x29,0xa2,0xfd,0x73,0x2c,0x9f,0xc9);
DEFINE_GUID(CLSID_D2D1UnPremultiply, 0xfb9ac489,0xad8d,0x41ed,0x99,0x99,0xbb,0x63,0x47,0xd1,0x10,0xf7);
typedef enum D2D1_BORDER_MODE {
D2D1_BORDER_MODE_SOFT = 0x0,
D2D1_BORDER_MODE_HARD = 0x1,
D2D1_BORDER_MODE_FORCE_DWORD = 0xffffffff
} D2D1_BORDER_MODE;
typedef enum D2D1_SHADOW_PROP {
D2D1_SHADOW_PROP_BLUR_STANDARD_DEVIATION = 0,
D2D1_SHADOW_PROP_COLOR = 1,
D2D1_SHADOW_PROP_OPTIMIZATION = 2,
D2D1_SHADOW_PROP_FORCE_DWORD = 0xffffffff
} D2D1_SHADOW_PROP;
typedef enum D2D1_2DAFFINETRANSFORM_PROP {
D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE = 0x0,
D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE = 0x1,
D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX = 0x2,
D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS = 0x3,
D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE = 0,
D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE = 1,
D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX = 2,
D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS = 3,
D2D1_2DAFFINETRANSFORM_PROP_FORCE_DWORD = 0xffffffff
} D2D1_2DAFFINETRANSFORM_PROP;
typedef enum D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE {
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0x0,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR = 0x1,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC = 0x2,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 0x3,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 0x4,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 0x5,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
} D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE;
typedef enum D2D1_3DPERSPECTIVETRANSFORM_PROP {
D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE = 0x0,
D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE = 0x1,
D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH = 0x2,
D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN = 0x3,
D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET = 0x4,
D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET = 0x5,
D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN = 0x6,
D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION = 0x7,
D2D1_3DPERSPECTIVETRANSFORM_PROP_FORCE_DWORD = 0xffffffff
} D2D1_3DPERSPECTIVETRANSFORM_PROP;
typedef enum D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE {
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0x0,
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR = 0x1,
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC = 0x2,
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 0x3,
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 0x4,
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
} D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE;
typedef enum D2D1_COMPOSITE_PROP {
D2D1_COMPOSITE_PROP_MODE = 0x0,
D2D1_COMPOSITE_PROP_MODE = 0,
D2D1_COMPOSITE_PROP_FORCE_DWORD = 0xffffffff
} D2D1_COMPOSITE_PROP;
typedef enum D2D1_CHANNEL_SELECTOR {
D2D1_CHANNEL_SELECTOR_R = 0,
D2D1_CHANNEL_SELECTOR_G = 1,
D2D1_CHANNEL_SELECTOR_B = 2,
D2D1_CHANNEL_SELECTOR_A = 3,
D2D1_CHANNEL_SELECTOR_FORCE_DWORD = 0xffffffff
} D2D1_CHANNEL_SELECTOR;
typedef enum D2D1_BORDER_MODE {
D2D1_BORDER_MODE_SOFT = 0,
D2D1_BORDER_MODE_HARD = 1,
D2D1_BORDER_MODE_FORCE_DWORD = 0xffffffff
} D2D1_BORDER_MODE;
typedef enum D2D1_COLORMATRIX_PROP {
D2D1_COLORMATRIX_PROP_COLOR_MATRIX = 0,
D2D1_COLORMATRIX_PROP_ALPHA_MODE = 1,
D2D1_COLORMATRIX_PROP_CLAMP_OUTPUT = 2,
D2D1_COLORMATRIX_PROP_FORCE_DWORD = 0xffffffff
} D2D1_COLORMATRIX_PROP;
typedef enum D2D1_COLORMATRIX_ALPHA_MODE {
D2D1_COLORMATRIX_ALPHA_MODE_PREMULTIPLIED = 1,
D2D1_COLORMATRIX_ALPHA_MODE_STRAIGHT = 2,
D2D1_COLORMATRIX_ALPHA_MODE_FORCE_DWORD = 0xffffffff
} D2D1_COLORMATRIX_ALPHA_MODE;
typedef enum D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE {
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR = 1,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC = 2,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 3,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 4,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 5,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
} D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE;
typedef enum D2D1_BLEND_PROP {
D2D1_BLEND_PROP_MODE = 0,
D2D1_BLEND_PROP_FORCE_DWORD = 0xffffffff
} D2D1_BLEND_PROP;
typedef enum D2D1_BLEND_MODE {
D2D1_BLEND_MODE_MULTIPLY = 0,
D2D1_BLEND_MODE_SCREEN = 1,
D2D1_BLEND_MODE_DARKEN = 2,
D2D1_BLEND_MODE_LIGHTEN = 3,
D2D1_BLEND_MODE_DISSOLVE = 4,
D2D1_BLEND_MODE_COLOR_BURN = 5,
D2D1_BLEND_MODE_LINEAR_BURN = 6,
D2D1_BLEND_MODE_DARKER_COLOR = 7,
D2D1_BLEND_MODE_LIGHTER_COLOR = 8,
D2D1_BLEND_MODE_COLOR_DODGE = 9,
D2D1_BLEND_MODE_LINEAR_DODGE = 10,
D2D1_BLEND_MODE_OVERLAY = 11,
D2D1_BLEND_MODE_SOFT_LIGHT = 12,
D2D1_BLEND_MODE_HARD_LIGHT = 13,
D2D1_BLEND_MODE_VIVID_LIGHT = 14,
D2D1_BLEND_MODE_LINEAR_LIGHT = 15,
D2D1_BLEND_MODE_PIN_LIGHT = 16,
D2D1_BLEND_MODE_HARD_MIX = 17,
D2D1_BLEND_MODE_DIFFERENCE = 18,
D2D1_BLEND_MODE_EXCLUSION = 19,
D2D1_BLEND_MODE_HUE = 20,
D2D1_BLEND_MODE_SATURATION = 21,
D2D1_BLEND_MODE_COLOR = 22,
D2D1_BLEND_MODE_LUMINOSITY = 23,
D2D1_BLEND_MODE_SUBTRACT = 24,
D2D1_BLEND_MODE_DIVISION = 25,
D2D1_BLEND_MODE_FORCE_DWORD = 0xffffffff
} D2D1_BLEND_MODE;
typedef enum D2D1_MORPHOLOGY_PROP {
D2D1_MORPHOLOGY_PROP_MODE = 0,
D2D1_MORPHOLOGY_PROP_WIDTH = 1,
D2D1_MORPHOLOGY_PROP_HEIGHT = 2,
D2D1_MORPHOLOGY_PROP_FORCE_DWORD = 0xffffffff
} D2D1_MORPHOLOGY_PROP;
typedef enum D2D1_FLOOD_PROP {
D2D1_FLOOD_PROP_COLOR = 0,
D2D1_FLOOD_PROP_FORCE_DWORD = 0xffffffff
} D2D1_FLOOD_PROP;
typedef enum D2D1_MORPHOLOGY_MODE {
D2D1_MORPHOLOGY_MODE_ERODE = 0,
D2D1_MORPHOLOGY_MODE_DILATE = 1,
D2D1_MORPHOLOGY_MODE_FORCE_DWORD = 0xffffffff
} D2D1_MORPHOLOGY_MODE;
typedef enum D2D1_TURBULENCE_NOISE {
D2D1_TURBULENCE_NOISE_FRACTAL_SUM = 0,
D2D1_TURBULENCE_NOISE_TURBULENCE = 1,
D2D1_TURBULENCE_NOISE_FORCE_DWORD = 0xffffffff
} D2D1_TURBULENCE_NOISE;
typedef enum D2D1_DISPLACEMENTMAP_PROP {
D2D1_DISPLACEMENTMAP_PROP_SCALE = 0,
D2D1_DISPLACEMENTMAP_PROP_X_CHANNEL_SELECT = 1,
D2D1_DISPLACEMENTMAP_PROP_Y_CHANNEL_SELECT = 2,
D2D1_DISPLACEMENTMAP_PROP_FORCE_DWORD = 0xffffffff
} D2D1_DISPLACEMENTMAP_PROP;
typedef enum D2D1_TURBULENCE_PROP {
D2D1_TURBULENCE_PROP_OFFSET = 0,
D2D1_TURBULENCE_PROP_SIZE = 1,
D2D1_TURBULENCE_PROP_BASE_FREQUENCY = 2,
D2D1_TURBULENCE_PROP_NUM_OCTAVES = 3,
D2D1_TURBULENCE_PROP_SEED = 4,
D2D1_TURBULENCE_PROP_NOISE = 5,
D2D1_TURBULENCE_PROP_STITCHABLE = 6,
D2D1_TURBULENCE_PROP_FORCE_DWORD = 0xffffffff
} D2D1_TURBULENCE_PROP;
typedef enum D2D1_ARITHMETICCOMPOSITE_PROP {
D2D1_ARITHMETICCOMPOSITE_PROP_COEFFICIENTS = 0,
D2D1_ARITHMETICCOMPOSITE_PROP_CLAMP_OUTPUT = 1,
D2D1_ARITHMETICCOMPOSITE_PROP_FORCE_DWORD = 0xffffffff
} D2D1_ARITHMETICCOMPOSITE_PROP;
typedef enum D2D1_CROP_PROP {
D2D1_CROP_PROP_RECT = 0x0,
D2D1_CROP_PROP_BORDER_MODE = 0x1,
D2D1_CROP_PROP_RECT = 0,
D2D1_CROP_PROP_BORDER_MODE = 1,
D2D1_CROP_PROP_FORCE_DWORD = 0xffffffff
} D2D1_CROP_PROP;
/* Begin additional prototypes for all interfaces */
typedef enum D2D1_GAUSSIANBLUR_PROP {
D2D1_GAUSSIANBLUR_PROP_STANDARD_DEVIATION = 0,
D2D1_GAUSSIANBLUR_PROP_OPTIMIZATION = 1,
D2D1_GAUSSIANBLUR_PROP_BORDER_MODE = 2,
D2D1_GAUSSIANBLUR_PROP_FORCE_DWORD = 0xffffffff
} D2D1_GAUSSIANBLUR_PROP;
/* End additional prototypes */
typedef enum D2D1_DIRECTIONALBLUR_PROP {
D2D1_DIRECTIONALBLUR_PROP_STANDARD_DEVIATION = 0,
D2D1_DIRECTIONALBLUR_PROP_ANGLE = 1,
D2D1_DIRECTIONALBLUR_PROP_OPTIMIZATION = 2,
D2D1_DIRECTIONALBLUR_PROP_BORDER_MODE = 3,
D2D1_DIRECTIONALBLUR_PROP_FORCE_DWORD = 0xffffffff
} D2D1_DIRECTIONALBLUR_PROP;
typedef enum D2D1_SPOTDIFFUSE_PROP {
D2D1_SPOTDIFFUSE_PROP_LIGHT_POSITION = 0,
D2D1_SPOTDIFFUSE_PROP_POINTS_AT = 1,
D2D1_SPOTDIFFUSE_PROP_FOCUS = 2,
D2D1_SPOTDIFFUSE_PROP_LIMITING_CONE_ANGLE = 3,
D2D1_SPOTDIFFUSE_PROP_DIFFUSE_CONSTANT = 4,
D2D1_SPOTDIFFUSE_PROP_SURFACE_SCALE = 5,
D2D1_SPOTDIFFUSE_PROP_COLOR = 6,
D2D1_SPOTDIFFUSE_PROP_KERNEL_UNIT_LENGTH = 7,
D2D1_SPOTDIFFUSE_PROP_SCALE_MODE = 8,
D2D1_SPOTDIFFUSE_PROP_FORCE_DWORD = 0xffffffff
} D2D1_SPOTDIFFUSE_PROP;
typedef enum D2D1_BORDER_PROP {
D2D1_BORDER_PROP_EDGE_MODE_X = 0,
D2D1_BORDER_PROP_EDGE_MODE_Y = 1,
D2D1_BORDER_PROP_FORCE_DWORD = 0xffffffff
} D2D1_BORDER_PROP;
typedef enum D2D1_POINTDIFFUSE_PROP {
D2D1_POINTDIFFUSE_PROP_LIGHT_POSITION = 0,
D2D1_POINTDIFFUSE_PROP_DIFFUSE_CONSTANT = 1,
D2D1_POINTDIFFUSE_PROP_SURFACE_SCALE = 2,
D2D1_POINTDIFFUSE_PROP_COLOR = 3,
D2D1_POINTDIFFUSE_PROP_KERNEL_UNIT_LENGTH = 4,
D2D1_POINTDIFFUSE_PROP_SCALE_MODE = 5,
D2D1_POINTDIFFUSE_PROP_FORCE_DWORD = 0xffffffff
} D2D1_POINTDIFFUSE_PROP;
typedef enum D2D1_TABLETRANSFER_PROP {
D2D1_TABLETRANSFER_PROP_RED_TABLE = 0,
D2D1_TABLETRANSFER_PROP_RED_DISABLE = 1,
D2D1_TABLETRANSFER_PROP_GREEN_TABLE = 2,
D2D1_TABLETRANSFER_PROP_GREEN_DISABLE = 3,
D2D1_TABLETRANSFER_PROP_BLUE_TABLE = 4,
D2D1_TABLETRANSFER_PROP_BLUE_DISABLE = 5,
D2D1_TABLETRANSFER_PROP_ALPHA_TABLE = 6,
D2D1_TABLETRANSFER_PROP_ALPHA_DISABLE = 7,
D2D1_TABLETRANSFER_PROP_CLAMP_OUTPUT = 8,
D2D1_TABLETRANSFER_PROP_FORCE_DWORD = 0xffffffff
} D2D1_TABLETRANSFER_PROP;
typedef enum D2D1_DISCRETETRANSFER_PROP {
D2D1_DISCRETETRANSFER_PROP_RED_TABLE = 0,
D2D1_DISCRETETRANSFER_PROP_RED_DISABLE = 1,
D2D1_DISCRETETRANSFER_PROP_GREEN_TABLE = 2,
D2D1_DISCRETETRANSFER_PROP_GREEN_DISABLE = 3,
D2D1_DISCRETETRANSFER_PROP_BLUE_TABLE = 4,
D2D1_DISCRETETRANSFER_PROP_BLUE_DISABLE = 5,
D2D1_DISCRETETRANSFER_PROP_ALPHA_TABLE = 6,
D2D1_DISCRETETRANSFER_PROP_ALPHA_DISABLE = 7,
D2D1_DISCRETETRANSFER_PROP_CLAMP_OUTPUT = 8,
D2D1_DISCRETETRANSFER_PROP_FORCE_DWORD = 0xffffffff
} D2D1_DISCRETETRANSFER_PROP;
typedef enum D2D1_LINEARTRANSFER_PROP {
D2D1_LINEARTRANSFER_PROP_RED_Y_INTERCEPT = 0,
D2D1_LINEARTRANSFER_PROP_RED_SLOPE = 1,
D2D1_LINEARTRANSFER_PROP_RED_DISABLE = 2,
D2D1_LINEARTRANSFER_PROP_GREEN_Y_INTERCEPT = 3,
D2D1_LINEARTRANSFER_PROP_GREEN_SLOPE = 4,
D2D1_LINEARTRANSFER_PROP_GREEN_DISABLE = 5,
D2D1_LINEARTRANSFER_PROP_BLUE_Y_INTERCEPT = 6,
D2D1_LINEARTRANSFER_PROP_BLUE_SLOPE = 7,
D2D1_LINEARTRANSFER_PROP_BLUE_DISABLE = 8,
D2D1_LINEARTRANSFER_PROP_ALPHA_Y_INTERCEPT = 9,
D2D1_LINEARTRANSFER_PROP_ALPHA_SLOPE = 10,
D2D1_LINEARTRANSFER_PROP_ALPHA_DISABLE = 11,
D2D1_LINEARTRANSFER_PROP_CLAMP_OUTPUT = 12,
D2D1_LINEARTRANSFER_PROP_FORCE_DWORD = 0xffffffff
} D2D1_LINEARTRANSFER_PROP;
typedef enum D2D1_GAMMATRANSFER_PROP {
D2D1_GAMMATRANSFER_PROP_RED_AMPLITUDE = 0,
D2D1_GAMMATRANSFER_PROP_RED_EXPONENT = 1,
D2D1_GAMMATRANSFER_PROP_RED_OFFSET = 2,
D2D1_GAMMATRANSFER_PROP_RED_DISABLE = 3,
D2D1_GAMMATRANSFER_PROP_GREEN_AMPLITUDE = 4,
D2D1_GAMMATRANSFER_PROP_GREEN_EXPONENT = 5,
D2D1_GAMMATRANSFER_PROP_GREEN_OFFSET = 6,
D2D1_GAMMATRANSFER_PROP_GREEN_DISABLE = 7,
D2D1_GAMMATRANSFER_PROP_BLUE_AMPLITUDE = 8,
D2D1_GAMMATRANSFER_PROP_BLUE_EXPONENT = 9,
D2D1_GAMMATRANSFER_PROP_BLUE_OFFSET = 10,
D2D1_GAMMATRANSFER_PROP_BLUE_DISABLE = 11,
D2D1_GAMMATRANSFER_PROP_ALPHA_AMPLITUDE = 12,
D2D1_GAMMATRANSFER_PROP_ALPHA_EXPONENT = 13,
D2D1_GAMMATRANSFER_PROP_ALPHA_OFFSET = 14,
D2D1_GAMMATRANSFER_PROP_ALPHA_DISABLE = 15,
D2D1_GAMMATRANSFER_PROP_CLAMP_OUTPUT = 16,
D2D1_GAMMATRANSFER_PROP_FORCE_DWORD = 0xffffffff
} D2D1_GAMMATRANSFER_PROP;
typedef enum D2D1_CONVOLVEMATRIX_PROP {
D2D1_CONVOLVEMATRIX_PROP_KERNEL_UNIT_LENGTH = 0,
D2D1_CONVOLVEMATRIX_PROP_SCALE_MODE = 1,
D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_X = 2,
D2D1_CONVOLVEMATRIX_PROP_KERNEL_SIZE_Y = 3,
D2D1_CONVOLVEMATRIX_PROP_KERNEL_MATRIX = 4,
D2D1_CONVOLVEMATRIX_PROP_DIVISOR = 5,
D2D1_CONVOLVEMATRIX_PROP_BIAS = 6,
D2D1_CONVOLVEMATRIX_PROP_KERNEL_OFFSET = 7,
D2D1_CONVOLVEMATRIX_PROP_PRESERVE_ALPHA = 8,
D2D1_CONVOLVEMATRIX_PROP_BORDER_MODE = 9,
D2D1_CONVOLVEMATRIX_PROP_CLAMP_OUTPUT = 10,
D2D1_CONVOLVEMATRIX_PROP_FORCE_DWORD = 0xffffffff
} D2D1_CONVOLVEMATRIX_PROP;
typedef enum D2D1_BORDER_EDGE_MODE {
D2D1_BORDER_EDGE_MODE_CLAMP = 0,
D2D1_BORDER_EDGE_MODE_WRAP = 1,
D2D1_BORDER_EDGE_MODE_MIRROR = 2,
D2D1_BORDER_EDGE_MODE_FORCE_DWORD = 0xffffffff
} D2D1_BORDER_EDGE_MODE;
typedef enum D2D1_DISTANTDIFFUSE_PROP {
D2D1_DISTANTDIFFUSE_PROP_AZIMUTH = 0,
D2D1_DISTANTDIFFUSE_PROP_ELEVATION = 1,
D2D1_DISTANTDIFFUSE_PROP_DIFFUSE_CONSTANT = 2,
D2D1_DISTANTDIFFUSE_PROP_SURFACE_SCALE = 3,
D2D1_DISTANTDIFFUSE_PROP_COLOR = 4,
D2D1_DISTANTDIFFUSE_PROP_KERNEL_UNIT_LENGTH = 5,
D2D1_DISTANTDIFFUSE_PROP_SCALE_MODE = 6,
D2D1_DISTANTDIFFUSE_PROP_FORCE_DWORD = 0xffffffff
} D2D1_DISTANTDIFFUSE_PROP;
typedef enum D2D1_POINTSPECULAR_PROP {
D2D1_POINTSPECULAR_PROP_LIGHT_POSITION = 0,
D2D1_POINTSPECULAR_PROP_SPECULAR_EXPONENT = 1,
D2D1_POINTSPECULAR_PROP_SPECULAR_CONSTANT = 2,
D2D1_POINTSPECULAR_PROP_SURFACE_SCALE = 3,
D2D1_POINTSPECULAR_PROP_COLOR = 4,
D2D1_POINTSPECULAR_PROP_KERNEL_UNIT_LENGTH = 5,
D2D1_POINTSPECULAR_PROP_SCALE_MODE = 6,
D2D1_POINTSPECULAR_PROP_FORCE_DWORD = 0xffffffff
} D2D1_POINTSPECULAR_PROP;
typedef enum D2D1_SPOTSPECULAR_PROP {
D2D1_SPOTSPECULAR_PROP_LIGHT_POSITION = 0,
D2D1_SPOTSPECULAR_PROP_POINTS_AT = 1,
D2D1_SPOTSPECULAR_PROP_FOCUS = 2,
D2D1_SPOTSPECULAR_PROP_LIMITING_CONE_ANGLE = 3,
D2D1_SPOTSPECULAR_PROP_SPECULAR_EXPONENT = 4,
D2D1_SPOTSPECULAR_PROP_SPECULAR_CONSTANT = 5,
D2D1_SPOTSPECULAR_PROP_SURFACE_SCALE = 6,
D2D1_SPOTSPECULAR_PROP_COLOR = 7,
D2D1_SPOTSPECULAR_PROP_KERNEL_UNIT_LENGTH = 8,
D2D1_SPOTSPECULAR_PROP_SCALE_MODE = 9,
D2D1_SPOTSPECULAR_PROP_FORCE_DWORD = 0xffffffff
} D2D1_SPOTSPECULAR_PROP;
typedef enum D2D1_DISTANTSPECULAR_PROP {
D2D1_DISTANTSPECULAR_PROP_AZIMUTH = 0,
D2D1_DISTANTSPECULAR_PROP_ELEVATION = 1,
D2D1_DISTANTSPECULAR_PROP_SPECULAR_EXPONENT = 2,
D2D1_DISTANTSPECULAR_PROP_SPECULAR_CONSTANT = 3,
D2D1_DISTANTSPECULAR_PROP_SURFACE_SCALE = 4,
D2D1_DISTANTSPECULAR_PROP_COLOR = 5,
D2D1_DISTANTSPECULAR_PROP_KERNEL_UNIT_LENGTH = 6,
D2D1_DISTANTSPECULAR_PROP_SCALE_MODE = 7,
D2D1_DISTANTSPECULAR_PROP_FORCE_DWORD = 0xffffffff
} D2D1_DISTANTSPECULAR_PROP;
typedef enum D2D1_TILE_PROP {
D2D1_TILE_PROP_RECT = 0,
D2D1_TILE_PROP_FORCE_DWORD = 0xffffffff
} D2D1_TILE_PROP;
#ifdef __cplusplus
}
#endif
#endif /* __d2d1effects_h__ */
#endif /* _D2D1_EFFECTS_ */

View File

@ -1,122 +0,0 @@
/*
* Copyright 2021 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
*/
cpp_quote("DEFINE_GUID(CLSID_D2D12DAffineTransform, 0x6aa97485,0x6354,0x4cfc,0x90,0x8c,0xe4,0xa7,0x4f,0x62,0xc9,0x6c);")
cpp_quote("DEFINE_GUID(CLSID_D2D13DPerspectiveTransform, 0xc2844d0b,0x3d86,0x46e7,0x85,0xba,0x52,0x6c,0x92,0x40,0xf3,0xfb);")
cpp_quote("DEFINE_GUID(CLSID_D2D13DTransform, 0xe8467b04,0xec61,0x4b8a,0xb5,0xde,0xd4,0xd7,0x3d,0xeb,0xea,0x5a);")
cpp_quote("DEFINE_GUID(CLSID_D2D1ArithmeticComposite, 0xfc151437,0x049a,0x4784,0xa2,0x4a,0xf1,0xc4,0xda,0xf2,0x09,0x87);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Atlas, 0x913e2be4,0xfdcf,0x4fe2,0xa5,0xf0,0x24,0x54,0xf1,0x4f,0xf4,0x08);")
cpp_quote("DEFINE_GUID(CLSID_D2D1BitmapSource, 0x5fb6c24d,0xc6dd,0x4231,0x94,0x04,0x50,0xf4,0xd5,0xc3,0x25,0x2d);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Blend, 0x81c5b77b,0x13f8,0x4cdd,0xad,0x20,0xc8,0x90,0x54,0x7a,0xc6,0x5d);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Border, 0x2a2d49c0,0x4acf,0x43c7,0x8c,0x6a,0x7c,0x4a,0x27,0x87,0x4d,0x27);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Brightness, 0x8cea8d1e,0x77b0,0x4986,0xb3,0xb9,0x2f,0x0c,0x0e,0xae,0x78,0x87);")
cpp_quote("DEFINE_GUID(CLSID_D2D1ColorManagement, 0x1a28524c,0xfdd6,0x4aa4,0xae,0x8f,0x83,0x7e,0xb8,0x26,0x7b,0x37);")
cpp_quote("DEFINE_GUID(CLSID_D2D1ColorMatrix, 0x921f03d6,0x641c,0x47df,0x85,0x2d,0xb4,0xbb,0x61,0x53,0xae,0x11);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Composite, 0x48fc9f51,0xf6ac,0x48f1,0x8b,0x58,0x3b,0x28,0xac,0x46,0xf7,0x6d);")
cpp_quote("DEFINE_GUID(CLSID_D2D1ConvolveMatrix, 0x407f8c08,0x5533,0x4331,0xa3,0x41,0x23,0xcc,0x38,0x77,0x84,0x3e);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Crop, 0xe23f7110,0x0e9a,0x4324,0xaf,0x47,0x6a,0x2c,0x0c,0x46,0xf3,0x5b);")
cpp_quote("DEFINE_GUID(CLSID_D2D1DirectionalBlur, 0x174319a6,0x58e9,0x49b2,0xbb,0x63,0xca,0xf2,0xc8,0x11,0xa3,0xdb);")
cpp_quote("DEFINE_GUID(CLSID_D2D1DiscreteTransfer, 0x90866fcd,0x488e,0x454b,0xaf,0x06,0xe5,0x04,0x1b,0x66,0xc3,0x6c);")
cpp_quote("DEFINE_GUID(CLSID_D2D1DisplacementMap, 0xedc48364,0x0417,0x4111,0x94,0x50,0x43,0x84,0x5f,0xa9,0xf8,0x90);")
cpp_quote("DEFINE_GUID(CLSID_D2D1DistantDiffuse, 0x3e7efd62,0xa32d,0x46d4,0xa8,0x3c,0x52,0x78,0x88,0x9a,0xc9,0x54);")
cpp_quote("DEFINE_GUID(CLSID_D2D1DistantSpecular, 0x428c1ee5,0x77b8,0x4450,0x8a,0xb5,0x72,0x21,0x9c,0x21,0xab,0xda);")
cpp_quote("DEFINE_GUID(CLSID_D2D1DpiCompensation, 0x6c26c5c7,0x34e0,0x46fc,0x9c,0xfd,0xe5,0x82,0x37,0x6, 0xe2,0x28);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Flood, 0x61c23c20,0xae69,0x4d8e,0x94,0xcf,0x50,0x07,0x8d,0xf6,0x38,0xf2);")
cpp_quote("DEFINE_GUID(CLSID_D2D1GammaTransfer, 0x409444c4,0xc419,0x41a0,0xb0,0xc1,0x8c,0xd0,0xc0,0xa1,0x8e,0x42);")
cpp_quote("DEFINE_GUID(CLSID_D2D1GaussianBlur, 0x1feb6d69,0x2fe6,0x4ac9,0x8c,0x58,0x1d,0x7f,0x93,0xe7,0xa6,0xa5);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Scale, 0x9daf9369,0x3846,0x4d0e,0xa4,0x4e,0xc, 0x60,0x79,0x34,0xa5,0xd7);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Histogram, 0x881db7d0,0xf7ee,0x4d4d,0xa6,0xd2,0x46,0x97,0xac,0xc6,0x6e,0xe8);")
cpp_quote("DEFINE_GUID(CLSID_D2D1HueRotation, 0x0f4458ec,0x4b32,0x491b,0x9e,0x85,0xbd,0x73,0xf4,0x4d,0x3e,0xb6);")
cpp_quote("DEFINE_GUID(CLSID_D2D1LinearTransfer, 0xad47c8fd,0x63ef,0x4acc,0x9b,0x51,0x67,0x97,0x9c,0x03,0x6c,0x06);")
cpp_quote("DEFINE_GUID(CLSID_D2D1LuminanceToAlpha, 0x41251ab7,0x0beb,0x46f8,0x9d,0xa7,0x59,0xe9,0x3f,0xcc,0xe5,0xde);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Morphology, 0xeae6c40d,0x626a,0x4c2d,0xbf,0xcb,0x39,0x10,0x01,0xab,0xe2,0x02);")
cpp_quote("DEFINE_GUID(CLSID_D2D1OpacityMetadata, 0x6c53006a,0x4450,0x4199,0xaa,0x5b,0xad,0x16,0x56,0xfe,0xce,0x5e);")
cpp_quote("DEFINE_GUID(CLSID_D2D1PointDiffuse, 0xb9e303c3,0xc08c,0x4f91,0x8b,0x7b,0x38,0x65,0x6b,0xc4,0x8c,0x20);")
cpp_quote("DEFINE_GUID(CLSID_D2D1PointSpecular, 0x09c3ca26,0x3ae2,0x4f09,0x9e,0xbc,0xed,0x38,0x65,0xd5,0x3f,0x22);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Premultiply, 0x06eab419,0xdeed,0x4018,0x80,0xd2,0x3e,0x1d,0x47,0x1a,0xde,0xb2);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Saturation, 0x5cb2d9cf,0x327d,0x459f,0xa0,0xce,0x40,0xc0,0xb2,0x08,0x6b,0xf7);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Shadow, 0xc67ea361,0x1863,0x4e69,0x89,0xdb,0x69,0x5d,0x3e,0x9a,0x5b,0x6b);")
cpp_quote("DEFINE_GUID(CLSID_D2D1SpotDiffuse, 0x818a1105,0x7932,0x44f4,0xaa,0x86,0x08,0xae,0x7b,0x2f,0x2c,0x93);")
cpp_quote("DEFINE_GUID(CLSID_D2D1SpotSpecular, 0xedae421e,0x7654,0x4a37,0x9d,0xb8,0x71,0xac,0xc1,0xbe,0xb3,0xc1);")
cpp_quote("DEFINE_GUID(CLSID_D2D1TableTransfer, 0x5bf818c3,0x5e43,0x48cb,0xb6,0x31,0x86,0x83,0x96,0xd6,0xa1,0xd4);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Tile, 0xb0784138,0x3b76,0x4bc5,0xb1,0x3b,0x0f,0xa2,0xad,0x02,0x65,0x9f);")
cpp_quote("DEFINE_GUID(CLSID_D2D1Turbulence, 0xcf2bb6ae,0x889a,0x4ad7,0xba,0x29,0xa2,0xfd,0x73,0x2c,0x9f,0xc9);")
cpp_quote("DEFINE_GUID(CLSID_D2D1UnPremultiply, 0xfb9ac489,0xad8d,0x41ed,0x99,0x99,0xbb,0x63,0x47,0xd1,0x10,0xf7);")
typedef enum D2D1_BORDER_MODE
{
D2D1_BORDER_MODE_SOFT = 0x0,
D2D1_BORDER_MODE_HARD = 0x1,
D2D1_BORDER_MODE_FORCE_DWORD = 0xffffffff
} D2D1_BORDER_MODE;
typedef enum D2D1_2DAFFINETRANSFORM_PROP
{
D2D1_2DAFFINETRANSFORM_PROP_INTERPOLATION_MODE = 0x0,
D2D1_2DAFFINETRANSFORM_PROP_BORDER_MODE = 0x1,
D2D1_2DAFFINETRANSFORM_PROP_TRANSFORM_MATRIX = 0x2,
D2D1_2DAFFINETRANSFORM_PROP_SHARPNESS = 0x3,
D2D1_2DAFFINETRANSFORM_PROP_FORCE_DWORD = 0xffffffff
} D2D1_2DAFFINETRANSFORM_PROP;
typedef enum D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE
{
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0x0,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_LINEAR = 0x1,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_CUBIC = 0x2,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 0x3,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 0x4,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC = 0x5,
D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
} D2D1_2DAFFINETRANSFORM_INTERPOLATION_MODE;
typedef enum D2D1_3DPERSPECTIVETRANSFORM_PROP
{
D2D1_3DPERSPECTIVETRANSFORM_PROP_INTERPOLATION_MODE = 0x0,
D2D1_3DPERSPECTIVETRANSFORM_PROP_BORDER_MODE = 0x1,
D2D1_3DPERSPECTIVETRANSFORM_PROP_DEPTH = 0x2,
D2D1_3DPERSPECTIVETRANSFORM_PROP_PERSPECTIVE_ORIGIN = 0x3,
D2D1_3DPERSPECTIVETRANSFORM_PROP_LOCAL_OFFSET = 0x4,
D2D1_3DPERSPECTIVETRANSFORM_PROP_GLOBAL_OFFSET = 0x5,
D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION_ORIGIN = 0x6,
D2D1_3DPERSPECTIVETRANSFORM_PROP_ROTATION = 0x7,
D2D1_3DPERSPECTIVETRANSFORM_PROP_FORCE_DWORD = 0xffffffff
} D2D1_3DPERSPECTIVETRANSFORM_PROP;
typedef enum D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE
{
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_NEAREST_NEIGHBOR = 0x0,
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_LINEAR = 0x1,
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_CUBIC = 0x2,
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR = 0x3,
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_ANISOTROPIC = 0x4,
D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE_FORCE_DWORD = 0xffffffff
} D2D1_3DPERSPECTIVETRANSFORM_INTERPOLATION_MODE;
typedef enum D2D1_COMPOSITE_PROP
{
D2D1_COMPOSITE_PROP_MODE = 0x0,
D2D1_COMPOSITE_PROP_FORCE_DWORD = 0xffffffff
} D2D1_COMPOSITE_PROP;
typedef enum D2D1_CROP_PROP
{
D2D1_CROP_PROP_RECT = 0x0,
D2D1_CROP_PROP_BORDER_MODE = 0x1,
D2D1_CROP_PROP_FORCE_DWORD = 0xffffffff
} D2D1_CROP_PROP;

View File

@ -1,50 +0,0 @@
/*
* 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;

View File

@ -1,39 +0,0 @@
/*
* 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_1.idl";
cpp_quote("DEFINE_GUID(CLSID_D2D1Grayscale, 0x36dde0eb,0x3725,0x42e0,0x83,0x6d,0x52,0xfb,0x20,0xae,0xe6,0x44);")
cpp_quote("DEFINE_GUID(CLSID_D2D1HighlightsShadows, 0xcadc8384,0x323f,0x4c7e,0xa3,0x61,0x2e,0x2b,0x24,0xdf,0x6e,0xe4);")
typedef enum D2D1_HIGHLIGHTSANDSHADOWS_PROP
{
D2D1_HIGHLIGHTSANDSHADOWS_PROP_HIGHLIGHTS = 0x0,
D2D1_HIGHLIGHTSANDSHADOWS_PROP_SHADOWS = 0x1,
D2D1_HIGHLIGHTSANDSHADOWS_PROP_CLARITY = 0x2,
D2D1_HIGHLIGHTSANDSHADOWS_PROP_INPUT_GAMMA = 0x3,
D2D1_HIGHLIGHTSANDSHADOWS_PROP_MASK_BLUR_RADIUS = 0x4,
D2D1_HIGHLIGHTSANDSHADOWS_PROP_FORCE_DWORD = 0xffffffff
} D2D1_HIGHLIGHTSANDSHADOWS_PROP;
typedef enum D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA
{
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_LINEAR = 0x0,
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_SRGB = 0x1,
D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA_FORCE_DWORD = 0xffffffff
} D2D1_HIGHLIGHTSANDSHADOWS_INPUT_GAMMA;

View File

@ -1,116 +0,0 @@
/*
* Copyright 2023 Hans Leidekker 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
*/
#ifdef __WIDL__
#pragma winrt ns_prefix
#endif
import "windows.foundation.idl";
import "windows.storage.idl";
import "windows.system.idl";
namespace Windows.ApplicationModel {
typedef struct PackageVersion PackageVersion;
interface IPackage;
interface IPackageId;
interface IPackageIdWithMetadata;
interface IPackageStatics;
runtimeclass Package;
runtimeclass PackageId;
declare {
interface Windows.Foundation.Collections.IIterable<Windows.ApplicationModel.Package *>;
interface Windows.Foundation.Collections.IIterator<Windows.ApplicationModel.Package *>;
interface Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Package *>;
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0)
]
struct PackageVersion
{
UINT16 Major;
UINT16 Minor;
UINT16 Build;
UINT16 Revision;
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.ApplicationModel.Package),
uuid(163c792f-bd75-413c-bf23-b1fe7b95d825)
]
interface IPackage : IInspectable
{
[propget] HRESULT Id([out, retval] Windows.ApplicationModel.PackageId **value);
[propget] HRESULT InstalledLocation([out, retval] Windows.Storage.StorageFolder **value);
[propget] HRESULT IsFramework([out, retval] boolean *value);
[propget] HRESULT Dependencies([out, retval] Windows.Foundation.Collections.IVectorView<Windows.ApplicationModel.Package *> **value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.ApplicationModel.PackageId),
uuid(1adb665e-37c7-4790-9980-dd7ae74e8bb2)
]
interface IPackageId : IInspectable
{
[propget] HRESULT Name([out, retval] HSTRING *value);
[propget] HRESULT Version([out, retval] Windows.ApplicationModel.PackageVersion *value);
[propget] HRESULT Architecture([out, retval] Windows.System.ProcessorArchitecture *value);
[propget] HRESULT ResourceId([out, retval] HSTRING *value);
[propget] HRESULT Publisher([out, retval] HSTRING *value);
[propget] HRESULT PublisherId([out, retval] HSTRING *value);
[propget] HRESULT FullName([out, retval] HSTRING *value);
[propget] HRESULT FamilyName([out, retval] HSTRING *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.ApplicationModel.PackageId),
uuid(40577a7c-0c9e-443d-9074-855f5ce0a08d)
]
interface IPackageIdWithMetadata : IInspectable
{
[propget] HRESULT ProductId([out, retval] HSTRING *value);
[propget] HRESULT Author([out, retval] HSTRING *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
static(Windows.ApplicationModel.IPackageStatics, Windows.Foundation.UniversalApiContract, 1.0),
threading(both)
]
runtimeclass Package
{
[default] interface Windows.ApplicationModel.IPackage;
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile)
]
runtimeclass PackageId
{
[default] interface Windows.ApplicationModel.IPackageId;
[contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.ApplicationModel.IPackageIdWithMetadata;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -68,32 +68,16 @@ namespace Windows.Foundation {
interface IMemoryBufferFactory;
interface IMemoryBufferReference;
interface IStringable;
interface IUriEscapeStatics;
interface IUriRuntimeClass;
interface IUriRuntimeClassFactory;
interface IUriRuntimeClassWithAbsoluteCanonicalUri;
interface IWwwFormUrlDecoderEntry;
interface IWwwFormUrlDecoderRuntimeClass;
interface IWwwFormUrlDecoderRuntimeClassFactory;
runtimeclass Deferral;
runtimeclass MemoryBuffer;
runtimeclass Uri;
runtimeclass WwwFormUrlDecoder;
runtimeclass WwwFormUrlDecoderEntry;
declare {
interface Windows.Foundation.Collections.IIterable<HSTRING>;
interface Windows.Foundation.Collections.IIterable<IInspectable *>;
interface Windows.Foundation.Collections.IIterable<IWwwFormUrlDecoderEntry *>;
interface Windows.Foundation.Collections.IIterable<Uri *>;
interface Windows.Foundation.Collections.IIterator<HSTRING>;
interface Windows.Foundation.Collections.IIterator<IInspectable *>;
interface Windows.Foundation.Collections.IIterator<IWwwFormUrlDecoderEntry *>;
interface Windows.Foundation.Collections.IIterator<Uri *>;
interface Windows.Foundation.Collections.IVectorView<HSTRING>;
interface Windows.Foundation.Collections.IVectorView<IInspectable *>;
interface Windows.Foundation.Collections.IVectorView<IWwwFormUrlDecoderEntry *>;
interface Windows.Foundation.Collections.IVector<HSTRING>;
interface Windows.Foundation.Collections.IVector<IInspectable *>;
interface Windows.Foundation.Collections.IMapView<HSTRING, Windows.Foundation.Collections.IVectorView<HSTRING> *>;
@ -287,97 +271,6 @@ namespace Windows.Foundation {
[eventremove] HRESULT Closed([in] EventRegistrationToken cookie);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Foundation.Uri),
uuid(c1d432ba-c824-4452-a7fd-512bc3bbe9a1)
]
interface IUriEscapeStatics : IInspectable
{
HRESULT UnescapeComponent([in] HSTRING to_unescape, [out, retval] HSTRING *value);
HRESULT EscapeComponent([in] HSTRING to_escape, [out, retval] HSTRING *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Foundation.Uri),
uuid(9e365e57-48b2-4160-956f-c7385120bbfc)
]
interface IUriRuntimeClass : IInspectable
{
[propget] HRESULT AbsoluteUri([out, retval] HSTRING *value);
[propget] HRESULT DisplayUri([out, retval] HSTRING *value);
[propget] HRESULT Domain([out, retval] HSTRING *value);
[propget] HRESULT Extension([out, retval] HSTRING *value);
[propget] HRESULT Fragment([out, retval] HSTRING *value);
[propget] HRESULT Host([out, retval] HSTRING *value);
[propget] HRESULT Password([out, retval] HSTRING *value);
[propget] HRESULT Path([out, retval] HSTRING *value);
[propget] HRESULT Query([out, retval] HSTRING *value);
[propget] HRESULT QueryParsed([out, retval] Windows.Foundation.WwwFormUrlDecoder **decoder);
[propget] HRESULT RawUri([out, retval] HSTRING *value);
[propget] HRESULT SchemeName([out, retval] HSTRING *value);
[propget] HRESULT UserName([out, retval] HSTRING *value);
[propget] HRESULT Port([out, retval] INT32 *value);
[propget] HRESULT Suspicious([out, retval] boolean *value);
HRESULT Equals([in] Windows.Foundation.Uri *uri, [out, retval] boolean *value);
HRESULT CombineUri([in] HSTRING relative_uri, [out, retval] Windows.Foundation.Uri **instance);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Foundation.Uri),
uuid(44a9796f-723e-4fdf-a218-033e75b0c084)
]
interface IUriRuntimeClassFactory : IInspectable
{
HRESULT CreateUri([in] HSTRING uri, [out, retval] Windows.Foundation.Uri **instance);
HRESULT CreateWithRelativeUri([in] HSTRING base_uri, [in] HSTRING relative_uri, [out, retval] Windows.Foundation.Uri **instance);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Foundation.Uri),
uuid(758d9661-221c-480f-a339-50656673f46f)
]
interface IUriRuntimeClassWithAbsoluteCanonicalUri : IInspectable
{
[propget] HRESULT AbsoluteCanonicalUri([out, retval] HSTRING *value);
[propget] HRESULT DisplayIri([out, retval] HSTRING *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
uuid(125e7431-f678-4e8e-b670-20a9b06c512d)
]
interface IWwwFormUrlDecoderEntry : IInspectable
{
[propget] HRESULT Name([out, retval] HSTRING *value);
[propget] HRESULT Value([out, retval] HSTRING *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Foundation.WwwFormUrlDecoder),
uuid(d45a0451-f225-4542-9296-0e1df5d254df)
]
interface IWwwFormUrlDecoderRuntimeClass : IInspectable
requires Windows.Foundation.Collections.IIterable<Windows.Foundation.IWwwFormUrlDecoderEntry *>,
Windows.Foundation.Collections.IVectorView<Windows.Foundation.IWwwFormUrlDecoderEntry *>
{
HRESULT GetFirstValueByName([in] HSTRING name, [out, retval] HSTRING *value);
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
exclusiveto(Windows.Foundation.WwwFormUrlDecoder),
uuid(5b8c6b3d-24ae-41b5-a1bf-f0c3d544845b)
]
interface IWwwFormUrlDecoderRuntimeClassFactory : IInspectable
{
HRESULT CreateWwwFormUrlDecoder([in] HSTRING query, [out, retval] Windows.Foundation.WwwFormUrlDecoder **instance);
}
[
activatable(Windows.Foundation.IDeferralFactory, Windows.Foundation.FoundationContract, 1.0),
contract(Windows.Foundation.FoundationContract, 1.0),
@ -400,41 +293,4 @@ namespace Windows.Foundation {
[default] interface Windows.Foundation.IMemoryBuffer;
interface Windows.Foundation.IClosable;
}
[
activatable(Windows.Foundation.IUriRuntimeClassFactory, Windows.Foundation.UniversalApiContract, 1.0),
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
static(Windows.Foundation.IUriEscapeStatics, Windows.Foundation.UniversalApiContract, 1.0),
threading(both)
]
runtimeclass Uri
{
[default] interface Windows.Foundation.IUriRuntimeClass;
interface Windows.Foundation.IUriRuntimeClassWithAbsoluteCanonicalUri;
[contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Foundation.IStringable;
}
[
activatable(Windows.Foundation.IWwwFormUrlDecoderRuntimeClassFactory, Windows.Foundation.UniversalApiContract, 1.0),
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass WwwFormUrlDecoder
{
[default] interface Windows.Foundation.IWwwFormUrlDecoderRuntimeClass;
interface Windows.Foundation.Collections.IVectorView<Windows.Foundation.IWwwFormUrlDecoderEntry *>;
interface Windows.Foundation.Collections.IIterable<Windows.Foundation.IWwwFormUrlDecoderEntry *>;
}
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
marshaling_behavior(agile),
threading(both)
]
runtimeclass WwwFormUrlDecoderEntry
{
[default] interface Windows.Foundation.IWwwFormUrlDecoderEntry;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,39 +1,185 @@
/*
* Copyright 2023 Hans Leidekker 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
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifdef __WIDL__
#pragma winrt ns_prefix
#endif
import "inspectable.idl";
import "eventtoken.idl";
import "windows.foundation.idl";
namespace Windows.Storage {
interface IStorageFolder;
interface IStorageFolderStatics;
namespace Windows {
namespace Foundation {
interface IAsyncAction;
//struct EventRegistrationToken;
runtimeclass StorageFolder;
[
contract(Windows.Foundation.UniversalApiContract, 1.0),
static(Windows.Storage.IStorageFolderStatics, Windows.Foundation.UniversalApiContract, 1.0)
]
runtimeclass StorageFolder
{
[default] interface Windows.Storage.IStorageFolder;
namespace Collections {
interface IPropertySet;
}
}
namespace Storage {
interface IStorageItem;
interface IStorageFolder;
interface IApplicationData;
interface IApplicationDataStatics;
interface IApplicationDataSetVersionHandler;
interface ApplicationDataContainer;
// delegate ApplicationDataSetVersionHandler;
interface ISetVersionRequest;
interface ISetVersionDeferral;
typedef enum StorageDeleteOption StorageDeleteOption;
typedef enum NameCollisionOption NameCollisionOption;
typedef enum StorageItemTypes StorageItemTypes;
typedef enum ApplicationDataLocality ApplicationDataLocality;
typedef enum ApplicationDataCreateDisposition ApplicationDataCreateDisposition;
typedef enum FileAttributes FileAttributes;
typedef enum CreationCollisionOption CreationCollisionOption;
}
}
namespace Windows {
namespace Storage {
enum NameCollisionOption {
GenerateUniqueName,
ReplaceExisting,
FailIfExists
};
enum StorageDeleteOption {
Default,
PermanentDelete
};
enum StorageItemTypes {
None,
File,
Folder
};
enum ApplicationDataCreateDisposition {
Always,
Existing
};
enum ApplicationDataLocality {
Local,
Roaming,
Temporary
};
enum FileAttributes {
Normal,
ReadOnly,
Directory,
Archive,
Temporary
};
enum CreationCollisionOption {
GenerateUniqueName,
ReplaceExisting,
FailIfExists,
OpenIfExists
};
[uuid(4207A996-CA2F-42F7-BDE8-8B10457A7F30)]
interface IStorageItem : IInspectable
{
HRESULT RenameAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncAction*/ IInspectable** action);
HRESULT RenameAsync(HSTRING desiredName, NameCollisionOption option, /*IAsyncAction*/ IInspectable** action);
HRESULT DeleteAsyncOverloadDefaultOptions(/*IAsyncAction*/ IInspectable** action);
HRESULT DeleteAsync(StorageDeleteOption option, /*IAsyncAction*/ IInspectable** action);
HRESULT GetBasicPropertiesAsync(/*IAsyncOperation<Windows.Storage.FileProperties.BasicProperties*>*/ IInspectable** action);
[propget] HRESULT Name(HSTRING *value);
[propget] HRESULT Path(HSTRING *value);
[propget] HRESULT Attributes(FileAttributes* value);
[propget] HRESULT DateCreated(Windows.Foundation.DateTime* value);
HRESULT IsOfType(StorageItemTypes itemType, boolean* value);
}
[uuid(5A2A7520-4802-452D-9AD9-4351ADA7EC35)]
interface IKnownFoldersStatics : IInspectable
{
[propget] HRESULT MusicLibrary(IStorageFolder** value);
[propget] HRESULT PicturesLibrary(IStorageFolder** value);
[propget] HRESULT VideosLibrary(IStorageFolder** value);
[propget] HRESULT DocumentsLibrary(IStorageFolder** value);
[propget] HRESULT HomeGroup(IStorageFolder** value);
[propget] HRESULT RemovableDevices(IStorageFolder** value);
[propget] HRESULT MediaServerDevices(IStorageFolder** value);
}
[uuid(72D1CB78-B3EF-4F75-A80B-6FD9DAE2944B)]
interface IStorageFolder : IInspectable
{
HRESULT CreateFileAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncOperation<IStorageFile*>*/IInspectable** operation);
HRESULT CreateFileAsync(HSTRING desiredName, CreationCollisionOption options, /*IAsyncOperation<IStorageFile*>*/IInspectable** operation);
HRESULT CreateFolderAsyncOverloadDefaultOptions(HSTRING desiredName, /*IAsyncOperation<IStorageFolder*>*/IInspectable** operation);
HRESULT CreateFolderAsync(HSTRING desiredName, CreationCollisionOption options, /*IAsyncOperation<StorageFolder*>*/IInspectable** operation);
HRESULT GetFileAsync(HSTRING name, /*IAsyncOperation<StorageFile*>*/IInspectable** operation);
HRESULT GetFolderAsync(HSTRING name, /*IAsyncOperation<StorageFolder*>*/IInspectable** operation);
HRESULT GetItemAsync(HSTRING name, /*IAsyncOperation<StorageItem*>*/IInspectable** operation);
HRESULT GetFilesAsyncOverloadDefaultOptionsStartAndCount(/*IAsyncOperation<IVectorView<StorageFile*>*>*/IInspectable** operation);
HRESULT GetFoldersAsyncOverloadDefaultOptionsStartAndCount(/*IAsyncOperation<IVectorView<StorageFolder*>*>*/IInspectable** operation);
HRESULT GetItemsAsyncOverloadDefaultStartAndCount(/*IAsyncOperation<IVectorView<StorageItem*>*>*/IInspectable** operation);
}
[uuid(C5AEFD1E-F467-40BA-8566-AB640A441E1D)]
interface IApplicationDataContainer : IInspectable {
[propget] HRESULT Name(HSTRING* value);
[propget] HRESULT Locality(ApplicationDataLocality* value);
[propget] HRESULT Values(/*IPropertySet*/IInspectable** value);
[propget] HRESULT Containers(/*IMapView<HSTRING, ApplicationDataContainer*>*/IInspectable** value);
HRESULT CreateContainer(HSTRING name, ApplicationDataCreateDisposition disposition, IApplicationDataContainer** container);
HRESULT DeleteContainer([in] HSTRING name);
}
[uuid(C3DA6FB7-B744-4B45-B0B8-223A0938D0DC)]
interface IApplicationData : IInspectable {
[propget] HRESULT Version(int* value);
HRESULT SetVersionAsync(int desiredVersion, IApplicationDataSetVersionHandler* handler, /*IAsyncAction*/ IInspectable** setVersionOperation);
HRESULT ClearAllAsync(/*IAsyncAction*/ IInspectable** clearOperation);
HRESULT ClearAsync(ApplicationDataLocality locality, /*IAsyncAction*/ IInspectable** clearOperation);
[propget] HRESULT LocalSettings(IApplicationDataContainer** value);
[propget] HRESULT RoamingSettings(IApplicationDataContainer** value);
[propget] HRESULT LocalFolder(IStorageFolder** value);
[propget] HRESULT RoamingFolder(IStorageFolder** value);
[propget] HRESULT TemporaryFolder(IStorageFolder** value);
// [eventadd] HRESULT DataChanged(/*TypedEventHandler<ApplicationData*, IInspectable*>*/IInspectable* handler, EventRegistrationToken* token);
/* [eventremove] */ HRESULT DataChanged(Windows.Foundation.EventRegistrationToken token);
HRESULT SignalDataChanged();
HRESULT RoamingStorageQuota(UINT64* value);
}
[uuid(9E65CD69-0BA3-4E32-BE29-B02DE6607638)]
interface IApplicationData2 : IInspectable {
[propget] HRESULT LocalCacheFolder(IStorageFolder** value);
}
[uuid(5612147B-E843-45E3-94D8-06169E3C8E17)]
interface IApplicationDataStatics : IInspectable {
[propget] HRESULT Current(IApplicationData** data);
}
[uuid(A05791E6-CC9F-4687-ACAB-A364FD785463)]
interface IApplicationDataSetVersionHandler : IUnknown {
HRESULT Invoke(ISetVersionRequest* setVersionRequest);
}
[uuid(B9C76B9B-1056-4E69-8330-162619956F9B)]
interface ISetVersionRequest : IInspectable {
[propget] HRESULT CurrentVersion(UINT32* currentVersion);
[propget] HRESULT DesiredVersion(UINT32* desiredVersion);
HRESULT GetDeferral(ISetVersionDeferral** deferral);
}
[uuid(033508A2-781A-437A-B078-3F32BADCFE47)]
interface ISetVersionDeferral : IInspectable {
HRESULT Complete();
}
}
}

View File

@ -291,10 +291,6 @@ extern "C" {
typedef enum __x_ABI_CWindows_CSystem_CDispatcherQueuePriority __x_ABI_CWindows_CSystem_CDispatcherQueuePriority;
#endif /* __cplusplus */
#ifndef __cplusplus
typedef enum __x_ABI_CWindows_CSystem_CProcessorArchitecture __x_ABI_CWindows_CSystem_CProcessorArchitecture;
#endif /* __cplusplus */
#ifndef ____x_ABI_CWindows_CSystem_CIDispatcherQueue_FWD_DEFINED__
#define ____x_ABI_CWindows_CSystem_CIDispatcherQueue_FWD_DEFINED__
typedef interface __x_ABI_CWindows_CSystem_CIDispatcherQueue __x_ABI_CWindows_CSystem_CIDispatcherQueue;
@ -487,49 +483,6 @@ enum __x_ABI_CWindows_CSystem_CDispatcherQueuePriority {
#endif
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x50000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000
#ifdef __cplusplus
} /* extern "C" */
namespace ABI {
namespace Windows {
namespace System {
enum ProcessorArchitecture {
ProcessorArchitecture_X86 = 0,
ProcessorArchitecture_Arm = 5,
ProcessorArchitecture_X64 = 9,
ProcessorArchitecture_Neutral = 11,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000
ProcessorArchitecture_Arm64 = 12,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000
ProcessorArchitecture_X86OnArm64 = 14,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 */
ProcessorArchitecture_Unknown = 65535
};
}
}
}
extern "C" {
#else
enum __x_ABI_CWindows_CSystem_CProcessorArchitecture {
ProcessorArchitecture_X86 = 0,
ProcessorArchitecture_Arm = 5,
ProcessorArchitecture_X64 = 9,
ProcessorArchitecture_Neutral = 11,
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000
ProcessorArchitecture_Arm64 = 12,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 */
#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000
ProcessorArchitecture_X86OnArm64 = 14,
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 */
ProcessorArchitecture_Unknown = 65535
};
#ifdef WIDL_using_Windows_System
#define ProcessorArchitecture __x_ABI_CWindows_CSystem_CProcessorArchitecture
#endif /* WIDL_using_Windows_System */
#endif
#endif /* WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 */
/*****************************************************************************
* IDispatcherQueueHandler interface
*/

View File

@ -29,7 +29,6 @@ import "windows.foundation.idl";
namespace Windows.System
{
typedef enum DispatcherQueuePriority DispatcherQueuePriority;
typedef enum ProcessorArchitecture ProcessorArchitecture;
interface IDispatcherQueue;
interface IDispatcherQueue2;
@ -67,22 +66,6 @@ namespace Windows.System
High = 10,
};
[
contract(Windows.Foundation.UniversalApiContract, 1.0)
]
enum ProcessorArchitecture
{
X86 = 0,
Arm = 5,
X64 = 9,
Neutral = 11,
[contract(Windows.Foundation.UniversalApiContract, 8.0)]
Arm64 = 12,
[contract(Windows.Foundation.UniversalApiContract, 8.0)]
X86OnArm64 = 14,
Unknown = 65535
};
[
contract(Windows.Foundation.UniversalApiContract, 5.0),
uuid(dfa2dc9c-1a2d-4917-98f2-939af1d6e0c8)

Binary file not shown.

Binary file not shown.