Nikolay Sivov : include: Add initial dwrite_3.idl.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Feb 16 09:54:59 CST 2016
Module: wine
Branch: master
Commit: 9cf095a1d4224c5a535b10e3156e5e746b462b7d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9cf095a1d4224c5a535b10e3156e5e746b462b7d
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue Feb 16 02:25:39 2016 +0300
include: Add initial dwrite_3.idl.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
include/Makefile.in | 1 +
include/dwrite_3.idl | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 216 insertions(+)
diff --git a/include/Makefile.in b/include/Makefile.in
index 010abe5..8224e28 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -58,6 +58,7 @@ IDL_SRCS = \
dwrite.idl \
dwrite_1.idl \
dwrite_2.idl \
+ dwrite_3.idl \
dxgi.idl \
dxgi1_2.idl \
dxva2api.idl \
diff --git a/include/dwrite_3.idl b/include/dwrite_3.idl
new file mode 100644
index 0000000..410e693
--- /dev/null
+++ b/include/dwrite_3.idl
@@ -0,0 +1,215 @@
+/*
+ * Copyright 2016 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 "dwrite_2.idl";
+
+interface IDWriteFontFaceReference;
+interface IDWriteFontFace3;
+interface IDWriteFont3;
+interface IDWriteFontSet;
+
+typedef enum DWRITE_LOCALITY
+{
+ DWRITE_LOCALITY_REMOTE,
+ DWRITE_LOCALITY_PARTIAL,
+ DWRITE_LOCALITY_LOCAL
+} DWRITE_LOCALITY;
+
+typedef enum DWRITE_RENDERING_MODE1
+{
+ DWRITE_RENDERING_MODE1_DEFAULT,
+ DWRITE_RENDERING_MODE1_ALIASED,
+ DWRITE_RENDERING_MODE1_GDI_CLASSIC,
+ DWRITE_RENDERING_MODE1_GDI_NATURAL,
+ DWRITE_RENDERING_MODE1_NATURAL,
+ DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC,
+ DWRITE_RENDERING_MODE1_OUTLINE,
+ DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED
+} DWRITE_RENDERING_MODE1;
+
+[
+ local,
+ object,
+ uuid(b7924baa-391b-412a-8c5c-e44cc2d867dc)
+]
+interface IDWriteRenderingParams3 : IDWriteRenderingParams2
+{
+ DWRITE_RENDERING_MODE1 GetRenderingMode1();
+}
+
+[
+ local,
+ object,
+ uuid(da20d8ef-812a-4c43-9802-62ec4abd7adf)
+]
+interface IDWriteFontFamily1 : IDWriteFontFamily
+{
+ DWRITE_LOCALITY GetFontLocality(UINT32 index);
+ HRESULT GetFont(UINT32 index, IDWriteFont3 **font);
+ HRESULT GetFontFaceReference(UINT32 index, IDWriteFontFaceReference **reference);
+}
+
+[
+ local,
+ object,
+ uuid(53585141-d9f8-4095-8321-d73cf6bd116c)
+]
+interface IDWriteFontCollection1 : IDWriteFontCollection
+{
+ HRESULT GetFontSet(IDWriteFontSet **fontset);
+ HRESULT GetFontFamily(UINT32 index, IDWriteFontFamily1 **family);
+}
+
+[
+ local,
+ object,
+ uuid(5e7fa7ca-dde3-424c-89f0-9fcd6fed58cd)
+]
+interface IDWriteFontFaceReference : IUnknown
+{
+ HRESULT CreateFontFace(IDWriteFontFace3 **fontface);
+ HRESULT CreateFontFaceWithSimulations(DWRITE_FONT_SIMULATIONS simulations,
+ IDWriteFontFace3 **fontface);
+ BOOL Equals(IDWriteFontFaceReference *reference);
+ UINT32 GetFontFaceIndex();
+ DWRITE_FONT_SIMULATIONS GetSimulations();
+ HRESULT GetFontFile(IDWriteFontFile **fontfile);
+ UINT64 GetLocalFileSize();
+ UINT64 GetFileSize();
+ HRESULT GetFileTime(FILETIME *writetime);
+ DWRITE_LOCALITY GetLocality();
+ HRESULT EnqueueFontDownloadRequest();
+ HRESULT EnqueueCharacterDownloadRequest(WCHAR const *chars, UINT32 count);
+ HRESULT EnqueueGlyphDownloadRequest(UINT16 const *glyphs, UINT32 count);
+ HRESULT EnqueueFileFragmentDownloadRequest(UINT64 offset, UINT64 size);
+}
+
+[
+ local,
+ object,
+ uuid(da20d8ef-812a-4c43-9802-62ec4abd7ade)
+]
+interface IDWriteFontList1 : IDWriteFontList
+{
+ DWRITE_LOCALITY GetFontLocality(UINT32 index);
+ HRESULT GetFont(UINT32 index, IDWriteFont3 **font);
+ HRESULT GetFontFaceReference(UINT32 index, IDWriteFontFaceReference **reference);
+}
+
+[
+ local,
+ object,
+ uuid(d37d7598-09be-4222-a236-2081341cc1f2)
+]
+interface IDWriteFontFace3 : IDWriteFontFace2
+{
+ HRESULT GetFontFaceReference(IDWriteFontFaceReference **reference);
+ void GetPanose(DWRITE_PANOSE *panose);
+ DWRITE_FONT_WEIGHT GetWeight();
+ DWRITE_FONT_STRETCH GetStretch();
+ DWRITE_FONT_STYLE GetStyle();
+ HRESULT GetFamilyNames(IDWriteLocalizedStrings **names);
+ HRESULT GetFaceNames(IDWriteLocalizedStrings **names);
+ HRESULT GetInformationalStrings(DWRITE_INFORMATIONAL_STRING_ID stringid,
+ IDWriteLocalizedStrings **strings,
+ BOOL *exists);
+ BOOL HasCharacter(UINT32 character);
+ HRESULT GetRecommendedRenderingMode(
+ FLOAT emsize,
+ FLOAT dpi_x,
+ FLOAT dpi_y,
+ DWRITE_MATRIX const *transform,
+ BOOL is_sideways,
+ DWRITE_OUTLINE_THRESHOLD threshold,
+ DWRITE_MEASURING_MODE measuring_mode,
+ IDWriteRenderingParams *params,
+ DWRITE_RENDERING_MODE1 *rendering_mode,
+ DWRITE_GRID_FIT_MODE *gridfit_mode);
+ BOOL IsCharacterLocal(UINT32 character);
+ BOOL IsGlyphLocal(UINT16 glyph);
+ HRESULT AreCharactersLocal(WCHAR const *characters,
+ UINT32 count, BOOL enqueue_if_not, BOOL *are_local);
+ HRESULT AreGlyphsLocal(UINT16 *const glyphs, UINT32 count,
+ BOOL enqueue_if_not, BOOL *are_local);
+}
+
+[
+ local,
+ object,
+ uuid(cfee3140-1257-47ca-8b85-31bfcf3f2d0e)
+]
+interface IDWriteStringList : IUnknown
+{
+ UINT32 GetCount();
+ HRESULT GetLocaleNameLength(UINT32 index, UINT32 *length);
+ HRESULT GetLocaleName(UINT32 index, WCHAR *name, UINT32 size);
+ HRESULT GetStringLength(UINT32 index, UINT32 *length);
+ HRESULT GetString(UINT32 index, WCHAR *string, UINT32 size);
+}
+
+typedef struct DWRITE_LINE_METRICS1
+{
+ UINT32 length;
+ UINT32 trailingWhitespaceLength;
+ UINT32 newlineLength;
+ FLOAT height;
+ FLOAT baseline;
+ BOOL isTrimmed;
+ FLOAT leadingBefore;
+ FLOAT leadingAfter;
+} DWRITE_LINE_METRICS1;
+
+typedef enum DWRITE_FONT_LINE_GAP_USAGE
+{
+ DWRITE_FONT_LINE_GAP_USAGE_DEFAULT,
+ DWRITE_FONT_LINE_GAP_USAGE_DISABLED,
+ DWRITE_FONT_LINE_GAP_USAGE_ENABLED
+} DWRITE_FONT_LINE_GAP_USAGE;
+
+typedef struct DWRITE_LINE_SPACING
+{
+ DWRITE_LINE_SPACING_METHOD method;
+ FLOAT height;
+ FLOAT baseline;
+ FLOAT leadingBefore;
+ DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage;
+} DWRITE_LINE_SPACING;
+
+[
+ local,
+ object,
+ uuid(f67e0edd-9e3d-4ecc-8c32-4183253dfe70)
+]
+interface IDWriteTextFormat2 : IDWriteTextFormat1
+{
+ HRESULT SetLineSpacing(DWRITE_LINE_SPACING const *spacing);
+ HRESULT GetLineSpacing(DWRITE_LINE_SPACING *spacing);
+}
+
+[
+ local,
+ object,
+ uuid(07ddcd52-020e-4de8-ac33-6c953d83f92d)
+]
+interface IDWriteTextLayout3 : IDWriteTextLayout2
+{
+ HRESULT InvalidateLayout();
+ HRESULT SetLineSpacing(DWRITE_LINE_SPACING const *spacing);
+ HRESULT GetLineSpacing(DWRITE_LINE_SPACING *spacing);
+ HRESULT GetLineMetrics(DWRITE_LINE_METRICS1 *metrics, UINT32 max_count, UINT32 *count);
+}
More information about the wine-cvs
mailing list