00001 /* 00002 /-------------------------------------------------------------------- 00003 | 00004 | $Id: plwindefs.h,v 1.3 2002/02/24 13:00:42 uzadow Exp $ 00005 | 00006 | Copyright (c) 1996-2002 Ulrich von Zadow 00007 | 00008 \-------------------------------------------------------------------- 00009 */ 00010 00011 //! \file 00012 //! Windows Bitmap Struct Definitions 00013 //! 00014 //! Contains the definitions for the data structures used in 00015 //! windows bitmap files. For windows apps, they are already 00016 //! defined - but not with these names. 00017 //! 00018 //! The WINRGBQUAD, WINBITMAPFILEHEADER, WINBITMAPINFOHEADER, 00019 //! and WINBITMAPINFO structs are defined as RGBQUAD etc. in 00020 //! the windows header files. See the windows documentation 00021 //! for details. 00022 00023 #ifndef INCL_PLWINDEFS 00024 #define INCL_PLWINDEFS 00025 00026 typedef struct tagWINRGBQUAD 00027 { 00028 PLBYTE rgbBlue; 00029 PLBYTE rgbGreen; 00030 PLBYTE rgbRed; 00031 PLBYTE rgbReserved; 00032 } WINRGBQUAD; 00033 00034 #pragma pack(2) 00035 typedef struct tagWINBITMAPFILEHEADER 00036 { 00037 PLWORD bfType; 00038 PLLONG bfSize; 00039 PLWORD bfReserved1; 00040 PLWORD bfReserved2; 00041 PLLONG bfOffBits; 00042 } WINBITMAPFILEHEADER; 00043 #pragma pack() 00044 00045 typedef struct tagWINBITMAPINFOHEADER 00046 { 00047 PLLONG biSize; 00048 PLLONG biWidth; 00049 PLLONG biHeight; 00050 PLWORD biPlanes; 00051 PLWORD biBitCount; 00052 PLLONG biCompression; 00053 PLLONG biSizeImage; 00054 PLLONG biXPelsPerMeter; 00055 PLLONG biYPelsPerMeter; 00056 PLLONG biClrUsed; 00057 PLLONG biClrImportant; 00058 } WINBITMAPINFOHEADER; 00059 00060 typedef struct tagWINBITMAPINFO 00061 { 00062 WINBITMAPINFOHEADER bmiHeader; 00063 WINRGBQUAD bmiColors[1]; 00064 } WINBITMAPINFO; 00065 00066 typedef struct tagWINBITMAPCOREHEADER 00067 { 00068 PLLONG bcSize; 00069 PLWORD bcWidth; 00070 PLWORD bcHeight; 00071 PLWORD bcPlanes; 00072 PLWORD bcBitCount; 00073 } WINBITMAPCOREHEADER; 00074 00075 /* constants for the biCompression field */ 00076 #define BI_RGB 0L 00077 #define BI_RLE8 1L 00078 #define BI_RLE4 2L 00079 #define BI_BITFIELDS 3L 00080 00081 00082 #endif 00083 /* 00084 /-------------------------------------------------------------------- 00085 | 00086 | $Log: plwindefs.h,v $ 00087 | Revision 1.3 2002/02/24 13:00:42 uzadow 00088 | Documentation update; removed buggy PLFilterRotate. 00089 | 00090 | Revision 1.2 2001/10/06 22:03:26 uzadow 00091 | Added PL prefix to basic data types. 00092 | 00093 | Revision 1.1 2001/09/16 19:03:22 uzadow 00094 | Added global name prefix PL, changed most filenames. 00095 | 00096 | Revision 1.9 2001/01/14 15:32:21 uzadow 00097 | Unix compatibility changes. 00098 | 00099 | Revision 1.8 2000/12/13 23:40:16 uzadow 00100 | no message 00101 | 00102 | Revision 1.7 2000/11/02 21:27:50 uzadow 00103 | Temporary build fix. 00104 | 00105 | Revision 1.6 2000/10/31 11:27:47 jmbuena 00106 | Moved win definitions from stdpch.h 00107 | 00108 | Revision 1.5 2000/10/28 11:59:46 uzadow 00109 | no message 00110 | 00111 | Revision 1.4 2000/07/07 13:20:47 Ulrich von Zadow 00112 | Bugfix: Added #pragma pack to WINBITMAPFILEHEADER. 00113 | 00114 | Revision 1.3 1999/10/03 18:50:52 Ulrich von Zadow 00115 | Added automatic logging of changes. 00116 | 00117 | 00118 \-------------------------------------------------------------------- 00119 */