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.
148 lines
4.5 KiB
148 lines
4.5 KiB
/*++
|
|
|
|
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
|