00001 /* 00002 /-------------------------------------------------------------------- 00003 | 00004 | Windows bitmap file encoder. Encodes 1, 4, 8, 24 and 32 bpp 00005 | bitmaps to a 1, 4, 8 or 24 bpp uncompressed BMP file 00006 | 00007 | Copyright (c) 1996-2002 Ulrich von Zadow 00008 | 00009 \-------------------------------------------------------------------- 00010 */ 00011 00012 #ifndef INCL_PLBMPENC 00013 #define INCL_PLBMPENC 00014 00015 #ifndef INCL_PLPICENC 00016 #include "plpicenc.h" 00017 #endif 00018 00019 //! Encoder class for windows bmp files. Writes 1, 8 and 24 bpp. 32 bpp bitmaps 00020 //! are written as 24 bpp. 00021 class PLBmpEncoder : public PLPicEncoder 00022 { 00023 00024 public: 00025 //! Creates an encoder 00026 PLBmpEncoder 00027 (); 00028 00029 //! Destroys a encoder 00030 ~PLBmpEncoder 00031 (); 00032 00033 // todo: Notification not yet implemented for encoding - ms 3.6.99 00034 /* 00035 static void JNotification 00036 (j_common_ptr cinfo 00037 ); 00038 */ 00039 00040 protected: 00041 // encodes in bmp format 00042 void DoEncode 00043 ( PLBmp * pBmp, 00044 PLDataSink * pDataSink 00045 ); 00046 00047 int GetLineMemNeeded(PLLONG width, PLWORD BitsPerPixel); 00048 }; 00049 00050 #endif 00051 00052 /* 00053 /-------------------------------------------------------------------- 00054 | 00055 | $Log: plbmpenc.h,v $ 00056 | Revision 1.4 2002/02/24 13:00:18 uzadow 00057 | Documentation update; removed buggy PLFilterRotate. 00058 | 00059 | Revision 1.3 2001/10/06 22:03:26 uzadow 00060 | Added PL prefix to basic data types. 00061 | 00062 | Revision 1.2 2001/10/06 20:44:45 uzadow 00063 | Linux compatibility 00064 | 00065 | Revision 1.1 2001/09/16 19:03:22 uzadow 00066 | Added global name prefix PL, changed most filenames. 00067 | 00068 | Revision 1.4 2000/12/08 12:32:00 uzadow 00069 | Added gif decoder by Michael Salzlechner. 00070 | 00071 | Revision 1.3 2000/12/02 19:50:01 uzadow 00072 | Added Logging. 00073 | 00074 \-------------------------------------------------------------------- 00075 */