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.
 
 
 
 
 
 

97 lines
2.7 KiB

/******************************Module*Header*******************************\
*
* Module Name: font.h
*
* Author: Frido Garritsen
*
* Purpose: Define the font cache structures.
*
* Copyright (c) 1996 Cirrus Logic, Inc.
*
* $Log: X:/log/laguna/nt35/displays/cl546x/FONT.H $
*
* Rev 1.5 20 Aug 1996 11:04:56 noelv
* Bugfix release from Frido 8-19-96
*
* Rev 1.0 14 Aug 1996 17:16:36 frido
* Initial revision.
*
* Rev 1.4 25 Jul 1996 15:53:12 bennyn
*
* Modified for DirectDraw support
*
* Rev 1.3 05 Mar 1996 11:59:46 noelv
* Frido version 19
*
* Rev 1.3 28 Feb 1996 22:39:06 frido
* Removed bug in naming ulFontCountl.
*
* Rev 1.2 03 Feb 1996 12:22:20 frido
* Added text clipping.
*
* Rev 1.1 25 Jan 1996 12:49:38 frido
* Added font cache ID counter to FONTCACHE structure.
*
* Rev 1.0 23 Jan 1996 15:14:52 frido
* Initial release.
*
\**************************************************************************/
#define BYTES_PER_TILE 128 // Number of bytes per tile line.
#define LINES_PER_TILE 16 // Number of lines per tile.
#define CACHE_EXPAND_XPAR 0x105501F0 // DRAWBLTDEF register value.
// support routines
extern BYTE Swiz[];
void AddToFontCacheChain(PDEV* ppdev,
FONTOBJ* pfo,
PFONTCACHE pfc);
VOID AllocGlyph(
PFONTCACHE pfc, // Pointer to font cache.
GLYPHBITS* pgb, // Pointer to glyph to cache.
PGLYPHCACHE pgc // Pointer to glyph cache structure.
);
long GetGlyphSize(
GLYPHBITS* pgb, // Pointer to glyph.
POINTL* pptlOrigin, // Pointer to return origin in.
DWORD* pcSize // Pointer to return size of glyph in.
);
BOOL AllocFontCache(
PFONTCACHE pfc, // Pointer to font cache.
long cWidth, // Width (in bytes) to allocate.
long cHeight, // Height to allocate.
POINTL* ppnt // Point to return cooridinate in.
);
VOID FontCache(
PFONTCACHE pfc, // Pointer to font cache.
STROBJ* pstro // Pointer to glyphs.
);
VOID ClipCache(
PFONTCACHE pfc, // Pointer to font cache.
STROBJ* pstro, // Pointer to glyphs.
RECTL rclBounds // Clipping rectangle.
);
VOID DrawGlyph(
PDEV* ppdev, // Pointer to physical device.
GLYPHBITS* pgb, // Pointer to glyph to draw.
POINTL ptl // Location of glyph.
);
VOID ClipGlyph(
PDEV* ppdev, // Pointer to physical device.
GLYPHBITS* pgb, // Pointer to glyph to draw.
POINTL ptl, // Location of glyph.
RECTL rclBounds // Clipping rectangle.
);
#define PACK_XY(x, y) ((WORD)(x) | ((DWORD)(y) << 16))