Equalizer  1.9.0
Parallel Rendering Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
qt/windowSystem.h
1 
2 /* Copyright (c) 2014, Daniel Nachbaur <danielnachbaur@gmail.com>
3  *
4  *
5  * This library is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU Lesser General Public License version 2.1 as published
7  * by the Free Software Foundation.
8  *
9  * This library is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12  * details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this library; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #include <QObject>
20 #include <eq/windowSystem.h>
21 #include "types.h"
22 
23 namespace eq
24 {
25 namespace qt
26 {
27 
28 class WindowSystem : public QObject, public WindowSystemIF
29 {
30  Q_OBJECT
31 
32 public:
33  EQ_API WindowSystem();
34  EQ_API ~WindowSystem();
35 
36 private:
37  std::string getName() const final;
38  eq::SystemWindow* createWindow( eq::Window* window,
39  const WindowSettings& settings ) final;
40  eq::SystemPipe* createPipe( eq::Pipe* pipe ) final;
41  eq::MessagePump* createMessagePump() final;
42  bool hasMainThreadEvents() const final { return true; }
43  bool setupFont( util::ObjectManager& gl, const void* key,
44  const std::string& name, const uint32_t size ) const final;
45 
46 
47  bool _useSystemWindowSystem( const WindowSettings& settings,
48  const eq::Window* sharedWindow );
49 };
50 
51 }
52 }
A Pipe represents a graphics card (GPU) on a Node.
Definition: pipe.h:50
A set of settings to setup an eq::SystemWindow.
An interface to process system messages or events.
Definition: messagePump.h:27
A Window represents an on-screen or off-screen drawable.
Definition: window.h:64
The interface definition for system-specific GPU handling.
Definition: systemPipe.h:38
The interface definition for system-specific windowing code.
Definition: systemWindow.h:35
A facility class to manage OpenGL objects across shared contexts.
Definition: objectManager.h:52
The interface for windowing toolkits.
Definition: windowSystem.h:40