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

dox/Rendering/vtkWinCEOpenGLRenderWindow.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkWinCEOpenGLRenderWindow.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 =========================================================================*/ 00027 #ifndef __vtkWinCEOpenGLRenderWindow_h 00028 #define __vtkWinCEOpenGLRenderWindow_h 00029 00030 #include "vtkOpenGLRenderWindow.h" 00031 00032 #include "GL/osmesa.h" // Needed for Mesa types 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 //BTX 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 //ETX 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 //BTX 00162 // message handler 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 //ETX 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&); // Not implemented. 00177 void operator=(const vtkWinCEOpenGLRenderWindow&); // Not implemented. 00178 }; 00179 00180 00181 #endif 00182