Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

89 lines
1.6 KiB

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
glfcach.h
Abstract:
PCL XL glyph cache
Environment:
Windows Whistler
Revision History:
11/09/00
Created it.
--*/
#ifndef _GLFCACH_H_
#define _GLFCACH_H_
typedef struct _GLYPHID
{
ULONG ulGlyphID;
struct _GLYPHID *pPrevGID;
struct _GLYPHID *pNextGID;
} GLYPHID, *PGLYPHID;
typedef struct _GLYPHTABLE
{
WORD wGlyphNum;
WORD wFontID;
DWORD dwAvailableEntries;
struct _GLYPHID *pFirstGID;
struct _GLYPHID *pGlyphID;
} GLYPHTABLE, *PGLYPHTABLE;
class XLGlyphCache
#if DBG
: public XLDebug
#endif
{
SIGNATURE( 'glyf' )
public:
//
// Constructure/Destructure
//
XLGlyphCache::
XLGlyphCache( VOID );
XLGlyphCache::
~XLGlyphCache( VOID );
//
// Functions
//
HRESULT XLGlyphCache::XLCreateFont(ULONG ulFontID);
HRESULT XLGlyphCache::AddGlyphID(ULONG ulFontID, ULONG ulGlyphID);
ULONG XLGlyphCache::UlSearchFontID( ULONG ulFontID);
#if DBG
VOID
SetDbgLevel(DWORD dwLevel);
#endif
private:
#define INIT_ARRAY 8
#define ADD_ARRAY 8
#define INIT_GLYPH_ARRAY 16
#define ADD_GLYPH_ARRAY 16
ULONG m_ulNumberOfFonts;
ULONG m_ulNumberOfArray;
PULONG m_paulFontID;
PGLYPHTABLE *m_ppGlyphTable;
VOID FreeAll(VOID);
HRESULT IncreaseArray(VOID);
PGLYPHID PSearchGlyph( WORD wSearchRange, BOOL bForward, PGLYPHID pGlyphID);
HRESULT IncreaseGlyphArray(ULONG ulFontID);
};
#endif // _GLFCACH_H_