mirror of
https://github.com/reactos/reactos.git
synced 2024-11-01 04:11:30 +00:00
155 lines
2.6 KiB
C
155 lines
2.6 KiB
C
/*
|
|
* PROJECT: ReactOS win32 subsystem
|
|
* LICENSE: GPL - See COPYING in the top level directory
|
|
* PURPOSE: GDI font driver for bitmap fonts
|
|
* PROGRAMMER: Timo Kreuzer (timo.kreuzer@reactos.org)
|
|
*/
|
|
|
|
#ifndef _FTFD_PCH_
|
|
#define _FTFD_PCH_
|
|
|
|
#include <stdarg.h>
|
|
#include <windef.h>
|
|
#include <wingdi.h>
|
|
#include <winddi.h>
|
|
|
|
#include <ft2build.h>
|
|
#include FT_FREETYPE_H
|
|
|
|
extern FT_Library gftlibrary;
|
|
|
|
#define TAG_GLYPHSET 'GlSt'
|
|
#define TAG_IFIMETRICS 'Ifim'
|
|
|
|
/** Driver specific types *****************************************************/
|
|
|
|
typedef struct
|
|
{
|
|
FT_UInt index;
|
|
FT_ULong code;
|
|
} FTFD_CHARPAIR;
|
|
|
|
typedef struct
|
|
{
|
|
PVOID pvView;
|
|
ULONG cjView;
|
|
ULONG_PTR iFile;
|
|
ULONG cNumFaces;
|
|
FT_Face aftface[1];
|
|
} FTFD_FILE, *PFTFD_FILE;
|
|
|
|
//"Bold Italic Underline Strikeout"
|
|
#define MAX_STYLESIZE 35
|
|
typedef struct
|
|
{
|
|
IFIMETRICS ifim;
|
|
BYTE ajCharSet[16];
|
|
FONTSIM fontsim;
|
|
WCHAR wszFamilyName[LF_FACESIZE];
|
|
WCHAR wszFaceName[LF_FACESIZE];
|
|
WCHAR wszStyleName[MAX_STYLESIZE];
|
|
} FTFD_IFIMETRICS, *PFTFD_IFIMETRICS;
|
|
|
|
/** Function prototypes *******************************************************/
|
|
|
|
ULONG
|
|
DbgPrint(IN PCCH Format, IN ...);
|
|
|
|
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);
|
|
|
|
VOID
|
|
APIENTRY
|
|
FtfdCompletePDEV(
|
|
IN DHPDEV dhpdev,
|
|
IN HDEV hdev);
|
|
|
|
VOID
|
|
APIENTRY
|
|
FtfdDisablePDEV(
|
|
IN DHPDEV dhpdev);
|
|
|
|
ULONG_PTR
|
|
APIENTRY
|
|
FtfdLoadFontFile(
|
|
ULONG cFiles,
|
|
ULONG_PTR *piFile,
|
|
PVOID *ppvView,
|
|
ULONG *pcjView,
|
|
DESIGNVECTOR *pdv,
|
|
ULONG ulLangID,
|
|
ULONG ulFastCheckSum);
|
|
|
|
BOOL
|
|
APIENTRY
|
|
FtfdUnloadFontFile(
|
|
IN ULONG_PTR iFile);
|
|
|
|
LONG
|
|
APIENTRY
|
|
FtfdQueryFontFile(
|
|
ULONG_PTR iFile,
|
|
ULONG ulMode,
|
|
ULONG cjBuf,
|
|
ULONG *pulBuf);
|
|
|
|
LONG
|
|
APIENTRY
|
|
FtfdQueryFontCaps(
|
|
ULONG culCaps,
|
|
ULONG *pulCaps);
|
|
|
|
PVOID
|
|
APIENTRY
|
|
FtfdQueryFontTree(
|
|
DHPDEV dhpdev,
|
|
ULONG_PTR iFile,
|
|
ULONG iFace,
|
|
ULONG iMode,
|
|
ULONG_PTR *pid);
|
|
|
|
PIFIMETRICS
|
|
APIENTRY
|
|
FtfdQueryFont(
|
|
IN DHPDEV dhpdev,
|
|
IN ULONG_PTR iFile,
|
|
IN ULONG iFace,
|
|
IN ULONG_PTR *pid);
|
|
|
|
VOID
|
|
APIENTRY
|
|
FtfdFree(
|
|
PVOID pv,
|
|
ULONG_PTR id);
|
|
|
|
PFD_GLYPHATTR
|
|
APIENTRY
|
|
FtfdQueryGlyphAttrs(
|
|
FONTOBJ *pfo,
|
|
ULONG iMode);
|
|
|
|
LONG
|
|
APIENTRY
|
|
FtfdQueryFontData(
|
|
DHPDEV dhpdev,
|
|
FONTOBJ *pfo,
|
|
ULONG iMode,
|
|
HGLYPH hg,
|
|
OUT GLYPHDATA *pgd,
|
|
PVOID pv,
|
|
ULONG cjSize);
|
|
|
|
#endif /* _FTFD_PCH_ */
|