00001 00002 /* 00003 * @(#)LETypes.h 1.2 00/03/15 00004 * 00005 * (C) Copyright IBM Corp. 1998-2002 - All Rights Reserved 00006 * 00007 */ 00008 00009 #ifndef __LETYPES_H 00010 #define __LETYPES_H 00011 00012 #include "unicode/utypes.h" 00013 #include "unicode/uobject.h" 00014 00015 U_NAMESPACE_BEGIN 00016 00022 typedef int32_t le_int32; 00023 00029 typedef uint32_t le_uint32; 00030 00036 typedef int16_t le_int16; 00037 00043 typedef uint16_t le_uint16; 00044 00050 typedef int8_t le_int8; 00051 00057 typedef uint8_t le_uint8; 00058 00059 00065 typedef UBool le_bool; 00066 00067 #ifndef true 00068 00073 #define true 1 00074 #endif 00075 00076 #ifndef false 00077 00082 #define false 0 00083 #endif 00084 00085 #ifndef NULL 00086 00091 #define NULL 0 00092 #endif 00093 00099 typedef le_uint32 LETag; 00100 00108 typedef le_uint16 LEGlyphID; 00109 00115 typedef UChar LEUnicode16; 00116 00122 typedef UChar32 LEUnicode32; 00123 00129 typedef UChar LEUnicode; 00130 00136 struct LEPoint 00137 { 00143 float fX; 00144 00150 float fY; 00151 }; 00152 00153 #ifndef XP_CPLUSPLUS 00154 00159 typedef struct LEPoint LEPoint; 00160 #endif 00161 00167 #define LE_ARRAY_COPY(dst, src, count) memcpy(dst, src, (count) * sizeof (src)[0]) 00168 00174 enum LEErrorCode { 00175 /* informational */ 00176 // none right now... 00177 00178 /* success */ 00179 LE_NO_ERROR = U_ZERO_ERROR, 00180 00181 /* failures */ 00182 LE_ILLEGAL_ARGUMENT_ERROR = U_ILLEGAL_ARGUMENT_ERROR, 00183 LE_MEMORY_ALLOCATION_ERROR = U_MEMORY_ALLOCATION_ERROR, 00184 LE_INDEX_OUT_OF_BOUNDS_ERROR = U_INDEX_OUTOFBOUNDS_ERROR, 00185 LE_NO_LAYOUT_ERROR = U_UNSUPPORTED_ERROR, 00186 LE_INTERNAL_ERROR = U_INTERNAL_PROGRAM_ERROR 00187 }; 00188 00189 #ifndef XP_CPLUSPLUS 00190 00195 typedef enum LEErrorCode LEErrorCode; 00196 #endif 00197 00203 #define LE_SUCCESS(code) (U_SUCCESS((UErrorCode)code)) 00204 00210 #define LE_FAILURE(code) (U_FAILURE((UErrorCode)code)) 00211 00212 U_NAMESPACE_END 00213 #endif 00214 00215