X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fdlgreconstruct.cpp;fp=src%2Fdlgreconstruct.cpp;h=7fb47d22251416afccf40b523fd8faabeb35ceb9;hp=640337a707069f771cd560c774b7c9003533249b;hb=f46d464bb065716c6738c23a4d7e7dbedd0b93b9;hpb=e9222e8a8190ca48f30a1359badae06bcb200210 diff --git a/src/dlgreconstruct.cpp b/src/dlgreconstruct.cpp index 640337a..7fb47d2 100644 --- a/src/dlgreconstruct.cpp +++ b/src/dlgreconstruct.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: dlgreconstruct.cpp,v 1.10 2000/12/18 05:40:30 kevin Exp $ +** $Id: dlgreconstruct.cpp,v 1.11 2000/12/18 06:32:13 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -143,21 +143,16 @@ ReconstructDialog::ReconstructDialog (Reconstructor& rReconstruct, const Project int x, y; this->GetClientSize(&x, &y); m_pSGPDriver = new SGPDriver (m_pDC, x, y); - m_pSGP = new SGP (*m_pSGPDriver); - m_pSGP->getDriver().idWX()->setDC (&m_pDC); + m_pSGP = new SGP (*m_pSGPDriver); wxYield(); // Update the display m_pSGPDriver->idWX()->SetFont(*wxSWISS_FONT); -#ifdef __WXMAC__ - MacUpdateImmediately(); -#endif } void ReconstructDialog::showView (int iViewNumber, bool bBackprojectView) { - // m_pSGP->setTextSize(0.01); if ( iViewNumber < m_rProjections.nView() ) { m_iLastView = iViewNumber; ::wxYield(); // update the display @@ -214,14 +209,14 @@ ReconstructDialog::showView (int iViewNumber, bool bBackprojectView) } bool -ReconstructDialog::reconstructView (int iViewNumber) +ReconstructDialog::reconstructView (int iViewNumber, bool bBackproject) { if (iViewNumber <= m_iLastView) // have already done this view return true; if (iViewNumber < m_rProjections.nView()) { ::wxYield(); // update the display - showView (iViewNumber, true); + showView (iViewNumber, bBackproject); ::wxYield(); // update the display if (m_iTrace >= Trace::TRACE_PLOT) { ::wxUsleep(250); @@ -230,10 +225,6 @@ ReconstructDialog::reconstructView (int iViewNumber) m_state = Finished; // so that we return TRUE below and } // that [Cancel] handler knew what to do -#ifdef __WXMAC__ - MacUpdateImmediately(); -#endif - ::wxYield(); // update the display return m_state != Cancelled; } @@ -267,15 +258,15 @@ ReconstructDialog::OnPause (wxCommandEvent& event) // shown as a modal dialog - so just let the default handler do the job event.Skip(); } else if (m_state == Continue) { -// m_memoryDC.SelectObject (m_bitmap); // in memoryDC -// m_pSGP->setDC (&m_memoryDC); -// m_memoryDC.SetFont (*wxSWISS_FONT); + m_memoryDC.SelectObject (m_bitmap); // in memoryDC + m_pSGP->setDC (&m_memoryDC); + m_memoryDC.SetFont (*wxSWISS_FONT); showView (m_iLastView, false); m_state = Paused; m_btnPause->SetLabel (wxString("Resume")); + m_pSGP->setDC (m_pDC); + m_memoryDC.SelectObject(wxNullBitmap); } else if (m_state == Paused) { -// m_pSGP->setDC (m_pDC); -// m_memoryDC.SelectObject(wxNullBitmap); m_state = Continue; m_btnPause->SetLabel (wxString("Pause")); } @@ -288,16 +279,23 @@ ReconstructDialog::OnStep (wxCommandEvent& event) if ( m_state == Finished ) { event.Skip(); } else if (m_state == Continue) { -// m_memoryDC.SelectObject (m_bitmap); // in memoryDC -// m_pSGP->setDC (&m_memoryDC); -// m_memoryDC.SetFont (*wxSWISS_FONT); + m_memoryDC.SelectObject (m_bitmap); // in memoryDC + m_pSGP->setDC (&m_memoryDC); + m_memoryDC.SetFont (*wxSWISS_FONT); showView (m_iLastView, false); m_state = Paused; m_btnPause->SetLabel (wxString("Resume")); + m_pSGP->setDC (m_pDC); + m_memoryDC.SelectObject(wxNullBitmap); + Refresh(); } else if (m_state == Paused) { -// m_pSGP->setDC (m_pDC); -// m_memoryDC.SelectObject(wxNullBitmap); + m_memoryDC.SelectObject (m_bitmap); // in memoryDC + m_pSGP->setDC (&m_memoryDC); + m_memoryDC.SetFont (*wxSWISS_FONT); reconstructView (m_iLastView + 1); + m_pSGP->setDC (m_pDC); + m_memoryDC.SelectObject(wxNullBitmap); + Refresh(); } } @@ -316,7 +314,7 @@ ReconstructDialog::OnPaint (wxPaintEvent& event) { wxPaintDC paintDC (this); if (m_state == Paused) { - paintDC.DrawBitmap(m_bitmap, 0, 0, false); + paintDC.DrawBitmap (m_bitmap, 0, 0, false); } }