00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00027
#ifndef __vtkWinCEOpenGLRenderWindow_h
00028
#define __vtkWinCEOpenGLRenderWindow_h
00029
00030
#include "vtkOpenGLRenderWindow.h"
00031
00032
#include "GL/osmesa.h"
00033
00034
class vtkIdList;
00035
00036 class VTK_RENDERING_EXPORT vtkWinCEOpenGLRenderWindow :
public vtkOpenGLRenderWindow
00037 {
00038
public:
00039
static vtkWinCEOpenGLRenderWindow *
New();
00040 vtkTypeRevisionMacro(vtkWinCEOpenGLRenderWindow,
vtkOpenGLRenderWindow);
00041
void PrintSelf(ostream& os,
vtkIndent indent);
00042
00044
virtual void Start(
void);
00045
00047
void Frame(
void);
00048
00050
virtual void WindowInitialize(
void);
00051
00053
virtual void Initialize(
void);
00054
00056
virtual void SetFullScreen(
int);
00057
00059
virtual void WindowRemap(
void);
00060
00062
virtual void PrefFullScreen(
void);
00063
00065
virtual void SetSize(
int,
int);
00066
00068
virtual int *
GetSize();
00069
00071
virtual void SetPosition(
int,
int);
00072
00074
virtual int *GetScreenSize();
00075
00077
virtual int *
GetPosition();
00078
00081
virtual void SetWindowName(
char *);
00082
00084
void SetWindowInfo(
char *);
00085
00087
void SetParentInfo(
char *);
00088
00089
00090 virtual void *
GetGenericDisplayId() {
return (
void *)this->OffScreenContextId;};
00091 virtual void *
GetGenericWindowId() {
return (
void *)this->WindowId;};
00092 virtual void *
GetGenericParentId() {
return (
void *)this->ParentId;};
00093 virtual void *
GetGenericContext() {
return (
void *)this->DeviceContext;};
00094 virtual void SetDisplayId(
void *) {};
00095
00097
00098
virtual HWND GetWindowId();
00099 void SetWindowId(
void *foo) {this->
SetWindowId((HWND)foo);};
00101
00103
virtual void SetWindowId(HWND);
00104
00106
00107
virtual void SetParentId(HWND);
00108 void SetParentId(
void *foo) {this->
SetParentId((HWND)foo);};
00110
00112
00113
virtual void SetNextWindowId(HWND);
00114
00116
00121
virtual void SetStereoCapableWindow(
int capable);
00122
00124
void MakeCurrent();
00125
00129
void SetForceMakeCurrent();
00130
00133
virtual int GetEventPending();
00134
00136
void Clean();
00137
00139
00141
void HideCursor();
00142
void ShowCursor();
00144
00145
protected:
00146 vtkWinCEOpenGLRenderWindow();
00147 ~vtkWinCEOpenGLRenderWindow();
00148
00149 HINSTANCE ApplicationInstance;
00150
00151 OSMesaContext OffScreenContextId;
00152 void *OffScreenWindow;
00153
00154 HDC DeviceContext;
00155 HWND WindowId;
00156 HWND ParentId;
00157 HWND NextWindowId;
00158 int OwnWindow;
00159 int ScreenSize[2];
00160
00161
00162
00163
virtual LRESULT MessageProc(HWND hWnd, UINT message,
00164 WPARAM wParam, LPARAM lParam);
00165
00166
static LRESULT APIENTRY WndProc(HWND hWnd, UINT message,
00167 WPARAM wParam, LPARAM lParam);
00168
00169 int CursorHidden;
00170 int ForceMakeCurrent;
00171
00172
void ResizeWhileOffscreen(
int xsize,
int ysize);
00173
void CreateAWindow(
int x,
int y,
int width,
int height);
00174
void InitializeApplication();
00175
private:
00176 vtkWinCEOpenGLRenderWindow(
const vtkWinCEOpenGLRenderWindow&);
00177
void operator=(
const vtkWinCEOpenGLRenderWindow&);
00178 };
00179
00180
00181
#endif
00182