added dependencies and build files (loosely inspired by Sebastian Dorda's love-native-android)

This commit is contained in:
Martin Felis
2013-12-05 17:58:37 +01:00
parent 9604528a96
commit 95a086a47f
3700 changed files with 1691119 additions and 0 deletions
+518
View File
@@ -0,0 +1,518 @@
unit OpenIL;
//------------------------------------------------------------------------------
//
// ImageLib Sources
// Copyright (C) 2000-2003 by Denton Woods
// Last modified: 06/23/2002 <--Y2K Compliant! =]
//
// Filename: il/il.h
//
// Description: The main include file for DevIL
//
//------------------------------------------------------------------------------
{******************************************************************************}
{ Converted to Delphi by Alexander Blach (alexander@abee.de) }
{ Version: DevIL v1.6.6 }
{ Last modified: 08/08/2003 }
{******************************************************************************}
interface
uses
Windows;
//{$DEFINE IL_NO_BMP}
//{$DEFINE IL_NO_CUT}
//{$DEFINE IL_NO_CHEAD}
//{$DEFINE IL_NO_DCX}
//{$DEFINE IL_NO_DDS}
//{$DEFINE IL_NO_DOOM}
//{$DEFINE IL_NO_GIF}
//{$DEFINE IL_NO_ICO}
//{$DEFINE IL_NO_JPG}
//{$DEFINE IL_NO_LIF}
//{$DEFINE IL_NO_LBM}
//{$DEFINE IL_NO_MDL}
//{$DEFINE IL_NO_PCD}
//{$DEFINE IL_NO_PCX}
//{$DEFINE IL_NO_PIC}
//{$DEFINE IL_NO_PNG}
//{$DEFINE IL_NO_PNM}
//{$DEFINE IL_NO_PSD}
//{$DEFINE IL_NO_RAW}
//{$DEFINE IL_NO_SGI}
//{$DEFINE IL_NO_TGA}
//{$DEFINE IL_NO_TIF}
//{$DEFINE IL_NO_WAL}
//{$DEFINE IL_USE_IJL}
type
TILenum = LongWord;
TILboolean = Byte;
TILbitfield = LongWord;
TILbyte = ShortInt;
TILshort = SmallInt;
TILint = Integer;
TILsizei = Integer;
TILubyte = Byte;
TILushort = Word;
TILuint = LongWord;
TILfloat = Single;
TILclampf = Single;
TILdouble = Double;
TILclampd = Double;
PILboolean = ^Byte;
PILbitfield = ^LongWord;
PILbyte = ^ShortInt;
PILshort = ^SmallInt;
PILint = ^Integer;
PILsizei = ^Integer;
PILubyte = ^Byte;
PILushort = ^Word;
PILuint = ^LongWord;
PILfloat = ^Single;
PILclampf = ^Single;
PILdouble = ^Double;
PILclampd = ^Double;
const
IL_FALSE = 0;
IL_TRUE = 1;
// Matches OpenGL's right now.
IL_COLOUR_INDEX = $1900;
IL_COLOR_INDEX = $1900;
IL_RGB = $1907;
IL_RGBA = $1908;
IL_BGR = $80E0;
IL_BGRA = $80E1;
IL_LUMINANCE = $1909;
IL_BYTE = $1400;
IL_UNSIGNED_BYTE = $1401;
IL_SHORT = $1402;
IL_UNSIGNED_SHORT = $1403;
IL_INT = $1404;
IL_UNSIGNED_INT = $1405;
IL_FLOAT = $1406;
IL_DOUBLE = $140A;
IL_VENDOR = $1F00;
//
// IL-specific 's
//
IL_VERSION_1_5_6 = 1;
IL_VERSION = 156;
IL_LOAD_EXT = $1F01;
IL_SAVE_EXT = $1F02;
// Attribute Bits
IL_ORIGIN_BIT = $00000001;
IL_FILE_BIT = $00000002;
IL_PAL_BIT = $00000004;
IL_FORMAT_BIT = $00000008;
IL_TYPE_BIT = $00000010;
IL_COMPRESS_BIT = $00000020;
IL_LOADFAIL_BIT = $00000040;
IL_FORMAT_SPECIFIC_BIT = $00000080;
IL_ALL_ATTRIB_BITS = $000FFFFF;
// Palette types
IL_PAL_NONE = $0400;
IL_PAL_RGB24 = $0401;
IL_PAL_RGB32 = $0402;
IL_PAL_RGBA32 = $0403;
IL_PAL_BGR24 = $0404;
IL_PAL_BGR32 = $0405;
IL_PAL_BGRA32 = $0406;
// Image types
IL_TYPE_UNKNOWN = $0000;
IL_BMP = $0420;
IL_CUT = $0421;
IL_DOOM = $0422;
IL_DOOM_FLAT = $0423;
IL_ICO = $0424;
IL_JPG = $0424;
IL_LBM = $0426;
IL_PCD = $0427;
IL_PCX = $0428;
IL_PIC = $0429;
IL_PNG = $042A;
IL_PNM = $042B;
IL_SGI = $042C;
IL_TGA = $042D;
IL_TIF = $042E;
IL_CHEAD = $042F;
IL_RAW = $0430;
IL_MDL = $0431;
IL_WAL = $0432;
IL_LIF = $0434;
IL_MNG = $0435;
IL_JNG = $0435;
IL_GIF = $0436;
IL_DDS = $0437;
IL_DCX = $0438;
IL_PSD = $0439;
IL_EXIF = $043A;
IL_PSP = $043B;
IL_PIX = $043C;
IL_PXR = $043D;
IL_XPM = $043E;
IL_JASC_PAL = $0475;
// Error Types
IL_NO_ERROR = $0000;
IL_INVALID_ENUM = $0501;
IL_OUT_OF_MEMORY = $0502;
IL_FORMAT_NOT_SUPPORTED = $0503;
IL_INTERNAL_ERROR = $0504;
IL_INVALID_VALUE = $0505;
IL_ILLEGAL_OPERATION = $0506;
IL_ILLEGAL_FILE_VALUE = $0507;
IL_INVALID_FILE_HEADER = $0508;
IL_INVALID_PARAM = $0509;
IL_COULD_NOT_OPEN_FILE = $050A;
IL_INVALID_EXTENSION = $050B;
IL_FILE_ALREADY_EXISTS = $050C;
IL_OUT_FORMAT_SAME = $050D;
IL_STACK_OVERFLOW = $050E;
IL_STACK_UNDERFLOW = $050F;
IL_INVALID_CONVERSION = $0510;
IL_BAD_DIMENSIONS = $0511;
IL_FILE_READ_ERROR = $0512;
IL_LIB_GIF_ERROR = $05E1;
IL_LIB_JPEG_ERROR = $05E2;
IL_LIB_PNG_ERROR = $05E3;
IL_LIB_TIFF_ERROR = $05E4;
IL_LIB_MNG_ERROR = $05E5;
IL_UNKNOWN_ERROR = $05FF;
// Origin Definitions
IL_ORIGIN_SET = $0600;
IL_ORIGIN_LOWER_LEFT = $0601;
IL_ORIGIN_UPPER_LEFT = $0602;
IL_ORIGIN_MODE = $0603;
// Format and Type Mode Definitions
IL_FORMAT_SET = $0610;
IL_FORMAT_MODE = $0611;
IL_TYPE_SET = $0612;
IL_TYPE_MODE = $0613;
// File definitions
IL_FILE_OVERWRITE = $0620;
IL_FILE_MODE = $0621;
// Palette definitions
IL_CONV_PAL = $0630;
// Load fail definitions
IL_DEFAULT_ON_FAIL = $0632;
// Key colour definitions
IL_USE_KEY_COLOUR = $0635;
IL_USE_KEY_COLOR = $0635;
// Interlace definitions
IL_SAVE_INTERLACED = $0639;
IL_INTERLACE_MODE = $063A;
// Quantization definitions
IL_QUANTIZATION_MODE = $0640;
IL_WU_QUANT = $0641;
IL_NEU_QUANT = $0642;
IL_NEU_QUANT_SAMPLE = $0643;
// Hints
IL_FASTEST = $0660;
IL_LESS_MEM = $0661;
IL_DONT_CARE = $0662;
IL_MEM_SPEED_HINT = $0665;
IL_USE_COMPRESSION = $0666;
IL_NO_COMPRESSION = $0667;
IL_COMPRESSION_HINT = $0668;
// Subimage
IL_SUB_NEXT = $0680;
IL_SUB_MIPMAP = $0681;
IL_SUB_LAYER = $0682;
// Compression definitions (mostly for .oil)
IL_COMPRESS_MODE = $0700;
IL_COMPRESS_NONE = $0701;
IL_COMPRESS_RLE = $0702;
IL_COMPRESS_LZO = $0703;
IL_COMPRESS_ZLIB = $0704;
// File format-specific values
IL_TGA_CREATE_STAMP = $0710;
IL_JPG_QUALITY = $0711;
IL_PNG_INTERLACE = $0712;
IL_TGA_RLE = $0713;
IL_BMP_RLE = $0714;
IL_SGI_RLE = $0715;
IL_TGA_ID_STRING = $0717;
IL_TGA_AUTHNAME_STRING = $0718;
IL_TGA_AUTHCOMMENT_STRING = $0719;
IL_PNG_AUTHNAME_STRING = $071A;
IL_PNG_TITLE_STRING = $071B;
IL_PNG_DESCRIPTION_STRING = $071C;
IL_TIF_DESCRIPTION_STRING = $071D;
IL_TIF_HOSTCOMPUTER_STRING = $071E;
IL_TIF_DOCUMENTNAME_STRING = $071F;
IL_TIF_AUTHNAME_STRING = $0720;
IL_JPG_SAVE_FORMAT = $0721;
IL_CHEAD_HEADER_STRING = $0722;
IL_PCD_PICNUM = $0723;
// DXTC definitions
IL_DXTC_FORMAT = $0705;
IL_DXT1 = $0706;
IL_DXT2 = $0707;
IL_DXT3 = $0708;
IL_DXT4 = $0709;
IL_DXT5 = $070A;
IL_DXT_NO_COMP = $070B;
IL_KEEP_DXTC_DATA = $070C;
IL_DXTC_DATA_FORMAT = $070D;
// Cube map definitions
IL_CUBEMAP_POSITIVEX = $00000400;
IL_CUBEMAP_NEGATIVEX = $00000800;
IL_CUBEMAP_POSITIVEY = $00001000;
IL_CUBEMAP_NEGATIVEY = $00002000;
IL_CUBEMAP_POSITIVEZ = $00004000;
IL_CUBEMAP_NEGATIVEZ = $00008000;
// Values
IL_VERSION_NUM = $0DE2;
IL_IMAGE_WIDTH = $0DE4;
IL_IMAGE_HEIGHT = $0DE5;
IL_IMAGE_DEPTH = $0DE6;
IL_IMAGE_SIZE_OF_DATA = $0DE7;
IL_IMAGE_BPP = $0DE8;
IL_IMAGE_BYTES_PER_PIXEL = $0DE8;
IL_IMAGE_BITS_PER_PIXEL = $0DE9;
IL_IMAGE_FORMAT = $0DEA;
IL_IMAGE_TYPE = $0DEB;
IL_PALETTE_TYPE = $0DEC;
IL_PALETTE_SIZE = $0DED;
IL_PALETTE_BPP = $0DEE;
IL_PALETTE_NUM_COLS = $0DEF;
IL_PALETTE_BASE_TYPE = $0DF0;
IL_NUM_IMAGES = $0DF1;
IL_NUM_MIPMAPS = $0DF2;
IL_NUM_LAYERS = $0DF3;
IL_ACTIVE_IMAGE = $0DF4;
IL_ACTIVE_MIPMAP = $0DF5;
IL_ACTIVE_LAYER = $0DF6;
IL_CUR_IMAGE = $0DF7;
IL_IMAGE_DURATION = $0DF8;
IL_IMAGE_PLANESIZE = $0DF9;
IL_IMAGE_BPC = $0DFA;
IL_IMAGE_OFFX = $0DFB;
IL_IMAGE_OFFY = $0DFC;
IL_IMAGE_CUBEFLAGS = $0DFD;
const
{$IFDEF OPENIL_DEBUG}
OPENILDLL = 'DevIL-d.DLL';
{$ELSE}
OPENILDLL = 'DevIL.DLL';
{$ENDIF}
IL_SEEK_SET = 0;
IL_SEEK_CUR = 1;
IL_SEEK_END = 2;
IL_EOF = -1;
// Callback functions for file reading
type
TILHandle = Pointer;
// Callback functions for file reading
TfCloseRProc = procedure(Handle: TILHandle); stdcall;
TfEofProc = function(Handle: TILHandle): TILboolean; stdcall;
TfGetcProc = function(Handle: TILHandle): TILint; stdcall;
TfOpenRProc = function(FileName: PChar): TILHandle; stdcall;
TfReadProc = function(Buffer: Pointer; Size, Count: TILint;
Handle: TILHandle): TILint; stdcall;
TfSeekRProc = function(Handle: TILHandle; Offset, Origin: TILint): TILint;
stdcall;
TfTellRProc = function(Handle: TILHandle): TILint; stdcall;
// Callback function for file writing
TfCloseWProc = procedure(Handle: TILHandle); stdcall;
TfOpenWProc = function(FileName: PChar): TILHandle; stdcall;
TfPutcProc = function(c: TILubyte; Handle: TILHandle): TILint; stdcall;
TfSeekWProc = function(Handle: TILHandle; Offset, Origin: TILint): TILint;
stdcall;
TfTellWProc = function(Handle: TILHandle): TILint; stdcall;
TfWriteProc = function(Buffer: Pointer; Size: TILuint; Count: TILuint;
Handle: TILHandle): TILint; stdcall;
// Registered format procedures
TIL_LOADPROC = function(FileName: PChar): TILboolean; stdcall;
TIL_SAVEPROC = function(FileName: PChar): TILboolean; stdcall;
// ImageLib Functions
function ilActiveImage(Number: TILuint): TILboolean; stdcall;
external OPENILDLL;
function ilActiveLayer(Number: TILuint): TILboolean; stdcall;
external OPENILDLL;
function ilActiveMipmap(Number: TILuint): TILboolean; stdcall;
external OPENILDLL;
function ilApplyPal(FileName: PChar): TILboolean; stdcall; external OPENILDLL;
function ilApplyProfile(InProfile, OutProfile: PChar): TILboolean; stdcall; external OPENILDLL;
procedure ilBindImage(Image: TILuint); stdcall; external
OPENILDLL;
function ilBlit(Src: TILuint; DestX, DestY, DestZ: TILint; SrcX, SrcY, SrcZ, Width, Height, Depth: TILuint): TILboolean; stdcall; external OPENILDLL;
procedure ilClearColour(Red, Green, Blue, Alpha: TILclampf); stdcall; external OPENILDLL;
procedure ilClearColor(Red, Green, Blue, Alpha: TILclampf); stdcall; external OPENILDLL name 'ilClearColour';
function ilClearImage: TILboolean; stdcall; external OPENILDLL;
function ilCloneCurImage: TILuint; stdcall; external OPENILDLL;
function ilCompressFunc(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
function ilConvertImage(DestFormat, DestType: TILenum): TILboolean; stdcall; external
OPENILDLL;
function ilConvertPal(DestFormat: TILenum): TILboolean; stdcall; external
OPENILDLL;
function ilCopyImage(Src: TILuint): TILboolean; stdcall; external OPENILDLL;
procedure ilCopyPixels(XOff, YOff, ZOff, Width, Height, Depth: TILuint;
Format, _Type: TILenum; Data: Pointer); stdcall; external OPENILDLL;
procedure ilCreateSubImage(SubType: TILenum; Num: TILuint); stdcall; external OPENILDLL;
procedure ilDefaultImage; stdcall; external OPENILDLL;
procedure ilDeleteImages(Num: TILsizei; const Images: PILuint); stdcall;
external OPENILDLL;
function ilDisable(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
function ilEnable(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
function ilFormatFunc(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
procedure ilGenImages(Num: TILsizei; Images: PILuint); stdcall; external
OPENILDLL;
function ilGetAlpha(_Type: TILenum): PILubyte; stdcall; external OPENILDLL;
function ilGetBoolean(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
procedure ilGetBooleanv(Mode: TILenum; Param: PILboolean); stdcall; external
OPENILDLL;
function ilGetData: PILubyte; stdcall; external OPENILDLL;
function ilGetDXTCData(Buffer: PILubyte; BufferSize: TILuint; DXTCFormat: TILenum):
TILuint; stdcall; external OPENILDLL;
function ilGetError: TILenum; stdcall; external OPENILDLL;
function ilGetInteger(Mode: TILenum): TILint; stdcall; external OPENILDLL;
procedure ilGetIntegerv(Mode: TILenum; Param: PILint); stdcall; external
OPENILDLL;
function ilGetLumpPos: TILuint; stdcall; external OPENILDLL;
function ilGetPalette: PILubyte; stdcall; external OPENILDLL;
function ilGetString(StringName: TILenum): PChar; stdcall; external OPENILDLL;
procedure ilHint(Target, Mode: TILenum); stdcall; external OPENILDLL;
procedure ilInit; stdcall; external OPENILDLL;
function ilIsDisabled(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
function ilIsEnabled(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
function ilIsImage(Image: TILuint): TILboolean; stdcall; external OPENILDLL;
function ilIsValid(_Type: TILenum; FileName: PChar): TILboolean; stdcall;
external OPENILDLL;
function ilIsValidF(_Type: TILenum; _File: TILHandle): TILboolean; stdcall;
external OPENILDLL;
function ilIsValidL(_Type: TILenum; Lump: Pointer; Size: TILuint): TILboolean;
stdcall; external OPENILDLL;
procedure ilKeyColor(Red: TILubyte; Green: TILubyte; Blue: TILubyte; PalNum: TILubyte);
stdcall; external OPENILDLL name 'ilKeyColour';
procedure ilKeyColour(Red: TILubyte; Green: TILubyte; Blue: TILubyte; PalNum: TILubyte);
stdcall; external OPENILDLL;
function ilLoad(_Type: TILenum; FileName: PChar): TILboolean; stdcall;
external OPENILDLL;
function ilLoadF(_Type: TILenum; _File: TILHandle): TILboolean; stdcall;
external OPENILDLL;
function ilLoadImage(FileName: PChar): TILboolean; stdcall; external OPENILDLL;
function ilLoadL(_Type: TILenum; Lump: Pointer; Size: TILuint): TILboolean; stdcall;
external OPENILDLL;
function ilLoadPal(FileName: PChar): TILboolean; stdcall; external OPENILDLL;
function ilOriginFunc(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
function ilOverlayImage(Src: TILuint; XCoord, YCoord, ZCoord: TILint):
TILboolean; stdcall; external OPENILDLL;
procedure ilPopAttrib; stdcall; external OPENILDLL;
procedure ilPushAttrib(Bits: TILuint); stdcall; external OPENILDLL;
procedure ilRegisterFormat(Format: TILenum); stdcall; external OPENILDLL;
function ilRegisterLoad(Ext: PChar; Load: TIL_LOADPROC): TILboolean; stdcall;
external OPENILDLL;
function ilRegisterMipNum(Num: TILuint): TILboolean; stdcall; external OPENILDLL;
function ilRegisterNumImages(Num: TILuint): TILboolean; stdcall;
external OPENILDLL;
procedure ilRegisterOrigin(Origin: TILenum); stdcall; external OPENILDLL;
procedure ilRegisterPal(Pal: Pointer; Size: TILuint; _Type: TILenum); stdcall;
external OPENILDLL;
function ilRegisterSave(Ext: PChar; Save: TIL_SAVEPROC): TILboolean; stdcall;
external OPENILDLL;
procedure ilRegisterType(_Type: TILenum); stdcall; external OPENILDLL;
function ilRemoveLoad(Ext: PChar): TILboolean; stdcall; external OPENILDLL;
function ilRemoveSave(Ext: PChar): TILboolean; stdcall; external OPENILDLL;
procedure ilResetRead; stdcall; external OPENILDLL;
procedure ilResetWrite; stdcall; external OPENILDLL;
function ilSave(_Type: TILenum; FileName: PChar): TILboolean; stdcall;
external OPENILDLL;
function ilSaveF(_Type: TILenum; _File: TILHandle): TILboolean; stdcall;
external OPENILDLL;
function ilSaveImage(FileName: PChar): TILboolean; stdcall; external OPENILDLL;
function ilSaveL(_Type: TILenum; Lump: Pointer; Size: TILuint): TILboolean;
stdcall; external OPENILDLL;
function ilSavePal(FileName: PChar): TILboolean; stdcall; external
OPENILDLL;
function ilSetData(Data: Pointer): TILboolean; stdcall; external OPENILDLL;
function ilSetDuration(Duration: TILuint): TILboolean; stdcall;
external OPENILDLL;
procedure ilSetInteger(Mode: TILenum; Param: TILint); stdcall; external OPENILDLL;
procedure ilSetPixels(XOff, YOff, ZOff, Width, Height, Depth: TILuint;
Format, _Type: TILenum; Data: Pointer); stdcall; external OPENILDLL;
procedure ilSetRead(Open: TfOpenRProc; Close: TfCloseRProc;
Eof: TfEofProc; Getc: TfGetcProc; Read: TfReadProc; Seek: TfSeekRProc;
Tell: TfTellRProc); stdcall; external OPENILDLL;
procedure ilSetString(Mode: TILenum; Param: PChar); stdcall; external OPENILDLL;
procedure ilSetWrite(Open: TfOpenWProc; Close: TfCloseWProc;
Putc: TfPutcProc; Seek: TfSeekWProc;
Tell: TfTellWProc; Write: TfWriteProc); stdcall; external OPENILDLL;
function ilTexImage(Width, Height, Depth: TILuint; Bpp: TILubyte; Format, _Type:
TILenum; Data: Pointer): TILboolean; stdcall; external OPENILDLL;
function ilTypeFunc(Mode: TILenum): TILboolean; stdcall; external OPENILDLL;
function ilLoadData(FileName: PChar; Width, Height, Depth: TILuint;
Bpp: TILubyte): TILboolean; stdcall; external OPENILDLL;
function ilLoadDataF(_File: TILHandle; Width, Height, Depth: TILuint;
Bpp: TILubyte): TILboolean; stdcall; external OPENILDLL;
function ilLoadDataL(Lump: Pointer; Size: TILuint; Width, Height, Depth: TILuint;
Bpp: TILubyte): TILboolean; stdcall; external OPENILDLL;
function ilSaveData(FileName: PChar): TILboolean; stdcall; external OPENILDLL;
implementation
end.
+176
View File
@@ -0,0 +1,176 @@
unit OpenILU;
//------------------------------------------------------------------------------
//
// ImageLib Utility Sources
// Copyright (C) 2000-2002 by Denton Woods
// Last modified: 06/23/2002 <--Y2K Compliant! =]
//
// Filename: il/ilu.h
//
// Description: The main include file for ILU
//
//------------------------------------------------------------------------------
{******************************************************************************}
{ Converted to Delphi by Alexander Blach (alexander@abee.de) }
{ Version: ILU v1.6.1 }
{ Last modified: 06/23/2002 }
{******************************************************************************}
interface
uses
OpenIL,
Windows;
const
ILU_VERSION_1_5_6 = 1;
ILU_VERSION = 156;
ILU_FILTER = $2600;
ILU_NEAREST = $2601;
ILU_LINEAR = $2602;
ILU_BILINEAR = $2603;
ILU_SCALE_BOX = $2604;
ILU_SCALE_TRIANGLE = $2605;
ILU_SCALE_BELL = $2606;
ILU_SCALE_BSPLINE = $2607;
ILU_SCALE_LANCZOS3 = $2608;
ILU_SCALE_MITCHELL = $2609;
// Error types
const
ILU_INVALID_ENUM = $0501;
ILU_OUT_OF_MEMORY = $0502;
ILU_INTERNAL_ERROR = $0504;
ILU_INVALID_VALUE = $0505;
ILU_ILLEGAL_OPERATION = $0506;
ILU_INVALID_PARAM = $0509;
// Values
const
ILU_PLACEMENT = $0700;
ILU_LOWER_LEFT = $0701;
ILU_LOWER_RIGHT = $0702;
ILU_UPPER_LEFT = $0703;
ILU_UPPER_RIGHT = $0704;
ILU_CENTER = $0705;
ILU_CONVOLUTION_MATRIX = $0710;
ILU_VERSION_NUM = $0DE2;
// Filters
const
ILU_FILTER_BLUR = $0803;
ILU_FILTER_GAUSSIAN_3x3 = $0804;
ILU_FILTER_GAUSSIAN_5x5 = $0805;
ILU_FILTER_EMBOSS1 = $0807;
ILU_FILTER_EMBOSS2 = $0808;
ILU_FILTER_LAPLACIAN1 = $080A;
ILU_FILTER_LAPLACIAN2 = $080B;
ILU_FILTER_LAPLACIAN3 = $080C;
ILU_FILTER_LAPLACIAN4 = $080D;
ILU_FILTER_SHARPEN1 = $080E;
ILU_FILTER_SHARPEN2 = $080F;
ILU_FILTER_SHARPEN3 = $0810;
type
PILinfo = ^TILinfo;
TILinfo = record
Id: TILuint; // the image's id
Data: TILuint; // the image's data
Width: TILuint; // the image's width
Height: TILuint; // the image's height
Depth: TILuint; // the image's depth
Bpp: TILubyte; // bytes per pixel (not bits) of the image
SizeOfData: TILuint; // the total size of the data (in bytes)
Format: TILenum; // image format (in IL enum style)
_Type: TILenum; // image type (in IL enum style)
Origin: TILenum; // origin of the image
Palette: PILubyte; // the image's palette
PalType: TILenum; // palette type
PalSize: TILuint; // palette size
CubeFlags: TILenum; // flags for what cube map sides are present
NumNext: TILuint; // number of images following
NumMips: TILuint; // number of mipmaps
NumLayers: TILuint; // number of layers
end;
const
{$IFDEF OPENIL_DEBUG}
ILUDLL = 'ILU-d.DLL';
{$ELSE}
ILUDLL = 'ILU.DLL';
{$ENDIF}
// ImageLib Utility Functions
function iluAlienify: TILboolean; stdcall; external ILUDLL;
function iluBitFilter1: TILboolean; stdcall; external ILUDLL;
function iluBitFilter2: TILboolean; stdcall; external ILUDLL;
function iluBitFilter3: TILboolean; stdcall; external ILUDLL;
function iluBlurAvg(Iter: TILuint): TILboolean; stdcall; external ILUDLL;
function iluBlurGaussian(Iter: TILuint): TILboolean; stdcall; external ILUDLL;
function iluBuildMipmaps: TILboolean; stdcall; external ILUDLL;
function iluColoursUsed: TILuint; stdcall; external ILUDLL;
function iluColorsUsed: TILuint; stdcall; external ILUDLL name 'iluColoursUsed';
function iluCompareImage(Comp: TILuint): TILboolean; stdcall; external ILUDLL;
function iluContrast(Contrast: TILfloat): TILboolean; stdcall; external ILUDLL;
function iluCrop(XOff, YOff, ZOff, Width, Height, Depth: TILuint): TILboolean;
stdcall; external ILUDLL;
procedure iluDeleteImage(Id: TILuint); stdcall; external ILUDLL;
function iluEdgeDetectE: TILboolean; stdcall; external ILUDLL;
function iluEdgeDetectP: TILboolean; stdcall; external ILUDLL;
function iluEdgeDetectS: TILboolean; stdcall; external ILUDLL;
function iluEmboss: TILboolean; stdcall; external ILUDLL;
function iluEnlargeCanvas(Width, Height, Depth: TILuint): TILboolean; stdcall;
external ILUDLL;
function iluEnlargeImage(XDim, YDim, ZDim: TILfloat): TILboolean; stdcall;
external ILUDLL;
function iluEqualize: TILboolean; stdcall; external ILUDLL;
function iluErrorString(Error: TILenum): PChar; stdcall; external ILUDLL;
function iluFlipImage: TILboolean; stdcall; external ILUDLL;
function iluGammaCorrect(Gamma: TILfloat): TILboolean; stdcall; external ILUDLL;
function iluGenImage: TILuint; stdcall; external ILUDLL;
procedure iluGetImageInfo(Info: PILinfo); stdcall; external ILUDLL;
function iluGetInteger(Mode: TILenum): TILint; stdcall; external ILUDLL;
procedure iluGetIntegerv(Mode: TILenum; var Param: TILint); stdcall; external ILUDLL;
function iluGetString(StringName: TILenum): PChar; stdcall; external ILUDLL;
procedure iluImageParameter(PName, Param: TILenum); stdcall; external ILUDLL;
procedure iluInit; stdcall; external ILUDLL;
function iluInvertAlpha: TILboolean; stdcall; external ILUDLL;
function iluLoadImage(FileName: PChar): TILuint; stdcall; external ILUDLL;
function iluMirror: TILboolean; stdcall; external ILUDLL;
function iluNegative: TILboolean; stdcall; external ILUDLL;
function iluNoisify(Factor: TILubyte): TILboolean; stdcall; external ILUDLL;
function iluPixelize(PixSize: TILuint): TILboolean; stdcall; external ILUDLL;
//procedure iluRegionf(ULx, ULy, BRx, BRy: TILfloat); stdcall; external ILUDLL;
//procedure iluRegioni(ULx, ULy, BRx, BRy: TILuint); stdcall; external ILUDLL;
function iluReplaceColour(Red, Green, Blue: TILubyte; Tolerance: TILfloat):
TILboolean; stdcall; external ILUDLL;
function iluReplaceColor(Red, Green, Blue: TILubyte; Tolerance: TILfloat):
TILboolean; stdcall; external ILUDLL name 'iluReplaceColour';
function iluRotate(Angle: TILfloat): TILboolean; stdcall; external ILUDLL;
function iluRotate3D(x, y, z, Angle: TILfloat): TILboolean; stdcall;
external ILUDLL;
function iluSaturate1f(Saturation: TILfloat): TILboolean; stdcall; external ILUDLL;
function iluSaturate4f(r, g, b, Saturation: TILfloat): TILboolean; stdcall;
external ILUDLL;
function iluScale(Width, Height, Depth: TILuint): TILboolean;
stdcall; external ILUDLL;
function iluScaleColours(r, g, b: TILfloat): TILboolean; stdcall; external ILUDLL;
function iluScaleColors(r, g, b: TILfloat): TILboolean; stdcall;
external ILUDLL name 'iluScaleColours';
function iluSharpen(Factor: TILfloat; Iter: TILuint): TILboolean; stdcall; external
ILUDLL;
function iluSwapColours: TILboolean; stdcall; external ILUDLL;
function iluSwapColors: TILboolean; stdcall; external ILUDLL name 'iluSwapColours';
function iluWave(Angle: TILfloat): TILboolean; stdcall; external ILUDLL;
implementation
end.
@@ -0,0 +1,167 @@
unit OpenILUT;
//------------------------------------------------------------------------------
//
// ImageLib Utility Toolkit Sources
// Copyright (C) 2000-2002 by Denton Woods
// Last modified: 06/23/2002 <--Y2K Compliant! =]
//
// Filename: il/ilut.h
//
// Description: The main include file for ILUT
//
//------------------------------------------------------------------------------
{******************************************************************************}
{ Converted to Delphi by Alexander Blach (alexander@abee.de) }
{ Version: ILUT v1.6.1 }
{ Last modified: 06/23/2002 }
{ }
{ You will need the latest OpenGL units for Delphi. I recommend those on }
{ http://www.delphi3d.net }
{******************************************************************************}
interface
// Note by ABee: I had to move this here so that I can look it up in "uses"
//{$DEFINE ILUT_USE_ALLEGRO)
{$DEFINE ILUT_USE_WIN32}
{$DEFINE ILUT_USE_OPENGL}
uses
OpenIL,
OpenILU,
{$IFDEF ILUT_USE_OPENGL}
GL,
//OpenGL12,
{$ENDIF}
Windows;
const
ILUT_VERSION_1_5_6 = 1;
ILUT_VERSION = 156;
const
// Attribute Bits
ILUT_OPENGL_BIT = $00000001;
ILUT_D3D_BIT = $00000002;
ILUT_ALL_ATTRIB_BITS = $000FFFFF;
// Error Types
ILUT_INVALID_ENUM = $0501;
ILUT_OUT_OF_MEMORY = $0502;
ILUT_INVALID_VALUE = $0505;
ILUT_ILLEGAL_OPERATION = $0506;
ILUT_INVALID_PARAM = $0509;
ILUT_COULD_NOT_OPEN_FILE = $050A;
ILUT_STACK_OVERFLOW = $050E;
ILUT_STACK_UNDERFLOW = $050F;
ILUT_NOT_SUPPORTED = $0550;
// State Definitions
ILUT_PALETTE_MODE = $0600;
ILUT_OPENGL_CONV = $0610;
ILUT_D3D_MIPLEVELS = $0620;
ILUT_MAXTEX_WIDTH = $0630;
ILUT_MAXTEX_HEIGHT = $0631;
ILUT_MAXTEX_DEPTH = $0632;
ILUT_GL_USE_S3TC = $0634;
ILUT_D3D_USE_DXTC = $0634;
ILUT_GL_GEN_S3TC = $0635;
ILUT_D3D_GEN_DXTC = $0635;
ILUT_S3TC_FORMAT = $0705;
ILUT_DXTC_FORMAT = $0706;
// Values
ILUT_VERSION_NUM = $0DE2;
const
{$IFDEF OPENIL_DEBUG}
ILUTDLL = 'ILUT-d.DLL';
{$ELSE}
ILUTDLL = 'ILUT.DLL';
{$ENDIF}
// ImageLib Utility Toolkit Functions
function ilutDisable(Mode: TILenum): TILboolean; stdcall; external ILUTDLL;
function ilutEnable(Mode: TILenum): TILboolean; stdcall; external ILUTDLL;
function ilutGetBoolean(Mode: TILenum): TILboolean; stdcall; external
ILUTDLL;
procedure ilutGetBooleanv(Mode: TILenum; Param: PILboolean); stdcall; external
ILUTDLL;
function ilutGetInteger(Mode: TILenum): TILint; stdcall; external
ILUTDLL;
procedure ilutGetIntegerv(Mode: TILenum; Param: PILint); stdcall; external
ILUTDLL;
function ilutGetString(StringName: TILenum): PChar; stdcall; external ILUTDLL;
procedure ilutInit; stdcall; external ILUTDLL;
function ilutIsDisabled(Mode: TILenum): TILboolean; stdcall; external ILUTDLL;
function ilutIsEnabled(Mode: TILenum): TILboolean; stdcall; external ILUTDLL;
procedure ilutPopAttrib; stdcall; external ILUTDLL;
procedure ilutPushAttrib(Bits: TILuint); stdcall; external ILUTDLL;
procedure ilutSetInteger(Mode: TILenum; Param: TILint); stdcall; external ILUTDLL;
// The different rendering api's...more to be added later?
const
IL_OPENGL = 0;
IL_ALLEGRO = 1;
IL_WIN32 = 2;
function ilutRenderer(Renderer: TILenum): TILboolean; stdcall; external ILUTDLL;
// ImageLib Utility Toolkit's OpenGL Functions
{$IFDEF ILUT_USE_OPENGL}
function ilutGLBindTexImage: GLuint; stdcall; external ILUTDLL;
function ilutGLBindMipmaps: GLuint; stdcall; external ILUTDLL;
function ilutGLBuildMipmaps: TILboolean; stdcall; external ILUTDLL;
function ilutGLLoadImage(FileName: PChar): GLuint; stdcall; external ILUTDLL;
function ilutGLScreen: TILboolean; stdcall; external ILUTDLL;
function ilutGLScreenie: TILboolean; stdcall; external ILUTDLL;
function ilutGLSaveImage(FileName: PChar; TexID: GLuint): TILboolean;
stdcall; external ILUTDLL;
function ilutGLSetTex(TexID: GLuint): TILboolean; stdcall; external ILUTDLL;
function ilutGLTexImage(Level: GLuint): TILboolean; stdcall; external ILUTDLL;
{$ENDIF}
// note by ABee: no Allegro in Delphi
// ImageLib Utility ToolKit's Allegro Functions
{$IFDEF ILUT_USE_ALLEGRO}
//function ilutConvertToAlleg(var Pal: PALETTE): PBitmap; stdcall; external
//ILUTDLL;
{$ENDIF}
// ImageLib Utility Toolkit's Win32 (DirectX/GDI) Functions
{$IFDEF ILUT_USE_WIN32}
function ilutConvertToHBitmap(DC: HDC): HBITMAP; stdcall; external ILUTDLL;
procedure ilutGetBmpInfo(Info: PBitmapInfo); stdcall; external ILUTDLL;
function ilutGetHPal: HPalette; stdcall; external ILUTDLL;
function ilutGetPaddedData: PILubyte; stdcall; external ILUTDLL;
function ilutGetWinClipboard: TILboolean; stdcall; external ILUTDLL;
function ilutLoadResource(hInst: LongWord; ID: TILint; ResourceType: PChar;
_Type: TILenum): TILboolean; stdcall; external ILUTDLL;
function ilutSetHBitmap(Bitmap: HBITMAP): TILboolean; stdcall; external ILUTDLL;
function ilutSetHPal(Pal: HPALETTE): TILboolean; stdcall; external ILUTDLL;
function ilutSetWinClipboard: TILboolean; stdcall; external ILUTDLL;
function ilutWinLoadImage(FileName: PChar; DC: HDC): HBITMAP; stdcall;
external ILUTDLL;
function ilutWinLoadUrl(Url: PChar): TILboolean; stdcall; external ILUTDLL;
function ilutWinSaveImage(FileName: PChar; Bitmap: HBITMAP): TILboolean;
stdcall; external ILUTDLL;
{
//#ifdef ILUT_USE_DIRECTX7
// LPDIRECTDRAWSURFACE7 ILAPIENTRY ilutDX7Surface(char *FileName, LPDIRECTDRAW7 DDraw);
//#endif//ILUT_USE_DIRECTX7
}
{$ENDIF}
implementation
end.
@@ -0,0 +1,3 @@
To debug Delphi apps with DevIL, you must define OPENIL_DEBUG and rebuild your project. Do not define OPENIL_DEBUG for release builds. Sorry for the inconvenience.
- Denton Woods and Alexander Blach