X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src2%2FcreaImageIOWxViewer.h;h=e64704af6c579c452e69aee775bb3483b560fe91;hb=88745f8677503fa747963f8cd78c52f4b3deb35e;hp=9323e3de3e32d329e58065acdad0c0425548c8d6;hpb=6cac83c30fb8c3cd89c41685078eccff6e952a50;p=creaImageIO.git diff --git a/src2/creaImageIOWxViewer.h b/src2/creaImageIOWxViewer.h index 9323e3d..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,11 +20,12 @@ 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& 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; }; @@ -64,4 +82,4 @@ namespace creaImageIO #endif // USE_WIDGETS // EOF -#endif \ No newline at end of file +#endif