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