ximadef.h
上传用户:pass2008
上传日期:2021-07-05
资源大小:3299k
文件大小:4k
源码类别:

Internet/IE编程

开发平台:

Visual C++

  1. #if !defined(__ximadefs_h)
  2. #define __ximadefs_h
  3. #include "ximacfg.h"
  4. #if defined(_AFXDLL)||defined(_USRDLL)
  5.  #define DLL_EXP __declspec(dllexport)
  6. #elif defined(_MSC_VER)&&(_MSC_VER<1200)
  7.  #define DLL_EXP __declspec(dllimport)
  8. #else
  9.  #define DLL_EXP
  10. #endif
  11. #if CXIMAGE_SUPPORT_EXCEPTION_HANDLING
  12.   #define cx_try try
  13.   #define cx_throw(message) throw(message)
  14.   #define cx_catch catch (const char *message)
  15. #else
  16.   #define cx_try bool cx_error=false;
  17.   #define cx_throw(message) {cx_error=true; if(strcmp(message,"")) strncpy(info.szLastError,message,255); goto cx_error_catch;}
  18.   #define cx_catch cx_error_catch: char message[]=""; if(cx_error)
  19. #endif
  20. #if CXIMAGE_SUPPORT_JP2 || CXIMAGE_SUPPORT_JPC || CXIMAGE_SUPPORT_PGX || CXIMAGE_SUPPORT_PNM || CXIMAGE_SUPPORT_RAS
  21.  #define CXIMAGE_SUPPORT_JASPER 1
  22. #else
  23.  #define CXIMAGE_SUPPORT_JASPER 0
  24. #endif
  25. #if CXIMAGE_SUPPORT_DSP
  26. #undef CXIMAGE_SUPPORT_TRANSFORMATION
  27.  #define CXIMAGE_SUPPORT_TRANSFORMATION 1
  28. #endif
  29. #if CXIMAGE_SUPPORT_TRANSFORMATION || CXIMAGE_SUPPORT_TIF || CXIMAGE_SUPPORT_TGA || CXIMAGE_SUPPORT_BMP || CXIMAGE_SUPPORT_WINDOWS
  30.  #define CXIMAGE_SUPPORT_BASICTRANSFORMATIONS 1
  31. #endif
  32. #if CXIMAGE_SUPPORT_DSP || CXIMAGE_SUPPORT_TRANSFORMATION
  33. #undef CXIMAGE_SUPPORT_INTERPOLATION
  34.  #define CXIMAGE_SUPPORT_INTERPOLATION 1
  35. #endif
  36. #if defined (_WIN32_WCE)
  37.  #undef CXIMAGE_SUPPORT_WMF
  38.  #define CXIMAGE_SUPPORT_WMF 0
  39. #endif
  40. #if !defined(WIN32) && !defined(_WIN32_WCE)
  41.  #undef CXIMAGE_SUPPORT_WINDOWS
  42.  #define CXIMAGE_SUPPORT_WINDOWS 0
  43. #endif
  44. #ifndef min
  45. #define min(a,b) (((a)<(b))?(a):(b))
  46. #endif
  47. #ifndef max
  48. #define max(a,b) (((a)>(b))?(a):(b))
  49. #endif
  50. #ifndef PI
  51.  #define PI 3.141592653589793f
  52. #endif
  53. #if defined(WIN32) || defined(_WIN32_WCE)
  54. #include <windows.h>
  55. #include <tchar.h>
  56. #endif
  57. #include <stdio.h>
  58. #include <math.h>
  59. #ifdef __BORLANDC__
  60. #ifndef _COMPLEX_DEFINED
  61. typedef struct tagcomplex {
  62. double x,y;
  63. } _complex;
  64. #endif
  65. #define _cabs(c) sqrt(c.x*c.x+c.y*c.y)
  66. #endif
  67. #if !defined(WIN32) && !defined(_WIN32_WCE)
  68. #include <stdlib.h>
  69. #include <string.h>
  70. #include <ctype.h>
  71. typedef unsigned char  BYTE;
  72. typedef unsigned short WORD;
  73. typedef unsigned long  DWORD;
  74. typedef unsigned int   UINT;
  75. typedef DWORD          COLORREF;
  76. typedef unsigned int   HANDLE;
  77. typedef void*          HRGN;
  78. #ifndef BOOL
  79. #define BOOL bool
  80. #endif
  81. #ifndef TRUE
  82. #define TRUE true
  83. #endif
  84. #ifndef FALSE
  85. #define FALSE false
  86. #endif
  87. #ifndef TCHAR
  88. #define TCHAR char
  89. #define _T
  90. #endif
  91. typedef struct tagRECT
  92. {
  93. long    left;
  94. long    top;
  95. long    right;
  96. long    bottom;
  97. } RECT;
  98. typedef struct tagPOINT
  99. {
  100. long  x;
  101. long  y;
  102. } POINT;
  103. typedef struct tagRGBQUAD {
  104. BYTE    rgbBlue;
  105. BYTE    rgbGreen;
  106. BYTE    rgbRed;
  107. BYTE    rgbReserved;
  108. } RGBQUAD;
  109. #pragma pack(1)
  110. typedef struct tagBITMAPINFOHEADER{
  111. DWORD      biSize;
  112. long       biWidth;
  113. long       biHeight;
  114. WORD       biPlanes;
  115. WORD       biBitCount;
  116. DWORD      biCompression;
  117. DWORD      biSizeImage;
  118. long       biXPelsPerMeter;
  119. long       biYPelsPerMeter;
  120. DWORD      biClrUsed;
  121. DWORD      biClrImportant;
  122. } BITMAPINFOHEADER;
  123. typedef struct tagBITMAPFILEHEADER {
  124. WORD    bfType;
  125. DWORD   bfSize;
  126. WORD    bfReserved1;
  127. WORD    bfReserved2;
  128. DWORD   bfOffBits;
  129. } BITMAPFILEHEADER;
  130. typedef struct tagBITMAPCOREHEADER {
  131. DWORD   bcSize;
  132. WORD    bcWidth;
  133. WORD    bcHeight;
  134. WORD    bcPlanes;
  135. WORD    bcBitCount;
  136. } BITMAPCOREHEADER;
  137. typedef struct tagRGBTRIPLE {
  138. BYTE    rgbtBlue;
  139. BYTE    rgbtGreen;
  140. BYTE    rgbtRed;
  141. } RGBTRIPLE;
  142. #pragma pack()
  143. #define BI_RGB        0L
  144. #define BI_RLE8       1L
  145. #define BI_RLE4       2L
  146. #define BI_BITFIELDS  3L
  147. #define GetRValue(rgb)      ((BYTE)(rgb))
  148. #define GetGValue(rgb)      ((BYTE)(((WORD)(rgb)) >> 8))
  149. #define GetBValue(rgb)      ((BYTE)((rgb)>>16))
  150. #define RGB(r,g,b)          ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))
  151. #ifndef _COMPLEX_DEFINED
  152. typedef struct tagcomplex {
  153. double x,y;
  154. } _complex;
  155. #endif
  156. #define _cabs(c) sqrt(c.x*c.x+c.y*c.y)
  157. #endif
  158. #endif //__ximadefs