X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FcreawxVTKRenderWindowInteractor.cxx;h=ab565eed6bf64ca4b4435615db9b2d537585dff8;hb=9e7201b8488e634387f2ca91821f9964bbddc2ca;hp=251a7cd8233a558e831503ecec8bd2ce267f4119;hpb=946e6034021fe462f5a1604e18ea8121afb98a18;p=crea.git diff --git a/src/creawxVTKRenderWindowInteractor.cxx b/src/creawxVTKRenderWindowInteractor.cxx index 251a7cd..ab565ee 100644 --- a/src/creawxVTKRenderWindowInteractor.cxx +++ b/src/creawxVTKRenderWindowInteractor.cxx @@ -43,6 +43,8 @@ =========================================================================*/ + + #include #include "creawxVTKRenderWindowInteractor.h" @@ -61,7 +63,8 @@ // AKT: wxOSX 2.9.x defines __WXOSX_COCOA__ rather than __WXCOCOA__ #ifdef __WXOSX_COCOA__ -#define __WXCOCOA__ + #import + #define __WXCOCOA__ #endif #if defined(__WXMAC__) && wxCHECK_VERSION(2,9,0) @@ -77,6 +80,7 @@ #endif #endif + //======================================================================= // LG : NAMESPACE IS NECESSARY TO AVOID CONFLICTING SYMBOLS IN DYN LIBS namespace crea @@ -99,7 +103,7 @@ wxWindow* wxGetTopLevelParent(wxWindow *win) // To access objc calls on cocoa #ifdef __WXCOCOA__ #ifdef VTK_USE_COCOA -#import +//EED #import // This trick is no longer need in VTK CVS, should get rid of that: #define id Id #else @@ -220,7 +224,7 @@ namespace crea EVT_SIZE (wxVTKRenderWindowInteractor::OnSize) END_EVENT_TABLE() -vtkCxxRevisionMacro(wxVTKRenderWindowInteractor, "$Revision$") +//EED win Compilation why??: vtkCxxRevisionMacro(wxVTKRenderWindowInteractor, "$Revision$") vtkInstantiatorNewMacro(wxVTKRenderWindowInteractor) #if defined(__WXGTK__) && defined(USE_WXGLCANVAS) @@ -504,7 +508,19 @@ void wxVTKRenderWindowInteractor::OnPaint(wxPaintEvent& WXUNUSED(event)) if(!Handle) { Handle = GetHandleHack(); + +#ifdef __WXCOCOA__ + vtkCocoaRenderWindow *rwin = vtkCocoaRenderWindow::SafeDownCast(RenderWindow); + NSView *nvsview = (NSView* )Handle; + NSWindow *nswindow = nvsview.window; + rwin->SetRootWindow( nswindow ); + rwin->SetWindowId( reinterpret_cast(nvsview) ); +#else RenderWindow->SetWindowId(reinterpret_cast(Handle)); +#endif + + + // Cocoa // this->GetNSView() <-> DisplayId // this->GetTopLevel()->GetNSWindow() <-> WindowId @@ -923,6 +939,7 @@ void wxVTKRenderWindowInteractor::Render() RenderWindow->Render(); } #endif + } } //---------------------------------------------------------------------------