X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fdlgprojections.h;h=b8798bb66fd486f65a46cc389b51322473614e60;hp=440d2ff2ceaf744759017ca387757b46060dd43c;hb=a05f3cb550877e94aa118cc04b361c0c8fdb3dc3;hpb=6bfb747f8163381d94a02c03a0351e9ca6815d22 diff --git a/src/dlgprojections.h b/src/dlgprojections.h index 440d2ff..b8798bb 100644 --- a/src/dlgprojections.h +++ b/src/dlgprojections.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: dlgprojections.h,v 1.1 2000/08/27 20:32:55 kevin Exp $ +** $Id: dlgprojections.h,v 1.2 2000/08/31 08:38:58 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 @@ -34,6 +34,7 @@ #include "wx/setup.h" #include "wx/dialog.h" +#include "wx/dcmemory.h" class wxButton; class wxStaticText; @@ -69,30 +70,51 @@ public: void OnCancel(wxCommandEvent& event); // callback to disable "hard" window closing void OnClose(wxCloseEvent& event); + void OnPaint(wxPaintEvent& event); + + void OnPause(wxCommandEvent& event); + void OnStep(wxCommandEvent& event); + + bool isPaused() const {return m_state == Paused;} + + bool isCancelled() const {return m_state == Cancelled;} private: // parent top level window (may be NULL) wxWindow *m_parentTop; + int m_iLastView; + int m_iClientX; // size of client window + int m_iClientY; + + Scanner& m_rScanner; + Projections& m_rProjections; + const Phantom& m_rPhantom; + SGPDriver* m_pSGPDriver; + SGP* m_pSGP; + const int m_iTrace; + wxDC* m_pDC; + + wxButton *m_btnAbort; // the abort button (or NULL if none) + wxButton *m_btnPause; + wxButton *m_btnStep; + + wxMemoryDC m_memoryDC; // for restoring image on OnPaint + wxBitmap m_bitmap; // continue processing or not (return value for Update()) enum { - Uncancelable = -1, // dialog can't be canceled - Canceled, // can be cancelled and, in fact, was + Uncancellable = -1, // dialog can't be canceled + Paused, + Cancelled, // can be cancelled and, in fact, was Continue, // can be cancelled but wasn't Finished // finished, waiting to be removed from screen } m_state; - // the abort button (or NULL if none) - wxButton *m_btnAbort; + const static int ID_BTN_PAUSE = 19998; + const static int ID_BTN_STEP = 19999; - Scanner& m_rScanner; - Projections& m_rProjections; - const Phantom& m_rPhantom; - SGPDriver* m_pSGPDriver; - SGP* m_pSGP; - const int m_iTrace; - wxDC* m_pDC; + void showView (int iViewNumber); DECLARE_EVENT_TABLE() };