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.
|
|
/*++
Copyright (c) 1996 - 1999 Microsoft Corporation
Module Name:
fmmacro.h
Abstract:
Font module main macro header file.
Environment:
Windows NT Unidrv driver
Revision History:
11/18/96 -ganeshp- Created
dd-mm-yy -author- description
--*/
#ifndef _FMMACRO_H
#define _FMMACRO_H
/* Debugging macroes specific to Font Module */
#if DBG // Check Build
/* Error handling macroes */ #define ERREXIT(ErrString) { ERR((ErrString));goto ErrorExit;}
#else // Free Build
/* Error handling macroes */ #define ERREXIT(ErrString) { goto ErrorExit;}
#endif // if DBG
/* Macroes */ #define ARF_IS_NULLSTRING(String) ((String).dwCount == 0)
#define BUFFSIZE 1024
#define PFDV ((PFONTPDEV)(pPDev->pFontPDev))
#define POINTEQUAL(pt1,pt2) ((pt1.x == pt2.x) && (pt1.y == pt2.y))
#define VALID_FONTPDEV(pfontpdev) \
( (pfontpdev) && ((pfontpdev)->dwSignature == FONTPDEV_ID) )
#define MEMFREEANDRESET(ptr) { if (ptr) MemFree( (LPSTR)ptr ); ptr = NULL; }
#define SIZEOFDEVPFM() (sizeof( FONTMAP ) + sizeof(FONTMAP_DEV))
#if 0
#define NO_ROTATION(xform) ( \
(FLOATOBJ_EqualLong(&(xform.eM12), 0) && \ FLOATOBJ_EqualLong(&(xform.eM21), 0) ) || \ (FLOATOBJ_EqualLong(&(xform.eM11), 0) && \ FLOATOBJ_EqualLong(&(xform.eM22), 0) )\ ) #else
#define NO_ROTATION(xform) ( \
FLOATOBJ_EqualLong(&(xform.eM12), 0) && \ FLOATOBJ_EqualLong(&(xform.eM21), 0) && \ FLOATOBJ_GreaterThanLong(&(xform.eM11),0) && \ FLOATOBJ_GreaterThanLong(&(xform.eM22),0) \ ) #endif
#define GLYPH_IN_NEW_SOFTFONT(pFontPDev, pdm, pdlGlyph) \
( \ (pdm->wFlags & DLM_BOUNDED) && \ (pdm->wBaseDLFontid != pdm->wCurrFontId) && \ (pdlGlyph->wDLFontId != (WORD)(pFontPDev->ctl.iSoftFont)) \ )
#define SET_CURSOR_FOR_EACH_GLYPH(flAccel) \
( \ (!(flAccel & SO_FLAG_DEFAULT_PLACEMENT)) || \ ( flAccel & SO_VERTICAL ) || \ ( flAccel & SO_REVERSED ) \ )
#define SET_CURSOR_POS(pPDev,pgp,flAccel) \
if (!(flAccel & SO_FLAG_DEFAULT_PLACEMENT)) \ XMoveTo(pPDev, pgp->ptl.x, MV_GRAPHICS|MV_FINE)
//
// Cursor Move type
//
#define MOVE_RELATIVE 0x0001
#define MOVE_ABSOLUTE 0x0002
#define MOVE_UPDATE 0x0004
/* Defines for Floating point numbers */
#if defined(_X86_) && !defined(USERMODE_DRIVER)
#define FLOATL_0_0 0 // 0.0 in IEEE floating point format
#define FLOATL_00_001M 0xAE000000 // -00.000976625f
#define FLOATL_00_001 0x2E000000 // 00.000976625f
#define FLOATL_00_005 0x3ba3d70a // 00.005f
#define FLOATL_00_005M 0xbba3d70a // -00.005f
#define FLOATL_00_50 0x3F000000 // 00.50f in IEEE floating point format
#define FLOATL_00_90 0x3f666666 // 00.90f in IEEE floating point format
#define FLOATL_1_0 0x3F800000 // 1.0f in IEEE floating point format
#define FLOATL_1_0M 0xBF800000 // -1.0f in IEEE floating point format
#define FLOATL_72_00 0x42900000 // 72.00f in IEEE floating point format
#define FLOATL_72_31 0x42909EB8 // 72.31f in IEEE floating point format
#define FLOATL_PI 0x40490fdb // 3.14159265358979f
#else //RISC
#define FLOATL_0_0 0.0f
#define FLOATL_00_001M -0.001f
#define FLOATL_00_001 0.001f
#define FLOATL_00_005M -0.005f
#define FLOATL_00_005 0.005f
#define FLOATL_00_50 0.5f
#define FLOATL_00_90 0.9f
#define FLOATL_1_0 1.0f
#define FLOATL_1_0M -1.0f
#define FLOATL_72_00 72.00f
#define FLOATL_72_31 72.31f
#define FLOATL_PI 3.14159265358979f
#endif _X86_
#define SYMBOL_START 0xf020
#define SYMBOL_END 0xf0ff
#define NUM_OF_SYMBOL SYMBOL_END - SYMBOL_START + 1
#define EURO_CUR_SYMBOL 0x20ac
#define IS_SYMBOL_CHARSET(pfm) (pfm->pIFIMet->jWinCharSet == 0x02)
BOOL NONSQUARE_FONT( PXFORML pxform);
#endif // !_FMMACRO_H
|