VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Rendering/OpenGL2/vtkXOpenGLRenderDevice.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004 
00005   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00006   All rights reserved.
00007   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00014 #ifndef vtkXOpenGLRenderDevice_h
00015 #define vtkXOpenGLRenderDevice_h
00016 
00017 #include "vtkAbstractRenderDevice.h"
00018 #include "vtkRenderingOpenGL2Module.h" // For export macro
00019 #include <X11/Xutil.h> // Needed for X types used in the public interface
00020 
00021 class vtkXInteractionDevice;
00022 
00023 class VTKRENDERINGOPENGL2_EXPORT vtkXOpenGLRenderDevice
00024   : public vtkAbstractRenderDevice
00025 {
00026 public:
00027   vtkTypeMacro(vtkXOpenGLRenderDevice, vtkAbstractRenderDevice)
00028   void PrintSelf(ostream& os, vtkIndent indent);
00029 
00030   static vtkXOpenGLRenderDevice* New();
00031 
00032   virtual bool CreateNewWindow(const vtkRecti &geometry, const std::string &name);
00033 
00034   virtual void MakeCurrent();
00035 
00036 protected:
00037   vtkXOpenGLRenderDevice();
00038   ~vtkXOpenGLRenderDevice();
00039 
00040   Window ParentId;
00041   Window WindowId;
00042   Display *DisplayId;
00043   Colormap ColorMap;
00044 
00045   bool OwnDisplay; // Do we own the display?
00046   bool OwnWindow; // Do we own the window?
00047   bool OffScreenRendering; // Is this for off screen rendering?
00048   bool Mapped;
00049 
00050   double Borders;
00051 
00052 private:
00053   vtkXOpenGLRenderDevice(const vtkXOpenGLRenderDevice&);  // Not implemented.
00054   void operator=(const vtkXOpenGLRenderDevice&);  // Not implemented.
00055 
00056   class Private;
00057   Private *Internal;
00058 
00059   friend class vtkXInteractionDevice;
00060 };
00061 
00062 #endif