dwrite: Added IDWriteGdiInterop stub.
[wine] / dlls / dwrite / gdiinterop.c
1 /*
2  *    GDI Interop
3  *
4  * Copyright 2012 Nikolay Sivov for CodeWeavers
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20
21 #include <stdarg.h>
22
23 #include "windef.h"
24 #include "winbase.h"
25 #include "dwrite.h"
26
27 #include "wine/debug.h"
28
29 WINE_DEFAULT_DEBUG_CHANNEL(dwrite);
30
31 static HRESULT WINAPI gdiinterop_QueryInterface(IDWriteGdiInterop *iface, REFIID riid, void **obj)
32 {
33     TRACE("(%s %p)\n", debugstr_guid(riid), obj);
34
35     if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IDWriteGdiInterop))
36     {
37         *obj = iface;
38         return S_OK;
39     }
40
41     *obj = NULL;
42
43     return E_NOINTERFACE;
44 }
45
46 static ULONG WINAPI gdiinterop_AddRef(IDWriteGdiInterop *iface)
47 {
48     return 2;
49 }
50
51 static ULONG WINAPI gdiinterop_Release(IDWriteGdiInterop *iface)
52 {
53     return 1;
54 }
55
56 static HRESULT WINAPI gdiinterop_CreateFontFromLOGFONT(IDWriteGdiInterop *iface,
57     LOGFONTW const *logfont, IDWriteFont **font)
58 {
59     FIXME("(%p %p): stub\n", logfont, font);
60     return E_NOTIMPL;
61 }
62
63 static HRESULT WINAPI gdiinterop_ConvertFontToLOGFONT(IDWriteGdiInterop *iface,
64     IDWriteFont *font, LOGFONTW *logfont, BOOL *is_systemfont)
65 {
66     FIXME("(%p %p %p): stub\n", font, logfont, is_systemfont);
67     return E_NOTIMPL;
68 }
69
70 static HRESULT WINAPI gdiinterop_ConvertFontFaceToLOGFONT(IDWriteGdiInterop *iface,
71     IDWriteFontFace *font, LOGFONTW *logfont)
72 {
73     FIXME("(%p %p): stub\n", font, logfont);
74     return E_NOTIMPL;
75 }
76
77 static HRESULT WINAPI gdiinterop_CreateFontFaceFromHdc(IDWriteGdiInterop *iface,
78     HDC hdc, IDWriteFontFace **fontface)
79 {
80     FIXME("(%p %p): stub\n", hdc, fontface);
81     return E_NOTIMPL;
82 }
83
84 static HRESULT WINAPI gdiinterop_CreateBitmapRenderTarget(IDWriteGdiInterop *iface,
85     HDC hdc, UINT32 width, UINT32 height, IDWriteBitmapRenderTarget **target)
86 {
87     FIXME("(%p %u %u %p): stub\n", hdc, width, height, target);
88     return E_NOTIMPL;
89 }
90
91 static const struct IDWriteGdiInteropVtbl gdiinteropvtbl = {
92     gdiinterop_QueryInterface,
93     gdiinterop_AddRef,
94     gdiinterop_Release,
95     gdiinterop_CreateFontFromLOGFONT,
96     gdiinterop_ConvertFontToLOGFONT,
97     gdiinterop_ConvertFontFaceToLOGFONT,
98     gdiinterop_CreateFontFaceFromHdc,
99     gdiinterop_CreateBitmapRenderTarget
100 };
101
102 static IDWriteGdiInterop gdiinterop = { &gdiinteropvtbl };
103
104 HRESULT create_gdiinterop(IDWriteGdiInterop **ret)
105 {
106     *ret = &gdiinterop;
107     return S_OK;
108 }