• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

dox/Rendering/vtkCarbonRenderWindowInteractor.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkCarbonRenderWindowInteractor.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00028 #ifndef __vtkCarbonRenderWindowInteractor_h
00029 #define __vtkCarbonRenderWindowInteractor_h
00030 
00031 #include "vtkRenderWindowInteractor.h"
00032 
00033 // The 10.3.9 SDK (and older probably) have a bug in fp.h (in the Carbon
00034 // umbrella framework) which this works around. Without this, there
00035 // would be a compile error from the Carbon header if Python wrappings
00036 // were enabled.
00037 #include <AvailabilityMacros.h> // Needed for MAC_OS_X_VERSION_MAX_ALLOWED
00038 #if MAC_OS_X_VERSION_MAX_ALLOWED < 1040
00039   #define scalb scalbn
00040 #endif
00041 
00042 #include <Carbon/Carbon.h> // Carbon and Mac specific
00043 
00044 
00045 class VTK_RENDERING_EXPORT vtkCarbonRenderWindowInteractor : public vtkRenderWindowInteractor {
00046 public:
00048   static vtkCarbonRenderWindowInteractor *New();
00049 
00050   vtkTypeRevisionMacro(vtkCarbonRenderWindowInteractor,vtkRenderWindowInteractor);
00051   void PrintSelf(ostream& os, vtkIndent indent);
00052 
00054   virtual void Initialize();
00055 
00057 
00064   virtual void Enable();
00065   virtual void Disable();
00067 
00071   virtual void Start();
00072 
00074 
00079   vtkSetMacro(InstallMessageProc,int);
00080   vtkGetMacro(InstallMessageProc,int);
00081   vtkBooleanMacro(InstallMessageProc,int);
00083 
00088   void TerminateApp(void);
00089 
00091 
00095   static void SetClassExitMethod(void (*f)(void *), void *arg);
00096   static void SetClassExitMethodArgDelete(void (*f)(void *));
00098 
00101   virtual void ExitCallback();
00102 
00103 protected:
00104   vtkCarbonRenderWindowInteractor();
00105   ~vtkCarbonRenderWindowInteractor();
00106 
00107   EventHandlerUPP   ViewProcUPP;
00108   EventHandlerUPP   WindowProcUPP;
00109   int               InstallMessageProc;
00110 
00111   //BTX
00113 
00116   static void (*ClassExitMethod)(void *);
00117   static void (*ClassExitMethodArgDelete)(void *);
00118   static void *ClassExitMethodArg;
00119   //ETX
00121 
00123 
00125   virtual int InternalCreateTimer(int timerId, int timerType, unsigned long duration);
00126   virtual int InternalDestroyTimer(int platformTimerId);
00128 
00129 private:
00130   vtkCarbonRenderWindowInteractor(const vtkCarbonRenderWindowInteractor&);  // Not implemented.
00131   void operator=(const vtkCarbonRenderWindowInteractor&);  // Not implemented.
00132 };
00133 
00134 #endif

Generated by  doxygen 1.7.1