Commit 04e64b13 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

include: Update to latest dwrite revision.

parent 1dedd90e
...@@ -29,12 +29,6 @@ typedef struct D3DCOLORVALUE ...@@ -29,12 +29,6 @@ typedef struct D3DCOLORVALUE
typedef D3DCOLORVALUE D2D_COLOR_F; typedef D3DCOLORVALUE D2D_COLOR_F;
typedef struct D2D_POINT_2F
{
FLOAT x;
FLOAT y;
} D2D_POINT_2F;
typedef struct D2D_MATRIX_3X2_F typedef struct D2D_MATRIX_3X2_F
{ {
float _11; float _11;
...@@ -59,12 +53,6 @@ typedef struct D2D_SIZE_F ...@@ -59,12 +53,6 @@ typedef struct D2D_SIZE_F
float height; float height;
} D2D_SIZE_F; } D2D_SIZE_F;
typedef struct D2D_SIZE_U
{
UINT32 width;
UINT32 height;
} D2D_SIZE_U;
typedef struct D2D_POINT_2U typedef struct D2D_POINT_2U
{ {
UINT32 x; UINT32 x;
......
...@@ -43,4 +43,18 @@ typedef struct D2D1_PIXEL_FORMAT ...@@ -43,4 +43,18 @@ typedef struct D2D1_PIXEL_FORMAT
D2D1_ALPHA_MODE alphaMode; D2D1_ALPHA_MODE alphaMode;
} D2D1_PIXEL_FORMAT; } D2D1_PIXEL_FORMAT;
typedef struct D2D_POINT_2F
{
FLOAT x;
FLOAT y;
} D2D_POINT_2F, D2D1_POINT_2F;
typedef POINT D2D_POINT_2L, D2D1_POINT_2L;
typedef struct D2D_SIZE_U
{
UINT32 width;
UINT32 height;
} D2D_SIZE_U, D2D1_SIZE_U;
#endif /* __WINE_DCOMMON_H */ #endif /* __WINE_DCOMMON_H */
...@@ -397,3 +397,104 @@ interface IDWriteFactory3 : IDWriteFactory2 ...@@ -397,3 +397,104 @@ interface IDWriteFactory3 : IDWriteFactory2
HRESULT GetFontDownloadQueue(IDWriteFontDownloadQueue **queue); HRESULT GetFontDownloadQueue(IDWriteFontDownloadQueue **queue);
} }
typedef enum DWRITE_GLYPH_IMAGE_FORMATS
{
DWRITE_GLYPH_IMAGE_FORMATS_NONE = 0,
DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE = 1 << 0,
DWRITE_GLYPH_IMAGE_FORMATS_CFF = 1 << 1,
DWRITE_GLYPH_IMAGE_FORMATS_COLR = 1 << 2,
DWRITE_GLYPH_IMAGE_FORMATS_SVG = 1 << 3,
DWRITE_GLYPH_IMAGE_FORMATS_PNG = 1 << 4,
DWRITE_GLYPH_IMAGE_FORMATS_JPEG = 1 << 5,
DWRITE_GLYPH_IMAGE_FORMATS_TIFF = 1 << 6,
DWRITE_GLYPH_IMAGE_FORMATS_PREMULTIPLIED_B8G8R8A8 = 1 << 7
} DWRITE_GLYPH_IMAGE_FORMATS;
typedef struct DWRITE_GLYPH_IMAGE_DATA
{
void const *imageData;
UINT32 imageDataSize;
UINT32 uniqueDataId;
UINT32 pixelsPerEm;
D2D1_SIZE_U pixelSize;
D2D1_POINT_2L horizontalLeftOrigin;
D2D1_POINT_2L horizontalRightOrigin;
D2D1_POINT_2L verticalTopOrigin;
D2D1_POINT_2L verticalBottomOrigin;
} DWRITE_GLYPH_IMAGE_DATA;
[
local,
object,
uuid(27f2a904-4eb8-441d-9678-0563f53e3e2f)
]
interface IDWriteFontFace4 : IDWriteFontFace3
{
HRESULT GetGlyphImageFormats_(
UINT16 glyph,
UINT32 ppem_first,
UINT32 ppem_last,
DWRITE_GLYPH_IMAGE_FORMATS *formats);
DWRITE_GLYPH_IMAGE_FORMATS GetGlyphImageFormats();
HRESULT GetGlyphImageData(
UINT16 glyph,
UINT32 ppem,
DWRITE_GLYPH_IMAGE_FORMATS format,
DWRITE_GLYPH_IMAGE_DATA *data,
void **context);
void ReleaseGlyphImageData(void *context);
}
typedef struct DWRITE_COLOR_GLYPH_RUN1
{
DWRITE_GLYPH_RUN glyphRun;
DWRITE_GLYPH_RUN_DESCRIPTION *glyphRunDescription;
FLOAT baselineOriginX;
FLOAT baselineOriginY;
DWRITE_COLOR_F runColor;
UINT16 paletteIndex;
DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat;
DWRITE_MEASURING_MODE measuringMode;
} DWRITE_COLOR_GLYPH_RUN1;
[
local,
object,
uuid(7c5f86da-c7a1-4f05-b8e1-55a179fe5a35)
]
interface IDWriteColorGlyphRunEnumerator1 : IDWriteColorGlyphRunEnumerator
{
HRESULT GetCurrentRun(
DWRITE_COLOR_GLYPH_RUN1 const **run);
}
[
local,
object,
uuid(4b0b5bd3-0797-4549-8ac5-fe915cc53856)
]
interface IDWriteFactory4 : IDWriteFactory3
{
HRESULT TranslateColorGlyphRun(
D2D1_POINT_2F baseline_origin,
DWRITE_GLYPH_RUN const *run,
DWRITE_GLYPH_RUN_DESCRIPTION const *run_desc,
DWRITE_GLYPH_IMAGE_FORMATS desired_formats,
DWRITE_MEASURING_MODE measuring_mode,
DWRITE_MATRIX const *transform,
UINT32 palette,
IDWriteColorGlyphRunEnumerator1 **layers);
HRESULT ComputeGlyphOrigins_(
DWRITE_GLYPH_RUN const *run,
D2D1_POINT_2F baseline_origin,
D2D1_POINT_2F *origins);
HRESULT ComputeGlyphOrigins(
DWRITE_GLYPH_RUN const *run,
DWRITE_MEASURING_MODE measuring_mode,
D2D1_POINT_2F baseline_origin,
DWRITE_MATRIX const *transform,
D2D1_POINT_2F *origins);
}
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