Added regedit unit test, a couple minor changes to regedit.
[wine] / include / font.h
1 /*
2  * GDI font definitions
3  *
4  * Copyright 1994 Alexandre Julliard
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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #ifndef __WINE_FONT_H
22 #define __WINE_FONT_H
23
24 #include "gdi.h"
25
26 extern BOOL FONT_Init( UINT16* pTextCaps );
27 extern void FONT_LogFontATo16( const LOGFONTA* font32, LPLOGFONT16 font16 );
28 extern void FONT_LogFontWTo16( const LOGFONTW* font32, LPLOGFONT16 font16 );
29 extern void FONT_LogFont16ToA( const LOGFONT16* font16, LPLOGFONTA font32 );
30 extern void FONT_LogFont16ToW( const LOGFONT16* font16, LPLOGFONTW font32 );
31 extern void FONT_TextMetricATo16(const TEXTMETRICA *ptm32, LPTEXTMETRIC16 ptm16 );
32 extern void FONT_TextMetricWTo16(const TEXTMETRICW *ptm32, LPTEXTMETRIC16 ptm16 );
33 extern void FONT_TextMetric16ToA(const TEXTMETRIC16 *ptm16, LPTEXTMETRICA ptm32 );
34 extern void FONT_TextMetric16ToW(const TEXTMETRIC16 *ptm16, LPTEXTMETRICW ptm32 );
35 extern void FONT_TextMetricAToW(const TEXTMETRICA *ptm32A, LPTEXTMETRICW ptm32W );
36 extern void FONT_NewTextMetricEx16ToW(const NEWTEXTMETRICEX16*, LPNEWTEXTMETRICEXW);
37 extern void FONT_EnumLogFontEx16ToW(const ENUMLOGFONTEX16*, LPENUMLOGFONTEXW);
38
39 extern LPWSTR FONT_mbtowc(HDC, LPCSTR, INT, INT*, UINT*);
40
41 extern GdiFont WineEngCreateFontInstance(DC*, HFONT);
42 extern BOOL WineEngDestroyFontInstance(HFONT handle);
43 extern DWORD WineEngEnumFonts(LPLOGFONTW, DEVICEFONTENUMPROC, LPARAM);
44 extern BOOL WineEngGetCharWidth(GdiFont, UINT, UINT, LPINT);
45 extern DWORD WineEngGetFontData(GdiFont, DWORD, DWORD, LPVOID, DWORD);
46 extern DWORD WineEngGetGlyphIndices(GdiFont font, LPCWSTR lpstr, INT count,
47                                     LPWORD pgi, DWORD flags);
48 extern DWORD WineEngGetGlyphOutline(GdiFont, UINT glyph, UINT format,
49                                     LPGLYPHMETRICS, DWORD buflen, LPVOID buf,
50                                     const MAT2*);
51 extern UINT WineEngGetOutlineTextMetrics(GdiFont, UINT, LPOUTLINETEXTMETRICW);
52 extern BOOL WineEngGetTextExtentPoint(GdiFont, LPCWSTR, INT, LPSIZE);
53 extern BOOL WineEngGetTextExtentPointI(GdiFont, const WORD *, INT, LPSIZE);
54 extern BOOL WineEngGetTextMetrics(GdiFont, LPTEXTMETRICW);
55 extern BOOL WineEngInit(void);
56
57 #endif /* __WINE_FONT_H */