Filter Library | Camera | Interface Physics |
#include <ScanFilter.h>
Inheritance diagram for CScanFilter:
Definition at line 57 of file ScanFilter.h.
Prohibited | |
CScanFilter (const Self &rhs) | |
prevent copy-assignment; virtual destructor requires canonical form [Coplien]. | |
Self & | operator= (const Self &rhs) |
prevent assignment; virtual destructor requires canonical form [Coplien]. | |
Public Types | |
typedef short | Self |
this type. | |
typedef CObject | Super |
the class derived from. | |
typedef DWORD | SizeType |
the filter's size type. | |
Public Member Functions | |
Predicates | |
virtual BOOL | CanDoPartialData () const |
default is to not support partial data; override if filter does support it. | |
virtual BOOL | CanDoDialogEntry () const |
default is to support a dialog; override if filter does not support it. | |
virtual DragSupportType | SupportDragInput () const |
default is to not support dragging; override if filter does support it. | |
virtual BOOL | NeedRectSelection () const |
default is to not require a rectangular) selection before applying filter; override if filter does require it. | |
Accessors | |
virtual LPCTSTR | GetFilterName () const |
the name of this filter. | |
Mutators | |
virtual void | SetDragInput (BOOL bL2R, CRect rcIn) |
set the rectangular drag area for given L2R or R2L part of frame; override for filters that support dragging. | |
Input Buffers | |
virtual SizeType | GetNrOfInBuffers () const |
default is one input buffer; override of filter uses more. | |
virtual CScanBaseBuffer * | GetInputBuffer (UINT nNr) |
provide the input buffer for the given index. | |
virtual void | SetInputBuffer (UINT nNr, CScanBaseBuffer *lpsbIn) |
set the input buffer for the given index. | |
Output Buffers | |
virtual SizeType | GetNrOfOutBuffers () const |
default is one output buffer; override of filter uses more. | |
virtual CScanBaseBuffer * | GetOutputBuffer (UINT nNr) |
provide the output buffer for the given index. | |
virtual void | SetOutputBuffer (UINT nNr, CScanBaseBuffer *lpsbOut) |
set the output buffer for the given index. | |
Filtering | |
virtual bool | IsInteractive () const |
true if a dialog is present. | |
virtual void | ReadFilterSettings () |
configure filter with default setting or with settings as saved from the last invocation (e.g. | |
virtual void | WriteFilterSettings () const |
save filter settings e.g. | |
virtual LPCTSTR | GetParameters () const |
provode current filter parameter(s) for filter-scripting capture in the main application. | |
virtual BOOL | SetParameters (LPCTSTR lpParameters) |
set parameters for filter-script execution of filter; may throw _T("message"). | |
virtual BOOL | EditModeless (CWnd *pParentWnd) |
start filter dialog, allow for user input but do not perform filter operations; default implementation: return FALSE. | |
virtual BOOL | RunModeless (CWnd *pParentWnd, CDocument *pDoc) |
start filter dialog, allow for user input and perform filter operations; default implementation: return FALSE. | |
virtual BOOL | Apply () |
perform the filter operation without user interaction; also used to process series of buffers. | |
Protected Member Functions | |
virtual void | Serialize (CArchive &ar) |
set parameters for filter-script execution of filter; may throw _T("message"). | |
Protected Attributes | |
CDialog * | m_pDlg |
the filter dialog. | |
CView * | m_pView |
FIXME: the filter view. | |
CScanBaseBuffer * | m_lpsbIn |
the (first) input buffer. | |
CScanBaseBuffer * | m_lpsbOut |
the (first) output buffer. | |
LPCTSTR | m_csFilterName |
the individual filtername. | |
Static Protected Attributes | |
static LPCTSTR | m_lpcsFilterName |
the class filtername (orig.comment: saves memory (???mo) ). | |
static LPCTSTR | m_lpcsShortFilterName |
the class short filtername. | |
static const CRect | NonIntersectingRect |
a non-intersecting rectangle. | |
Friends | |
class | CFilterDlg |
class CFilterDlg requires access to m_lpsbIn and m_lpsbOut; instead we also could use GetInputBuffer(0) and GetOutputBuffer(0); |
void CScanFilter::ReadFilterSettings | ( | ) | [virtual] |
from registry).
This method configures the filter with it's default values or, if available, with the settings as saved from the last invocation.
No filter configuration happens if the filter does not override this method.
ReadFilterSettings() is usually called from the constructor of the filter.
Reimplemented in CScanFilterBGS_Planar, CScanFilterBGS_MCN, CScanFilterBGS_Planar, CScanFilterBinaryThreshold, CScanFilterClad, CScanFilterCrossCorrelate, CScanFilterCrossCorrelate2, CScanFilterCustom, CScanFilterDifferential, CScanFilterDifferential_LbL, CScanFilterDZ, CScanFilterHighPass, CScanFilterLinearRegression, CScanFilterLowPass, CScanFilterMath, CScanFilterNCCFFT, CScanFilterNCCFFTOld, CScanFilterNull, CScanFilterRank, CScanFilterShift, CScanFilterTest, and CScanFilterThreshold.
Definition at line 188 of file ScanFilter.cpp.
void CScanFilter::WriteFilterSettings | ( | ) | const [virtual] |
for use with the filterlist window (e.g. via registry).
WriteFilterSettings() is called from the filter dialog's OnOK message handler.
Reimplemented in CScanFilterBGS_Planar, CScanFilterBGS_MCN, CScanFilterBGS_Planar, CScanFilterBinaryThreshold, CScanFilterClad, CScanFilterCrossCorrelate, CScanFilterCrossCorrelate2, CScanFilterCustom, CScanFilterDifferential, CScanFilterDifferential_LbL, CScanFilterDZ, CScanFilterHighPass, CScanFilterLinearRegression, CScanFilterLowPass, CScanFilterMath, CScanFilterNCCFFT, CScanFilterNCCFFTOld, CScanFilterNull, CScanFilterRank, CScanFilterShift, CScanFilterTest, and CScanFilterThreshold.
Definition at line 196 of file ScanFilter.cpp.
Referenced by CFilterDlg::OnOK(), and CFilterDlg::UpdateView().
LPCTSTR CScanFilter::GetParameters | ( | ) | const [virtual] |
Analogous to GetInitParameters(), this method returns filter parameters, in this case for the filter-scripting capture operation in the main application.
delete-ing
returned string storage. Reimplemented in CScanFilterAutoCorrelate, CScanFilterBGS_LbL, CScanFilterBGS_Planar, CScanFilterBGS_MCN, CScanFilterBGS_Planar, CScanFilterBinaryThreshold, CScanFilterClad, CScanFilterClip, CScanFilterCrossCorrelate, CScanFilterCrossCorrelate2, CScanFilterCrossCorrelateF, CScanFilterCustom, CScanFilterDifferential, CScanFilterDifferential_LbL, CScanFilterDilation, CScanFilterDZ, CScanFilterErosion, CScanFilterFFT, CScanFilterFFTInverse, CScanFilterHighPass, CScanFilterKuwahara, CScanFilterLinearRegression, CScanFilterLowPass, CScanFilterMath, CScanFilterNCCFFT, CScanFilterNCCFFTOld, CScanFilterNull, CScanFilterRank, CScanFilterShift, CScanFilterSwapQuadrants, CScanFilterTest, and CScanFilterThreshold.
Definition at line 205 of file ScanFilter.cpp.
References Q_ASSERT.
BOOL CScanFilter::SetParameters | ( | LPCTSTR | lpParameters | ) | [virtual] |
This method initializes the filter parameters for filter-script execution of the filter to the given parameters.
lpParameters | a C-string specifying the filter parameter values, e.g. "1.23,4.56". |
C-string | if the filter does not support this operation, this method may throw _T("message"); |
Reimplemented in CScanFilterAutoCorrelate, CScanFilterBGS_LbL, CScanFilterBGS_Planar, CScanFilterBGS_MCN, CScanFilterBGS_Planar, CScanFilterBinaryThreshold, CScanFilterClad, CScanFilterClip, CScanFilterCrossCorrelate, CScanFilterCrossCorrelate2, CScanFilterCrossCorrelateF, CScanFilterCustom, CScanFilterDifferential, CScanFilterDifferential_LbL, CScanFilterDilation, CScanFilterDZ, CScanFilterErosion, CScanFilterFFT, CScanFilterFFTInverse, CScanFilterHighPass, CScanFilterKuwahara, CScanFilterLinearRegression, CScanFilterLowPass, CScanFilterMath, CScanFilterNCCFFT, CScanFilterNCCFFTOld, CScanFilterNull, CScanFilterRank, CScanFilterShift, CScanFilterSwapQuadrants, CScanFilterTest, and CScanFilterThreshold.
Definition at line 215 of file ScanFilter.cpp.
References Q_ASSERT.
void CScanFilter::Serialize | ( | CArchive & | ar | ) | [protected, virtual] |
This method initializes the filter parameters for filter-script execution of the filter toe the parameters specified.
lpParameters | a C-string specifying the filter parameter values, e.g. "1.23,4.56". |
C-string | if the filter does not support this operation, this method may throw _T("message"); |
Reimplemented in CCalculatorImageShift, CScanFilterAutoCorrelate, CScanFilterBGS_LbL, CScanFilterBGS_Planar, CScanFilterBGS_MCN, CScanFilterBGS_Planar, CScanFilterBgsDiff, CScanFilterBgsDiff_LbL, CScanFilterBinaryThreshold, CScanFilterClad, CScanFilterClip, CScanFilterCrossCorrelate, CScanFilterCrossCorrelate2, CScanFilterCrossCorrelateF, CScanFilterCustom, CScanFilterDifferential, CScanFilterDifferential_LbL, CScanFilterDilation, CScanFilterDZ, CScanFilterErosion, CScanFilterFFT, CScanFilterFFTInverse, CScanFilterFourierBase, CScanFilterHighPass, CScanFilterKuwahara, CScanFilterLinearRegression, CScanFilterLowPass, CScanFilterMath, CScanFilterNCCFFT, CScanFilterNCCFFTOld, CScanFilterNull, CScanFilterRank, CScanFilterShift, CScanFilterSwapQuadrants, CScanFilterTest, and CScanFilterThreshold.
Definition at line 264 of file ScanFilter.cpp.
Referenced by CScanFilterThreshold::Serialize(), CScanFilterTest::Serialize(), CScanFilterSwapQuadrants::Serialize(), CScanFilterShift::Serialize(), CScanFilterRank::Serialize(), CScanFilterNull::Serialize(), CScanFilterNCCFFTOld::Serialize(), CScanFilterNCCFFT::Serialize(), CScanFilterMath::Serialize(), CScanFilterLinearRegression::Serialize(), CScanFilterKuwahara::Serialize(), CScanFilterFourierBase::Serialize(), CScanFilterFFTInverse::Serialize(), CScanFilterFFT::Serialize(), CScanFilterErosion::Serialize(), CScanFilterDZ::Serialize(), CScanFilterDilation::Serialize(), CScanFilterDifferential_LbL::Serialize(), CScanFilterDifferential::Serialize(), CScanFilterCustom::Serialize(), CScanFilterCrossCorrelateF::Serialize(), CScanFilterCrossCorrelate2::Serialize(), CScanFilterCrossCorrelate::Serialize(), CScanFilterClip::Serialize(), CScanFilterClad::Serialize(), CScanFilterBinaryThreshold::Serialize(), CScanFilterBgsDiff_LbL::Serialize(), CScanFilterBgsDiff::Serialize(), CScanFilterBGS_MCN::Serialize(), CScanFilterBGS_Planar::Serialize(), CScanFilterBGS_LbL::Serialize(), and CCalculatorImageShift::Serialize().
friend class CFilterDlg [friend] |