199 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			199 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
//-----------------------------------------------------------------------------
 | 
						|
//
 | 
						|
// ImageLib Utility Sources
 | 
						|
// Copyright (C) 2000-2017 by Denton Woods
 | 
						|
// Last modified: 03/07/2009
 | 
						|
//
 | 
						|
// Filename: IL/ilu.h
 | 
						|
//
 | 
						|
// Description: The main include file for ILU
 | 
						|
//
 | 
						|
//-----------------------------------------------------------------------------
 | 
						|
 | 
						|
// Doxygen comment
 | 
						|
/*! \file ilu.h
 | 
						|
    The main include file for ILU
 | 
						|
*/
 | 
						|
 | 
						|
#ifndef __ilu_h_
 | 
						|
#ifndef __ILU_H__
 | 
						|
 | 
						|
#define __ilu_h_
 | 
						|
#define __ILU_H__
 | 
						|
 | 
						|
#include <IL/il.h>
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
#ifdef _WIN32
 | 
						|
	#if (defined(IL_USE_PRAGMA_LIBS)) && (!defined(_IL_BUILD_LIBRARY))
 | 
						|
		#if defined(_MSC_VER) || defined(__BORLANDC__)
 | 
						|
			#pragma comment(lib, "ILU.lib")
 | 
						|
		#endif
 | 
						|
	#endif
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
#define ILU_VERSION_1_8_0 1
 | 
						|
#define ILU_VERSION       180
 | 
						|
 | 
						|
 | 
						|
#define ILU_FILTER         0x2600
 | 
						|
#define ILU_NEAREST        0x2601
 | 
						|
#define ILU_LINEAR         0x2602
 | 
						|
#define ILU_BILINEAR       0x2603
 | 
						|
#define ILU_SCALE_BOX      0x2604
 | 
						|
#define ILU_SCALE_TRIANGLE 0x2605
 | 
						|
#define ILU_SCALE_BELL     0x2606
 | 
						|
#define ILU_SCALE_BSPLINE  0x2607
 | 
						|
#define ILU_SCALE_LANCZOS3 0x2608
 | 
						|
#define ILU_SCALE_MITCHELL 0x2609
 | 
						|
 | 
						|
 | 
						|
// Error types
 | 
						|
#define ILU_INVALID_ENUM      0x0501
 | 
						|
#define ILU_OUT_OF_MEMORY     0x0502
 | 
						|
#define ILU_INTERNAL_ERROR    0x0504
 | 
						|
#define ILU_INVALID_VALUE     0x0505
 | 
						|
#define ILU_ILLEGAL_OPERATION 0x0506
 | 
						|
#define ILU_INVALID_PARAM     0x0509
 | 
						|
 | 
						|
 | 
						|
// Values
 | 
						|
#define ILU_PLACEMENT          0x0700
 | 
						|
#define ILU_LOWER_LEFT         0x0701
 | 
						|
#define ILU_LOWER_RIGHT        0x0702
 | 
						|
#define ILU_UPPER_LEFT         0x0703
 | 
						|
#define ILU_UPPER_RIGHT        0x0704
 | 
						|
#define ILU_CENTER             0x0705
 | 
						|
#define ILU_CONVOLUTION_MATRIX 0x0710
 | 
						|
  
 | 
						|
#define ILU_VERSION_NUM IL_VERSION_NUM
 | 
						|
#define ILU_VENDOR      IL_VENDOR
 | 
						|
 | 
						|
 | 
						|
// Languages
 | 
						|
#define ILU_ENGLISH            0x0800
 | 
						|
#define ILU_ARABIC             0x0801
 | 
						|
#define ILU_DUTCH              0x0802
 | 
						|
#define ILU_JAPANESE           0x0803
 | 
						|
#define ILU_SPANISH            0x0804
 | 
						|
#define ILU_GERMAN             0x0805
 | 
						|
#define ILU_FRENCH             0x0806
 | 
						|
#define ILU_ITALIAN            0x0807
 | 
						|
 | 
						|
 | 
						|
// Filters
 | 
						|
/*
 | 
						|
#define ILU_FILTER_BLUR         0x0803
 | 
						|
#define ILU_FILTER_GAUSSIAN_3x3 0x0804
 | 
						|
#define ILU_FILTER_GAUSSIAN_5X5 0x0805
 | 
						|
#define ILU_FILTER_EMBOSS1      0x0807
 | 
						|
#define ILU_FILTER_EMBOSS2      0x0808
 | 
						|
#define ILU_FILTER_LAPLACIAN1   0x080A
 | 
						|
#define ILU_FILTER_LAPLACIAN2   0x080B
 | 
						|
#define ILU_FILTER_LAPLACIAN3   0x080C
 | 
						|
#define ILU_FILTER_LAPLACIAN4   0x080D
 | 
						|
#define ILU_FILTER_SHARPEN1     0x080E
 | 
						|
#define ILU_FILTER_SHARPEN2     0x080F
 | 
						|
#define ILU_FILTER_SHARPEN3     0x0810
 | 
						|
*/
 | 
						|
 | 
						|
 | 
						|
typedef struct ILinfo
 | 
						|
{
 | 
						|
	ILuint  Id;         // the image's id
 | 
						|
	ILubyte *Data;      // the image's data
 | 
						|
	ILuint  Width;      // the image's width
 | 
						|
	ILuint  Height;     // the image's height
 | 
						|
	ILuint  Depth;      // the image's depth
 | 
						|
	ILubyte Bpp;        // bytes per pixel (not bits) of the image
 | 
						|
	ILuint  SizeOfData; // the total size of the data (in bytes)
 | 
						|
	ILenum  Format;     // image format (in IL enum style)
 | 
						|
	ILenum  Type;       // image type (in IL enum style)
 | 
						|
	ILenum  Origin;     // origin of the image
 | 
						|
	ILubyte *Palette;   // the image's palette
 | 
						|
	ILenum  PalType;    // palette type
 | 
						|
	ILuint  PalSize;    // palette size
 | 
						|
	ILenum  CubeFlags;  // flags for what cube map sides are present
 | 
						|
	ILuint  NumNext;    // number of images following
 | 
						|
	ILuint  NumMips;    // number of mipmaps
 | 
						|
	ILuint  NumLayers;  // number of layers
 | 
						|
} ILinfo;
 | 
						|
 | 
						|
 | 
						|
typedef struct ILpointf {
 | 
						|
	ILfloat x;
 | 
						|
	ILfloat y;
 | 
						|
} ILpointf;
 | 
						|
 | 
						|
typedef struct ILpointi {
 | 
						|
	ILint x;
 | 
						|
	ILint y;
 | 
						|
} ILpointi;
 | 
						|
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluAlienify(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluBlurAvg(ILuint Iter);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluBlurGaussian(ILuint Iter);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluBuildMipmaps(void);
 | 
						|
ILAPI ILuint         ILAPIENTRY iluColoursUsed(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluCompareImage(ILuint Comp);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluContrast(ILfloat Contrast);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluCrop(ILuint XOff, ILuint YOff, ILuint ZOff, ILuint Width, ILuint Height, ILuint Depth);
 | 
						|
ILAPI void           ILAPIENTRY iluDeleteImage(ILuint Id); // Deprecated
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluEdgeDetectE(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluEdgeDetectP(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluEdgeDetectS(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluEmboss(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluEnlargeCanvas(ILuint Width, ILuint Height, ILuint Depth);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluEnlargeImage(ILfloat XDim, ILfloat YDim, ILfloat ZDim);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluEqualize(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluEqualize2(void);
 | 
						|
ILAPI ILconst_string 		 ILAPIENTRY iluErrorString(ILenum Error);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluConvolution(ILint *matrix, ILint scale, ILint bias);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluFlipImage(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluGammaCorrect(ILfloat Gamma);
 | 
						|
ILAPI ILuint         ILAPIENTRY iluGenImage(void); // Deprecated
 | 
						|
ILAPI void           ILAPIENTRY iluGetImageInfo(ILinfo *Info);
 | 
						|
ILAPI ILint          ILAPIENTRY iluGetInteger(ILenum Mode);
 | 
						|
ILAPI void           ILAPIENTRY iluGetIntegerv(ILenum Mode, ILint *Param);
 | 
						|
ILAPI ILstring 		 ILAPIENTRY iluGetString(ILenum StringName);
 | 
						|
ILAPI void           ILAPIENTRY iluImageParameter(ILenum PName, ILenum Param);
 | 
						|
ILAPI void           ILAPIENTRY iluInit(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluInvertAlpha(void);
 | 
						|
ILAPI ILuint         ILAPIENTRY iluLoadImage(ILconst_string FileName);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluMirror(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluNegative(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluNoisify(ILclampf Tolerance);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluPixelize(ILuint PixSize);
 | 
						|
ILAPI void           ILAPIENTRY iluRegionfv(ILpointf *Points, ILuint n);
 | 
						|
ILAPI void           ILAPIENTRY iluRegioniv(ILpointi *Points, ILuint n);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluReplaceColour(ILubyte Red, ILubyte Green, ILubyte Blue, ILfloat Tolerance);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluRotate(ILfloat Angle);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluRotate3D(ILfloat x, ILfloat y, ILfloat z, ILfloat Angle);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluSaturate1f(ILfloat Saturation);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluSaturate4f(ILfloat r, ILfloat g, ILfloat b, ILfloat Saturation);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluScale(ILuint Width, ILuint Height, ILuint Depth);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluScaleAlpha(ILfloat scale);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluScaleColours(ILfloat r, ILfloat g, ILfloat b);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluSepia(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluSetLanguage(ILenum Language);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluSharpen(ILfloat Factor, ILuint Iter);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluSwapColours(void);
 | 
						|
ILAPI ILboolean      ILAPIENTRY iluWave(ILfloat Angle);
 | 
						|
 | 
						|
#define iluColorsUsed   iluColoursUsed
 | 
						|
#define iluSwapColors   iluSwapColours
 | 
						|
#define iluReplaceColor iluReplaceColour
 | 
						|
#define iluScaleColor   iluScaleColour
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif // __ILU_H__
 | 
						|
#endif // __ilu_h_
 |