VTK
vtkWindow.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkWindow.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
28 #ifndef __vtkWindow_h
29 #define __vtkWindow_h
30 
31 #include "vtkObject.h"
32 
34 
36 {
37 public:
38  vtkTypeMacro(vtkWindow,vtkObject);
39  void PrintSelf(ostream& os, vtkIndent indent);
40 
42 
44  virtual void SetDisplayId(void *) = 0;
45  virtual void SetWindowId(void *) = 0;
46  virtual void SetParentId(void *) = 0;
47  virtual void *GetGenericDisplayId() = 0;
48  virtual void *GetGenericWindowId() = 0;
49  virtual void *GetGenericParentId() = 0;
50  virtual void *GetGenericContext() = 0;
51  virtual void *GetGenericDrawable() = 0;
52  virtual void SetWindowInfo(char *) = 0;
53  virtual void SetParentInfo(char *) = 0;
55 
57 
58  virtual int *GetPosition();
59  virtual void SetPosition(int,int);
60  virtual void SetPosition(int a[2]);
62 
64 
65  virtual int *GetSize();
66  virtual void SetSize(int,int);
67  virtual void SetSize(int a[2]);
69 
72  int *GetActualSize();
73 
75  virtual int *GetScreenSize() = 0;
76 
78 
79  vtkSetMacro(Mapped,int);
80  vtkGetMacro(Mapped,int);
81  vtkBooleanMacro(Mapped,int);
83 
85 
89  vtkSetMacro(Erase,int);
90  vtkGetMacro(Erase,int);
91  vtkBooleanMacro(Erase,int);
93 
95 
96  vtkSetMacro(DoubleBuffer,int);
97  vtkGetMacro(DoubleBuffer,int);
98  vtkBooleanMacro(DoubleBuffer,int);
100 
102 
103  vtkGetStringMacro(WindowName);
104  vtkSetStringMacro(WindowName);
106 
109  virtual void Render() = 0;
110 
112 
121  virtual unsigned char *GetPixelData(int x, int y, int x2, int y2,
122  int front) = 0;
123  virtual int GetPixelData(int x, int y, int x2, int y2, int front,
124  vtkUnsignedCharArray *data) = 0;
126 
128 
130  vtkGetMacro(DPI,int);
131  vtkSetClampMacro(DPI,int,1,3000);
133 
135 
138  vtkSetMacro(OffScreenRendering,int);
139  vtkGetMacro(OffScreenRendering,int);
140  vtkBooleanMacro(OffScreenRendering,int);
142 
145  virtual void MakeCurrent() {};
146 
148 
153  vtkSetVector2Macro(TileScale,int);
154  vtkGetVector2Macro(TileScale,int);
155  void SetTileScale(int s) {this->SetTileScale(s,s);}
156  vtkSetVector4Macro(TileViewport,double);
157  vtkGetVector4Macro(TileViewport,double);
159 
160 protected:
161  int OffScreenRendering;
162  vtkWindow();
163  ~vtkWindow();
164 
165  char *WindowName;
166  int Size[2];
167  int Position[2];
168  int Mapped;
169  int Erase;
171  int DPI;
172 
173  double TileViewport[4];
174  int TileSize[2];
175  int TileScale[2];
176 
177 private:
178  vtkWindow(const vtkWindow&); // Not implemented.
179  void operator=(const vtkWindow&); // Not implemented.
180 };
181 
182 #endif
183 
184 
char * WindowName
Definition: vtkWindow.h:165
abstract base class for most VTK objects
Definition: vtkObject.h:60
void SetTileScale(int s)
Definition: vtkWindow.h:155
window superclass for vtkRenderWindow
Definition: vtkWindow.h:35
int DoubleBuffer
Definition: vtkWindow.h:170
int Erase
Definition: vtkWindow.h:169
virtual void PrintSelf(ostream &os, vtkIndent indent)
int Mapped
Definition: vtkWindow.h:168
a simple class to control print indentation
Definition: vtkIndent.h:37
int OffScreenRendering
Definition: vtkWindow.h:157
#define VTK_COMMON_EXPORT
virtual void MakeCurrent()
Definition: vtkWindow.h:145
dynamic, self-adjusting array of unsigned char