]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIOWxViewer.h
Cleaned the viewer and deactivated color function
[creaImageIO.git] / src2 / creaImageIOWxViewer.h
index 9323e3de3e32d329e58065acdad0c0425548c8d6..e64704af6c579c452e69aee775bb3483b560fe91 100644 (file)
@@ -10,6 +10,7 @@
 #include <wx/splitter.h>
 
 #include <creaImageIOSystem.h>
+#include <creaImageIOImagePointerHolder.h>
 
 // For image preview 
 // vtk and wxvtk classes
 namespace creaImageIO
 {
 
-  class WxViewer : public wxFrame
-  {
+  class WxViewerPlayer;
 
-         public:
-                 friend class ThreadedMovie;
+  class WxViewer : public wxPanel
+  {
+  public:
     /// Ctor 
     WxViewer();
     WxViewer(wxWindow *parent, 
@@ -33,30 +35,46 @@ namespace creaImageIO
                   const wxSize& size);
     /// Dtor
     virtual ~WxViewer();
-       ///Shows the image in the vector as a movie
-       void ShowImages();
-       ///Shows the image passed as parameter
-       void ShowImage(vtkImageData* im);
-       ///Adds an image to the selection
-       void AddImage(vtkImageData* im);
-       ///Clears the selection of images
-       void ClearImages();
-       ///Returns true if the image vector is empty
-       bool ImagesEmpty();
+    /// 
+    void ShowNextImage();
+
+       void StartPlayer();
+
+    void StopPlayer();
+
+    bool RefreshIfNecessary();
+
+       void SetImageVector(std::vector<ImagePointerHolder*>& pointers);
+  
 
   private:
-       /// Previewer
+   ///Shows the image passed as parameter
+    void ShowImage(vtkImageData* im);
+
+    /// Previewer
     vtkImageViewer2* mViewer;
     /// Associated wxvtk interactor
-       crea::creawxVTKRenderWindowInteractor  *mInteractor;
-  
+    crea::creawxVTKRenderWindowInteractor  *mInteractor;
+    
+    /// Current extent 
     int mx1,mx2,my1,my2,mz1,mz2;
+    /// Current spacing
     double mspx,mspy,mspz;
 
-       /// The vector of images to show
-       std::vector<vtkImageData*> images;
-       ///The threaded movie
-       ThreadedMovie* mMovie;
+    /// 
+    int mCurrent;
+    ///The threaded movie player
+    WxViewerPlayer* mPlayer;
+
+    /// The mutex
+    wxMutex mMutex;
+
+    /// 
+    bool mNeedRefresh;
+
+       
+    vtkImageData* mLastImageShown;
+       std::vector<ImagePointerHolder*> imagePointers;
 
   };
 
@@ -64,4 +82,4 @@ namespace creaImageIO
 
 #endif // USE_WIDGETS
 // EOF
-#endif  
\ No newline at end of file
+#endif