Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkXOpenGLRenderWindow.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkXOpenGLRenderWindow.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 =========================================================================*/
00033 #ifndef __vtkXOpenGLRenderWindow_h
00034 #define __vtkXOpenGLRenderWindow_h
00035 
00036 #include "vtkOpenGLRenderWindow.h"
00037 #include <X11/Xlib.h> // Needed for X types used in the public interface
00038 #include <X11/Xutil.h> // Needed for X types used in the public interface
00039 
00040 class vtkIdList;
00041 class vtkXOpenGLRenderWindowInternal;
00042 
00043 class VTK_RENDERING_EXPORT vtkXOpenGLRenderWindow : public vtkOpenGLRenderWindow
00044 {
00045 public:
00046   static vtkXOpenGLRenderWindow *New();
00047   vtkTypeRevisionMacro(vtkXOpenGLRenderWindow,vtkOpenGLRenderWindow);
00048   void PrintSelf(ostream& os, vtkIndent indent);
00049 
00051   virtual void Start(void);
00052 
00054   virtual void Frame(void);
00055 
00057   virtual void WindowInitialize(void);
00058 
00063   virtual void Initialize(void);
00064 
00069   virtual void Finalize(void);
00070 
00072   virtual void SetFullScreen(int);
00073 
00075   virtual void WindowRemap(void);
00076 
00078   virtual void PrefFullScreen(void);
00079 
00081 
00082   virtual void SetSize(int,int);
00083   virtual void SetSize(int a[2]) {this->SetSize(a[0], a[1]);};
00085 
00087 
00088   virtual Colormap GetDesiredColormap();
00089   virtual Visual  *GetDesiredVisual();
00090   virtual XVisualInfo     *GetDesiredVisualInfo();
00091   virtual int      GetDesiredDepth();
00093 
00098   virtual void SetStereoCapableWindow(int capable);
00099 
00101   void MakeCurrent();
00102 
00106   void SetForceMakeCurrent();
00107 
00109   const char *ReportCapabilities();
00110 
00112   int SupportsOpenGL();
00113 
00115   int IsDirect();
00116 
00118 
00119   virtual void *GetGenericDisplayId() {return (void *)this->GetDisplayId();};
00120   virtual void *GetGenericWindowId();
00121   virtual void *GetGenericParentId()  {return (void *)this->ParentId;};
00122   virtual void *GetGenericContext();
00123   virtual void *GetGenericDrawable()  {return (void *)this->WindowId;};
00125   
00127   virtual int     *GetScreenSize();
00128 
00130   virtual int     *GetPosition();
00131 
00133   Display *GetDisplayId();
00134 
00136 
00138   void     SetDisplayId(Display *);
00139   void     SetDisplayId(void *);
00141 
00143   Window   GetParentId();
00144 
00146 
00147   void     SetParentId(Window);
00148   void     SetParentId(void *);
00150   
00152   Window   GetWindowId();
00153 
00155 
00156   void     SetWindowId(Window);
00157   void     SetWindowId(void *);
00159 
00161   void     SetNextWindowId(Window);
00162   
00165   void     SetNextWindowId(void *);
00166 
00167   void     SetWindowName(const char *);
00168 
00170 
00171   void     SetPosition(int,int);
00172   void     SetPosition(int a[2]) {this->SetPosition(a[0], a[1]);};
00174   
00176 
00178   void HideCursor();
00179   void ShowCursor();
00181 
00183   virtual void SetCurrentCursor(int);
00184 
00188   virtual  int GetEventPending();
00189   
00191   void     SetWindowInfo(char *info);
00192 
00194   void     SetNextWindowInfo(char *info);
00195 
00197   void     SetParentInfo(char *info);
00198 
00201   void Render();  
00202 
00204   void SetOffScreenRendering(int i);
00205 
00206 protected:
00207   vtkXOpenGLRenderWindow();
00208   ~vtkXOpenGLRenderWindow();
00209 
00210   vtkXOpenGLRenderWindowInternal *Internal;
00211   
00212   Window   ParentId;
00213   Window   WindowId;
00214   Window   NextWindowId;
00215   Display *DisplayId;
00216   Colormap ColorMap;
00217   int      OwnWindow;
00218   int      OwnDisplay;
00219   int      ScreenSize[2];
00220   int      CursorHidden;
00221   int      ForceMakeCurrent;
00222   int      UsingHardware;
00223   char    *Capabilities;
00224 
00225   // we must keep track of the cursors we are using
00226   Cursor XCArrow;
00227   Cursor XCSizeAll;
00228   Cursor XCSizeNS;
00229   Cursor XCSizeWE;
00230   Cursor XCSizeNE;
00231   Cursor XCSizeNW;
00232   Cursor XCSizeSE;
00233   Cursor XCSizeSW;
00234   
00235 private:
00236   vtkXOpenGLRenderWindow(const vtkXOpenGLRenderWindow&);  // Not implemented.
00237   void operator=(const vtkXOpenGLRenderWindow&);  // Not implemented.
00238 };
00239 
00240 
00241 
00242 #endif

Generated on Mon Jan 21 23:07:37 2008 for VTK by  doxygen 1.4.3-20050530