Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members

pltiffenc.h

00001 /*
00002 /--------------------------------------------------------------------
00003 |
00004 |      $Id: pltiffenc.h,v 1.4 2002/02/24 13:00:41 uzadow Exp $
00005 |
00006 |      Copyright (c) 1996-2002 Ulrich von Zadow
00007 |
00008 \--------------------------------------------------------------------
00009 */
00010 
00011 #ifndef INCL_PLTIFFENC
00012 #define INCL_PLTIFFENC
00013 
00014 #ifndef INCL_PLPICENC
00015 #include "plpicenc.h"
00016 #endif
00017 
00018 typedef struct tiff TIFF;
00019 
00020 //! TIFF file encoder. Uses LIBTIFF to do the actual conversion.
00021 class PLTIFFEncoder : public PLPicEncoder
00022 {
00023 
00024 public:
00025   //! Creates an encoder
00026   PLTIFFEncoder
00027     ();
00028 
00029   //! Destroys a encoder
00030   virtual ~PLTIFFEncoder
00031     ();
00032 
00033   void SetCompression (PLWORD Compression);
00034 
00035 protected:
00036   //! Sets up LIBTIFF environment and calls LIBTIFF to encode an image.
00037   virtual void DoEncode
00038     ( PLBmp* pBmp,
00039       PLDataSink* pDataSnk
00040     );
00041 
00042   //! this one mostly useful for the "extended" decoder
00043   virtual void DoTiffEncode
00044     ( PLBmp* pBmp,
00045       TIFF* tif
00046     );
00047 
00048   //! According to the characteristics of the given bitmap,
00049   //! set the baseline tags
00050   int SetBaseTags( TIFF*, PLBmp* );
00051 
00052   //! Set tag value in directory; also, "pseudo-tags" are interpreted by
00053   //! LIBTIFF as modifiers to certain algorithms (compression....).
00054   //! We do _not_ support multiple images by file, nor tiling nor stripping.
00055   int SetField( TIFF*, int tag_id, ... );
00056 
00057 private:
00058   PLWORD m_Compression;
00059 };
00060 
00061 #endif
00062 
00063 /*
00064 /--------------------------------------------------------------------
00065 |
00066 |      $Log: pltiffenc.h,v $
00067 |      Revision 1.4  2002/02/24 13:00:41  uzadow
00068 |      Documentation update; removed buggy PLFilterRotate.
00069 |
00070 |      Revision 1.3  2001/10/06 22:03:26  uzadow
00071 |      Added PL prefix to basic data types.
00072 |
00073 |      Revision 1.2  2001/10/06 20:44:45  uzadow
00074 |      Linux compatibility
00075 |
00076 |      Revision 1.1  2001/09/16 19:03:22  uzadow
00077 |      Added global name prefix PL, changed most filenames.
00078 |
00079 |      Revision 1.7  2001/09/13 20:43:02  uzadow
00080 |      Added tiff compression support.
00081 |
00082 |      Revision 1.6  2000/01/16 20:43:15  anonymous
00083 |      Removed MFC dependencies
00084 |
00085 |      Revision 1.5  1999/12/02 17:07:34  Ulrich von Zadow
00086 |      Changes by bdelmee.
00087 |
00088 |
00089 \--------------------------------------------------------------------
00090 */

Generated on Sun Jun 6 13:42:22 2004 for paintlib by doxygen 1.3.2