207 lines
3.9 KiB
C
207 lines
3.9 KiB
C
#if !defined(__ximadefs_h)
|
|
#define __ximadefs_h
|
|
|
|
#include "ximacfg.h"
|
|
|
|
#if defined(_AFXDLL)||defined(_USRDLL)
|
|
#define DLL_EXP __declspec(dllexport)
|
|
#elif defined(_MSC_VER)&&(_MSC_VER<1200)
|
|
#define DLL_EXP __declspec(dllimport)
|
|
#else
|
|
#define DLL_EXP
|
|
#endif
|
|
|
|
|
|
#if CXIMAGE_SUPPORT_EXCEPTION_HANDLING
|
|
#define cx_try try
|
|
#define cx_throw(message) throw(message)
|
|
#define cx_catch catch (const char *message)
|
|
#else
|
|
#define cx_try bool cx_error=false;
|
|
#define cx_throw(message) {cx_error=true; if(strcmp(message,"")) strncpy(info.szLastError,message,255); goto cx_error_catch;}
|
|
#define cx_catch cx_error_catch: char message[]=""; if(cx_error)
|
|
#endif
|
|
|
|
|
|
#if CXIMAGE_SUPPORT_JP2 || CXIMAGE_SUPPORT_JPC || CXIMAGE_SUPPORT_PGX || CXIMAGE_SUPPORT_PNM || CXIMAGE_SUPPORT_RAS
|
|
#define CXIMAGE_SUPPORT_JASPER 1
|
|
#else
|
|
#define CXIMAGE_SUPPORT_JASPER 0
|
|
#endif
|
|
|
|
#if CXIMAGE_SUPPORT_DSP
|
|
#undef CXIMAGE_SUPPORT_TRANSFORMATION
|
|
#define CXIMAGE_SUPPORT_TRANSFORMATION 1
|
|
#endif
|
|
|
|
#if CXIMAGE_SUPPORT_TRANSFORMATION || CXIMAGE_SUPPORT_TIF || CXIMAGE_SUPPORT_TGA || CXIMAGE_SUPPORT_BMP || CXIMAGE_SUPPORT_WINDOWS
|
|
#define CXIMAGE_SUPPORT_BASICTRANSFORMATIONS 1
|
|
#endif
|
|
|
|
#if CXIMAGE_SUPPORT_DSP || CXIMAGE_SUPPORT_TRANSFORMATION
|
|
#undef CXIMAGE_SUPPORT_INTERPOLATION
|
|
#define CXIMAGE_SUPPORT_INTERPOLATION 1
|
|
#endif
|
|
|
|
#if defined (_WIN32_WCE)
|
|
#undef CXIMAGE_SUPPORT_WMF
|
|
#define CXIMAGE_SUPPORT_WMF 0
|
|
#endif
|
|
|
|
#if !defined(WIN32) && !defined(_WIN32_WCE)
|
|
#undef CXIMAGE_SUPPORT_WINDOWS
|
|
#define CXIMAGE_SUPPORT_WINDOWS 0
|
|
#endif
|
|
|
|
#ifndef min
|
|
#define min(a,b) (((a)<(b))?(a):(b))
|
|
#endif
|
|
#ifndef max
|
|
#define max(a,b) (((a)>(b))?(a):(b))
|
|
#endif
|
|
|
|
#ifndef PI
|
|
#define PI 3.141592653589793f
|
|
#endif
|
|
|
|
|
|
#if defined(WIN32) || defined(_WIN32_WCE)
|
|
#include <windows.h>
|
|
#include <tchar.h>
|
|
#endif
|
|
|
|
#include <stdio.h>
|
|
#include <math.h>
|
|
|
|
#ifdef __BORLANDC__
|
|
|
|
#ifndef _COMPLEX_DEFINED
|
|
|
|
typedef struct tagcomplex {
|
|
double x,y;
|
|
} _complex;
|
|
|
|
#endif
|
|
|
|
#define _cabs(c) sqrt(c.x*c.x+c.y*c.y)
|
|
|
|
#endif
|
|
|
|
|
|
#if !defined(WIN32) && !defined(_WIN32_WCE)
|
|
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <ctype.h>
|
|
|
|
typedef unsigned char BYTE;
|
|
typedef unsigned short WORD;
|
|
typedef unsigned long DWORD;
|
|
typedef unsigned int UINT;
|
|
|
|
typedef DWORD COLORREF;
|
|
typedef unsigned int HANDLE;
|
|
typedef void* HRGN;
|
|
|
|
#ifndef BOOL
|
|
#define BOOL bool
|
|
#endif
|
|
|
|
#ifndef TRUE
|
|
#define TRUE true
|
|
#endif
|
|
|
|
#ifndef FALSE
|
|
#define FALSE false
|
|
#endif
|
|
|
|
#ifndef TCHAR
|
|
#define TCHAR char
|
|
#define _T
|
|
#endif
|
|
|
|
typedef struct tagRECT
|
|
{
|
|
long left;
|
|
long top;
|
|
long right;
|
|
long bottom;
|
|
} RECT;
|
|
|
|
typedef struct tagPOINT
|
|
{
|
|
long x;
|
|
long y;
|
|
} POINT;
|
|
|
|
typedef struct tagRGBQUAD {
|
|
BYTE rgbBlue;
|
|
BYTE rgbGreen;
|
|
BYTE rgbRed;
|
|
BYTE rgbReserved;
|
|
} RGBQUAD;
|
|
|
|
#pragma pack(1)
|
|
|
|
typedef struct tagBITMAPINFOHEADER{
|
|
DWORD biSize;
|
|
long biWidth;
|
|
long biHeight;
|
|
WORD biPlanes;
|
|
WORD biBitCount;
|
|
DWORD biCompression;
|
|
DWORD biSizeImage;
|
|
long biXPelsPerMeter;
|
|
long biYPelsPerMeter;
|
|
DWORD biClrUsed;
|
|
DWORD biClrImportant;
|
|
} BITMAPINFOHEADER;
|
|
|
|
typedef struct tagBITMAPFILEHEADER {
|
|
WORD bfType;
|
|
DWORD bfSize;
|
|
WORD bfReserved1;
|
|
WORD bfReserved2;
|
|
DWORD bfOffBits;
|
|
} BITMAPFILEHEADER;
|
|
|
|
typedef struct tagBITMAPCOREHEADER {
|
|
DWORD bcSize;
|
|
WORD bcWidth;
|
|
WORD bcHeight;
|
|
WORD bcPlanes;
|
|
WORD bcBitCount;
|
|
} BITMAPCOREHEADER;
|
|
|
|
typedef struct tagRGBTRIPLE {
|
|
BYTE rgbtBlue;
|
|
BYTE rgbtGreen;
|
|
BYTE rgbtRed;
|
|
} RGBTRIPLE;
|
|
|
|
#pragma pack()
|
|
|
|
#define BI_RGB 0L
|
|
#define BI_RLE8 1L
|
|
#define BI_RLE4 2L
|
|
#define BI_BITFIELDS 3L
|
|
|
|
#define GetRValue(rgb) ((BYTE)(rgb))
|
|
#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
|
|
#define GetBValue(rgb) ((BYTE)((rgb)>>16))
|
|
#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))
|
|
|
|
#ifndef _COMPLEX_DEFINED
|
|
|
|
typedef struct tagcomplex {
|
|
double x,y;
|
|
} _complex;
|
|
|
|
#endif
|
|
|
|
#define _cabs(c) sqrt(c.x*c.x+c.y*c.y)
|
|
|
|
#endif
|
|
|
|
#endif //__ximadefs
|