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

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