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

dox/Rendering/vtkXMesaRenderWindow.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkXMesaRenderWindow.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00034 #ifndef __vtkXMesaRenderWindow_h 00035 #define __vtkXMesaRenderWindow_h 00036 00037 #include "vtkMesaRenderWindow.h" 00038 #include <X11/Xlib.h> // Needed for X types used in the public interface 00039 #include <X11/Xutil.h> // Needed for X types used in the public interface 00040 00041 class vtkIdList; 00042 class vtkXMesaRenderWindowInternal; 00043 00044 class VTK_RENDERING_EXPORT vtkXMesaRenderWindow : public vtkMesaRenderWindow 00045 { 00046 public: 00047 static vtkXMesaRenderWindow *New(); 00048 vtkTypeRevisionMacro(vtkXMesaRenderWindow,vtkMesaRenderWindow); 00049 void PrintSelf(ostream& os, vtkIndent indent); 00050 00052 virtual void Start(void); 00053 00055 virtual void Frame(void); 00056 00058 virtual void WindowInitialize(void); 00059 00061 virtual void Initialize(void); 00062 00064 virtual void SetFullScreen(int); 00065 00067 virtual void WindowRemap(void); 00068 00070 virtual void PrefFullScreen(void); 00071 00073 00074 virtual void SetSize(int,int); 00075 virtual void SetSize(int a[2]) {this->SetSize(a[0], a[1]);}; 00077 00079 00080 virtual Colormap GetDesiredColormap(); 00081 virtual Visual *GetDesiredVisual(); 00082 virtual XVisualInfo *GetDesiredVisualInfo(); 00083 virtual int GetDesiredDepth(); 00085 00090 virtual void SetStereoCapableWindow(int capable); 00091 00093 void MakeCurrent(); 00094 00098 void SetForceMakeCurrent(); 00099 00101 const char *ReportCapabilities(); 00102 00104 int SupportsOpenGL(); 00105 00107 int IsDirect(); 00108 00110 00111 virtual void *GetGenericDisplayId() {return (void *)this->GetDisplayId();}; 00112 virtual void *GetGenericWindowId(); 00113 virtual void *GetGenericParentId() {return (void *)this->ParentId;}; 00114 virtual void *GetGenericContext(); 00115 virtual void *GetGenericDrawable() {return (void *)this->WindowId;}; 00117 00119 virtual int *GetScreenSize(); 00120 00122 virtual int *GetPosition(); 00123 00125 Display *GetDisplayId(); 00126 00128 00130 void SetDisplayId(Display *); 00131 void SetDisplayId(void *); 00133 00135 Window GetParentId(); 00136 00138 00139 void SetParentId(Window); 00140 void SetParentId(void *); 00142 00144 Window GetWindowId(); 00145 00147 00148 void SetWindowId(Window); 00149 void SetWindowId(void *); 00151 00153 00154 void SetNextWindowId(Window); 00155 void SetWindowName(const char *); 00157 00159 00160 void SetPosition(int,int); 00161 void SetPosition(int a[2]) {this->SetPosition(a[0], a[1]);}; 00163 00165 00167 void HideCursor(); 00168 void ShowCursor(); 00170 00172 virtual void SetCurrentCursor(int); 00173 00176 virtual int GetEventPending(); 00177 00179 void SetWindowInfo(char *info); 00180 00182 void SetParentInfo(char *info); 00183 00186 void Render(); 00187 00189 void SetOffScreenRendering(int i); 00190 00191 protected: 00192 vtkXMesaRenderWindow(); 00193 ~vtkXMesaRenderWindow(); 00194 00195 vtkXMesaRenderWindowInternal *Internal; 00196 00197 Window ParentId; 00198 Window WindowId; 00199 Window NextWindowId; 00200 Display *DisplayId; 00201 Colormap ColorMap; 00202 int OwnWindow; 00203 int OwnDisplay; 00204 int ScreenSize[2]; 00205 int CursorHidden; 00206 int ForceMakeCurrent; 00207 int UsingHardware; 00208 char *Capabilities; 00209 00210 // we must keep track of the cursors we are using 00211 Cursor XCArrow; 00212 Cursor XCSizeAll; 00213 Cursor XCSizeNS; 00214 Cursor XCSizeWE; 00215 Cursor XCSizeNE; 00216 Cursor XCSizeNW; 00217 Cursor XCSizeSE; 00218 Cursor XCSizeSW; 00219 00220 private: 00221 vtkXMesaRenderWindow(const vtkXMesaRenderWindow&); // Not implemented. 00222 void operator=(const vtkXMesaRenderWindow&); // Not implemented. 00223 }; 00224 00225 00226 00227 #endif