Commit da50d6c1 authored by Sean McBride's avatar Sean McBride
Browse files

Purge support for OS X 10.5 and Carbon

Minimum SDK and deployment is now 10.6.
parent 0e0059d3
...@@ -289,10 +289,6 @@ IF(APPLE) ...@@ -289,10 +289,6 @@ IF(APPLE)
SET(CTEST_CUSTOM_WARNING_EXCEPTION SET(CTEST_CUSTOM_WARNING_EXCEPTION
${CTEST_CUSTOM_WARNING_EXCEPTION} ${CTEST_CUSTOM_WARNING_EXCEPTION}
"warning -.: directory name .* does not exist" "warning -.: directory name .* does not exist"
# Almost all of Carbon is deprecated, so mask deprecation warnings out
# of dashboard results for Carbon-specific files.
"vtkCarbonRenderWindow.*warning.*is deprecated"
) )
ENDIF() ENDIF()
......
...@@ -4,11 +4,12 @@ set(VTK_USE_X_DEFAULT OFF) ...@@ -4,11 +4,12 @@ set(VTK_USE_X_DEFAULT OFF)
if(APPLE AND NOT APPLE_IOS) if(APPLE AND NOT APPLE_IOS)
option(VTK_USE_COCOA "Use Cocoa for VTK render windows" ON) option(VTK_USE_COCOA "Use Cocoa for VTK render windows" ON)
option(VTK_USE_CARBON "Use Carbon for VTK render windows (deprecated)" OFF) mark_as_advanced(VTK_USE_COCOA)
mark_as_advanced(VTK_USE_COCOA VTK_USE_CARBON)
if(VTK_USE_COCOA AND VTK_USE_CARBON) # VTK_USE_CARBON was deprecated for several releases, then removed in VTK 7.
message(FATAL_ERROR "You can't enable Carbon and Cocoa - you must choose one.") if (VTK_USE_CARBON)
endif() message(FATAL_ERROR "Carbon support has been removed, but it appears that it was requested. If you require Carbon support, use VTK 6.x. Otherwise, turn off the VTK_USE_CARBON option.")
endif ()
elseif(UNIX AND NOT ANDROID AND NOT APPLE_IOS) elseif(UNIX AND NOT ANDROID AND NOT APPLE_IOS)
set(VTK_USE_X_DEFAULT ON) set(VTK_USE_X_DEFAULT ON)
endif() endif()
...@@ -23,7 +24,7 @@ unset(VTK_CAN_DO_OFFSCREEN) ...@@ -23,7 +24,7 @@ unset(VTK_CAN_DO_OFFSCREEN)
if(VTK_OPENGL_HAS_OSMESA OR WIN32) if(VTK_OPENGL_HAS_OSMESA OR WIN32)
set(VTK_CAN_DO_OFFSCREEN 1) set(VTK_CAN_DO_OFFSCREEN 1)
endif() endif()
if(VTK_USE_X OR VTK_USE_CARBON OR VTK_USE_COCOA OR WIN32 OR ANDROID OR APPLE_IOS) if(VTK_USE_X OR VTK_USE_COCOA OR WIN32 OR ANDROID OR APPLE_IOS)
set(VTK_USE_OSMESA FALSE) set(VTK_USE_OSMESA FALSE)
else() else()
set(VTK_USE_OSMESA TRUE) set(VTK_USE_OSMESA TRUE)
......
...@@ -301,6 +301,10 @@ if(APPLE) ...@@ -301,6 +301,10 @@ if(APPLE)
CMAKE_OSX_DEPLOYMENT_TARGET CMAKE_OSX_DEPLOYMENT_TARGET
CMAKE_OSX_SYSROOT CMAKE_OSX_SYSROOT
) )
if (CMAKE_OSX_DEPLOYMENT_TARGET AND CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS 10.6)
message(FATAL_ERROR "Minimun OS X deployment target is 10.6, please update CMAKE_OSX_DEPLOYMENT_TARGET.")
endif ()
endif() endif()
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
......
...@@ -99,9 +99,7 @@ int vtkMultiThreader::GetGlobalDefaultNumberOfThreads() ...@@ -99,9 +99,7 @@ int vtkMultiThreader::GetGlobalDefaultNumberOfThreads()
#endif #endif
#ifdef __APPLE__ #ifdef __APPLE__
// Determine the number of CPU cores. Prefer sysctlbyname() // Determine the number of CPU cores.
// over MPProcessors() because it doesn't require CoreServices
// (which is only available in 32bit on Mac OS X 10.4).
// hw.logicalcpu takes into account cores/CPUs that are // hw.logicalcpu takes into account cores/CPUs that are
// disabled because of power management. // disabled because of power management.
size_t dataLen = sizeof(int); // 'num' is an 'int' size_t dataLen = sizeof(int); // 'num' is an 'int'
......
...@@ -14,18 +14,12 @@ IF (VTK_USE_MPI) ...@@ -14,18 +14,12 @@ IF (VTK_USE_MPI)
if (MPI_CXX_LIBRARIES) if (MPI_CXX_LIBRARIES)
TARGET_LINK_LIBRARIES(ParallelIso ${MPI_CXX_LIBRARIES}) TARGET_LINK_LIBRARIES(ParallelIso ${MPI_CXX_LIBRARIES})
endif() endif()
IF(APPLE AND VTK_USE_CARBON)
TARGET_LINK_LIBRARIES(ParallelIso "-framework Carbon")
ENDIF()
ENDIF () ENDIF ()
SET(TaskPara_SRCS TaskParallelism.cxx task1.cxx task2.cxx) SET(TaskPara_SRCS TaskParallelism.cxx task1.cxx task2.cxx)
ADD_EXECUTABLE(TaskParallelism ${TaskPara_SRCS}) ADD_EXECUTABLE(TaskParallelism ${TaskPara_SRCS})
TARGET_LINK_LIBRARIES (TaskParallelism vtkParallel) TARGET_LINK_LIBRARIES (TaskParallelism vtkParallel)
IF(APPLE AND VTK_USE_CARBON)
TARGET_LINK_LIBRARIES(TaskParallelism "-framework Carbon")
ENDIF()
# ADD_EXECUTABLE(SimpleBenchmark SimpleBenchmark.cxx) # ADD_EXECUTABLE(SimpleBenchmark SimpleBenchmark.cxx)
# TARGET_LINK_LIBRARIES(SimpleBenchmark vtkParallel ${MPI_LIBRARIES} ) # TARGET_LINK_LIBRARIES(SimpleBenchmark vtkParallel ${MPI_LIBRARIES} )
......
...@@ -97,12 +97,6 @@ if(VTK_USE_X) ...@@ -97,12 +97,6 @@ if(VTK_USE_X)
vtk_module_link_libraries(${vtk-module} LINK_PRIVATE ${X11_LIBRARIES}) vtk_module_link_libraries(${vtk-module} LINK_PRIVATE ${X11_LIBRARIES})
endif() endif()
if(APPLE)
if(VTK_USE_CARBON)
vtk_module_link_libraries(${vtk-module} LINK_PRIVATE "-framework Carbon" )
endif()
endif()
# This build plugin logic should just get migrated into a module I think. # This build plugin logic should just get migrated into a module I think.
if(BUILD_SHARED_LIBS) if(BUILD_SHARED_LIBS)
set(PluginLibSrcs Q4VTKWidgetPlugin.cxx) set(PluginLibSrcs Q4VTKWidgetPlugin.cxx)
......
...@@ -55,9 +55,6 @@ ...@@ -55,9 +55,6 @@
#include "vtkInteractorStyleTrackballCamera.h" #include "vtkInteractorStyleTrackballCamera.h"
#include "vtkRenderWindow.h" #include "vtkRenderWindow.h"
#if defined(QVTK_USE_CARBON)
# include "vtkCarbonRenderWindow.h"
#endif
#include "vtkCommand.h" #include "vtkCommand.h"
#include "vtkOStrStreamWrapper.h" #include "vtkOStrStreamWrapper.h"
#include "vtkObjectFactory.h" #include "vtkObjectFactory.h"
...@@ -104,11 +101,6 @@ QVTKWidget::QVTKWidget(QWidget* p, Qt::WindowFlags f) ...@@ -104,11 +101,6 @@ QVTKWidget::QVTKWidget(QWidget* p, Qt::WindowFlags f)
this->mCachedImage->SetOrigin(0,0,0); this->mCachedImage->SetOrigin(0,0,0);
this->mCachedImage->SetSpacing(1,1,1); this->mCachedImage->SetSpacing(1,1,1);
#if defined(QVTK_USE_CARBON)
this->DirtyRegionHandler = 0;
this->DirtyRegionHandlerUPP = 0;
#endif
mIrenAdapter = new QVTKInteractorAdapter(this); mIrenAdapter = new QVTKInteractorAdapter(this);
} }
...@@ -268,27 +260,6 @@ void QVTKWidget::SetRenderWindow(vtkRenderWindow* w) ...@@ -268,27 +260,6 @@ void QVTKWidget::SetRenderWindow(vtkRenderWindow* w)
this->mRenWin->AddObserver(vtkCommand::RenderEvent, this->mRenWin->AddObserver(vtkCommand::RenderEvent,
this, &QVTKWidget::renderEventCallback); this, &QVTKWidget::renderEventCallback);
} }
#if defined(QVTK_USE_CARBON)
if(mRenWin && !this->DirtyRegionHandlerUPP)
{
this->DirtyRegionHandlerUPP = NewEventHandlerUPP(QVTKWidget::DirtyRegionProcessor);
static EventTypeSpec events[] = { {'cute', 20}, {'Cute', 20} };
// kEventClassQt, kEventQtRequestWindowChange from qt_mac_p.h
// Suggested by Sam Magnuson at Trolltech as best portabile hack
// around Apple's missing functionality in HI Toolbox.
InstallEventHandler(GetApplicationEventTarget(), this->DirtyRegionHandlerUPP,
GetEventTypeCount(events), events,
reinterpret_cast<void*>(this), &this->DirtyRegionHandler);
}
else if(!mRenWin && this->DirtyRegionHandlerUPP)
{
RemoveEventHandler(this->DirtyRegionHandler);
DisposeEventHandlerUPP(this->DirtyRegionHandlerUPP);
this->DirtyRegionHandler = 0;
this->DirtyRegionHandlerUPP = 0;
}
#endif
} }
...@@ -849,22 +820,6 @@ bool QVTKWidget::nativeEvent(const QByteArray& eventType, void* message, long* r ...@@ -849,22 +820,6 @@ bool QVTKWidget::nativeEvent(const QByteArray& eventType, void* message, long* r
#endif #endif
#endif #endif
#if defined (QVTK_USE_CARBON)
OSStatus QVTKWidget::DirtyRegionProcessor(EventHandlerCallRef, EventRef event, void* wid)
{
QVTKWidget* widget = reinterpret_cast<QVTKWidget*>(wid);
UInt32 event_kind = GetEventKind(event);
UInt32 event_class = GetEventClass(event);
if((event_class == 'cute' || event_class == 'Cute') && event_kind == 20)
{
static_cast<vtkCarbonRenderWindow*>(widget->GetRenderWindow())->UpdateGLRegion();
}
return eventNotHandledErr;
}
#endif
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
bool QVTKWidget::paintCachedImage() bool QVTKWidget::paintCachedImage()
{ {
......
...@@ -55,20 +55,12 @@ class vtkTDxDevice; ...@@ -55,20 +55,12 @@ class vtkTDxDevice;
#if defined(Q_WS_MAC) #if defined(Q_WS_MAC)
# if defined(QT_MAC_USE_COCOA) && defined(VTK_USE_COCOA) # if defined(QT_MAC_USE_COCOA) && defined(VTK_USE_COCOA)
# define QVTK_USE_COCOA # define QVTK_USE_COCOA
# elif !defined(QT_MAC_USE_COCOA) && defined(VTK_USE_CARBON)
# define QVTK_USE_CARBON
# elif defined(VTK_USE_COCOA) # elif defined(VTK_USE_COCOA)
# error "VTK configured to use Cocoa, but Qt configured to use Carbon" # error "VTK configured to use Cocoa, but Qt configured to use Carbon"
# elif defined(VTK_USE_CARBON)
# error "VTK configured to use Carbon, but Qt configured to use Cocoa"
# endif # endif
#endif #endif
#if defined(QVTK_USE_CARBON)
#include <Carbon/Carbon.h> // Event handling for dirty region
#endif
#include "QVTKWin32Header.h" #include "QVTKWin32Header.h"
//! QVTKWidget displays a VTK window in a Qt window. //! QVTKWidget displays a VTK window in a Qt window.
...@@ -257,12 +249,6 @@ protected: ...@@ -257,12 +249,6 @@ protected:
#endif #endif
#if defined(QVTK_USE_CARBON)
EventHandlerUPP DirtyRegionHandlerUPP;
EventHandlerRef DirtyRegionHandler;
static OSStatus DirtyRegionProcessor(EventHandlerCallRef er, EventRef event, void*);
#endif
protected: protected:
vtkImageData* mCachedImage; vtkImageData* mCachedImage;
......
...@@ -70,9 +70,6 @@ const char *vtkGraphicsFactory::GetRenderLibrary() ...@@ -70,9 +70,6 @@ const char *vtkGraphicsFactory::GetRenderLibrary()
#ifdef VTK_DISPLAY_WIN32_OGL #ifdef VTK_DISPLAY_WIN32_OGL
temp = "Win32OpenGL"; temp = "Win32OpenGL";
#endif #endif
#ifdef VTK_DISPLAY_CARBON
temp = "CarbonOpenGL";
#endif
#ifdef VTK_DISPLAY_COCOA #ifdef VTK_DISPLAY_COCOA
temp = "CocoaOpenGL"; temp = "CocoaOpenGL";
#endif #endif
......
...@@ -9,11 +9,7 @@ set(VTK_USE_X_DEFAULT OFF) ...@@ -9,11 +9,7 @@ set(VTK_USE_X_DEFAULT OFF)
if(APPLE) if(APPLE)
option(VTK_USE_COCOA "Use Cocoa for VTK render windows" ON) option(VTK_USE_COCOA "Use Cocoa for VTK render windows" ON)
option(VTK_USE_CARBON "Use Carbon for VTK render windows (deprecated)" OFF) mark_as_advanced(VTK_USE_COCOA)
mark_as_advanced(VTK_USE_COCOA VTK_USE_CARBON)
if(VTK_USE_COCOA AND VTK_USE_CARBON)
message(FATAL_ERROR "You can't enable Carbon and Cocoa - you must choose one.")
endif()
elseif(UNIX) elseif(UNIX)
set(VTK_USE_X_DEFAULT ON) set(VTK_USE_X_DEFAULT ON)
endif() endif()
...@@ -30,7 +26,7 @@ if(VTK_OPENGL_HAS_OSMESA OR WIN32) ...@@ -30,7 +26,7 @@ if(VTK_OPENGL_HAS_OSMESA OR WIN32)
set(VTK_CAN_DO_OFFSCREEN 1) set(VTK_CAN_DO_OFFSCREEN 1)
endif() endif()
mark_as_advanced(VTK_OPENGL_HAS_OSMESA VTK_USE_OFFSCREEN) mark_as_advanced(VTK_OPENGL_HAS_OSMESA VTK_USE_OFFSCREEN)
if(VTK_USE_X OR VTK_USE_CARBON OR VTK_USE_COCOA OR WIN32) if(VTK_USE_X OR VTK_USE_COCOA OR WIN32)
set(VTK_USE_OSMESA FALSE) set(VTK_USE_OSMESA FALSE)
else() else()
set(VTK_USE_OSMESA TRUE) set(VTK_USE_OSMESA TRUE)
...@@ -400,16 +396,6 @@ elseif(VTK_USE_COCOA) ...@@ -400,16 +396,6 @@ elseif(VTK_USE_COCOA)
PROPERTIES COMPILE_FLAGS "${VTK_REQUIRED_OBJCXX_FLAGS}") PROPERTIES COMPILE_FLAGS "${VTK_REQUIRED_OBJCXX_FLAGS}")
endif() endif()
set_source_files_properties(vtkCocoaGLView WRAP_EXCLUDE) set_source_files_properties(vtkCocoaGLView WRAP_EXCLUDE)
elseif(VTK_USE_CARBON)
# Add some custom overrides
list(APPEND vtk_module_overrides "vtkRenderWindowInteractor")
set(vtk_module_vtkRenderWindowInteractor_override "vtkCarbonRenderWindowInteractor")
list(APPEND vtk_module_overrides "vtkRenderWindow")
set(vtk_module_vtkRenderWindow_override "vtkCarbonRenderWindow")
list(APPEND Module_SRCS
vtkCarbonRenderWindowInteractor.cxx
vtkCarbonRenderWindow.cxx
)
endif() endif()
# Now to see about the GPU info list. # Now to see about the GPU info list.
...@@ -485,8 +471,6 @@ if(VTK_USE_X) ...@@ -485,8 +471,6 @@ if(VTK_USE_X)
LINK_PUBLIC ${X11_LIBRARIES} ${X11_Xt_LIB}) LINK_PUBLIC ${X11_LIBRARIES} ${X11_Xt_LIB})
elseif(VTK_USE_COCOA) elseif(VTK_USE_COCOA)
vtk_module_link_libraries(vtkRenderingOpenGL LINK_PUBLIC "-framework Cocoa") vtk_module_link_libraries(vtkRenderingOpenGL LINK_PUBLIC "-framework Cocoa")
elseif(VTK_USE_CARBON)
vtk_module_link_libraries(vtkRenderingOpenGL LINK_PUBLIC "-framework Carbon")
endif() endif()
if(VTK_OPENGL_HAS_OSMESA) if(VTK_OPENGL_HAS_OSMESA)
......
This diff is collapsed.
/*=========================================================================
Program: Visualization Toolkit
Module: vtkCarbonRenderWindow.h
Copyright (c) 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 vtkCarbonRenderWindow - Carbon OpenGL rendering window
//
// .SECTION Description
// vtkCarbonRenderWindow is a concrete implementation of the abstract
// class vtkOpenGLRenderWindow. It is only available on Mac OS X 10.3
// and later.
// To use this class, build VTK with VTK_USE_CARBON turned ON.
// This class can be used only by 32 bit processes, as Carbon is
// unavailable in 64 bit. If you need 64 bit support, use
// vtkCocoaRenderWindow.
// vtkCarbonRenderWindow interfaces to the OpenGL graphics library using
// the Carbon AGL APIs.
//
// .SECTION See Also
// vtkOpenGLRenderWindow vtkCocoaRenderWindow
#ifndef vtkCarbonRenderWindow_h
#define vtkCarbonRenderWindow_h
#if defined(__LP64__) && __LP64__
#error VTK_USE_CARBON cannot work in 64 bit; use VTK_USE_COCOA instead.
#endif
#if defined(MAC_OS_X_VERSION_MAX_ALLOWED) && (MAC_OS_X_VERSION_MAX_ALLOWED >= 1070)
#error VTK_USE_CARBON cannot work with the OS X 10.7 SDK or later; use VTK_USE_COCOA instead.
#endif
#include "vtkRenderingOpenGLModule.h" // For export macro
#include "vtkOpenGLRenderWindow.h"
#include <Carbon/Carbon.h> // Carbon and Mac specific
#include <AGL/agl.h> // Carbon and Mac specific
class vtkCarbonRenderWindowInternal;
class VTKRENDERINGOPENGL_EXPORT vtkCarbonRenderWindow : public vtkOpenGLRenderWindow
{
public:
static vtkCarbonRenderWindow *New();
vtkTypeMacro(vtkCarbonRenderWindow,vtkOpenGLRenderWindow);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Begin the rendering process.
void Start();
// Description:
// End the rendering process and display the image.
void Frame();
// Description:
// Specify various window parameters.
virtual void WindowConfigure();
// Description:
// Create the window.
virtual void WindowInitialize();
// Description:
// Initialize the rendering window. This will setup all system-specific
// resources. This method and Finalize() must be symmetric and it
// should be possible to call them multiple times, even changing WindowId
// in-between. This is what WindowRemap does.
virtual void Initialize();
// Description:
// Finalize the rendering window. This will shutdown all system-specifc
// resources. After having called this, it should be possible to destroy
// a window that was used for a SetWindowId() call without any ill effects.
virtual void Finalize();
// Description:
// Create a rendering area in memory.
void SetOffScreenRendering(int);
// Description:
// Change the window to fill the entire screen.
virtual void SetFullScreen(int);
// Description:
// Remap the window.
virtual void WindowRemap();
// Description:
// Set the preferred window size to full screen.
virtual void PrefFullScreen();
// Description:
// Set the size of the window in pixels.
virtual void SetSize(int a[2]);
virtual void SetSize(int,int);
// Description:
// Get the current size of the window in pixels.
virtual int *GetSize();
// Description:
// Set the position of the window.
virtual void SetPosition(int a[2]);
virtual void SetPosition(int,int);
// Description:
// Get the current size of the screen in pixels.
virtual int *GetScreenSize();
// Description:
// Get the position in screen coordinates of the window.
virtual int *GetPosition();
// Description:
// Set the name of the window. This appears at the top of the window
// normally.
virtual void SetWindowName(const char *);
// Description:
// Set this RenderWindow's window id to a pre-existing window.
void SetWindowInfo(char *);
void SetNextWindowInfo(char *)
{
vtkWarningMacro("SetNextWindowInfo not implemented (WindowRemap not implemented).");
}
//BTX
virtual void *GetGenericDisplayId() {return NULL;}
virtual void *GetGenericWindowId() {return (void *)this->WindowId;}
virtual void *GetGenericParentId() {return (void *)this->ParentId;}
virtual AGLContext GetContextId();
virtual void *GetGenericContext() {return (void*)this->GetContextId();}
virtual void SetDisplayId(void *) {}
virtual void* GetGenericDrawable()
{
vtkWarningMacro("GetGenericDrawable Method not implemented.");
return 0;
}
void SetParentInfo(char*)
{
vtkWarningMacro("SetParentInfo Method not implemented.");
}
// Description:
// Get the HIView window pointer.
virtual HIViewRef GetWindowId();
// Set the HIView window pointer.
void SetWindowId(void *foo) {this->SetWindowId((HIViewRef)foo);};
void SetNextWindowId(void*)
{
vtkWarningMacro("SetNextWindowId not implemented (WindowRemap not implemented).");
}
// Description:
// Set the parent HIView.
virtual void SetParentId(HIViewRef);
void SetParentId(void *foo) {this->SetParentId((HIViewRef)foo);};
// Description:
// Set the HIVIew pointer to a pre-existing window.
virtual void SetWindowId(HIViewRef);
// Description:
// Set the root window id. Use this when using non-HIView GUIs.
void SetRootWindow(WindowPtr win);
WindowPtr GetRootWindow();
//ETX
// supply base class virtual function
vtkSetMacro(MultiSamples,int);
vtkGetMacro(MultiSamples,int);
// Description:
// Prescribe that the window be created in a stereo-capable mode. This
// method must be called before the window is realized. This method
// overrrides the superclass method since this class can actually check
// whether the window has been realized yet.
virtual void SetStereoCapableWindow(int capable);
// Description:
// Make this windows OpenGL context the current context.
void MakeCurrent();
// Description:
// Tells if this window is the current OpenGL context for the calling thread.
virtual bool IsCurrent();
// Description:
// If called, allow MakeCurrent() to skip cache-check when called.
// MakeCurrent() reverts to original behavior of cache-checking
// on the next render.
void SetForceMakeCurrent();
// Description:
// Is this render window using hardware acceleration? 0-false, 1-true.
// Always true for Carbon.
virtual int IsDirect();
// Description:
// Check to see if an event is pending for this window.
// This is a useful check to abort a long render.
virtual int GetEventPending();
// Description:
// Get the size of the depth buffer.
int GetDepthBufferSize();
// Description:
// Hide or Show the mouse cursor, it is nice to be able to hide the
// default cursor if you want VTK to display a 3D cursor instead.
void HideCursor();
void ShowCursor();
void UpdateSizeAndPosition(int xPos, int yPos, int xSize, int ySize);
// Description:
// Fix the GL region. The AGL_BUFFER_RECT and AGL_CLIP_REGION will be updated
void UpdateGLRegion();
protected:
vtkCarbonRenderWindow();
~vtkCarbonRenderWindow();
vtkCarbonRenderWindowInternal* Internal;
int ApplicationInitialized; // Toolboxen initialized?
GLint aglAttributes[64]; // input: pixel format attributes always required
// (reset to what was actually allocated)
AGLContext ContextId;
HIViewRef WindowId;
HIViewRef ParentId;
WindowPtr RootWindow;
int OwnWindow;
int ScreenSize[2];
int CursorHidden;
int ForceMakeCurrent;
// data and handlers to keep the GL view coincident with the HIView
EventHandlerUPP RegionEventHandlerUPP;
EventHandlerRef RegionEventHandler;
static OSStatus RegionEventProcessor(EventHandlerCallRef er,
EventRef event,
void*);
void InitializeApplication();
</