mirror of
https://github.com/love2d/megasource.git
synced 2026-08-17 11:11:35 +02:00
Add DevIL 1.7.8.
This commit is contained in:
@@ -0,0 +1,399 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
//
|
||||
// ImageLib Sources
|
||||
// Copyright (C) 2000-2008 by Denton Woods
|
||||
// Last modified: 11/07/2008
|
||||
//
|
||||
// Filename: src-IL/src/il_states.h
|
||||
//
|
||||
// Description: State machine
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
#ifndef STATES_H
|
||||
#define STATES_H
|
||||
|
||||
#include "il_internal.h"
|
||||
|
||||
|
||||
ILboolean ilAble(ILenum Mode, ILboolean Flag);
|
||||
|
||||
|
||||
#define IL_ATTRIB_STACK_MAX 32
|
||||
|
||||
ILuint ilCurrentPos = 0; // Which position on the stack
|
||||
|
||||
//
|
||||
// Various states
|
||||
//
|
||||
|
||||
typedef struct IL_STATES
|
||||
{
|
||||
// Origin states
|
||||
ILboolean ilOriginSet;
|
||||
ILenum ilOriginMode;
|
||||
// Format and type states
|
||||
ILboolean ilFormatSet;
|
||||
ILboolean ilTypeSet;
|
||||
ILenum ilFormatMode;
|
||||
ILenum ilTypeMode;
|
||||
// File mode states
|
||||
ILboolean ilOverWriteFiles;
|
||||
// Palette states
|
||||
ILboolean ilAutoConvPal;
|
||||
// Load fail states
|
||||
ILboolean ilDefaultOnFail;
|
||||
// Key colour states
|
||||
ILboolean ilUseKeyColour;
|
||||
// Alpha blend states
|
||||
ILboolean ilBlitBlend;
|
||||
// Compression states
|
||||
ILenum ilCompression;
|
||||
// Interlace states
|
||||
ILenum ilInterlace;
|
||||
// Quantization states
|
||||
ILenum ilQuantMode;
|
||||
ILuint ilNeuSample;
|
||||
ILuint ilQuantMaxIndexs;
|
||||
// DXTC states
|
||||
ILboolean ilKeepDxtcData;
|
||||
ILboolean ilUseNVidiaDXT;
|
||||
ILboolean ilUseSquishDXT;
|
||||
|
||||
|
||||
//
|
||||
// Format-specific states
|
||||
//
|
||||
|
||||
ILboolean ilTgaCreateStamp;
|
||||
ILuint ilJpgQuality;
|
||||
ILboolean ilPngInterlace;
|
||||
ILboolean ilTgaRle;
|
||||
ILboolean ilBmpRle;
|
||||
ILboolean ilSgiRle;
|
||||
ILenum ilJpgFormat;
|
||||
ILboolean ilJpgProgressive;
|
||||
ILenum ilDxtcFormat;
|
||||
ILenum ilPcdPicNum;
|
||||
|
||||
ILint ilPngAlphaIndex; // this index should be treated as an alpha key (most formats use this rather than having alpha in the palette), -1 for none
|
||||
// currently only used when writing out .png files and should obviously be set to -1 most of the time
|
||||
ILenum ilVtfCompression;
|
||||
|
||||
|
||||
//
|
||||
// Format-specific strings
|
||||
//
|
||||
|
||||
char* ilTgaId;
|
||||
char* ilTgaAuthName;
|
||||
char* ilTgaAuthComment;
|
||||
char* ilPngAuthName;
|
||||
char* ilPngTitle;
|
||||
char* ilPngDescription;
|
||||
char* ilTifDescription;
|
||||
char* ilTifHostComputer;
|
||||
char* ilTifDocumentName;
|
||||
char* ilTifAuthName;
|
||||
char* ilCHeader;
|
||||
|
||||
|
||||
|
||||
|
||||
} IL_STATES;
|
||||
|
||||
IL_STATES ilStates[IL_ATTRIB_STACK_MAX];
|
||||
|
||||
|
||||
typedef struct IL_HINTS
|
||||
{
|
||||
// Memory vs. Speed trade-off
|
||||
ILenum MemVsSpeedHint;
|
||||
// Compression hints
|
||||
ILenum CompressHint;
|
||||
|
||||
} IL_HINTS;
|
||||
|
||||
IL_HINTS ilHints;
|
||||
|
||||
|
||||
#ifndef IL_NO_BLP
|
||||
#define IL_BLP_EXT "blp "
|
||||
#else
|
||||
#define IL_BLP_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_BMP
|
||||
#define IL_BMP_EXT "bmp dib "
|
||||
#else
|
||||
#define IL_BMP_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_CHEAD
|
||||
#define IL_CHEAD_EXT "h "
|
||||
#else
|
||||
#define IL_CHEAD_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_CUT
|
||||
#define IL_CUT_EXT "cut "
|
||||
#else
|
||||
#define IL_CUT_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_DCX
|
||||
#define IL_DCX_EXT "dcx "
|
||||
#else
|
||||
#define IL_DCX_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_DCM
|
||||
#define IL_DCM_EXT "dicom dcm"
|
||||
#else
|
||||
#define IL_DCM_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_DDS
|
||||
#define IL_DDS_EXT "dds "
|
||||
#else
|
||||
#define IL_DDS_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_DPX
|
||||
#define IL_DPX_EXT "dds "
|
||||
#else
|
||||
#define IL_DPX_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_EXR
|
||||
#define IL_EXR_EXT "exr "
|
||||
#else
|
||||
#define IL_EXR_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_FITS
|
||||
#define IL_FITS_EXT "fit fits "
|
||||
#else
|
||||
#define IL_FITS_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_FTX
|
||||
#define IL_FTX_EXT "ftx "
|
||||
#else
|
||||
#define IL_FTX_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_GIF
|
||||
#define IL_GIF_EXT "gif "
|
||||
#else
|
||||
#define IL_GIF_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_HDR
|
||||
#define IL_HDR_EXT "hdr "
|
||||
#else
|
||||
#define IL_HDR_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_ICNS
|
||||
#define IL_ICNS_EXT "icns "
|
||||
#else
|
||||
#define IL_ICNS_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_ICO
|
||||
#define IL_ICO_EXT "ico cur "
|
||||
#else
|
||||
#define IL_ICO_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_IFF
|
||||
#define IL_IFF_EXT "iff "
|
||||
#else
|
||||
#define IL_IFF_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_IWI
|
||||
#define IL_IWI_EXT "iwi "
|
||||
#else
|
||||
#define IL_IWI_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_JP2
|
||||
#define IL_JP2_EXT "jp2 "
|
||||
#else
|
||||
#define IL_JP2_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_JPG
|
||||
#define IL_JPG_EXT "jpg jpe jpeg "
|
||||
#else
|
||||
#define IL_JPG_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_LIF
|
||||
#define IL_LIF_EXT "lif "
|
||||
#else
|
||||
#define IL_LIF_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_MDL
|
||||
#define IL_MDL_EXT "mdl "
|
||||
#else
|
||||
#define IL_MDL_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_MNG
|
||||
#define IL_MNG_EXT "mng jng "
|
||||
#else
|
||||
#define IL_MNG_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_MP3
|
||||
#define IL_MP3_EXT "mp3 "
|
||||
#else
|
||||
#define IL_MP3_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_PCD
|
||||
#define IL_PCD_EXT "pcd "
|
||||
#else
|
||||
#define IL_PCD_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_PCX
|
||||
#define IL_PCX_EXT "pcx "
|
||||
#else
|
||||
#define IL_PCX_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_PIC
|
||||
#define IL_PIC_EXT "pic "
|
||||
#else
|
||||
#define IL_PIC_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_PIX
|
||||
#define IL_PIX_EXT "pix "
|
||||
#else
|
||||
#define IL_PIX_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_PNG
|
||||
#define IL_PNG_EXT "png "
|
||||
#else
|
||||
#define IL_PNG_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_PNM
|
||||
#define IL_PNM_EXT "pbm pgm pnm ppm "
|
||||
#else
|
||||
#define IL_PNM_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_PSD
|
||||
#define IL_PSD_EXT "psd pdd "
|
||||
#else
|
||||
#define IL_PSD_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_PSP
|
||||
#define IL_PSP_EXT "psp "
|
||||
#else
|
||||
#define IL_PSP_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_PXR
|
||||
#define IL_PXR_EXT "pxr "
|
||||
#else
|
||||
#define IL_PXR_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_RAW
|
||||
#define IL_RAW_EXT "raw "
|
||||
#else
|
||||
#define IL_RAW_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_ROT
|
||||
#define IL_ROT_EXT "rot "
|
||||
#else
|
||||
#define IL_ROT_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_SGI
|
||||
#define IL_SGI_EXT "sgi bw rgb rgba "
|
||||
#else
|
||||
#define IL_SGI_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_SUN
|
||||
#define IL_SUN_EXT "sun ras rs im1 im8 im24 im32 "
|
||||
#else
|
||||
#define IL_SUN_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_TEXTURE
|
||||
#define IL_TEX_EXT "texture "
|
||||
#else
|
||||
#define IL_TEX_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_TGA
|
||||
#define IL_TGA_EXT "tga vda icb vst "
|
||||
#else
|
||||
#define IL_TGA_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_TIF
|
||||
#define IL_TIF_EXT "tif tiff "
|
||||
#else
|
||||
#define IL_TIF_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_TPL
|
||||
#define IL_TPL_EXT "tpl "
|
||||
#else
|
||||
#define IL_TPL_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_UTX
|
||||
#define IL_UTX_EXT "utx "
|
||||
#else
|
||||
#define IL_UTX_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_VTF
|
||||
#define IL_VTF_EXT "vtf "
|
||||
#else
|
||||
#define IL_VTF_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_WAL
|
||||
#define IL_WAL_EXT "wal "
|
||||
#else
|
||||
#define IL_WAL_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_WBMP
|
||||
#define IL_WBMP_EXT "wbmp "
|
||||
#else
|
||||
#define IL_WBMP_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_WDP
|
||||
#define IL_WDP_EXT "wdp "
|
||||
#else
|
||||
#define IL_WDP_EXT ""
|
||||
#endif
|
||||
|
||||
#ifndef IL_NO_XPM
|
||||
#define IL_XPM_EXT "xpm "
|
||||
#else
|
||||
#define IL_XPM_EXT ""
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif//STATES_H
|
||||
Reference in New Issue
Block a user