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

vtkWindow.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkWindow.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 =========================================================================*/
00032 #ifndef __vtkWindow_h
00033 #define __vtkWindow_h
00034 
00035 #include "vtkObject.h"
00036 
00037 class vtkUnsignedCharArray;
00038 
00039 class VTK_COMMON_EXPORT vtkWindow : public vtkObject
00040 {
00041 public:
00042   vtkTypeRevisionMacro(vtkWindow,vtkObject);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044 
00046 
00048   virtual void SetDisplayId(void *) = 0;
00049   virtual void SetWindowId(void *)  = 0;
00050   virtual void SetParentId(void *)  = 0;
00051   virtual void *GetGenericDisplayId() = 0;
00052   virtual void *GetGenericWindowId()  = 0;
00053   virtual void *GetGenericParentId()  = 0;
00054   virtual void *GetGenericContext()   = 0;
00055   virtual void *GetGenericDrawable()  = 0;  
00056   virtual void SetWindowInfo(char *) = 0;
00057   virtual void SetParentInfo(char *) = 0;
00059 
00061 
00062   virtual int *GetPosition();
00063   virtual void SetPosition(int,int);
00064   virtual void SetPosition(int a[2]);
00066 
00068 
00069   virtual int *GetSize();
00070   virtual void SetSize(int,int);
00071   virtual void SetSize(int a[2]);
00073 
00075 
00076   vtkSetMacro(Mapped,int);
00077   vtkGetMacro(Mapped,int);
00078   vtkBooleanMacro(Mapped,int);
00080 
00082 
00086   vtkSetMacro(Erase,int);
00087   vtkGetMacro(Erase,int);
00088   vtkBooleanMacro(Erase,int);
00090 
00092 
00093   vtkSetMacro(DoubleBuffer,int);
00094   vtkGetMacro(DoubleBuffer,int);
00095   vtkBooleanMacro(DoubleBuffer,int);
00097 
00099 
00100   vtkGetStringMacro(WindowName);
00101   virtual void SetWindowName(const char *);
00103 
00106   virtual void Render() = 0;
00107 
00109 
00117   virtual unsigned char *GetPixelData(int, int, int, int, int) = 0;
00118   virtual int GetPixelData(int ,int ,int ,int , int,
00119                            vtkUnsignedCharArray*) = 0;
00121 
00123 
00125   vtkGetMacro(DPI,int);
00126   vtkSetClampMacro(DPI,int,1,3000);
00128   
00130 
00133   vtkSetMacro(OffScreenRendering,int);
00134   vtkGetMacro(OffScreenRendering,int);
00135   vtkBooleanMacro(OffScreenRendering,int);
00137 
00140   virtual void MakeCurrent() {};
00141 
00143 
00148   vtkSetMacro(TileScale,int);
00149   vtkGetMacro(TileScale,int);
00150   vtkSetVector4Macro(TileViewport,float);
00151   vtkGetVector4Macro(TileViewport,float);
00153   
00154 
00155 protected:
00156   int OffScreenRendering;
00157   vtkWindow();
00158   ~vtkWindow();
00159 
00160   char *WindowName;
00161   int Size[2];
00162   int Position[2];
00163   int Mapped;
00164   int Erase;
00165   int DoubleBuffer;
00166   int DPI;
00167 
00168   float TileViewport[4];
00169   int   TileSize[2];
00170   int   TileScale;
00171   
00172 private:
00173   vtkWindow(const vtkWindow&);  // Not implemented.
00174   void operator=(const vtkWindow&);  // Not implemented.
00175 };
00176 
00177 #endif
00178 
00179