X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fwxvtk%2Fsrc%2FwxVTKRenderWindowInteractor.h;fp=packages%2Fwxvtk%2Fsrc%2FwxVTKRenderWindowInteractor.h;h=0000000000000000000000000000000000000000;hb=24a21c6d8b4c2e7b6fb11a78b7dede85ee7ff75d;hp=c7f60514cb2842929846979775cadaa2ebebaf4a;hpb=9a55784801f7fcfebbe935be9a7b68d8fd1cd6f2;p=bbtk.git diff --git a/packages/wxvtk/src/wxVTKRenderWindowInteractor.h b/packages/wxvtk/src/wxVTKRenderWindowInteractor.h deleted file mode 100644 index c7f6051..0000000 --- a/packages/wxvtk/src/wxVTKRenderWindowInteractor.h +++ /dev/null @@ -1,220 +0,0 @@ -/* - # --------------------------------------------------------------------- - # - # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image - # pour la SantÈ) - # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton - # Previous Authors : Laurent Guigues, Jean-Pierre Roux - # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil - # - # This software is governed by the CeCILL-B license under French law and - # abiding by the rules of distribution of free software. You can use, - # modify and/ or redistribute the software under the terms of the CeCILL-B - # license as circulated by CEA, CNRS and INRIA at the following URL - # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html - # or in the file LICENSE.txt. - # - # As a counterpart to the access to the source code and rights to copy, - # modify and redistribute granted by the license, users are provided only - # with a limited warranty and the software's author, the holder of the - # economic rights, and the successive licensors have only limited - # liability. - # - # The fact that you are presently reading this means that you have had - # knowledge of the CeCILL-B license and that you accept its terms. - # ------------------------------------------------------------------------ */ - - -/*========================================================================= - - Program: Visualization Toolkit - Module: $RCSfile$ - Language: C++ - Date: $Date$ - Version: $Revision$ - - Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen - All rights reserved. - See Copyright.txt or http://www.kitware.com/Copyright.htm for details. - - This software is distributed WITHOUT ANY WARRANTY; without even - the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR - PURPOSE. See the above copyright notice for more information. - -=========================================================================*/ - -// .NAME wxVTKRenderWindowInteractor - class to enable VTK to render to -// and interact with wxWindow. -// .SECTION Description -// wxVTKRenderWindowInteractor provide a VTK widget for wxWindow. This class -// was completely rewrote to have the 'Look & Feel' of the python version: -// wxVTKRenderWindowInteractor.py -// .SECTION Caveats -// - There is a know bug that prevent this class to works for more info see -// WX_USE_X_CAPTURE. This bug only affect wxGTK from 2.3.2 to wxGTK 2.4.0. -// - Furthermore this class is tempated over either wxWindows or wxGLCanvas, -// in wxWindows 2.3.1 and earlier, the wxGLCanvas had scroll bars, you can avoid -// this effect by playing with WX_BASE_CLASS at your risk (you might end up with -// lot of flickering.) -// - This class might not be easily readable as it tried to work with VTK 3.2 -// and 4.x. This class doesn't support reparenting with VTK 4.2 and earlier. -// .SECTION see also -// wxVTKRenderWindowInteractor.py wxVTKRenderWindow.py - -#ifndef _wxVTKRenderWindowInteractor_h_ -#define _wxVTKRenderWindowInteractor_h_ - -// For compilers that support precompilation, includes "wx/wx.h". -#include "wx/wxprec.h" - -#ifdef __BORLANDC__ -# pragma hdrstop -#endif - -#ifndef WX_PRECOMP -#include -#endif - -#include -#include - -// vtk includes -#include "vtkRenderWindowInteractor.h" -#include "vtkRenderWindow.h" - -#define USE_WXGLCANVAS - -#if defined(__WXGTK__) && defined(USE_WXGLCANVAS) -# if wxUSE_GLCANVAS -# include -# else -# error "problem of wxGLCanvas, you need to build wxWidgets with opengl" -# endif //wxUSE_GLCANVAS -#endif //__WXGTK__ - -// Motif version (renamed into wxX11 for wxWindow 2.4 and newer) -#if defined(__WXMOTIF__) -# error This GUI is not supported by wxVTKRenderWindowInteractor for now -#endif - -// wx forward declarations -class wxPaintEvent; -class wxMouseEvent; -class wxTimerEvent; -class wxKeyEvent; -class wxSizeEvent; - -//======================================================================= -// LG : NAMESPACE IS NECESSARY TO AVOID CONFLICTING SYMBOLS IN DYN LIBS -namespace bbwxvtk -{ - - -#if defined(__WXGTK__) && defined(USE_WXGLCANVAS) -class wxVTKRenderWindowInteractor : public wxGLCanvas, public vtkRenderWindowInteractor -#else -class wxVTKRenderWindowInteractor : public wxWindow, public vtkRenderWindowInteractor -#endif //__WXGTK__ -{ -//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 -#if wxMAJOR_VERSION <= 2 - DECLARE_DYNAMIC_CLASS(wxVTKRenderWindowInteractor) -#else - wxDECLARE_DYNAMIC_CLASS(wxVTKRenderWindowInteractor); -#endif - - public: - //constructors - wxVTKRenderWindowInteractor(); - - wxVTKRenderWindowInteractor(wxWindow *parent, - wxWindowID id, - const wxPoint &pos = wxDefaultPosition, - const wxSize &size = wxDefaultSize, - long style = wxWANTS_CHARS | wxNO_FULL_REPAINT_ON_RESIZE, - const wxString &name = wxPanelNameStr); - vtkTypeRevisionMacro(wxVTKRenderWindowInteractor,vtkRenderWindowInteractor); - static wxVTKRenderWindowInteractor * New(); - void PrintSelf(ostream& os, vtkIndent indent); - - //destructor - ~wxVTKRenderWindowInteractor(); - - // vtkRenderWindowInteractor overrides - void Initialize(); - void Enable(); - bool Enable(bool enable); - void Disable(); - void Start(); - void UpdateSize(int x, int y); - int CreateTimer(int timertype); - int DestroyTimer(); - void TerminateApp() {}; - - // event handlers - void OnPaint(wxPaintEvent &event); - void OnEraseBackground (wxEraseEvent& event); - void OnMotion(wxMouseEvent &event); - - void OnButtonDown(wxMouseEvent &event); - void OnButtonUp(wxMouseEvent &event); -#if !(VTK_MAJOR_VERSION == 3 && VTK_MINOR_VERSION == 1) - void OnEnter(wxMouseEvent &event); - void OnLeave(wxMouseEvent &event); - void OnMouseWheel(wxMouseEvent& event); -#if wxCHECK_VERSION(2, 8, 0) - void OnMouseCaptureLost(wxMouseCaptureLostEvent& event); -#endif - void OnKeyDown(wxKeyEvent &event); - void OnKeyUp(wxKeyEvent &event); - void OnChar(wxKeyEvent &event); -#endif - void OnTimer(wxTimerEvent &event); - void OnSize(wxSizeEvent &event); - - void Render(); - void SetRenderWhenDisabled(int newValue); - - // Description: - // Prescribe that the window be created in a stereo-capable mode. This - // method must be called before the window is realized. Default if off. - vtkGetMacro(Stereo,int); - vtkBooleanMacro(Stereo,int); - virtual void SetStereo(int capable); - - // Description: - // As CaptureMouse could be a problem sometimes on a window box - // This method allow to set or not the CaptureMouse. - // This method actually will works only if WX_USE_X_CAPTURE was set to 1 - vtkSetMacro(UseCaptureMouse,int); - vtkBooleanMacro(UseCaptureMouse,int); - -#if VTK_MAJOR_VERSION > 5 || (VTK_MAJOR_VERSION == 5 && VTK_MINOR_VERSION >= 2) - protected: - virtual int InternalCreateTimer(int timerId, int timerType, unsigned long duration); - virtual int InternalDestroyTimer(int platformTimerId); -#endif - - protected: -#if defined(__WXGTK__) && defined(USE_WXGLCANVAS) - wxGLContext *context; -#endif - wxTimer timer; - int ActiveButton; - long GetHandleHack(); - int Stereo; - - private: - long Handle; - bool Created; - int RenderWhenDisabled; - int UseCaptureMouse; - - DECLARE_EVENT_TABLE() -}; - -} -// LG : EO namespace bbwxvtk -//====================================================================== - -#endif //_wxVTKRenderWindowInteractor_h_