/////////////////////////////////////////////////////////////////////////////
// Name: glcanvas.cpp
-// Purpose: wxGLCanvas, for using OpenGL with wxWindows under Macintosh
+// Purpose: wxGLCanvas, for using OpenGL with wxWidgets under Macintosh
// Author: Stefan Csomor
// Modified by:
// Created: 1998-01-01
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "glcanvas.h"
#endif
#pragma hdrstop
#endif
-#include "wx/setup.h"
-
#if wxUSE_GLCANVAS
#ifndef WX_PRECOMP
#include "wx/glcanvas.h"
#include "wx/mac/uma.h"
+// DLL options compatibility check:
+#include "wx/build.h"
+WX_CHECK_BUILD_OPTIONS("wxGL")
+
/*
* GLContext implementation
*/
{
m_window = win;
- m_drawable = (AGLDrawable) UMAGetWindowPort(MAC_WXHWND(win->MacGetRootWindow()));
+ m_drawable = (AGLDrawable) UMAGetWindowPort(MAC_WXHWND(win->MacGetTopLevelWindowRef()));
m_glContext = aglCreateContext(fmt, other ? other->m_glContext : NULL);
wxCHECK_RET( m_glContext, wxT("Couldn't create OpenGl context") );
}
}
-void wxGLContext::SetColour(const char *colour)
+void wxGLContext::SetColour(const wxChar *colour)
{
- float r = 0.0;
- float g = 0.0;
- float b = 0.0;
- wxColour *col = wxTheColourDatabase->FindColour(colour);
- if (col)
+ wxColour col = wxTheColourDatabase->Find(colour);
+ if (col.Ok())
{
- r = (float)(col->Red()/256.0);
- g = (float)(col->Green()/256.0);
- b = (float)(col->Blue()/256.0);
+ float r = (float)(col.Red()/256.0);
+ float g = (float)(col.Green()/256.0);
+ float b = (float)(col.Blue()/256.0);
glColor3f( r, g, b);
}
}
int width, height;
GetClientSize(& width, & height);
Rect bounds ;
- GetWindowPortBounds( MAC_WXHWND(MacGetRootWindow()) , &bounds ) ;
+ GetWindowPortBounds( MAC_WXHWND(MacGetTopLevelWindowRef()) , &bounds ) ;
GLint parms[4] ;
parms[0] = x ;
parms[1] = bounds.bottom - bounds.top - ( y + height ) ;
}
}
-void wxGLCanvas::SetColour(const char *colour)
+void wxGLCanvas::SetColour(const wxChar *colour)
{
if (m_glContext)
m_glContext->SetColour(colour);
{
if ( !wxWindow::Show( show ) )
return FALSE ;
-
+/*
if ( !show )
{
if ( m_macCanvasIsShown )
}
else
{
- if ( MacIsReallyShown() && !m_macCanvasIsShown )
+ if ( m_peer->IsVisible()&& !m_macCanvasIsShown )
{
m_macCanvasIsShown = true ;
SetViewport() ;
}
}
+*/
return TRUE ;
}
-void wxGLCanvas::MacSuperShown( bool show )
+void wxGLCanvas::MacVisibilityChanged()
{
- if ( !show )
+ if ( !MacIsReallyShown() )
{
if ( m_macCanvasIsShown )
{
}
else
{
- if ( MacIsReallyShown() && !m_macCanvasIsShown )
+ if ( !m_macCanvasIsShown )
{
m_macCanvasIsShown = true ;
SetViewport() ;
}
}
-
- wxWindow::MacSuperShown( show ) ;
+ wxWindowMac::MacVisibilityChanged() ;
}
//---------------------------------------------------------------------------