Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4972 → Rev 4973

/programs/develop/libraries/menuetlibc/include/freetype/tttypes.h
0,0 → 1,150
/*******************************************************************
*
* tttypes.h
*
* Freetype engine's common types specification
* (this spec has no associated body).
*
* Copyright 1996-1999 by
* David Turner, Robert Wilhelm, and Werner Lemberg.
*
* This file is part of the FreeType project, and may only be used
* modified and distributed under the terms of the FreeType project
* license, LICENSE.TXT. By continuing to use, modify, or distribute
* this file you indicate that you have read the license and
* understand and accept it fully.
*
* NOTE:
*
* All these declarations are library internals, and *not* part
* of the high-level interface. See also 'freetype.h'.
*
******************************************************************/
 
#ifndef TTTYPES_H
#define TTTYPES_H
 
#include "ttconfig.h"
#include "freetype.h"
 
#ifdef __MACTYPES__
#error "<MacTypes.h> have been included, and this prevents the proper\
compilation of this library. Please remove the precompiled headers."
#endif
 
typedef char String;
typedef signed char Char;
typedef unsigned char Byte;
 
typedef unsigned short UShort;
typedef signed short Short;
 
typedef unsigned long ULong;
typedef signed long Long;
 
typedef TT_Int32 Fixed;
 
typedef int Int;
 
/* Simple access types: pointers and tables */
 
typedef Byte* PByte;
typedef UShort* PUShort;
typedef Short* PShort;
typedef ULong* PULong;
typedef Long* PLong;
 
typedef Fixed* PFixed;
 
typedef Int* PInt;
 
typedef void* Pointer;
 
typedef TT_F26Dot6* PCoordinates;
typedef unsigned char* PTouchTable;
 
 
#ifndef Bool
typedef int Bool; /* No boolean type in C */
#endif
 
#ifndef TRUE
#define TRUE 1
#endif
 
#ifndef FALSE
#define FALSE 0
#endif
 
#ifndef NULL
#define NULL (void*)0
#endif
 
typedef Long Storage;
typedef Storage* PStorage;
 
 
/* Rounding mode constants */
 
#define TT_Round_Off 5
#define TT_Round_To_Half_Grid 0
#define TT_Round_To_Grid 1
#define TT_Round_To_Double_Grid 2
#define TT_Round_Up_To_Grid 4
#define TT_Round_Down_To_Grid 3
#define TT_Round_Super 6
#define TT_Round_Super_45 7
 
 
/* Touch flag masks */
 
#define TT_Flag_On_Curve 1
#define TT_Flag_Touched_X 2
#define TT_Flag_Touched_Y 4
#define TT_Flag_Touched_Both 6
 
 
/* Error management constants :) */
 
#define SUCCESS 0
#define FAILURE -1
 
 
/* The min and max functions missing in C. As usual, be careful not to */
/* write things like MIN( a++, b++ ) to avoid side effects. */
 
#ifndef MIN
#define MIN( a, b ) ( (a) < (b) ? (a) : (b) )
#endif
 
#ifndef MAX
#define MAX( a, b ) ( (a) > (b) ? (a) : (b) )
#endif
 
#ifndef ABS
#define ABS( a ) ( (a) < 0 ? -(a) : (a) )
#endif
 
/* conversion macros for the handles defined in freetype.h */
 
#define HANDLE_Val( handle ) ((handle).z)
 
#define HANDLE_Engine( handle ) ((PEngine_Instance)HANDLE_Val( handle ))
 
#define HANDLE_Face( handle ) ((PFace)HANDLE_Val( handle ))
 
#define HANDLE_Instance( handle ) ((PInstance)HANDLE_Val( handle ))
 
/* HANDLE_Stream( handle ) must be defined in ttfile.c */
 
#define HANDLE_Glyph( handle ) ((PGlyph)HANDLE_Val( handle ))
 
#define HANDLE_CharMap( handle ) ((PCMapTable)HANDLE_Val( handle ))
 
#define HANDLE_Set( handle, val ) ((handle).z = (void*)(val))
 
 
#endif /* TTTYPES_H */
 
 
/* END */