]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxViewer.cpp
*** empty log message ***
[creaImageIO.git] / src2 / creaImageIOWxViewer.cpp
index a566189298693f8103cbfd9a490b3b7e8b0e71c2..563d7fbdc7547bafe13a9e3e22592d343599a7c3 100644 (file)
@@ -65,6 +65,9 @@ namespace creaImageIO
     GimmickDebugMessage(1,"WxViewer::WxViewer"
                        <<std::endl);
 
+    mNeedRefresh = false;
+    mLastImageShown = NULL;
+
     wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
 
        
@@ -162,12 +165,17 @@ namespace creaImageIO
   void WxViewer::ShowNextImage()
   {
     wxMutexLocker lock(mMutex);
+    /*
     GimmickMessage(1,"WxViewer::ShowNextImage() "
                   <<mCurrent+1<<"/"
                   <<images.size()<<std::endl);
+    */
+    
     if (mCurrent<images.size()) 
       {
        ShowImage(images[mCurrent]);
+       if ( images[mCurrent] != mLastImageShown ) mNeedRefresh = true;
+       mLastImageShown = images[mCurrent];
       }
     mCurrent++;
     if (mCurrent >= images.size()) mCurrent = 0;
@@ -277,7 +285,19 @@ namespace creaImageIO
   }
 
    //================================================================
-  
+  bool WxViewer::RefreshIfNecessary()
+  {
+    if (mNeedRefresh)
+      {
+       GimmickMessage(1,"WxViewer : Refreshing"<<std::endl);
+       mInteractor->Render();
+       //      mViewer->Render();      
+       //      Refresh();
+       mNeedRefresh = false;
+       return true;
+      }
+    return false;
+  }
   //==================================================
   void WxViewer::StopPlayer()
   {
@@ -309,7 +329,8 @@ namespace creaImageIO
                if(!TestDestroy())
            { 
                        mWxViewer->ShowNextImage();
-                       mWxViewer->Refresh();
+                       //                      mWxViewer->Refresh();
+                       ::wxWakeUpIdle();
                        clock_t endwait;
                        endwait = clock () + 0.2 * CLOCKS_PER_SEC ;
                        while (clock() < endwait) {}