ReactOS 0.4.15-dev-8096-ga0eec98
ftfd.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS win32 subsystem
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: GDI font driver for bitmap fonts
5 * PROGRAMMER: Timo Kreuzer (timo.kreuzer@reactos.org)
6 */
7
8#ifndef _FTFD_PCH_
9#define _FTFD_PCH_
10
11#include <stdarg.h>
12#include <windef.h>
13#include <wingdi.h>
14#include <winddi.h>
15
16#include <ft2build.h>
17#include FT_FREETYPE_H
18
20
21#define TAG_GLYPHSET 'GlSt'
22#define TAG_IFIMETRICS 'Ifim'
23
26typedef struct
27{
31
32typedef struct
33{
38 FT_Face aftface[1];
40
41//"Bold Italic Underline Strikeout"
42#define MAX_STYLESIZE 35
43typedef struct
44{
46 BYTE ajCharSet[16];
48 WCHAR wszFamilyName[LF_FACESIZE];
49 WCHAR wszFaceName[LF_FACESIZE];
50 WCHAR wszStyleName[MAX_STYLESIZE];
52
57
61 IN DEVMODEW *pdm,
64 OUT HSURF *phsurfPatterns,
66 OUT ULONG *pdevcaps,
69 IN HDEV hdev,
72
73VOID
76 IN DHPDEV dhpdev,
77 IN HDEV hdev);
78
79VOID
82 IN DHPDEV dhpdev);
83
87 ULONG cFiles,
89 PVOID *ppvView,
90 ULONG *pcjView,
94
95BOOL
99
100LONG
105 ULONG cjBuf,
106 ULONG *pulBuf);
107
108LONG
111 ULONG culCaps,
112 ULONG *pulCaps);
113
114PVOID
117 DHPDEV dhpdev,
119 ULONG iFace,
120 ULONG iMode,
121 ULONG_PTR *pid);
122
126 IN DHPDEV dhpdev,
128 IN ULONG iFace,
129 IN ULONG_PTR *pid);
130
131VOID
134 PVOID pv,
135 ULONG_PTR id);
136
140 FONTOBJ *pfo,
141 ULONG iMode);
142
143LONG
146 DHPDEV dhpdev,
147 FONTOBJ *pfo,
148 ULONG iMode,
149 HGLYPH hg,
151 PVOID pv,
152 ULONG cjSize);
153
154#endif /* _FTFD_PCH_ */
#define LF_FACESIZE
Definition: dimm.idl:39
#define APIENTRY
Definition: api.h:79
unsigned int BOOL
Definition: ntddk_ex.h:94
#define MAX_STYLESIZE
Definition: ftfd.h:42
struct FTFD_FILE * PFTFD_FILE
struct FTFD_IFIMETRICS * PFTFD_IFIMETRICS
BOOL APIENTRY FtfdUnloadFontFile(IN ULONG_PTR iFile)
Definition: font.c:110
LONG APIENTRY FtfdQueryFontFile(ULONG_PTR iFile, ULONG ulMode, ULONG cjBuf, ULONG *pulBuf)
Definition: font.c:139
VOID APIENTRY FtfdCompletePDEV(IN DHPDEV dhpdev, IN HDEV hdev)
Definition: enable.c:90
FT_Library gftlibrary
Definition: enable.c:26
PIFIMETRICS APIENTRY FtfdQueryFont(IN DHPDEV dhpdev, IN ULONG_PTR iFile, IN ULONG iFace, IN ULONG_PTR *pid)
Definition: font.c:169
VOID APIENTRY FtfdDisablePDEV(IN DHPDEV dhpdev)
Definition: enable.c:101
LONG APIENTRY FtfdQueryFontData(DHPDEV dhpdev, FONTOBJ *pfo, ULONG iMode, HGLYPH hg, OUT GLYPHDATA *pgd, PVOID pv, ULONG cjSize)
Definition: glyph.c:24
PVOID APIENTRY FtfdQueryFontTree(DHPDEV dhpdev, ULONG_PTR iFile, ULONG iFace, ULONG iMode, ULONG_PTR *pid)
Definition: font.c:355
ULONG_PTR APIENTRY FtfdLoadFontFile(ULONG cFiles, ULONG_PTR *piFile, PVOID *ppvView, ULONG *pcjView, DESIGNVECTOR *pdv, ULONG ulLangID, ULONG ulFastCheckSum)
Definition: font.c:29
DHPDEV APIENTRY FtfdEnablePDEV(IN DEVMODEW *pdm, IN LPWSTR pwszLogAddress, IN ULONG cPat, OUT HSURF *phsurfPatterns, IN ULONG cjCaps, OUT ULONG *pdevcaps, IN ULONG cjDevInfo, OUT DEVINFO *pdi, IN HDEV hdev, IN LPWSTR pwszDeviceName, IN HANDLE hDriver)
Definition: enable.c:66
PFD_GLYPHATTR APIENTRY FtfdQueryGlyphAttrs(FONTOBJ *pfo, ULONG iMode)
Definition: glyph.c:15
LONG APIENTRY FtfdQueryFontCaps(ULONG culCaps, ULONG *pulCaps)
Definition: font.c:333
VOID APIENTRY FtfdFree(PVOID pv, ULONG_PTR id)
Definition: font.c:480
unsigned long FT_ULong
Definition: fttypes.h:253
unsigned int FT_UInt
Definition: fttypes.h:231
#define DbgPrint
Definition: hal.h:12
CONST CHAR * PCCH
Definition: ntbasedef.h:392
long LONG
Definition: pedump.c:60
FT_ULong code
Definition: ftfd.h:29
FT_UInt index
Definition: ftfd.h:28
Definition: ftfd.h:33
ULONG_PTR iFile
Definition: ftfd.h:36
ULONG cNumFaces
Definition: ftfd.h:37
ULONG cjView
Definition: ftfd.h:35
PVOID pvView
Definition: ftfd.h:34
FONTSIM fontsim
Definition: ftfd.h:47
IFIMETRICS ifim
Definition: ftfd.h:45
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_In_ FONTOBJ _In_ ULONG _In_ HGLYPH _In_opt_ GLYPHDATA * pgd
Definition: winddi.h:3872
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG cjDevInfo
Definition: winddi.h:3553
typedef DHPDEV(APIENTRY FN_DrvEnablePDEV)(_In_ DEVMODEW *pdm
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR _In_ ULONG ulLangID
Definition: winddi.h:3724
_In_ DWORD cjBuf
Definition: winddi.h:3827
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO * pdi
Definition: winddi.h:3554
_In_ ULONG_PTR _In_ ULONG iFace
Definition: winddi.h:3836
_In_ HDEV hdev
Definition: winddi.h:3449
_In_ LPWSTR pwszLogAddress
Definition: winddi.h:3548
_In_ ULONG iMode
Definition: winddi.h:3520
_In_ LPWSTR _In_ ULONG _In_ ULONG cjCaps
Definition: winddi.h:3551
_In_ LPWSTR _In_ ULONG cPat
Definition: winddi.h:3549
_In_opt_ FONTOBJ * pfo
Definition: winddi.h:3603
typedef HSURF(APIENTRY FN_DrvEnableSurface)(_In_ DHPDEV dhpdev)
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL _In_ POINTL _In_ ULONG ulMode
Definition: winddi.h:3657
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR * pdv
Definition: winddi.h:3723
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR _In_ ULONG _In_ ULONG ulFastCheckSum
Definition: winddi.h:3725
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
Definition: winddi.h:3837
_In_ ULONG cjSize
Definition: winddi.h:3634
_In_ ULONG_PTR iFile
Definition: winddi.h:3835
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3556
_In_ ULONG_PTR * piFile
Definition: winddi.h:3720
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR _In_ HANDLE hDriver
Definition: winddi.h:3557
_In_ FONTOBJ _In_ ULONG _In_ HGLYPH hg
Definition: winddi.h:3871
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
unsigned char BYTE
Definition: xxhash.c:193