X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxViewer.cpp;h=2b473a22703f87773c3abe9c668fbe6c538d010a;hb=60257912f98339ad44b500d6d4b700cca8e8daa9;hp=e9f0bdd73d1dfb24fc758c2a988cec87d304ba7a;hpb=00e4672c3c43da02dbbab0f23bf076c2c36532ea;p=creaImageIO.git diff --git a/src2/creaImageIOWxViewer.cpp b/src2/creaImageIOWxViewer.cpp index e9f0bdd..2b473a2 100644 --- a/src2/creaImageIOWxViewer.cpp +++ b/src2/creaImageIOWxViewer.cpp @@ -10,7 +10,6 @@ #include #include - using namespace crea; namespace creaImageIO @@ -31,7 +30,7 @@ namespace creaImageIO // void ShowImage(vtkImageData* v); // void StartIterator(); void OnExit(); - + private: //std::vector mImagesToPlay; //vtkImageViewer2* mViewer; @@ -66,6 +65,9 @@ namespace creaImageIO GimmickDebugMessage(1,"WxViewer::WxViewer" <Create(); mPlayer->Run(); @@ -162,12 +165,18 @@ namespace creaImageIO void WxViewer::ShowNextImage() { wxMutexLocker lock(mMutex); + + /* GimmickMessage(1,"WxViewer::ShowNextImage() " <= images.size()) mCurrent = 0; @@ -185,6 +194,7 @@ namespace creaImageIO if (im==0) return; mViewer->SetInput(im); + mViewer->SetSlice( 0 ); int x1,x2,y1,y2,z1,z2; @@ -259,9 +269,9 @@ namespace creaImageIO // mInteractor->Refresh(); //mInteractor->Render(); - // mViewer->Render(); - - ::wxWakeUpIdle(); + // mViewer->Render(); + + //::wxWakeUpIdle(); } //================================================================ @@ -271,12 +281,30 @@ namespace creaImageIO // mInteractor->Refresh(); if(images.size()>0) { - mInteractor->Render(); +// mInteractor->Render(); } //mViewer->Render(); } + + //================================================================ + bool WxViewer::RefreshIfNecessary() + { + if (mNeedRefresh) + { + GimmickMessage(1,"WxViewer : Refreshing"<Render(); + mNeedRefresh = false; + return true; + } + return false; + } + //================================================== + void WxViewer::StopPlayer() + { + mPlayer->Delete(); + } - //================================================= // BEGIN_EVENT_TABLE(WxGimmickFrame, wxDialog) @@ -298,11 +326,22 @@ namespace creaImageIO GimmickMessage(1,"WxViewerPlayer::Entry()"<ShowNextImage(); - clock_t endwait; - endwait = clock () + 0.2 * CLOCKS_PER_SEC ; - while (clock() < endwait) {} + { + if(!TestDestroy()) + { + + mWxViewer->ShowNextImage(); + // mWxViewer->Refresh(); + ::wxWakeUpIdle(); + clock_t endwait; + endwait = clock () + 0.2 * CLOCKS_PER_SEC ; + while (clock() < endwait) {} + + } + else + { + break; + } /* for(i=mImagesToPlay.begin();i!=mImagesToPlay.end();++i) { @@ -315,7 +354,7 @@ namespace creaImageIO mParent->Refresh(); endwait = clock () + 0.2 * CLOCKS_PER_SEC ; while (clock() < endwait) {} - } + } */ @@ -331,8 +370,6 @@ namespace creaImageIO GimmickMessage(1,"WxViewerPlayer::OnExit() "<