www.pudn.com > stereo.rar > CaliView.cpp
// CaliView.cpp : implementation of the CCaliView class
//
#include "stdafx.h"
#include "Cali.h"
#include "CaliDoc.h"
#include "CaliView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCaliView
IMPLEMENT_DYNCREATE(CCaliView, CView)
BEGIN_MESSAGE_MAP(CCaliView, CView)
//{{AFX_MSG_MAP(CCaliView)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code!
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCaliView construction/destruction
CCaliView::CCaliView()
{
// TODO: add construction code here
}
CCaliView::~CCaliView()
{
}
BOOL CCaliView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CCaliView drawing
void CCaliView::OnDraw(CDC* pDC)
{
int i;
CCaliDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CSize sizeDibDisplay;
switch(pDoc->processing){
case 0:
sizeDibDisplay = pDoc->m_dib1.GetDimensions();
pDoc->m_dib1.Draw(pDC,CPoint(0,0),sizeDibDisplay);
break;
case 1:
sizeDibDisplay = pDoc->m_dib1.GetDimensions();
pDoc->m_dib1.Draw(pDC,CPoint(0,0),sizeDibDisplay);
for(i=0;inumofcorner1;i++)
pDC->SetPixel(pDoc->corner1[i].x,pDoc->corner1[i].y,RGB(255,0,0));
break;
case 2:
sizeDibDisplay = pDoc->m_dib1.GetDimensions();
pDoc->m_dib1.Draw(pDC,CPoint(0,0),sizeDibDisplay);
for(i=0;inumofseeds;i++)
pDC->SetPixel(pDoc->seeds[i].leftx,pDoc->seeds[i].lefty,RGB(255,0,0));
break;
case 3:
sizeDibDisplay = pDoc->m_dib1.GetDimensions();
pDoc->m_dib1.Draw(pDC,CPoint(0,0),sizeDibDisplay);
for(i=0;inumofmapsafterpro;i++)
pDC->SetPixel(pDoc->mapsafterpro[i].leftx,pDoc->mapsafterpro[i].lefty,RGB(255,0,0));
break;
case 4:
int j;
for(i=0;im_dib2.m_lpBMIH->biWidth;i++)
for(j=0;jm_dib2.m_lpBMIH->biHeight;j++)
pDC->SetPixel(i,j,RGB(255,255,255));
for(i=0;inumofmapsafterpro;i++){
pDC->SetPixel(pDoc->mapsafterpro[i].rightx,pDoc->mapsafterpro[i].righty,RGB(pDoc->mapsafterpro[i].disp,pDoc->mapsafterpro[i].disp,pDoc->mapsafterpro[i].disp));
}
default:
break;
}
}
/////////////////////////////////////////////////////////////////////////////
// CCaliView printing
BOOL CCaliView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CCaliView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CCaliView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CCaliView diagnostics
#ifdef _DEBUG
void CCaliView::AssertValid() const
{
CView::AssertValid();
}
void CCaliView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CCaliDoc* CCaliView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CCaliDoc)));
return (CCaliDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CCaliView message handlers