[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-patches
Subject: [1/3] dwrite: Stub for IDWriteFactory
From: Nikolay Sivov <nsivov () codeweavers ! com>
Date: 2012-07-31 3:29:39
Message-ID: 50175D61.8050700 () codeweavers ! com
[Download RAW message or body]
Stub for IDWriteFactory
["0001-Stub-for-IDWriteFactory.patch" (text/plain)]
From 2be2ae15bd331b5db53310faa5b8af780daa38af Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov@codeweavers.com>
Date: Tue, 31 Jul 2012 08:07:49 +0400
Subject: [PATCH 1/3] Stub for IDWriteFactory
---
dlls/dwrite/Makefile.in | 3 +-
dlls/dwrite/main.c | 212 ++++++++++++++++++++++++++++++++++++++++++++++-
dlls/uuid/uuid.c | 1 +
3 files changed, 213 insertions(+), 3 deletions(-)
diff --git a/dlls/dwrite/Makefile.in b/dlls/dwrite/Makefile.in
index 7438d92..1884fc5 100644
--- a/dlls/dwrite/Makefile.in
+++ b/dlls/dwrite/Makefile.in
@@ -1,4 +1,5 @@
-MODULE = dwrite.dll
+MODULE = dwrite.dll
+IMPORTS = uuid
C_SRCS = \
main.c
diff --git a/dlls/dwrite/main.c b/dlls/dwrite/main.c
index ed3b814..fecd2cc 100644
--- a/dlls/dwrite/main.c
+++ b/dlls/dwrite/main.c
@@ -42,8 +42,216 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, LPVOID \
reserved) return TRUE;
}
-HRESULT WINAPI DWriteCreateFactory(DWRITE_FACTORY_TYPE type, REFIID riid, IUnknown \
**factory) +static HRESULT WINAPI dwritefactory_QueryInterface(IDWriteFactory *iface, \
REFIID riid, void **obj) +{
+ TRACE("(%s %p)\n", debugstr_guid(riid), obj);
+
+ if (IsEqualIID(riid, &IID_IUnknown) ||
+ IsEqualIID(riid, &IID_IDWriteFactory))
+ {
+ *obj = iface;
+ return S_OK;
+ }
+
+ *obj = NULL;
+
+ return E_NOINTERFACE;
+}
+
+static ULONG WINAPI dwritefactory_AddRef(IDWriteFactory *iface)
+{
+ return 2;
+}
+
+static ULONG WINAPI dwritefactory_Release(IDWriteFactory *iface)
+{
+ return 1;
+}
+
+static HRESULT WINAPI dwritefactory_GetSystemFontCollection(IDWriteFactory *iface,
+ IDWriteFontCollection **collection, BOOL check_for_updates)
+{
+ FIXME("(%p %d): stub\n", collection, check_for_updates);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateCustomFontCollection(IDWriteFactory \
*iface, + IDWriteFontCollectionLoader *loader, void const *key, UINT32 key_size, \
IDWriteFontCollection **collection) +{
+ FIXME("(%p %p %u %p): stub\n", loader, key, key_size, collection);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_RegisterFontCollectionLoader(IDWriteFactory \
*iface, + IDWriteFontCollectionLoader *loader)
+{
+ FIXME("(%p): stub\n", loader);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_UnregisterFontCollectionLoader(IDWriteFactory \
*iface, + IDWriteFontCollectionLoader *loader)
+{
+ FIXME("(%p): stub\n", loader);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateFontFileReference(IDWriteFactory *iface,
+ WCHAR const *path, FILETIME const *writetime, IDWriteFontFile **font_file)
+{
+ FIXME("(%s %p %p): stub\n", debugstr_w(path), writetime, font_file);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateCustomFontFileReference(IDWriteFactory \
*iface, + void const *reference_key, UINT32 key_size, IDWriteFontFileLoader \
*loader, IDWriteFontFile **font_file) +{
+ FIXME("(%p %u %p %p): stub\n", reference_key, key_size, loader, font_file);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateFontFace(IDWriteFactory *iface,
+ DWRITE_FONT_FACE_TYPE facetype, UINT32 files_number, IDWriteFontFile* const* \
font_files, + UINT32 index, DWRITE_FONT_SIMULATIONS sim_flags, IDWriteFontFace \
**font_face) +{
+ FIXME("(%d %u %p %u 0x%x %p): stub\n", facetype, files_number, font_files, \
index, sim_flags, font_face); + return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateRenderingParams(IDWriteFactory *iface, \
IDWriteRenderingParams **params) +{
+ FIXME("(%p): stub\n", params);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateMonitorRenderingParams(IDWriteFactory \
*iface, HMONITOR monitor, + IDWriteRenderingParams **params)
+{
+ FIXME("(%p %p): stub\n", monitor, params);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateCustomRenderingParams(IDWriteFactory \
*iface, FLOAT gamma, FLOAT enhancedContrast, + FLOAT cleartype_level, \
DWRITE_PIXEL_GEOMETRY geometry, DWRITE_RENDERING_MODE mode, IDWriteRenderingParams \
**params) +{
+ FIXME("(%f %f %f %d %d %p): stub\n", gamma, enhancedContrast, cleartype_level, \
geometry, mode, params); + return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_RegisterFontFileLoader(IDWriteFactory *iface, \
IDWriteFontFileLoader *loader) +{
+ FIXME("(%p): stub\n", loader);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_UnregisterFontFileLoader(IDWriteFactory *iface, \
IDWriteFontFileLoader *loader) +{
+ FIXME("(%p): stub\n", loader);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateTextFormat(IDWriteFactory *iface, WCHAR \
const* family_name, + IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT \
weight, DWRITE_FONT_STYLE style, + DWRITE_FONT_STRETCH stretch, FLOAT size, WCHAR \
const *locale, IDWriteTextFormat **format) +{
+ FIXME("(%s %p %d %d %d %f %s %p): stub\n", debugstr_w(family_name), collection, \
weight, style, stretch, + size, debugstr_w(locale), format);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateTypography(IDWriteFactory *iface, \
IDWriteTypography **typography) +{
+ FIXME("(%p): stub\n", typography);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_GetGdiInterop(IDWriteFactory *iface, \
IDWriteGdiInterop **gdi_interop) +{
+ FIXME("(%p): stub\n", gdi_interop);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateTextLayout(IDWriteFactory *iface, WCHAR \
const* string, + UINT32 len, IDWriteTextFormat *format, FLOAT max_width, FLOAT \
max_height, IDWriteTextLayout **layout) +{
+ FIXME("(%s %u %p %f %f %p): stub\n", debugstr_w(string), len, format, max_width, \
max_height, layout); + return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateGdiCompatibleTextLayout(IDWriteFactory \
*iface, WCHAR const* string, + UINT32 len, IDWriteTextFormat *format, FLOAT \
layout_width, FLOAT layout_height, FLOAT pixels_per_dip, + DWRITE_MATRIX const* \
transform, BOOL use_gdi_natural, IDWriteTextLayout **layout) +{
+ FIXME("(%s:%u %p %f %f %f %p %d %p): stub\n", debugstr_wn(string, len), len, \
format, layout_width, layout_height, + pixels_per_dip, transform, \
use_gdi_natural, layout); + return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateEllipsisTrimmingSign(IDWriteFactory \
*iface, IDWriteTextFormat *format, + IDWriteInlineObject **trimming_sign)
+{
+ FIXME("(%p %p): stub\n", format, trimming_sign);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateTextAnalyzer(IDWriteFactory *iface, \
IDWriteTextAnalyzer **analyzer) +{
+ FIXME("(%p): stub\n", analyzer);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI dwritefactory_CreateNumberSubstitution(IDWriteFactory *iface, \
DWRITE_NUMBER_SUBSTITUTION_METHOD method, + WCHAR const* locale, BOOL \
ignore_user_override, IDWriteNumberSubstitution **substitution) {
- FIXME("(%d, %s, %p): stub\n", type, debugstr_guid(riid), factory);
+ FIXME("(%d %s %d %p): stub\n", method, debugstr_w(locale), ignore_user_override, \
substitution); return E_NOTIMPL;
}
+
+static HRESULT WINAPI dwritefactory_CreateGlyphRunAnalysis(IDWriteFactory *iface, \
DWRITE_GLYPH_RUN const *glyph_run, + FLOAT pixels_per_dip, DWRITE_MATRIX const* \
transform, DWRITE_RENDERING_MODE rendering_mode, + DWRITE_MEASURING_MODE \
measuring_mode, FLOAT baseline_x, FLOAT baseline_y, IDWriteGlyphRunAnalysis \
**analysis) +{
+ FIXME("(%p %f %p %d %d %f %f %p): stub\n", glyph_run, pixels_per_dip, transform, \
rendering_mode, + measuring_mode, baseline_x, baseline_y, analysis);
+ return E_NOTIMPL;
+}
+
+static const struct IDWriteFactoryVtbl dwritefactoryvtbl = {
+ dwritefactory_QueryInterface,
+ dwritefactory_AddRef,
+ dwritefactory_Release,
+ dwritefactory_GetSystemFontCollection,
+ dwritefactory_CreateCustomFontCollection,
+ dwritefactory_RegisterFontCollectionLoader,
+ dwritefactory_UnregisterFontCollectionLoader,
+ dwritefactory_CreateFontFileReference,
+ dwritefactory_CreateCustomFontFileReference,
+ dwritefactory_CreateFontFace,
+ dwritefactory_CreateRenderingParams,
+ dwritefactory_CreateMonitorRenderingParams,
+ dwritefactory_CreateCustomRenderingParams,
+ dwritefactory_RegisterFontFileLoader,
+ dwritefactory_UnregisterFontFileLoader,
+ dwritefactory_CreateTextFormat,
+ dwritefactory_CreateTypography,
+ dwritefactory_GetGdiInterop,
+ dwritefactory_CreateTextLayout,
+ dwritefactory_CreateGdiCompatibleTextLayout,
+ dwritefactory_CreateEllipsisTrimmingSign,
+ dwritefactory_CreateTextAnalyzer,
+ dwritefactory_CreateNumberSubstitution,
+ dwritefactory_CreateGlyphRunAnalysis
+};
+
+static IDWriteFactory dwritefactory = { &dwritefactoryvtbl };
+
+HRESULT WINAPI DWriteCreateFactory(DWRITE_FACTORY_TYPE type, REFIID riid, IUnknown \
**factory) +{
+ TRACE("(%d, %s, %p)\n", type, debugstr_guid(riid), factory);
+
+ if (!IsEqualIID(riid, &IID_IDWriteFactory)) return E_FAIL;
+
+ *factory = (IUnknown*)&dwritefactory;
+
+ return S_OK;
+}
diff --git a/dlls/uuid/uuid.c b/dlls/uuid/uuid.c
index cae55c7..220302e 100644
--- a/dlls/uuid/uuid.c
+++ b/dlls/uuid/uuid.c
@@ -84,6 +84,7 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0);
#include "ocmm.h"
#include "commoncontrols.h"
#include "tlogstg.h"
+#include "dwrite.h"
/* FIXME: cguids declares GUIDs but does not define their values */
--
1.5.6.5
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic