2 * Copyright 2012 Nikolay Sivov for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include "wine/unicode.h"
21 static inline void *heap_alloc(size_t len
)
23 return HeapAlloc(GetProcessHeap(), 0, len
);
26 static inline void *heap_alloc_zero(size_t len
)
28 return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY
, len
);
31 static inline void *heap_realloc(void *mem
, size_t len
)
33 return HeapReAlloc(GetProcessHeap(), 0, mem
, len
);
36 static inline BOOL
heap_free(void *mem
)
38 return HeapFree(GetProcessHeap(), 0, mem
);
41 static inline LPWSTR
heap_strdupW(const WCHAR
*str
)
48 size
= (strlenW(str
)+1)*sizeof(WCHAR
);
49 ret
= heap_alloc(size
);
51 memcpy(ret
, str
, size
);
57 static inline LPWSTR
heap_strdupnW(const WCHAR
*str
, UINT32 len
)
63 ret
= heap_alloc((len
+1)*sizeof(WCHAR
));
66 memcpy(ret
, str
, len
*sizeof(WCHAR
));
74 extern HRESULT
create_font_from_logfont(const LOGFONTW
*, IDWriteFont
**) DECLSPEC_HIDDEN
;
75 extern HRESULT
convert_fontface_to_logfont(IDWriteFontFace
*, LOGFONTW
*) DECLSPEC_HIDDEN
;
76 extern HRESULT
create_textformat(const WCHAR
*,IDWriteFontCollection
*,DWRITE_FONT_WEIGHT
,DWRITE_FONT_STYLE
,DWRITE_FONT_STRETCH
,
77 FLOAT
,const WCHAR
*,IDWriteTextFormat
**) DECLSPEC_HIDDEN
;
78 extern HRESULT
create_textlayout(const WCHAR
*,UINT32
,IDWriteTextFormat
*,IDWriteTextLayout
**) DECLSPEC_HIDDEN
;
79 extern HRESULT
get_gdiinterop(IDWriteGdiInterop
**) DECLSPEC_HIDDEN
;
80 extern HRESULT
create_localizedstrings(IDWriteLocalizedStrings
**) DECLSPEC_HIDDEN
;
81 extern HRESULT
add_localizedstring(IDWriteLocalizedStrings
*,const WCHAR
*,const WCHAR
*) DECLSPEC_HIDDEN
;
82 extern HRESULT
get_system_fontcollection(IDWriteFontCollection
**) DECLSPEC_HIDDEN
;
83 extern void release_system_fontcollection(void) DECLSPEC_HIDDEN
;
84 extern HRESULT
get_textanalyzer(IDWriteTextAnalyzer
**) DECLSPEC_HIDDEN
;