Add DevIL 1.7.8.

This commit is contained in:
rude
2013-09-26 00:20:08 +02:00
parent 6e493fb605
commit c065120c58
487 changed files with 219483 additions and 0 deletions
@@ -0,0 +1,27 @@
#ifndef ALLOC_H
#define ALLOC_H
#if defined(_WIN32) && defined(_MEM_DEBUG)
void *c_alloc(unsigned long size, unsigned long num, const char *file, unsigned long line);
void *m_alloc(unsigned long size, const char *file, unsigned long line);
void f_ree(void *ptr);
#ifdef malloc
#undef malloc
#endif
#ifdef calloc
#undef calloc
#endif
#ifdef free
#undef free
#endif
#define malloc(size) m_alloc(size, __FILE__, __LINE__)
#define calloc(size, num) c_alloc(size, num, __FILE__, __LINE__)
#define free(addr) f_ree(addr)
#endif//defined(_WIN32) && defined(_MEM_DEBUG)
#endif//ALLOC_H
@@ -0,0 +1,55 @@
//-----------------------------------------------------------------------------
//
// ImageLib Utility Sources
// Copyright (C) 2000-2008 by Denton Woods
// Last modified: 11/10/2008
//
// Filename: src-ILU/include/ilu_error/ilu_err-arabic.h
//
// Description: Error functions in Arabic, translated by Abdullah Alshammari
//
//-----------------------------------------------------------------------------
#ifndef IL_ERR_ARABIC_H
#define IL_ERR_ARABIC_H
#include "ilu_internal.h"
ILconst_string iluErrorStringsArabic[IL_FILE_READ_ERROR - IL_INVALID_ENUM + 1] = {
IL_TEXT("enumerant خاطئ"),
IL_TEXT("خارج حدود الذاكرة"),
IL_TEXT("نسق الصورة غير مدعوم"),
IL_TEXT("خطأ داخلي"),
IL_TEXT("قيمة خاطئة"),
IL_TEXT("عملية غير شرعية"),
IL_TEXT("رقم (قيمة) الملف غير شرعي"),
IL_TEXT("رأس الملف خاطئ"),
IL_TEXT("البارمتر(المعامل) خاطئ"),
IL_TEXT("لايمكن فتح الملف"),
IL_TEXT("امتداد الملف خاطئ"),
IL_TEXT("الملف موجود"),
IL_TEXT("out format equivalent"),
IL_TEXT("المكدس(الستاك) ممتلئ"),
IL_TEXT("المكدس (الستاك) فارغ"),
IL_TEXT("تحويل خاطئ"),
IL_TEXT("أبعاد خاطئة"),
IL_TEXT("حدث خطأ أثناء قراءة الملف")
};
ILconst_string iluLibErrorStringsArabic[IL_LIB_EXR_ERROR - IL_LIB_GIF_ERROR + 1] = {
IL_TEXT("خطأ في مكتبة gif"),
IL_TEXT("خطأ في مكتبة jpeg"),
IL_TEXT("خطأ في مكتبة png"),
IL_TEXT("خطأ في مكتبة tiff"),
IL_TEXT("خطأ في مكتبة mng"),
IL_TEXT("خطأ في مكتبة jp2"),
IL_TEXT("خطأ في مكتبة exr")
};
ILconst_string iluMiscErrorStringsArabic[2] = {
IL_TEXT("لايوجد خطأ"),
IL_TEXT("خطأ غير معروف")
};
#endif//IL_ERR_ARABIC_H
@@ -0,0 +1,55 @@
//-----------------------------------------------------------------------------
//
// ImageLib Utility Sources
// Copyright (C) 2000-2008 by Denton Woods
// Last modified: 11/08/2008
//
// Filename: src-ILU/include/ilu_error/ilu_err_dutch.h
//
// Description: Error functions in Dutch, translated by Bart De Lathouwer
//
//-----------------------------------------------------------------------------
#ifndef ILU_ERR_DUTCH_H
#define ILU_ERR_DUTCH_H
#include "ilu_internal.h"
ILconst_string iluErrorStringsDutch[IL_FILE_READ_ERROR - IL_INVALID_ENUM + 1] = {
IL_TEXT("Ongeldige enumerant"),
IL_TEXT("Geen vrij geheugen meer"),
IL_TEXT("Format wordt nog niet ondersteund"),
IL_TEXT("Interne fout"),
IL_TEXT("Ongeldige waarde"),
IL_TEXT("Foute bewerking"),
IL_TEXT("Foute bestandswaarde"),
IL_TEXT("Foute bestandsbegin"),
IL_TEXT("Ongeldige parameter"),
IL_TEXT("Kan het bestand niet openen"),
IL_TEXT("ongeldige"),
IL_TEXT("Bestand bestaat reeds"),
IL_TEXT("uitgaand formaat equivalent"),
IL_TEXT("stapel overstroming"),
IL_TEXT("stapel onderstroming"),
IL_TEXT("ongeldige omzetting"),
IL_TEXT("slechte afmetingen"),
IL_TEXT("Leesfout in bestand")
};
ILconst_string iluLibErrorStringsDutch[IL_LIB_EXR_ERROR - IL_LIB_GIF_ERROR + 1] = {
IL_TEXT("fout in gif bibliotheek"),
IL_TEXT("fout in jpeg bibliotheek"),
IL_TEXT("fout in png bibliotheek"),
IL_TEXT("fout in tiff bibliotheek"),
IL_TEXT("fout in mng bibliotheek"),
IL_TEXT("fout in jp2 bibliotheek"),
IL_TEXT("fout in exr bibliotheek")
};
ILconst_string iluMiscErrorStringsDutch[2] = {
IL_TEXT("geen fout"),
IL_TEXT("onbekende fout")
};
#endif//ILU_ERR_DUTCH_H
@@ -0,0 +1,55 @@
//-----------------------------------------------------------------------------
//
// ImageLib Utility Sources
// Copyright (C) 2000-2008 by Denton Woods
// Last modified: 11/08/2008
//
// Filename: src-ILU/include/ilu_error/ilu_err_english.h
//
// Description: Error functions in English.
//
//-----------------------------------------------------------------------------
#ifndef ILU_ERR_ENGLISH_H
#define ILU_ERR_ENGLISH_H
#include "ilu_internal.h"
ILconst_string iluErrorStringsEnglish[IL_FILE_READ_ERROR - IL_INVALID_ENUM + 1] = {
IL_TEXT("invalid enumerant"),
IL_TEXT("out of memory"),
IL_TEXT("format not supported yet"),
IL_TEXT("internal error"),
IL_TEXT("invalid value"),
IL_TEXT("illegal operation"),
IL_TEXT("illegal file value"),
IL_TEXT("invalid file header"),
IL_TEXT("invalid parameter"),
IL_TEXT("could not open file"),
IL_TEXT("invalid extension"),
IL_TEXT("file already exists"),
IL_TEXT("out format equivalent"),
IL_TEXT("stack overflow"),
IL_TEXT("stack underflow"),
IL_TEXT("invalid conversion"),
IL_TEXT("bad dimensions"),
IL_TEXT("file read error")
};
ILconst_string iluLibErrorStringsEnglish[IL_LIB_EXR_ERROR - IL_LIB_GIF_ERROR + 1] = {
IL_TEXT("gif library error"),
IL_TEXT("jpeg library error"),
IL_TEXT("png library error"),
IL_TEXT("tiff library error"),
IL_TEXT("mng library error"),
IL_TEXT("jp2 library error"),
IL_TEXT("exr library error")
};
ILconst_string iluMiscErrorStringsEnglish[2] = {
IL_TEXT("no error"),
IL_TEXT("unknown error")
};
#endif//ILU_ERR_ENGLISH_H
@@ -0,0 +1,57 @@
//-----------------------------------------------------------------------------
//
// ImageLib Utility Sources
// Copyright (C) 2000-2009 by Denton Woods
// Last modified: 03/03/2009
//
// Filename: src-ILU/include/ilu_error/ilu_err_french.h
//
// Description: Error functions in French, by Thibaut Cuvelier.
//
//-----------------------------------------------------------------------------
#ifndef ILU_ERR_FRENCH_H
#define ILU_ERR_FRENCH_H
#include "ilu_internal.h"
ILconst_string iluErrorStringsFrench[IL_FILE_READ_ERROR - IL_INVALID_ENUM + 1] = {
IL_TEXT("énumération invalide"),
IL_TEXT("dépassement de mémoire"),
IL_TEXT("format non supporté"),
IL_TEXT("erreur interne"),
IL_TEXT("valeur illégale"),
IL_TEXT("opération illégale"),
IL_TEXT("valeur de fichier illégale"),
IL_TEXT("en-tête de fichier invalide"),
IL_TEXT("paramètre invalide"),
IL_TEXT("ne peut pas ouvrir le fichier"),
IL_TEXT("extension invalide"),
IL_TEXT("fichier déjà existant"),
IL_TEXT("équivalent hors-format"),
IL_TEXT("stack overflow"), //often used like this in French, so no need to translate
IL_TEXT("stack underflow"),
IL_TEXT("conversion invalide"),
IL_TEXT("mauvaises dimensions"),
IL_TEXT("erreur lors de la lecture du fichier")
};
ILconst_string iluLibErrorStringsFrench[IL_LIB_EXR_ERROR - IL_LIB_GIF_ERROR + 1] = {
IL_TEXT("gif : erreur dans la librairie"), //or: gif : erreur dans la bibliothèque (but less used)
IL_TEXT("jpeg : erreur dans la librairie"),
IL_TEXT("png : erreur dans la librairie"),
IL_TEXT("tiff : erreur dans la librairie"),
IL_TEXT("mng : erreur dans la librairie"),
IL_TEXT("jp2 : erreur dans la librairie"),
IL_TEXT("exr : erreur dans la librairie")
};
ILconst_string iluMiscErrorStringsFrench[2] = {
IL_TEXT("pas d'erreur"),
IL_TEXT("erreur inconnue")
};
#endif//ILU_ERR_FRENCH_H
@@ -0,0 +1,55 @@
//-----------------------------------------------------------------------------
//
// ImageLib Utility Sources
// Copyright (C) 2000-2008 by Denton Woods
// Last modified: 12/05/2008
//
// Filename: src-ILU/include/ilu_error/ilu_err_German.h
//
// Description: Error functions in German, translated by Andreas Stöckel.
//
//-----------------------------------------------------------------------------
#ifndef ILU_ERR_GERMAN_H
#define ILU_ERR_GERMAN_H
#include "ilu_internal.h"
ILconst_string iluErrorStringsGerman[IL_FILE_READ_ERROR - IL_INVALID_ENUM + 1] = {
IL_TEXT("Ungültiger Enumerator"),
IL_TEXT("Kein Speicher verfügbar"),
IL_TEXT("Das Format wird noch nicht unterstützt"),
IL_TEXT("Interner Fehler"),
IL_TEXT("Ungültiger Wert"),
IL_TEXT("Unzulässige Operation"),
IL_TEXT("Unzulässiger Datei-Wert"),
IL_TEXT("Unzulässiger Datei-Header"),
IL_TEXT("Unzulässiger Parameter"),
IL_TEXT("Datei konnte nicht geöffnet werden"),
IL_TEXT("Ungültiger Erweiterung"),
IL_TEXT("Die Datei existiert bereits"),
IL_TEXT("out format equivalent"),
IL_TEXT("Stack Überlauf"),
IL_TEXT("Stack Unterlauf"),
IL_TEXT("Ungültige Konvertierung"),
IL_TEXT("Unzulässige Abmessungen"),
IL_TEXT("Fehler beim Lesen der Datei")
};
ILconst_string iluLibErrorStringsGerman[IL_LIB_EXR_ERROR - IL_LIB_GIF_ERROR + 1] = {
IL_TEXT("Fehler in der gif Bibliothek"),
IL_TEXT("Fehler in der jpeg Bibliothek"),
IL_TEXT("Fehler in der png Bibliothek"),
IL_TEXT("Fehler in der tiff Bibliothek"),
IL_TEXT("Fehler in der mng Bibliothek"),
IL_TEXT("Fehler in der jp2 Bibliothek"),
IL_TEXT("Fehler in der exr Bibliothek")
};
ILconst_string iluMiscErrorStringsGerman[2] = {
IL_TEXT("Kein Fehler"),
IL_TEXT("Unbekannter Fehler")
};
#endif//ILU_ERR_GERMAN_H
@@ -0,0 +1,55 @@
//-----------------------------------------------------------------------------
//
// ImageLib Utility Sources
// Copyright (C) 2000-2008 by Denton Woods
// Last modified: 11/10/2008
//
// Filename: src-ILU/include/ilu_error/ilu_err-japanese.h
//
// Description: Error functions in Japanese, translated by Osamu Ohara
//
//-----------------------------------------------------------------------------
#ifndef ILU_ERR_JAPANESE_H
#define ILU_ERR_JAPANESE_H
#include "ilu_internal.h"
ILconst_string iluErrorStringsJapanese[IL_FILE_READ_ERROR - IL_INVALID_ENUM + 1] = {
IL_TEXT("無効な列挙値"), //"invalid enumerant"),
IL_TEXT("メモリ不足"), //"out of memory"),
IL_TEXT("まだサポートされていないフォーマット"), //"format not supported yet"),
IL_TEXT("内部エラー"), //"internal error"),
IL_TEXT("無効な値"), //"invalid value"),
IL_TEXT("不正なオペレーション"), //"illegal operation"),
IL_TEXT("不正なファイルの値"), //"illegal file value"),
IL_TEXT("無効なファイルヘッダ"), //"invalid file header"),
IL_TEXT("無効なパラメタ"), //"invalid parameter"),
IL_TEXT("ファイルが開けません"), //"could not open file"),
IL_TEXT("無効な拡張子"), //"invalid extension"),
IL_TEXT("ファイルは既に存在しています"), //"file already exists"),
IL_TEXT("等価フォーマット外"), //"out format equivalent"),
IL_TEXT("スタックオーバーフロー"), //"stack overflow"),
IL_TEXT("スタックアンダーフロー"), //"stack underflow"),
IL_TEXT("無効な変換"), //"invalid conversion"),
IL_TEXT("不正なサイズ"), //"bad dimensions"),
IL_TEXT("ファイル読み込みエラー") //"file read error"
};
ILconst_string iluLibErrorStringsJapanese[IL_LIB_EXR_ERROR - IL_LIB_GIF_ERROR + 1] = {
IL_TEXT("gifライブラリエラー"), //"gif library error"),
IL_TEXT("jpegライブラリエラー"), //"jpeg library error"),
IL_TEXT("pngライブラリエラー"), //"png library error"),
IL_TEXT("tiffライブラリエラー"), //"tiff library error"),
IL_TEXT("mngライブラリエラー"), //"mng library error"
IL_TEXT("jp2ライブラリエラー"), //"jp2 library error"
IL_TEXT("exrライブラリエラー") //"exr library error"
};
ILconst_string iluMiscErrorStringsJapanese[2] = {
IL_TEXT("エラー無し"),
IL_TEXT("不明なエラー")
};
#endif//ILU_ERR_JAPANESE_H
@@ -0,0 +1,55 @@
//-----------------------------------------------------------------------------
//
// ImageLib Utility Sources
// Copyright (C) 2000-2008 by Denton Woods
// Last modified: 11/08/2008
//
// Filename: src-ILU/include/ilu_error/ilu_err-spanish.h
//
// Description: Error functions in Spanish, translated by Carlos Aragonés
//
//-----------------------------------------------------------------------------
#ifndef ILU_ERR_SPANISH_H
#define ILU_ERR_SPANISH_H
#include "ilu_internal.h"
ILconst_string iluErrorStringsSpanish[IL_FILE_READ_ERROR - IL_INVALID_ENUM + 1] = {
IL_TEXT("enumerador incorrecto"),
IL_TEXT("no queda memoria disponible"),
IL_TEXT("formato no soportado todavía"),
IL_TEXT("error interno"),
IL_TEXT("valor incorrecto"),
IL_TEXT("operación ilegaIL_TEXT("),
IL_TEXT("valor de fichero ilegaIL_TEXT("),
IL_TEXT("cabecera incorrecta"),
IL_TEXT("parámetro incorrecto"),
IL_TEXT("no se puede abrir el fichero"),
IL_TEXT("extensión desconocida"),
IL_TEXT("el fichero ya existe"),
IL_TEXT("formato de salida equivalente"),
IL_TEXT("desbordamiento superior de pila"),
IL_TEXT("desbordamiento inferior de pila"),
IL_TEXT("conversión incorrecta"),
IL_TEXT("número de dimensiones incorrecto"),
IL_TEXT("error de lectura en el fichero")
};
ILconst_string iluLibErrorStringsSpanish[IL_LIB_EXR_ERROR - IL_LIB_GIF_ERROR + 1] = {
IL_TEXT("error en la librería gif"), // the correct translation will be 'error en la biblioteca gif', but nobody in spain uses the word 'biblioteca' for the translation the word 'library'. Almost all Spanish programmers translate 'library' incorrectly to 'librería'.
IL_TEXT("error en la librería jpeg"),
IL_TEXT("error en la librería png"),
IL_TEXT("error en la librería tiff"),
IL_TEXT("error en la librería mng"),
IL_TEXT("error en la librería jp2"),
IL_TEXT("error en la librería exr"),
};
ILconst_string iluMiscErrorStringsSpanish[2] = {
IL_TEXT("no error"),
IL_TEXT("unknown error")
};
#endif//ILU_ERR_SPANISH_H
@@ -0,0 +1,81 @@
//-----------------------------------------------------------------------------
//
// ImageLib Utility Sources
// Copyright (C) 2000-2002 by Denton Woods
// Last modified: 05/28/2001 <--Y2K Compliant! =]
//
// Filename: src-ILU/include/ilu_filter.h
//
// Description: Applies filters to an image.
//
//-----------------------------------------------------------------------------
#ifndef FILTER_H
#define FILTER_H
#include "ilu_internal.h"
static const ILint filter_average_scale = 9;
static const ILint filter_average_bias = 1;
static const ILint filter_average[] =
{ 1, 1, 1,
1, 1, 1,
1, 1, 1 };
static const ILint filter_gaussian_scale = 16;
static const ILint filter_gaussian_bias = 1;
static const ILint filter_gaussian[] =
{ 1, 2, 1,
2, 4, 2,
1, 2, 1 };
static const ILint filter_h_sobel_scale = 1;
static const ILint filter_h_sobel_bias = 0;
static const ILint filter_h_sobel[] =
{ 1, 2, 1,
0, 0, 0,
-1, -2, -1 };
static const ILint filter_v_sobel_scale = 1;
static const ILint filter_v_sobel_bias = 0;
static const ILint filter_v_sobel[] =
{ 1, 0, -1,
2, 0, -2,
1, 0, -1 };
static const ILint filter_h_prewitt_scale = 1;
static const ILint filter_h_prewitt_bias = 0;
static const ILint filter_h_prewitt[] =
{ 1, 1, 1,
0, 0, 0,
-1, -1, -1 };
static const ILint filter_v_prewitt_scale = 1;
static const ILint filter_v_prewitt_bias = 0;
static const ILint filter_v_prewitt[] =
{ 1, 0, -1,
1, 0, -1,
1, 0, -1 };
static const ILint filter_emboss_scale = 1;
static const ILint filter_emboss_bias = 128;
static const ILint filter_emboss[] =
{ -1, 0, 1,
-1, 0, 1,
-1, 0, 1 };
static const ILint filter_embossedge_scale = 1;
static const ILint filter_embossedge_bias = 0;
static const ILint filter_embossedge[] =
{ -1, 0, 1,
-1, 0, 1,
-1, 0, 1 };
#endif//FILTER_H
@@ -0,0 +1,100 @@
#ifndef INTERNAL_H
#define INTERNAL_H
#include <string.h>
#ifdef _MSC_VER
#if _MSC_VER > 1000
#pragma once
#pragma intrinsic(memcpy)
#pragma intrinsic(memset)
//pragma comment(linker, "/NODEFAULTLIB:libc")
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#ifdef _DEBUG
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#ifndef _WIN32_WCE
#include <crtdbg.h>
#endif
#endif
#endif // _MSC_VER > 1000
#endif
#define _IL_BUILD_LIBRARY
#define _ILU_BUILD_LIBRARY
// Standard headers
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
// Local headers
#define _IL_BUILD_LIBRARY
#define _ILU_BUILD_LIBRARY
#ifdef HAVE_CONFIG_H //if we use autotools, we have HAVE_CONFIG_H defined and we have to look for it like that
#include <config.h>
#else // if we don't use autotools, we have to point to (possibly different) config.h than in the opposite case
#include <IL/config.h>
#endif
#include <IL/ilu.h>
#include <IL/devil_internal_exports.h>
// From DevIL's internal.h:
#ifdef _WIN32_WCE
#include <windows.h>
#define IL_TEXT(s) ((char*)TEXT(s))
#elif _WIN32
#include <windows.h>
#define IL_TEXT(s) TEXT(s)
#else
#define IL_TEXT(s) s
#define TEXT(s) s
#endif
extern ILimage *iluCurImage;
// Useful global variables
extern const ILdouble IL_PI;
extern const ILdouble IL_DEGCONV;
#ifdef ILU_INTERNAL_C
#undef NOINLINE
#undef INLINE
#define INLINE
#endif
// Internal functions
ILfloat ilCos(ILfloat Angle);
ILfloat ilSin(ILfloat Angle);
ILint ilRound(ILfloat Num);
#ifndef NOINLINE
INLINE ILfloat ilCos(ILfloat Angle) {
return (ILfloat)(cos(Angle * IL_DEGCONV));
}
INLINE ILfloat ilSin(ILfloat Angle) {
return (ILfloat)(sin(Angle * IL_DEGCONV));
}
INLINE ILint ilRound(ILfloat Num) {
return (ILint)(Num + 0.5); // this is truncating in away-from-0, not rounding
}
#endif
ILuint iluScaleAdvanced(ILuint Width, ILuint Height, ILenum Filter);
ILubyte *iScanFill(void);
#endif//INTERNAL_H
@@ -0,0 +1,28 @@
//-----------------------------------------------------------------------------
//
// ImageLib Utility Sources
// Copyright (C) 2000-2002 by Denton Woods
// Last modified: 07/09/2002 <--Y2K Compliant! =]
//
// Filename: src-ILU/src/ilu_region.h
//
// Description: Creates an image region.
//
//-----------------------------------------------------------------------------
#ifndef ILU_REGION_H
#define ILU_REGION_H
#include "ilu_internal.h"
typedef struct Edge
{
ILint yUpper;
ILfloat xIntersect, dxPerScan;
struct Edge *next;
} Edge;
#endif//ILU_REGION_H
@@ -0,0 +1,20 @@
//-----------------------------------------------------------------------------
//
// ImageLib Utility Sources
// Copyright (C) 2000-2002 by Denton Woods
// Last modified: 05/28/2001 <--Y2K Compliant! =]
//
// Filename: src-ILU/include/ilu_states.h
//
// Description: The state machine
//
//-----------------------------------------------------------------------------
#ifndef STATES_H
#define STATES_H
extern ILenum iluFilter;
extern ILenum iluPlacement;
#endif//STATES_H