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

plfilter.h

00001 /*
00002 /--------------------------------------------------------------------
00003 |
00004 |      $Id: plfilter.h,v 1.3 2003/08/03 12:03:22 uzadow Exp $
00005 |
00006 |      Copyright (c) 1996-2002 Ulrich von Zadow
00007 |
00008 \--------------------------------------------------------------------
00009 */
00010 
00011 #if !defined(AFX_FILTER_H__3CED06E1_1B40_11D3_B142_444553540000__INCLUDED_)
00012 #define AFX_FILTER_H__3CED06E1_1B40_11D3_B142_444553540000__INCLUDED_
00013 
00014 #if _MSC_VER >= 1000
00015 #pragma once
00016 #endif // _MSC_VER >= 1000
00017 
00018 class PLBmp;
00019 
00020 #ifndef AFX_PLOBJECT_H__E40881E3_C809_11D3_97BC_0050046F615E__INCLUDED_
00021 #include "plobject.h"
00022 #endif
00023 
00024 //! Base class for filters that operate on bitmaps. Derived classes need
00025 //! to override either the ApplyInPlace or the Apply function. The base-class
00026 //! versions of these functions simply implement one function in terms of the
00027 //! other.
00028 class PLFilter : public PLObject  
00029 {
00030 public:
00031   //!
00032   PLFilter();
00033   //!
00034   virtual ~PLFilter() = 0;
00035 
00036   //! In-Place Apply. Applies the filter to pBmp. The base-class
00037   //! version copies the bitmap after calling Apply (pBmp, pTempBmp).
00038   virtual void ApplyInPlace(PLBmp * pBmp) const;  
00039 
00040   //! Applies the Filter to pBmpSource and stores the result in
00041   //! pBmpDest. The base-class version copies the bitmap before calling
00042   //! ApplyInPlace (pBmpDest).
00043   virtual void Apply(PLBmp * pBmpSource, PLBmp * pBmpDest) const;
00044 };
00045 
00046 #endif // !defined(AFX_FILTER_H__3CED06E1_1B40_11D3_B142_444553540000__INCLUDED_)
00047 
00048 /*
00049 /--------------------------------------------------------------------
00050 |
00051 |      $Log: plfilter.h,v $
00052 |      Revision 1.3  2003/08/03 12:03:22  uzadow
00053 |      Added unicode support; fixed some header includes.
00054 |
00055 |      Revision 1.2  2002/03/03 16:59:26  uzadow
00056 |      Changed PLFilter so it's pure virtual.
00057 |
00058 |      Revision 1.1  2001/09/16 19:03:23  uzadow
00059 |      Added global name prefix PL, changed most filenames.
00060 |
00061 |      Revision 1.4  2001/01/15 15:05:31  uzadow
00062 |      Added PLBmp::ApplyFilter() and PLBmp::CreateFilteredCopy()
00063 |
00064 |      Revision 1.3  2000/01/16 20:43:15  anonymous
00065 |      Removed MFC dependencies
00066 |
00067 |      Revision 1.2  1999/11/27 18:45:48  Ulrich von Zadow
00068 |      Added/Updated doc comments.
00069 |
00070 |      Revision 1.1  1999/10/21 16:05:17  Ulrich von Zadow
00071 |      Moved filters to separate directory. Added Crop, Grayscale and
00072 |      GetAlpha filters.
00073 |
00074 |      Revision 1.1  1999/10/19 21:29:44  Ulrich von Zadow
00075 |      Added filters.
00076 |
00077 |
00078 \--------------------------------------------------------------------
00079 */

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