Commit f2e6fc69 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

include: Add ID2D1DeviceContext6 definition.

parent 94f5cd1d
......@@ -85,6 +85,22 @@ typedef enum D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION
D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION_FORCE_DWORD = 0xffffffff
} D2D1_COLOR_BITMAP_GLYPH_SNAP_OPTION;
typedef enum D2D1_GAMMA1
{
D2D1_GAMMA1_G22 = D2D1_GAMMA_2_2,
D2D1_GAMMA1_G10 = D2D1_GAMMA_1_0,
D2D1_GAMMA1_G2084 = 2,
D2D1_GAMMA1_FORCE_DWORD = 0xffffffff
} D2D1_GAMMA1;
typedef enum D2D1_COLOR_CONTEXT_TYPE
{
D2D1_COLOR_CONTEXT_TYPE_ICC = 0x0,
D2D1_COLOR_CONTEXT_TYPE_SIMPLE = 0x1,
D2D1_COLOR_CONTEXT_TYPE_DXGI = 0x2,
D2D1_COLOR_CONTEXT_TYPE_FORCE_DWORD = 0xffffffff
} D2D1_COLOR_CONTEXT_TYPE;
typedef struct D2D1_INK_POINT
{
float x;
......@@ -142,6 +158,15 @@ typedef struct D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES
D2D1_TRANSFORMED_IMAGE_SOURCE_OPTIONS options;
} D2D1_TRANSFORMED_IMAGE_SOURCE_PROPERTIES;
typedef struct D2D1_SIMPLE_COLOR_PROFILE
{
D2D1_POINT_2F redPrimary;
D2D1_POINT_2F greenPrimary;
D2D1_POINT_2F bluePrimary;
D2D1_POINT_2F whitePointXZ;
D2D1_GAMMA1 gamma;
} D2D1_SIMPLE_COLOR_PROFILE;
[
object,
uuid(bae8b344-23fc-4071-8cb5-d05d6f073848),
......@@ -505,8 +530,62 @@ interface ID2D1DeviceContext4 : ID2D1DeviceContext3
);
}
interface ID2D1DeviceContext5;
interface ID2D1DeviceContext6;
interface ID2D1SvgDocument;
[
object,
uuid(1ab42875-c57f-4be9-bd85-9cd78d6f55ee),
local,
]
interface ID2D1ColorContext1 : ID2D1ColorContext
{
D2D1_COLOR_CONTEXT_TYPE GetColorContextType(void);
DXGI_COLOR_SPACE_TYPE GetDXGIColorSpace(void);
HRESULT GetSimpleColorProfile(
[out] D2D1_SIMPLE_COLOR_PROFILE *simple_profile
);
}
[
object,
uuid(7836d248-68cc-4df6-b9e8-de991bf62eb7),
local,
]
interface ID2D1DeviceContext5 : ID2D1DeviceContext4
{
HRESULT CreateSvgDocument(
[in] IStream *input_xml_stream,
[in] D2D1_SIZE_F viewport_size,
[out] ID2D1SvgDocument **svg_document
);
void DrawSvgDocument(
[in] ID2D1SvgDocument *svg_document
);
HRESULT CreateColorContextFromDxgiColorSpace(
[in] DXGI_COLOR_SPACE_TYPE color_space,
[out] ID2D1ColorContext1 **color_context
);
HRESULT CreateColorContextFromSimpleColorProfile(
[in] const D2D1_SIMPLE_COLOR_PROFILE *simple_profile,
[out] ID2D1ColorContext1 **color_context
);
}
[
object,
uuid(985f7e37-4ed0-4a19-98a3-15b0edfde306),
local,
]
interface ID2D1DeviceContext6 : ID2D1DeviceContext5
{
void BlendImage(
[in] ID2D1Image *image,
[in] D2D1_BLEND_MODE blend_mode,
[in] const D2D1_POINT_2F *target_offset,
[in] const D2D1_RECT_F *image_rect,
[in] D2D1_INTERPOLATION_MODE interpolation_mode
);
}
[
object,
......
......@@ -120,3 +120,34 @@ typedef enum D2D1_CROP_PROP
D2D1_CROP_PROP_BORDER_MODE = 0x1,
D2D1_CROP_PROP_FORCE_DWORD = 0xffffffff
} D2D1_CROP_PROP;
typedef enum D2D1_BLEND_MODE
{
D2D1_BLEND_MODE_MULTIPLY = 0x0,
D2D1_BLEND_MODE_SCREEN = 0x1,
D2D1_BLEND_MODE_DARKEN = 0x2,
D2D1_BLEND_MODE_LIGHTEN = 0x3,
D2D1_BLEND_MODE_DISSOLVE = 0x4,
D2D1_BLEND_MODE_COLOR_BURN = 0x5,
D2D1_BLEND_MODE_LINEAR_BURN = 0x6,
D2D1_BLEND_MODE_DARKER_COLOR = 0x7,
D2D1_BLEND_MODE_LIGHTER_COLOR = 0x8,
D2D1_BLEND_MODE_COLOR_DODGE = 0x9,
D2D1_BLEND_MODE_LINEAR_DODGE = 0xa,
D2D1_BLEND_MODE_OVERLAY = 0xb,
D2D1_BLEND_MODE_SOFT_LIGHT = 0xc,
D2D1_BLEND_MODE_HARD_LIGHT = 0xd,
D2D1_BLEND_MODE_VIVID_LIGHT = 0xe,
D2D1_BLEND_MODE_LINEAR_LIGHT = 0xf,
D2D1_BLEND_MODE_PIN_LIGHT = 0x10,
D2D1_BLEND_MODE_HARD_MIX = 0x11,
D2D1_BLEND_MODE_DIFFERENCE = 0x12,
D2D1_BLEND_MODE_EXCLUSION = 0x13,
D2D1_BLEND_MODE_HUE = 0x14,
D2D1_BLEND_MODE_SATURATION = 0x15,
D2D1_BLEND_MODE_COLOR = 0x16,
D2D1_BLEND_MODE_LUMINOSITY = 0x17,
D2D1_BLEND_MODE_SUBTRACT = 0x18,
D2D1_BLEND_MODE_DIVISION = 0x19,
D2D1_BLEND_MODE_FORCE_DWORD = 0xffffffff
} D2D1_BLEND_MODE;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment