Equalizer  1.13.0
Parallel Rendering Framework
shareContextWindow.h
1 
2 /* Copyright (c) 2015, Juan Hernando <jhernando@fi.upm.es>
3  *
4  * This library is free software; you can redistribute it and/or modify it under
5  * the terms of the GNU Lesser General Public License version 2.1 as published
6  * by the Free Software Foundation.
7  *
8  * This library is distributed in the hope that it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
10  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
11  * details.
12  *
13  * You should have received a copy of the GNU Lesser General Public License
14  * along with this library; if not, write to the Free Software Foundation, Inc.,
15  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16  */
17 
18 #ifndef EQ_QT_SHARECONTEXTWINDOW_H
19 #define EQ_QT_SHARECONTEXTWINDOW_H
20 
21 #include "types.h"
22 
23 #include <eq/systemWindow.h> // base class
24 
25 namespace eq
26 {
27 namespace qt
28 {
29 
39 {
40 public:
41  ShareContextWindow( QOpenGLContext* context,
42  NotifierInterface& parent,
43  const WindowSettings& settings )
44  : SystemWindow( parent, settings )
45  , _context(context)
46  {}
47 
48 
49  QOpenGLContext* getContext() const
50  {
51  return _context;
52  }
53 
54  bool configInit() final { LBUNIMPLEMENTED; return false; }
55  void configExit() final { LBUNIMPLEMENTED }
56  void makeCurrent( const bool ) const final { LBUNIMPLEMENTED }
57  void doneCurrent() const final { LBUNIMPLEMENTED }
58  void bindFrameBuffer() const final { LBUNIMPLEMENTED }
59  void bindDrawFrameBuffer() const final { LBUNIMPLEMENTED }
60  void updateFrameBuffer() const final { LBUNIMPLEMENTED }
61  void swapBuffers() final { LBUNIMPLEMENTED }
62  void flush() final { LBUNIMPLEMENTED }
63  void finish() final { LBUNIMPLEMENTED }
64  void joinNVSwapBarrier( const uint32_t, const uint32_t ) final
65  { LBUNIMPLEMENTED }
66  void queryDrawableConfig( DrawableConfig& ) final { LBUNIMPLEMENTED }
67  bool processEvent( const Event& ) final { LBUNIMPLEMENTED; return false; }
68 
69 private:
70  QOpenGLContext* _context;
71 };
72 
73 }
74 }
75 #endif // EQ_QT_SHARECONTEXTWINDOW_H
void finish() final
Finish execution of all commands.
void bindFrameBuffer() const final
Bind the window's FBO, if it uses an FBO drawable.
Helper window to allow Open GL context sharing between Qt widgets and windows created by Equalizer...
A set of settings to setup an eq::SystemWindow.
void bindDrawFrameBuffer() const final
Bind the window's draw FBO, used for multisampling.
void flush() final
Flush all command buffers.
void configExit() final
De-initialize this system window.
bool configInit() final
Initialize this system window.
void queryDrawableConfig(DrawableConfig &) final
Set up the given drawable based on the current context.
void swapBuffers() final
Swap the front and back buffer.
EQ_API SystemWindow(NotifierInterface &parent, const WindowSettings &settings)
Create a new SystemWindow for the given eq::Window.
A base class for notifying errors and events.
void doneCurrent() const final
This results in no context being current in the current thread.
void joinNVSwapBarrier(const uint32_t, const uint32_t) final
Join a NV_swap_group.
The Equalizer client library.
Definition: eq/agl/types.h:23
void makeCurrent(const bool) const final
Make the system window rendering context and drawable current.
The interface definition for system-specific windowing code.
Definition: systemWindow.h:35
bool processEvent(const Event &) final
Process an event.
void updateFrameBuffer() const final
Update the window's FBO from the multisampled FBO.