dox/Rendering/vtkCocoaRenderWindow.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00027 #ifndef __vtkCocoaRenderWindow_h
00028 #define __vtkCocoaRenderWindow_h
00029
00030 #include "vtkOpenGLRenderWindow.h"
00031 #include <OpenGL/gl.h>
00032
00033 class vtkIdList;
00034
00035 class VTK_RENDERING_EXPORT vtkCocoaRenderWindow : public vtkOpenGLRenderWindow
00036 {
00037 public:
00038 static vtkCocoaRenderWindow *New();
00039 vtkTypeRevisionMacro(vtkCocoaRenderWindow,vtkOpenGLRenderWindow);
00040 void PrintSelf(ostream& os, vtkIndent indent);
00041
00043 virtual void Start(void);
00044
00046 virtual void Frame(void);
00047
00049 virtual void WindowConfigure(void);
00050
00052 virtual void WindowInitialize(void);
00053
00055 virtual void Initialize(void);
00056
00058 virtual void SetFullScreen(int);
00059
00061 virtual void WindowRemap(void);
00062
00064 virtual void PrefFullScreen(void);
00065
00067 virtual void SetSize(int,int);
00068
00070 virtual int *GetSize();
00071
00073 virtual void SetPosition(int,int);
00074
00076 virtual int *GetScreenSize();
00077
00079 virtual int *GetPosition();
00080
00083 virtual void SetWindowName(const char *);
00084
00086 virtual void SetWindowInfo(void *);
00087
00088
00089 virtual void *GetGenericDisplayId() {return (void *)this->ContextId;};
00090 virtual void *GetGenericWindowId() {return (void *)this->WindowId;};
00091 virtual void *GetGenericContext() {return (void *)this->DeviceContext;};
00092 virtual void SetDisplayId(void *) {};
00093 virtual void SetParentId(void *)
00094 {
00095 vtkWarningMacro("Method not implemented.");
00096 }
00097 virtual void* GetGenericParentId()
00098 {
00099 vtkWarningMacro("Method not implemented.");
00100 return 0;
00101 }
00102 virtual void* GetGenericDrawable()
00103 {
00104 vtkWarningMacro("Method not implemented.");
00105 return 0;
00106 }
00107 virtual void SetWindowInfo(char*)
00108 {
00109 vtkWarningMacro("Method not implemented.");
00110 }
00111 virtual void SetParentInfo(char*)
00112 {
00113 vtkWarningMacro("Method not implemented.");
00114 }
00115
00117 virtual void *GetWindowId();
00118
00120 virtual void SetWindowId(void *);
00121
00122 void SetContextId(void *);
00123 void SetDeviceContext(void *);
00124
00125
00126
00127
00128 vtkSetMacro(MultiSamples,int);
00129 vtkGetMacro(MultiSamples,int);
00130
00132 virtual void StereoUpdate();
00133
00138 virtual void SetStereoCapableWindow(int capable);
00139
00141 virtual void MakeCurrent();
00142
00144 const char *ReportCapabilities();
00145
00147 int SupportsOpenGL();
00148
00150 int IsDirect();
00151
00155 virtual void SetForceMakeCurrent();
00156
00159 virtual int GetEventPending();
00160
00168 virtual void OpenGLInit();
00169 virtual void SetupPalette(void *hDC);
00170 virtual void SetupPixelFormat(void *hDC, void *dwFlags, int debug,
00171 int bpp=16, int zbpp=16);
00173
00175 void Clean();
00176
00178 void RegisterTextureResource (GLuint id);
00179
00181 int GetDepthBufferSize();
00182
00184
00186 virtual void HideCursor();
00187 virtual void ShowCursor();
00189
00190 void UpdateSizeAndPosition(int xPos, int yPos, int xSize, int ySize);
00191
00192
00193 protected:
00194 vtkCocoaRenderWindow();
00195 ~vtkCocoaRenderWindow();
00196
00197 int ApplicationInitialized;
00198 void *ContextId;
00199 void *DeviceContext;
00200 void *WindowId;
00201 void *WindowController;
00202 int OwnWindow;
00203 int ScreenSize[2];
00204 int MultiSamples;
00205 vtkIdList *TextureResourceIds;
00206
00207 int GetPixelData(int x,int y,int x2,int y2,int front, unsigned char* data);
00208 int GetZbufferData( int x1, int y1, int x2, int y2, float* z );
00209 int GetRGBAPixelData(int x,int y,int x2,int y2, int front, float* data);
00210 int GetRGBACharPixelData(int x,int y,int x2,int y2, int front,
00211 unsigned char* data);
00212
00213
00214
00215
00216
00217
00218
00219 int ScreenMapped;
00220 int ScreenWindowSize[2];
00221 void *ScreenDeviceContext;
00222 int ScreenDoubleBuffer;
00223 void *ScreenContextId;
00224
00225 int CursorHidden;
00226 int ForceMakeCurrent;
00227
00228 char *Capabilities;
00229
00230 private:
00231 vtkCocoaRenderWindow(const vtkCocoaRenderWindow&);
00232 void operator=(const vtkCocoaRenderWindow&);
00233 };
00234
00235 #endif