00001 
00002 #ifndef INTERNAL_H
00003 #define INTERNAL_H
00004 
00005 #include <string.h>
00006 
00007 #ifdef _MSC_VER
00008         #if _MSC_VER > 1000
00009                 #pragma once
00010                 #pragma intrinsic(memcpy)
00011                 #pragma intrinsic(memset)
00012                 
00013                 #define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers
00014 
00015                 #ifdef _DEBUG 
00016                         #define _CRTDBG_MAP_ALLOC
00017                         #include <stdlib.h>
00018                         #ifndef _WIN32_WCE
00019                                 #include <crtdbg.h>
00020                         #endif
00021                 #endif
00022         #endif // _MSC_VER > 1000
00023 #endif
00024 
00025 #define _IL_BUILD_LIBRARY
00026 #define _ILU_BUILD_LIBRARY
00027 
00028 
00029 #include <stdlib.h>
00030 #include <stdio.h>
00031 #include <math.h>
00032 #include <string.h>
00033 
00034 
00035 #define _IL_BUILD_LIBRARY
00036 #define _ILU_BUILD_LIBRARY
00037 
00038 #ifdef HAVE_CONFIG_H //if we use autotools, we have HAVE_CONFIG_H defined and we have to look for it like that
00039 #include <config.h>
00040 #else // if we don't use autotools, we have to point to (possibly different) config.h than in the opposite case
00041 #include <IL/config.h>
00042 #endif
00043 
00044 #include <IL/ilu.h>
00045 #include <IL/devil_internal_exports.h>
00046 
00047 
00048 
00049 #ifdef _WIN32_WCE
00050         #include <windows.h>
00051         #define IL_TEXT(s) ((char*)TEXT(s))
00052 #elif _WIN32
00053         #include <windows.h>
00054         #define IL_TEXT(s) TEXT(s)
00055 #else
00056         #define IL_TEXT(s) s
00057         #define TEXT(s) s
00058 #endif
00059 
00060 extern ILimage *iluCurImage;
00061 
00062 
00063 
00064 extern const ILdouble   IL_PI;
00065 extern const ILdouble   IL_DEGCONV;
00066 
00067 
00068 #ifdef ILU_INTERNAL_C
00069 #undef NOINLINE
00070 #undef INLINE
00071 #define INLINE
00072 #endif
00073 
00074 
00075 ILfloat ilCos(ILfloat Angle);
00076 ILfloat ilSin(ILfloat Angle);
00077 ILint ilRound(ILfloat Num);
00078 
00079 #ifndef NOINLINE
00080 INLINE ILfloat ilCos(ILfloat Angle) {
00081         return (ILfloat)(cos(Angle * IL_DEGCONV));
00082 }
00083 
00084 INLINE ILfloat ilSin(ILfloat Angle) {
00085         return (ILfloat)(sin(Angle * IL_DEGCONV));
00086 }
00087 
00088 
00089 INLINE ILint ilRound(ILfloat Num) {
00090         return (ILint)(Num + 0.5); 
00091 }
00092 #endif
00093 
00094 
00095 
00096 ILuint  iluScaleAdvanced(ILuint Width, ILuint Height, ILenum Filter);
00097 ILubyte *iScanFill(void);
00098 
00099 
00100 #endif//INTERNAL_H