=========================================================================*/
-#import <Cocoa/Cocoa.h>
+//#import <Cocoa/Cocoa.h>
#include <assert.h>
#include "creawxVTKRenderWindowInteractor.h"
+#include <wx/display.h>
+
+
//This is needed for vtk 3.1 :
#ifndef VTK_MAJOR_VERSION
# include "vtkVersion.h"
// To access objc calls on cocoa
#ifdef __WXCOCOA__
#ifdef VTK_USE_COCOA
-//EED #import <Cocoa/Cocoa.h>
+#import <Cocoa/Cocoa.h>
// This trick is no longer need in VTK CVS, should get rid of that:
#define id Id
#else
Size[0] = x;
Size[1] = y;
// and our RenderWindow's size
+
+#ifdef __WXCOCOA__
+ #ifdef VTK_USE_COCOA
+ #else
+ #endif //VTK_USE_COCOA
+#else
RenderWindow->SetSize(x, y);
+#endif //__WXCOCOA__
+
#if defined(__WXMSW__)
this->Refresh();
#endif //__WXMSW__
- }
- }
+ } // if x y
+ } // if RenderWindow
}
//---------------------------------------------------------------------------
int wxVTKRenderWindowInteractor::CreateTimer(int WXUNUSED(timertype))
// in wxPython/src/helpers.cpp
long wxVTKRenderWindowInteractor::GetHandleHack()
{
-printf("EED wxVTKRenderWindowInteractor::GetHandleHack start \n");
//helper function to hide the MSW vs GTK stuff
long handle_tmp = 0;
// Find and return the actual X-Window.
#if defined(__WXGTK__) || defined(__WXX11__)
-printf("EED wxVTKRenderWindowInteractor::GetHandleHack End AAA handle_tmp %ld \n", handle_tmp);
-printf("EED wxVTKRenderWindowInteractor::GetHandleHack End AAA handle_tmp %ld \n", (long)GetXWindow(this));
return (long)GetXWindow(this);
#endif
// handle_tmp = (long)this->GetXWindow();
//#endif
-printf("EED wxVTKRenderWindowInteractor::GetHandleHack End BBB handle_tmp %ld \n", handle_tmp);
return handle_tmp;
}
//---------------------------------------------------------------------------
void wxVTKRenderWindowInteractor::OnPaint(wxPaintEvent& WXUNUSED(event))
{
-printf("EED wxVTKRenderWindowInteractor::OnPaint Start \n");
//must always be here
//EED2021-08-26 wxPaintDC pDC(this);
-printf("EED wxVTKRenderWindowInteractor::OnPaint 1 \n");
-
//do it here rather than in the cstor: this is safer.
if(!Handle)
{
-printf("EED wxVTKRenderWindowInteractor::OnPaint 2 \n");
Handle = GetHandleHack();
#ifdef __WXCOCOA__
-printf("EED wxVTKRenderWindowInteractor::OnPaint 3 \n");
vtkCocoaRenderWindow *rwin = vtkCocoaRenderWindow::SafeDownCast(RenderWindow);
+//2021-08-30
+// rwin->SetWantsBestResolution(true);
+
NSView *nvsview = (NSView* )Handle;
NSWindow *nswindow = nvsview.window;
rwin->SetRootWindow( nswindow );
rwin->SetWindowId( reinterpret_cast<void *>(nvsview) );
#else
-printf("EED wxVTKRenderWindowInteractor::OnPaint 4 \n");
RenderWindow->SetWindowId(reinterpret_cast<void *>(Handle));
#endif
-
-
-printf("EED wxVTKRenderWindowInteractor::OnPaint 5 \n");
// Cocoa
// this->GetNSView() <-> DisplayId
// this->GetTopLevel()->GetNSWindow() <-> WindowId
#ifdef __WXMSW__
-printf("EED wxVTKRenderWindowInteractor::OnPaint 6 \n");
RenderWindow->SetParentId(reinterpret_cast<void *>(this->GetParent()->GetHWND()));
#endif //__WXMSW__
}
// get vtk to render to the wxWindows
-printf("EED wxVTKRenderWindowInteractor::OnPaint 7 \n");
-
- Render();
+Render();
#ifdef __WXMAC__
-printf("EED wxVTKRenderWindowInteractor::OnPaint 8 \n");
// This solves a problem with repainting after a window resize
// See also: http://sourceforge.net/mailarchive/forum.php?thread_id=31690967&forum_id=41789
#ifdef __WXCOCOA__
-printf("EED wxVTKRenderWindowInteractor::OnPaint 9 \n");
#if !wxCHECK_VERSION(2, 9, 0)
// this doesn't seem necessary with wxOSX 2.9.x
-printf("EED wxVTKRenderWindowInteractor::OnPaint 10 \n");
vtkCocoaRenderWindow * rwin = vtkCocoaRenderWindow::SafeDownCast(RenderWindow);
if( rwin )
{
-printf("EED wxVTKRenderWindowInteractor::OnPaint 11 \n");
rwin->UpdateContext();
}
#endif
#else
-printf("EED wxVTKRenderWindowInteractor::OnPaint 12 \n");
+
vtkCarbonRenderWindow* rwin = vtkCarbonRenderWindow::SafeDownCast(RenderWindow);
if( rwin )
{
-printf("EED wxVTKRenderWindowInteractor::OnPaint 13 \n");
#if VTK_MAJOR_VERSION > 4 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 4)
// Must be somewhere after VTK 4.4
-printf("EED wxVTKRenderWindowInteractor::OnPaint 14 \n");
rwin->UpdateGLRegion();
#endif
}
#endif
#endif
-
-printf("EED wxVTKRenderWindowInteractor::OnPaint 15 \n");
-
-printf("EED wxVTKRenderWindowInteractor::OnPaint End \n");
-
}
+
//---------------------------------------------------------------------------
void wxVTKRenderWindowInteractor::OnEraseBackground(wxEraseEvent &event)
{
#endif
//this will check for Handle
//Render();
+
}
+
//---------------------------------------------------------------------------
void wxVTKRenderWindowInteractor::OnMotion(wxMouseEvent &event)
{
return;
}
#if VTK_MAJOR_VERSION > 4 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 0)
+
SetEventInformationFlipY(event.GetX(), event.GetY(),
event.ControlDown(), event.ShiftDown(), '\0', 0, NULL);
//---------------------------------------------------------------------------
void wxVTKRenderWindowInteractor::Render()
{
-printf("EED wxVTKRenderWindowInteractor::Render Start \n");
#if wxCHECK_VERSION(2, 8, 0)
int renderAllowed = !IsFrozen();
#else
#endif
if(Handle && (Handle == GetHandleHack()) )
{
-printf("EED wxVTKRenderWindowInteractor::Render 1 \n");
RenderWindow->Render();
-printf("EED wxVTKRenderWindowInteractor::Render 2 \n");
}
#if VTK_MAJOR_VERSION > 4 || (VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 2)
else if(GetHandleHack())
}
#endif
-printf("EED wxVTKRenderWindowInteractor::Render End \n");
-
}
}
//---------------------------------------------------------------------------