ReactOS  0.4.14-dev-342-gdc047f9
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 
19 extern FT_Library gftlibrary;
20 
21 #define TAG_GLYPHSET 'GlSt'
22 #define TAG_IFIMETRICS 'Ifim'
23 
26 typedef struct
27 {
31 
32 typedef struct
33 {
38  FT_Face aftface[1];
40 
41 //"Bold Italic Underline Strikeout"
42 #define MAX_STYLESIZE 35
43 typedef struct
44 {
46  BYTE ajCharSet[16];
48  WCHAR wszFamilyName[LF_FACESIZE];
49  WCHAR wszFaceName[LF_FACESIZE];
50  WCHAR wszStyleName[MAX_STYLESIZE];
52 
55 ULONG
56 DbgPrint(IN PCCH Format, IN ...);
57 
58 DHPDEV
61  IN DEVMODEW *pdm,
63  IN ULONG cPat,
64  OUT HSURF *phsurfPatterns,
65  IN ULONG cjCaps,
66  OUT ULONG *pdevcaps,
68  OUT DEVINFO *pdi,
69  IN HDEV hdev,
71  IN HANDLE hDriver);
72 
73 VOID
76  IN DHPDEV dhpdev,
77  IN HDEV hdev);
78 
79 VOID
82  IN DHPDEV dhpdev);
83 
87  ULONG cFiles,
89  PVOID *ppvView,
90  ULONG *pcjView,
94 
95 BOOL
99 
100 LONG
101 APIENTRY
104  ULONG ulMode,
105  ULONG cjBuf,
106  ULONG *pulBuf);
107 
108 LONG
109 APIENTRY
111  ULONG culCaps,
112  ULONG *pulCaps);
113 
114 PVOID
115 APIENTRY
117  DHPDEV dhpdev,
119  ULONG iFace,
120  ULONG iMode,
121  ULONG_PTR *pid);
122 
124 APIENTRY
126  IN DHPDEV dhpdev,
128  IN ULONG iFace,
129  IN ULONG_PTR *pid);
130 
131 VOID
132 APIENTRY
133 FtfdFree(
134  PVOID pv,
135  ULONG_PTR id);
136 
138 APIENTRY
140  FONTOBJ *pfo,
141  ULONG iMode);
142 
143 LONG
144 APIENTRY
146  DHPDEV dhpdev,
147  FONTOBJ *pfo,
148  ULONG iMode,
149  HGLYPH hg,
150  OUT GLYPHDATA *pgd,
151  PVOID pv,
152  ULONG cjSize);
153 
154 #endif /* _FTFD_PCH_ */
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
Definition: winddi.h:3835
#define IN
Definition: typedefs.h:38
IFIMETRICS ifim
Definition: ftfd.h:45
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR * pdv
Definition: winddi.h:3723
FT_ULong code
Definition: ftfd.h:29
#define LF_FACESIZE
Definition: dimm.idl:39
unsigned long FT_ULong
Definition: fttypes.h:253
typedef DHPDEV(APIENTRY FN_DrvEnablePDEV)(_In_ DEVMODEW *pdm
ULONG_PTR iFile
Definition: ftfd.h:36
ULONG_PTR APIENTRY FtfdLoadFontFile(ULONG cFiles, ULONG_PTR *piFile, PVOID *ppvView, ULONG *pcjView, DESIGNVECTOR *pdv, ULONG ulLangID, ULONG ulFastCheckSum)
Definition: font.c:29
_In_ ULONG iMode
Definition: winddi.h:3520
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR _In_ ULONG ulLangID
Definition: winddi.h:3723
LONG APIENTRY FtfdQueryFontData(DHPDEV dhpdev, FONTOBJ *pfo, ULONG iMode, HGLYPH hg, OUT GLYPHDATA *pgd, PVOID pv, ULONG cjSize)
Definition: glyph.c:24
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR _In_ HANDLE hDriver
Definition: winddi.h:3553
LONG APIENTRY FtfdQueryFontCaps(ULONG culCaps, ULONG *pulCaps)
Definition: font.c:333
Definition: ftfd.h:32
uint32_t ULONG_PTR
Definition: typedefs.h:63
FT_Library gftlibrary
Definition: enable.c:26
BOOL APIENTRY FtfdUnloadFontFile(IN ULONG_PTR iFile)
Definition: font.c:110
ULONG cjView
Definition: ftfd.h:35
ULONG cNumFaces
Definition: ftfd.h:37
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
_In_ ULONG_PTR * piFile
Definition: winddi.h:3720
FONTSIM fontsim
Definition: ftfd.h:47
typedef HSURF(APIENTRY FN_DrvEnableSurface)(_In_ DHPDEV dhpdev)
struct FTFD_FILE * PFTFD_FILE
LONG APIENTRY FtfdQueryFontFile(ULONG_PTR iFile, ULONG ulMode, ULONG cjBuf, ULONG *pulBuf)
Definition: font.c:139
_In_opt_ FONTOBJ * pfo
Definition: winddi.h:3603
CONST CHAR * PCCH
Definition: ntbasedef.h:399
_In_ FONTOBJ _In_ ULONG _In_ HGLYPH hg
Definition: winddi.h:3869
VOID APIENTRY FtfdCompletePDEV(IN DHPDEV dhpdev, IN HDEV hdev)
Definition: enable.c:90
__wchar_t WCHAR
Definition: xmlstorage.h:180
VOID APIENTRY FtfdDisablePDEV(IN DHPDEV dhpdev)
Definition: enable.c:101
_In_ ULONG_PTR _In_ ULONG iFace
Definition: winddi.h:3835
_In_ LPWSTR pwszLogAddress
Definition: winddi.h:3548
_In_ DWORD cjBuf
Definition: winddi.h:3827
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR _In_ ULONG _In_ ULONG ulFastCheckSum
Definition: winddi.h:3723
VOID APIENTRY FtfdFree(PVOID pv, ULONG_PTR id)
Definition: font.c:480
unsigned char BYTE
Definition: mem.h:68
ULONG DbgPrint(IN PCCH Format, IN ...)
Definition: rosglue.c:22
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
Definition: winddi.h:3553
_In_ FONTOBJ _In_ ULONG _In_ HGLYPH _In_opt_ GLYPHDATA * pgd
Definition: winddi.h:3869
PVOID pvView
Definition: ftfd.h:34
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL _In_ POINTL _In_ ULONG ulMode
Definition: winddi.h:3649
unsigned int FT_UInt
Definition: fttypes.h:231
_In_ LPWSTR _In_ ULONG cPat
Definition: winddi.h:3548
#define MAX_STYLESIZE
Definition: ftfd.h:42
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG cjDevInfo
Definition: winddi.h:3553
PVOID APIENTRY FtfdQueryFontTree(DHPDEV dhpdev, ULONG_PTR iFile, ULONG iFace, ULONG iMode, ULONG_PTR *pid)
Definition: font.c:355
PFD_GLYPHATTR APIENTRY FtfdQueryGlyphAttrs(FONTOBJ *pfo, ULONG iMode)
Definition: glyph.c:15
struct FTFD_IFIMETRICS * PFTFD_IFIMETRICS
FT_UInt index
Definition: ftfd.h:28
_In_ LPWSTR _In_ ULONG _In_ ULONG cjCaps
Definition: winddi.h:3551
#define OUT
Definition: typedefs.h:39
_In_ ULONG_PTR iFile
Definition: winddi.h:3835
unsigned int ULONG
Definition: retypes.h:1
_In_ ULONG cjSize
Definition: winddi.h:3634
WCHAR * LPWSTR
Definition: xmlstorage.h:184
PIFIMETRICS APIENTRY FtfdQueryFont(IN DHPDEV dhpdev, IN ULONG_PTR iFile, IN ULONG iFace, IN ULONG_PTR *pid)
Definition: font.c:169
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
_In_ HDEV hdev
Definition: winddi.h:3449
#define APIENTRY
Definition: api.h:79
_In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO * pdi
Definition: winddi.h:3553