]> Creatis software - clitk.git/blobdiff - utilities/CxImage/ximabmp.h
cosmetic
[clitk.git] / utilities / CxImage / ximabmp.h
index 3b794d944cffc94cec68b669d09384cfea644676..2bda4feba5de9ce185d175351464f26e19d4af93 100644 (file)
@@ -1,79 +1,79 @@
-/*\r
- * File:       ximabmp.h\r
- * Purpose:    BMP Image Class Loader and Writer\r
- */\r
-/* ==========================================================\r
- * CxImageBMP (c) 07/Aug/2001 Davide Pizzolato - www.xdp.it\r
- * For conditions of distribution and use, see copyright notice in ximage.h\r
- *\r
- * Special thanks to Troels Knakkergaard for new features, enhancements and bugfixes\r
- *\r
- * original CImageBMP  and CImageIterator implementation are:\r
- * Copyright:  (c) 1995, Alejandro Aguilar Sierra <asierra(at)servidor(dot)unam(dot)mx>\r
- *\r
- * ==========================================================\r
- */\r
-\r
-#if !defined(__ximaBMP_h)\r
-#define __ximaBMP_h\r
-\r
-#include "ximage.h"\r
-\r
-const int RLE_COMMAND     = 0;\r
-const int RLE_ENDOFLINE   = 0;\r
-const int RLE_ENDOFBITMAP = 1;\r
-const int RLE_DELTA       = 2;\r
-\r
-#if !defined(BI_RLE8)\r
- #define BI_RLE8  1L\r
-#endif\r
-#if !defined(BI_RLE4)\r
- #define BI_RLE4  2L\r
-#endif\r
-\r
-#if CXIMAGE_SUPPORT_BMP\r
-\r
-class CxImageBMP: public CxImage\r
-{\r
-public:\r
-       CxImageBMP(): CxImage(CXIMAGE_FORMAT_BMP) {};\r
-\r
-       bool Decode(CxFile * hFile);\r
-       bool Decode(FILE *hFile) { CxIOFile file(hFile); return Decode(&file); }\r
-\r
-#if CXIMAGE_SUPPORT_ENCODE\r
-       bool Encode(CxFile * hFile);\r
-       bool Encode(FILE *hFile) { CxIOFile file(hFile); return Encode(&file); }\r
-#endif // CXIMAGE_SUPPORT_ENCODE\r
-\r
-protected:\r
-       bool DibReadBitmapInfo(CxFile* fh, BITMAPINFOHEADER *pdib);\r
-};\r
-\r
-#define BFT_ICON   0x4349   /* 'IC' */\r
-#define BFT_BITMAP 0x4d42   /* 'BM' */\r
-#define BFT_CURSOR 0x5450   /* 'PT' */\r
-\r
-#ifndef WIDTHBYTES\r
-#define WIDTHBYTES(i)           ((unsigned)((i+31)&(~31))/8)  /* ULONG aligned ! */\r
-#endif\r
-\r
-#endif\r
-\r
-#define DibWidthBytesN(lpbi, n) (UINT)WIDTHBYTES((UINT)(lpbi)->biWidth * (UINT)(n))\r
-#define DibWidthBytes(lpbi)     DibWidthBytesN(lpbi, (lpbi)->biBitCount)\r
-\r
-#define DibSizeImage(lpbi)      ((lpbi)->biSizeImage == 0 \\r
-                                    ? ((DWORD)(UINT)DibWidthBytes(lpbi) * (DWORD)(UINT)(lpbi)->biHeight) \\r
-                                    : (lpbi)->biSizeImage)\r
-\r
-#define DibNumColors(lpbi)      ((lpbi)->biClrUsed == 0 && (lpbi)->biBitCount <= 8 \\r
-                                    ? (int)(1 << (int)(lpbi)->biBitCount)          \\r
-                                    : (int)(lpbi)->biClrUsed)\r
-\r
-#define FixBitmapInfo(lpbi)     if ((lpbi)->biSizeImage == 0)                 \\r
-                                                                                               (lpbi)->biSizeImage = DibSizeImage(lpbi); \\r
-                                if ((lpbi)->biClrUsed == 0)                   \\r
-                                    (lpbi)->biClrUsed = DibNumColors(lpbi);   \\r
-\r
-#endif\r
+/*
+ * File:       ximabmp.h
+ * Purpose:    BMP Image Class Loader and Writer
+ */
+/* ==========================================================
+ * CxImageBMP (c) 07/Aug/2001 Davide Pizzolato - www.xdp.it
+ * For conditions of distribution and use, see copyright notice in ximage.h
+ *
+ * Special thanks to Troels Knakkergaard for new features, enhancements and bugfixes
+ *
+ * original CImageBMP  and CImageIterator implementation are:
+ * Copyright:  (c) 1995, Alejandro Aguilar Sierra <asierra(at)servidor(dot)unam(dot)mx>
+ *
+ * ==========================================================
+ */
+
+#if !defined(__ximaBMP_h)
+#define __ximaBMP_h
+
+#include "ximage.h"
+
+const int RLE_COMMAND     = 0;
+const int RLE_ENDOFLINE   = 0;
+const int RLE_ENDOFBITMAP = 1;
+const int RLE_DELTA       = 2;
+
+#if !defined(BI_RLE8)
+ #define BI_RLE8  1L
+#endif
+#if !defined(BI_RLE4)
+ #define BI_RLE4  2L
+#endif
+
+#if CXIMAGE_SUPPORT_BMP
+
+class CxImageBMP: public CxImage
+{
+public:
+       CxImageBMP(): CxImage(CXIMAGE_FORMAT_BMP) {};
+
+       bool Decode(CxFile * hFile);
+       bool Decode(FILE *hFile) { CxIOFile file(hFile); return Decode(&file); }
+
+#if CXIMAGE_SUPPORT_ENCODE
+       bool Encode(CxFile * hFile);
+       bool Encode(FILE *hFile) { CxIOFile file(hFile); return Encode(&file); }
+#endif // CXIMAGE_SUPPORT_ENCODE
+
+protected:
+       bool DibReadBitmapInfo(CxFile* fh, BITMAPINFOHEADER *pdib);
+};
+
+#define BFT_ICON   0x4349   /* 'IC' */
+#define BFT_BITMAP 0x4d42   /* 'BM' */
+#define BFT_CURSOR 0x5450   /* 'PT' */
+
+#ifndef WIDTHBYTES
+#define WIDTHBYTES(i)           ((unsigned)((i+31)&(~31))/8)  /* ULONG aligned ! */
+#endif
+
+#endif
+
+#define DibWidthBytesN(lpbi, n) (UINT)WIDTHBYTES((UINT)(lpbi)->biWidth * (UINT)(n))
+#define DibWidthBytes(lpbi)     DibWidthBytesN(lpbi, (lpbi)->biBitCount)
+
+#define DibSizeImage(lpbi)      ((lpbi)->biSizeImage == 0 \
+                                    ? ((DWORD)(UINT)DibWidthBytes(lpbi) * (DWORD)(UINT)(lpbi)->biHeight) \
+                                    : (lpbi)->biSizeImage)
+
+#define DibNumColors(lpbi)      ((lpbi)->biClrUsed == 0 && (lpbi)->biBitCount <= 8 \
+                                    ? (int)(1 << (int)(lpbi)->biBitCount)          \
+                                    : (int)(lpbi)->biClrUsed)
+
+#define FixBitmapInfo(lpbi)     if ((lpbi)->biSizeImage == 0)                 \
+                                                                                               (lpbi)->biSizeImage = DibSizeImage(lpbi); \
+                                if ((lpbi)->biClrUsed == 0)                   \
+                                    (lpbi)->biClrUsed = DibNumColors(lpbi);   \
+
+#endif