00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00057 #ifndef __vtkMesaRenderWindow_h
00058 #define __vtkMesaRenderWindow_h
00059
00060 #include "MangleMesaInclude/gl_mangle.h"
00061 #include <MangleMesaInclude/gl.h>
00062
00063
00064
00065 #include <stdlib.h>
00066 #include "vtkRenderWindow.h"
00067
00068 class vtkIdList;
00069
00070 class VTK_RENDERING_EXPORT vtkMesaRenderWindow : public vtkRenderWindow
00071 {
00072 protected:
00073 int MultiSamples;
00074 long OldMonitorSetting;
00075
00076 public:
00077 vtkTypeMacro(vtkMesaRenderWindow,vtkRenderWindow);
00078 void PrintSelf(ostream& os, vtkIndent indent);
00079 static vtkMesaRenderWindow *New();
00080
00082
00083 static void SetGlobalMaximumNumberOfMultiSamples(int val);
00084 static int GetGlobalMaximumNumberOfMultiSamples();
00086
00088
00090 vtkSetMacro(MultiSamples,int);
00091 vtkGetMacro(MultiSamples,int);
00093
00095 virtual void StereoUpdate();
00096
00098
00099 virtual unsigned char *GetPixelData(int x,int y,int x2,int y2,int front);
00100 virtual void SetPixelData(int x,int y,int x2,int y2,unsigned char *,
00101 int front);
00103
00105
00106 virtual float *GetRGBAPixelData(int x,int y,int x2,int y2,int front);
00107 virtual void SetRGBAPixelData(int x,int y,int x2,int y2,float *,int front,
00108 int blend=0);
00109 virtual void ReleaseRGBAPixelData(float *data);
00110 virtual unsigned char *GetRGBACharPixelData(int x,int y,int x2,int y2,
00111 int front);
00112 virtual void SetRGBACharPixelData(int x,int y,int x2,int y2,unsigned char *,
00113 int front, int blend=0);
00115
00117
00118 virtual float *GetZbufferData( int x1, int y1, int x2, int y2 );
00119 virtual void SetZbufferData( int x1, int y1, int x2, int y2, float *buffer );
00121
00123 void MakeCurrent() = 0;
00124
00126 void RegisterTextureResource (GLuint id);
00127
00129 int GetDepthBufferSize();
00130
00132 virtual void OpenGLInit();
00133
00134 protected:
00135 vtkMesaRenderWindow();
00136 ~vtkMesaRenderWindow();
00137
00138 vtkIdList *TextureResourceIds;
00139 private:
00140 vtkMesaRenderWindow(const vtkMesaRenderWindow&);
00141 void operator=(const vtkMesaRenderWindow&);
00142 };
00143
00144 #endif