Equalizer  2.1.0
Parallel Rendering Framework
shareContextWindow.h
1 
2 /* Copyright (c) 2015-2017, 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 {
38 {
39 public:
40  ShareContextWindow(QOpenGLContext* context, NotifierInterface& parent,
41  const WindowSettings& settings)
42  : SystemWindow(parent, settings)
43  , _context(context)
44  {
45  }
46 
47  QOpenGLContext* getContext() const { return _context; }
48  bool configInit() final
49  {
50  LBUNIMPLEMENTED;
51  return false;
52  }
53  void configExit() final { LBUNIMPLEMENTED }
54  void makeCurrent(const bool) const final { LBUNIMPLEMENTED }
55  void doneCurrent() const final { LBUNIMPLEMENTED }
56  void bindFrameBuffer() const final { LBUNIMPLEMENTED }
57  void bindDrawFrameBuffer() const final { LBUNIMPLEMENTED }
58  void updateFrameBuffer() const final { LBUNIMPLEMENTED }
59  void swapBuffers() final { LBUNIMPLEMENTED }
60  void flush() final { LBUNIMPLEMENTED }
61  void finish() final { LBUNIMPLEMENTED }
62  void joinNVSwapBarrier(const uint32_t, const uint32_t) final
63  {
64  LBUNIMPLEMENTED
65  }
66  void queryDrawableConfig(DrawableConfig&) final { LBUNIMPLEMENTED }
67  void resize(const PixelViewport&) final { LBUNIMPLEMENTED }
68 private:
69  QOpenGLContext* _context;
70 };
71 }
72 }
73 #endif // EQ_QT_SHARECONTEXTWINDOW_H
void finish() final
Finish execution of all commands.
void makeCurrent(const bool) const final
Make the system window rendering context and drawable current.
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 flush() final
Flush all command buffers.
void resize(const PixelViewport &) final
Resize the underlying frame buffer to the given size.
void configExit() final
De-initialize this system window.
bool configInit() final
Initialize this system window.
void doneCurrent() const final
This results in no context being current in the current thread.
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 updateFrameBuffer() const final
Update the window&#39;s FBO from the multisampled FBO.
void joinNVSwapBarrier(const uint32_t, const uint32_t) final
Join a NV_swap_group.
The Equalizer client library.
Definition: eq/agl/types.h:23
The interface definition for system-specific windowing code.
Definition: systemWindow.h:35
void bindFrameBuffer() const final
Bind the window&#39;s FBO, if it uses an FBO drawable.
void bindDrawFrameBuffer() const final
Bind the window&#39;s draw FBO, used for multisampling.