VTK
vtkGenericOpenGLRenderWindow.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkRenderWindow.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 =========================================================================*/
33 #ifndef vtkGenericOpenGLRenderWindow_h
34 #define vtkGenericOpenGLRenderWindow_h
35 
36 #include "vtkRenderingOpenGL2Module.h" // For export macro
37 #include "vtkOpenGLRenderWindow.h"
38 
39 class VTKRENDERINGOPENGL2_EXPORT vtkGenericOpenGLRenderWindow :
41 {
42 public:
45  void PrintSelf(ostream& os, vtkIndent indent) override;
46 protected:
49 
50 public:
51 
53  void Finalize() override;
54 
57  void Frame() override;
58 
61  void MakeCurrent() override;
62 
66  bool IsCurrent() override;
67 
71  int SupportsOpenGL() override;
72 
76  int IsDirect() override;
77 
78  // {@
80  void SetFrontBuffer(unsigned int);
81  void SetFrontLeftBuffer(unsigned int);
82  void SetFrontRightBuffer(unsigned int);
83  void SetBackBuffer(unsigned int);
84  void SetBackLeftBuffer(unsigned int);
85  void SetBackRightBuffer(unsigned int);
86  // }@
87 
89  void PushState() {}
91  void PopState() {}
92 
93  // {@
95  void SetWindowId(void*) override;
96  void* GetGenericWindowId() override;
97  void SetDisplayId(void*) override;
98  void SetParentId(void*) override;
99  void* GetGenericDisplayId() override;
100  void* GetGenericParentId() override;
101  void* GetGenericContext() override;
102  void* GetGenericDrawable() override;
103  void SetWindowInfo(const char*) override;
104  void SetParentInfo(const char*) override;
105  int* GetScreenSize() VTK_SIZEHINT(2) override;
106  void Start() override;
107  void HideCursor() override;
108  void ShowCursor() override;
109  void SetFullScreen(vtkTypeBool) override;
110  void WindowRemap() override;
111  int GetEventPending() override;
112  void SetNextWindowId(void*) override;
113  void SetNextWindowInfo(const char*) override;
114  void CreateAWindow() override;
115  void DestroyWindow() override;
116  // }@
117 
119 
123  void SetIsDirect(int newValue);
124  void SetSupportsOpenGL(int newValue);
125  void SetIsCurrent(bool newValue);
127 
135  void Render() override;
136 
140  float GetMaximumHardwareLineWidth() override;
141 
143 
147  vtkSetClampMacro(ForceMaximumHardwareLineWidth, float, 0, VTK_FLOAT_MAX);
148  vtkGetMacro(ForceMaximumHardwareLineWidth, float);
150 
152 
157  vtkSetMacro(ReadyForRendering, bool);
158  vtkGetMacro(ReadyForRendering, bool);
159 
163  vtkSetVector2Macro(ScreenSize,int);
164 
169  void SetIsPicking(vtkTypeBool isPicking) override;
170 
174  void SetCurrentCursor(int cShape) override;
175 
176 protected:
177  int DirectStatus;
178  int SupportsOpenGLStatus;
179  bool CurrentStatus;
180  float ForceMaximumHardwareLineWidth;
181  bool ReadyForRendering;
182  int ScreenSize[2];
183 
184 private:
186  void operator=(const vtkGenericOpenGLRenderWindow&) = delete;
187 };
188 
189 #endif
vtkGenericOpenGLRenderWindow::SetDisplayId
void SetDisplayId(void *) override
Dummy stubs for vtkWindow API.
vtkGenericOpenGLRenderWindow::SupportsOpenGL
int SupportsOpenGL() override
Returns if OpenGL is supported.
vtkGenericOpenGLRenderWindow::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkGenericOpenGLRenderWindow::New
static vtkGenericOpenGLRenderWindow * New()
vtkGenericOpenGLRenderWindow::~vtkGenericOpenGLRenderWindow
~vtkGenericOpenGLRenderWindow() override
vtkGenericOpenGLRenderWindow
platform independent render window
Definition: vtkGenericOpenGLRenderWindow.h:41
vtkGenericOpenGLRenderWindow::GetScreenSize
int * GetScreenSize() override
Get the current size of the screen in pixels.
vtkGenericOpenGLRenderWindow::GetGenericParentId
void * GetGenericParentId() override
vtkGenericOpenGLRenderWindow::GetGenericDisplayId
void * GetGenericDisplayId() override
vtkGenericOpenGLRenderWindow::GetGenericDrawable
void * GetGenericDrawable() override
vtkGenericOpenGLRenderWindow::SetBackRightBuffer
void SetBackRightBuffer(unsigned int)
VTK_SIZEHINT
#define VTK_SIZEHINT(...)
Definition: vtkWrappingHints.h:42
vtkGenericOpenGLRenderWindow::IsDirect
int IsDirect() override
Returns if the context is direct.
vtkGenericOpenGLRenderWindow::GetGenericContext
void * GetGenericContext() override
vtkGenericOpenGLRenderWindow::Frame
void Frame() override
flush the pending drawing operations Class user may to watch for WindowFrameEvent and act on it
vtkGenericOpenGLRenderWindow::SetParentInfo
void SetParentInfo(const char *) override
vtkGenericOpenGLRenderWindow::MakeCurrent
void MakeCurrent() override
Makes the context current.
vtkGenericOpenGLRenderWindow::SetWindowInfo
void SetWindowInfo(const char *) override
vtkGenericOpenGLRenderWindow::SetBackLeftBuffer
void SetBackLeftBuffer(unsigned int)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkGenericOpenGLRenderWindow::Finalize
void Finalize() override
Cleans up graphics resources allocated in the context for this VTK scene.
vtkGenericOpenGLRenderWindow::PushState
void PushState()
no-op (for API compat with OpenGL1).
Definition: vtkGenericOpenGLRenderWindow.h:89
VTK_FLOAT_MAX
#define VTK_FLOAT_MAX
Definition: vtkType.h:167
vtkGenericOpenGLRenderWindow::SetWindowId
void SetWindowId(void *) override
does nothing
vtkGenericOpenGLRenderWindow::SetParentId
void SetParentId(void *) override
vtkGenericOpenGLRenderWindow::GetGenericWindowId
void * GetGenericWindowId() override
vtkGenericOpenGLRenderWindow::SetFrontLeftBuffer
void SetFrontLeftBuffer(unsigned int)
vtkGenericOpenGLRenderWindow::PopState
void PopState()
no-op (for API compat with OpenGL1).
Definition: vtkGenericOpenGLRenderWindow.h:91
vtkGenericOpenGLRenderWindow::SetFrontRightBuffer
void SetFrontRightBuffer(unsigned int)
vtkOpenGLRenderWindow
OpenGL rendering window.
Definition: vtkOpenGLRenderWindow.h:54
vtkGenericOpenGLRenderWindow::IsCurrent
bool IsCurrent() override
Returns if the context is current.
vtkGenericOpenGLRenderWindow::SetBackBuffer
void SetBackBuffer(unsigned int)
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkOpenGLRenderWindow.h
vtkGenericOpenGLRenderWindow::vtkGenericOpenGLRenderWindow
vtkGenericOpenGLRenderWindow()
vtkGenericOpenGLRenderWindow::SetFrontBuffer
void SetFrontBuffer(unsigned int)
set the drawing buffers to use