[PATCH] include: Update to latest dwrite revision

Nikolay Sivov nsivov at codeweavers.com
Sun Oct 9 15:35:59 CDT 2016


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 include/d2dbasetypes.h |  12 ------
 include/dcommon.h      |  14 +++++++
 include/dwrite_3.idl   | 101 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 115 insertions(+), 12 deletions(-)

diff --git a/include/d2dbasetypes.h b/include/d2dbasetypes.h
index e5acff2..b231081 100644
--- a/include/d2dbasetypes.h
+++ b/include/d2dbasetypes.h
@@ -29,12 +29,6 @@ typedef struct D3DCOLORVALUE
 
 typedef D3DCOLORVALUE D2D_COLOR_F;
 
-typedef struct D2D_POINT_2F
-{
-    FLOAT x;
-    FLOAT y;
-} D2D_POINT_2F;
-
 typedef struct D2D_MATRIX_3X2_F
 {
     float _11;
@@ -59,12 +53,6 @@ typedef struct D2D_SIZE_F
     float height;
 } D2D_SIZE_F;
 
-typedef struct D2D_SIZE_U
-{
-    UINT32 width;
-    UINT32 height;
-} D2D_SIZE_U;
-
 typedef struct D2D_POINT_2U
 {
     UINT32 x;
diff --git a/include/dcommon.h b/include/dcommon.h
index 56445a3..a516e8a 100644
--- a/include/dcommon.h
+++ b/include/dcommon.h
@@ -43,4 +43,18 @@ typedef struct D2D1_PIXEL_FORMAT
     D2D1_ALPHA_MODE alphaMode;
 } 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 */
diff --git a/include/dwrite_3.idl b/include/dwrite_3.idl
index 9e7a4c6..afe7e84 100644
--- a/include/dwrite_3.idl
+++ b/include/dwrite_3.idl
@@ -397,3 +397,104 @@ interface IDWriteFactory3 : IDWriteFactory2
 
     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);
+}
-- 
2.9.3




More information about the wine-patches mailing list