00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00023 #ifndef __vtkWinCEOpenGLRenderWindow_h
00024 #define __vtkWinCEOpenGLRenderWindow_h
00025
00026 #include "vtkOpenGLRenderWindow.h"
00027
00028 #include "GL/osmesa.h"
00029
00030 class vtkIdList;
00031
00032 class VTK_RENDERING_EXPORT vtkWinCEOpenGLRenderWindow : public vtkOpenGLRenderWindow
00033 {
00034 public:
00035 static vtkWinCEOpenGLRenderWindow *New();
00036 vtkTypeMacro(vtkWinCEOpenGLRenderWindow,vtkOpenGLRenderWindow);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040 virtual void Start(void);
00041
00043 void Frame(void);
00044
00046 virtual void WindowInitialize(void);
00047
00052 virtual void Initialize(void);
00053
00058 virtual void Finalize(void);
00059
00061 virtual void SetFullScreen(int);
00062
00064 virtual void WindowRemap(void);
00065
00067 virtual void PrefFullScreen(void);
00068
00070 virtual void SetSize(int,int);
00071
00073 virtual int *GetSize();
00074
00076 virtual void SetPosition(int,int);
00077
00079 virtual int *GetScreenSize();
00080
00082 virtual int *GetPosition();
00083
00086 virtual void SetWindowName(char *);
00087
00089 void SetWindowInfo(char *);
00090
00091 void SetNextWindowInfo(char *);
00092
00094 void SetParentInfo(char *);
00095
00096
00097 virtual void *GetGenericDisplayId() {return (void *)this->OffScreenContextId;};
00098 virtual void *GetGenericWindowId() {return (void *)this->WindowId;};
00099 virtual void *GetGenericParentId() {return (void *)this->ParentId;};
00100 virtual void *GetGenericContext() {return (void *)this->DeviceContext;};
00101 virtual void SetDisplayId(void *) {};
00102
00104
00105 virtual HWND GetWindowId();
00106 void SetWindowId(void *foo) {this->SetWindowId((HWND)foo);};
00108
00110 virtual void SetWindowId(HWND);
00111
00113
00114 virtual void SetParentId(HWND);
00115 void SetParentId(void *foo) {this->SetParentId((HWND)foo);};
00117
00119 virtual void SetNextWindowId(HWND);
00120
00121 virtual void SetNextWindowId(void *);
00122
00123
00128 virtual void SetStereoCapableWindow(int capable);
00129
00131 void MakeCurrent();
00132
00136 void SetForceMakeCurrent();
00137
00140 virtual int GetEventPending();
00141
00143 void Clean();
00144
00146
00148 void HideCursor();
00149 void ShowCursor();
00151
00152 protected:
00153 vtkWinCEOpenGLRenderWindow();
00154 ~vtkWinCEOpenGLRenderWindow();
00155
00156 HINSTANCE ApplicationInstance;
00157
00158 OSMesaContext OffScreenContextId;
00159 void *OffScreenWindow;
00160
00161 HDC DeviceContext;
00162 HWND WindowId;
00163 HWND ParentId;
00164 HWND NextWindowId;
00165 int OwnWindow;
00166 int ScreenSize[2];
00167
00168
00169
00170 virtual LRESULT MessageProc(HWND hWnd, UINT message,
00171 WPARAM wParam, LPARAM lParam);
00172
00173 static LRESULT APIENTRY WndProc(HWND hWnd, UINT message,
00174 WPARAM wParam, LPARAM lParam);
00175
00176 int CursorHidden;
00177 int ForceMakeCurrent;
00178
00179 void ResizeWhileOffscreen(int xsize, int ysize);
00180 void CreateAWindow(int x, int y, int width, int height);
00181 void InitializeApplication();
00182 private:
00183 vtkWinCEOpenGLRenderWindow(const vtkWinCEOpenGLRenderWindow&);
00184 void operator=(const vtkWinCEOpenGLRenderWindow&);
00185 };
00186
00187
00188 #endif
00189