00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "stdafx.h"
00016
00017 #include <cfl/resource.h>
00018
00019 #include <Camera/InterfaceDll.h>
00020 #include <cfl/ScanBaseBuffer.h>
00021 #include <cfl/ScanFilter.h>
00022
00023 #include <cfl/FilterDlg.h>
00024
00025 #ifdef _DEBUG
00026 #undef THIS_FILE
00027 static char THIS_FILE[]=__FILE__;
00028 #define new DEBUG_NEW
00029 #endif
00030
00031 LPCTSTR CScanFilter::m_lpcsFilterName = _T("BASECLASS");
00032
00033 LPCTSTR CScanFilter::m_lpcsShortFilterName = CScanFilter::m_lpcsFilterName;
00034
00035 IMPLEMENT_SERIAL( CScanFilter, CObject, 0 )
00036
00037
00038
00039
00040 const CRect CScanFilter::NonIntersectingRect = CRect( -1, -1, -2, -2 );
00041
00042
00043
00044
00045 CScanFilter::CScanFilter() :
00046 m_pDlg ( NULL ),
00047 m_lpsbIn ( NULL ),
00048 m_lpsbOut ( NULL ),
00049 m_csFilterName( m_lpcsFilterName )
00050
00051 {
00052 ;
00053 }
00054
00055
00056
00057
00058 CScanFilter::~CScanFilter()
00059 {
00060 if ( m_pDlg )
00061 {
00062 m_pDlg->DestroyWindow();
00063 delete m_pDlg; m_pDlg = 0;
00064 }
00065 }
00066
00067
00068
00069
00070 BOOL CScanFilter::CanDoPartialData() const
00071 {
00072 return FALSE;
00073 }
00074
00075
00076
00077
00078 BOOL CScanFilter::CanDoDialogEntry() const
00079 {
00080 return TRUE;
00081 }
00082
00083
00084
00085
00086 DragSupportType CScanFilter::SupportDragInput() const
00087 {
00088 return SFDS_NONE;
00089 }
00090
00091
00092
00093
00094
00095 BOOL CScanFilter::NeedRectSelection() const
00096 {
00097 return FALSE;
00098 }
00099
00100
00101
00102
00103 LPCTSTR CScanFilter::GetFilterName() const
00104 {
00105 return m_csFilterName;
00106 }
00107
00108 #pragma warning( push )
00109 #pragma warning( disable : 4100 ) // unreferenced formal parameter
00110
00111
00112
00113
00114
00115 void CScanFilter::SetDragInput( BOOL bL2R, CRect rcIn )
00116 {
00117 return;
00118 }
00119
00120
00121
00122
00123 CScanFilter::SizeType CScanFilter::GetNrOfInBuffers() const
00124 {
00125 return 1;
00126 }
00127
00128
00129
00130
00131 CScanBaseBuffer *CScanFilter::GetInputBuffer( UINT nNr )
00132 {
00133 Q_ASSERT( nNr == 0 && "buffernr. can only be zero" );
00134
00135 return m_lpsbIn;
00136 }
00137
00138
00139
00140
00141 void CScanFilter::SetInputBuffer( UINT nNr, CScanBaseBuffer *lpsbIn )
00142 {
00143 Q_ASSERT( nNr == 0 && "input buffer nr. can only be zero" );
00144 Q_ASSERT( NULL != lpsbIn && "valid buffer required" );
00145
00146 m_lpsbIn = lpsbIn;
00147 }
00148
00149
00150
00151
00152 CScanFilter::SizeType CScanFilter::GetNrOfOutBuffers() const
00153 {
00154 return 1;
00155 }
00156
00157
00158
00159
00160 CScanBaseBuffer *CScanFilter::GetOutputBuffer( UINT nNr )
00161 {
00162 return m_lpsbOut;
00163 }
00164
00165
00166
00167
00168 void CScanFilter::SetOutputBuffer( UINT nNr, CScanBaseBuffer *lpsbOut )
00169 {
00170 Q_ASSERT( nNr == 0 && "output buffer nr. can only be zero" );
00171 Q_ASSERT( NULL != lpsbOut && "valid buffer required" );
00172
00173 m_lpsbOut = lpsbOut;
00174 }
00175
00176
00177
00178
00179 bool CScanFilter::IsInteractive() const
00180 {
00181 return NULL != m_pDlg;
00182 }
00183
00184
00185
00186
00187
00188 void CScanFilter::ReadFilterSettings ()
00189 {
00190 ;
00191 }
00192
00193
00194
00195
00196 void CScanFilter::WriteFilterSettings () const
00197 {
00198 ;
00199 }
00200
00201
00202
00203
00204
00205 LPCTSTR CScanFilter::GetParameters() const
00206 {
00207 Q_ASSERT( 0 && "CScanFilter::GetParameters() must be overridden" );
00208 return NULL;
00209 }
00210
00211
00212
00213
00214
00215 BOOL CScanFilter::SetParameters( LPCTSTR lpParameters )
00216 {
00217 Q_ASSERT( 0 && "CScanFilter::SetParameters() must be overridden" );
00218 return FALSE;
00219 }
00220
00221
00222
00223
00224
00225 BOOL CScanFilter::EditModeless( CWnd* pParentWnd )
00226 {
00227 return FALSE;
00228 }
00229
00230
00231
00232
00233
00234 BOOL CScanFilter::RunModeless( CWnd* pParentWnd, CDocument* pDoc )
00235 {
00236 return FALSE;
00237 }
00238
00239 #pragma warning( pop )
00240
00241
00242
00243
00244
00245 BOOL CScanFilter::Apply()
00246 {
00247 Q_ASSERT( NULL != m_lpsbIn && "CScanFilter::Apply(): valid input buffer required" );
00248 Q_ASSERT( NULL != m_lpsbOut && "CScanFilter::Apply(): valid output buffer required" );
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258 return TRUE;
00259 }
00260
00261
00262
00263
00264 void CScanFilter::Serialize( CArchive& ar )
00265 {
00266 CObject::Serialize( ar );
00267
00268 if( ar.IsStoring() )
00269 {
00270 }
00271 else
00272 {
00273 }
00274 };
00275
00276
00277
00278
00279