r296: *** empty log message ***
[ctsim.git] / src / dlgreconstruct.cpp
index 640337a707069f771cd560c774b7c9003533249b..7fb47d22251416afccf40b523fd8faabeb35ceb9 100644 (file)
@@ -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;\r
     this->GetClientSize(&x, &y);\r
     m_pSGPDriver = new SGPDriver (m_pDC, x, y);\r
-    m_pSGP = new SGP (*m_pSGPDriver);
-       m_pSGP->getDriver().idWX()->setDC (&m_pDC);\r
+    m_pSGP = new SGP (*m_pSGPDriver);\r
        
     wxYield();     // Update the display
        
     m_pSGPDriver->idWX()->SetFont(*wxSWISS_FONT);
-#ifdef __WXMAC__
-    MacUpdateImmediately();
-#endif
 }
 
 void
 ReconstructDialog::showView (int iViewNumber, bool bBackprojectView)
 {\r
-       // m_pSGP->setTextSize(0.01);
        if ( iViewNumber < m_rProjections.nView() ) {
                m_iLastView = iViewNumber;
                ::wxYield();        // update the display\r
@@ -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) {\r
-//             m_memoryDC.SelectObject (m_bitmap);       // in memoryDC\r
-//             m_pSGP->setDC (&m_memoryDC);\r
-//             m_memoryDC.SetFont (*wxSWISS_FONT);\r
+               m_memoryDC.SelectObject (m_bitmap);       // in memoryDC\r
+               m_pSGP->setDC (&m_memoryDC);\r
+               m_memoryDC.SetFont (*wxSWISS_FONT);\r
                showView (m_iLastView, false);\r
                m_state = Paused;
                m_btnPause->SetLabel (wxString("Resume"));
+               m_pSGP->setDC (m_pDC);\r
+               m_memoryDC.SelectObject(wxNullBitmap);\r
        } else if (m_state == Paused) {
-//             m_pSGP->setDC (m_pDC);\r
-//             m_memoryDC.SelectObject(wxNullBitmap);\r
                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) {\r
-//             m_memoryDC.SelectObject (m_bitmap);       // in memoryDC\r
-//             m_pSGP->setDC (&m_memoryDC);\r
-//             m_memoryDC.SetFont (*wxSWISS_FONT);\r
+               m_memoryDC.SelectObject (m_bitmap);       // in memoryDC\r
+               m_pSGP->setDC (&m_memoryDC);\r
+               m_memoryDC.SetFont (*wxSWISS_FONT);\r
                showView (m_iLastView, false);\r
                m_state = Paused;
                m_btnPause->SetLabel (wxString("Resume"));
+               m_pSGP->setDC (m_pDC);\r
+               m_memoryDC.SelectObject(wxNullBitmap);\r
+               Refresh();\r
        } else if (m_state == Paused) {
-//             m_pSGP->setDC (m_pDC);\r
-//             m_memoryDC.SelectObject(wxNullBitmap);\r
+               m_memoryDC.SelectObject (m_bitmap);       // in memoryDC\r
+               m_pSGP->setDC (&m_memoryDC);\r
+               m_memoryDC.SetFont (*wxSWISS_FONT);\r
                reconstructView (m_iLastView + 1);
+               m_pSGP->setDC (m_pDC);\r
+               m_memoryDC.SelectObject(wxNullBitmap);\r
+               Refresh();\r
        }
 }
 
@@ -316,7 +314,7 @@ ReconstructDialog::OnPaint (wxPaintEvent& event)
 {\r
        wxPaintDC paintDC (this);\r
        if (m_state == Paused) {
-               paintDC.DrawBitmap(m_bitmap, 0, 0, false);\r
+               paintDC.DrawBitmap (m_bitmap, 0, 0, false);\r
        }\r
 }