X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxViewer.h;h=e64704af6c579c452e69aee775bb3483b560fe91;hb=88745f8677503fa747963f8cd78c52f4b3deb35e;hp=21fbf50a46981357379dbdd6d710d3c6b827eb05;hpb=7c5180e6b19690ba9a264f2a66c04bc0a03c53ef;p=creaImageIO.git diff --git a/src2/creaImageIOWxViewer.h b/src2/creaImageIOWxViewer.h index 21fbf50..e64704a 100644 --- a/src2/creaImageIOWxViewer.h +++ b/src2/creaImageIOWxViewer.h @@ -10,6 +10,7 @@ #include #include +#include // For image preview // vtk and wxvtk classes @@ -19,13 +20,12 @@ namespace creaImageIO { - class ThreadedMovie; + class WxViewerPlayer; - class WxViewer : public wxFrame + class WxViewer : public wxPanel { - - public: - friend class ThreadedMovie; + + public: /// Ctor WxViewer(); WxViewer(wxWindow *parent, @@ -35,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& 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 images; - ///The threaded movie - ThreadedMovie* mMovie; + /// + int mCurrent; + ///The threaded movie player + WxViewerPlayer* mPlayer; + + /// The mutex + wxMutex mMutex; + + /// + bool mNeedRefresh; + + + vtkImageData* mLastImageShown; + std::vector imagePointers; };