X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fdlgreconstruct.cpp;h=ee420c457cdba5c7cb15a0ce7fc56002c52e1f99;hb=2c2e32c3658a534b8eeb676165dc388e85285b5d;hp=4fd7b1af7e8bc971c1433520aee74a0418cd6dbd;hpb=c00c639073653fac7463a88f2b000f263236550d;p=ctsim.git diff --git a/src/dlgreconstruct.cpp b/src/dlgreconstruct.cpp index 4fd7b1a..ee420c4 100644 --- a/src/dlgreconstruct.cpp +++ b/src/dlgreconstruct.cpp @@ -7,9 +7,9 @@ ** Date Started: August 2000 ** ** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: dlgreconstruct.cpp,v 1.13 2001/01/02 16:02:13 kevin Exp $ +** $Id: dlgreconstruct.cpp,v 1.19 2002/05/30 06:27:46 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 @@ -29,13 +29,8 @@ #pragma implementation "dlgreconstruct.h" #endif -// For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#ifdef __BORLANDC__ -#pragma hdrstop -#endif - #include "wx/utils.h" #include "wx/frame.h" #include "wx/button.h" @@ -74,8 +69,11 @@ END_EVENT_TABLE() IMPLEMENT_CLASS(ReconstructDialog, wxDialog) -ReconstructDialog::ReconstructDialog (Reconstructor& rReconstruct, const Projections& rProj, ImageFile& rIF, const int iTrace, wxWindow *parent) -: wxDialog(parent, -1, "Reconstruction", wxDefaultPosition), m_rReconstructor(rReconstruct), m_rProjections(rProj), m_rImageFile(rIF), m_pSGPDriver(NULL), m_pSGP(NULL), m_iTrace(iTrace), m_pDC(NULL), m_btnAbort(0), m_btnPause(0), m_btnStep(0) +ReconstructDialog::ReconstructDialog (Reconstructor& rReconstruct, const Projections& rProj, + ImageFile& rIF, const int iTrace, wxWindow *parent) +: wxDialog(parent, -1, "Reconstruction", wxDefaultPosition), m_rReconstructor(rReconstruct), + m_rProjections(rProj), m_rImageFile(rIF), m_pSGPDriver(NULL), m_pSGP(NULL), + m_iTrace(iTrace), m_pDC(NULL), m_btnAbort(0), m_btnPause(0), m_btnStep(0) { m_state = Continue; m_iLastView = -1; @@ -118,13 +116,13 @@ ReconstructDialog::ReconstructDialog (Reconstructor& rReconstruct, const Project wxSize sizeDlg (m_nxGraph, m_nyGraph); m_nxImage = m_rImageFile.nx(); if (m_nxImage > MAX_IMAGE_X) - m_nxImage = MAX_IMAGE_X; + m_nxImage = MAX_IMAGE_X; m_nyImage = m_rImageFile.ny(); if (m_nyImage > MAX_IMAGE_Y) - m_nyImage = MAX_IMAGE_Y; + m_nyImage = MAX_IMAGE_Y; sizeDlg.x += m_nxImage; - sizeDlg.y = max (sizeDlg.y, m_nyImage); + sizeDlg.y = imax (sizeDlg.y, m_nyImage); m_iClientX = sizeDlg.x; m_iClientY = sizeDlg.y; @@ -166,15 +164,21 @@ ReconstructDialog::showView (int iViewNumber, bool bBackprojectView) m_pSGP->setViewport (0, 0, 1, 1); m_pSGP->setWindow (0, 0, 1, 1); m_pSGP->setTextColor (C_LTRED, -1); - double dCharHeight = m_pSGP->getCharHeight(); - m_pSGP->setTextSize (dCharHeight * 2); + m_pSGP->setTextPointSize (20.); m_pSGP->moveAbs(0., m_pSGP->getCharHeight()); m_pSGP->drawText (szProgress); - m_pSGP->setTextSize (dCharHeight); - - m_pSGP->setViewport (0.0, 0.1, 0.66, 1.); - m_rReconstructor.reconstructView (iViewNumber, 1, m_pSGP, bBackprojectView); + m_pSGP->setTextPointSize (10.); + int iXDialog, iYDialog; + GetClientSize (&iXDialog, &iYDialog); + double dGraphWidth = (iXDialog - m_nxImage) / static_cast(iXDialog); + + m_rReconstructor.reconstructView (iViewNumber, 1, m_pSGP, bBackprojectView, dGraphWidth); + ::wxYield(); +::wxYield(); +::wxYield(); +::wxYield(); + ImageFileArrayConst v = m_rImageFile.getArray(); int xBase = m_nxGraph; int yBase = 0; @@ -208,6 +212,8 @@ ReconstructDialog::showView (int iViewNumber, bool bBackprojectView) m_pSGP->getDriver().idWX()->DrawBitmap(bitmap, xBase, yBase, false); delete imageData; } + + ::wxYield(); } bool