20 #ifndef EQ_WINDOWSYSTEM_H
21 #define EQ_WINDOWSYSTEM_H
23 #include <eq/client/api.h>
24 #include <eq/client/types.h>
55 virtual std::string
getName()
const = 0;
82 const std::string& name,
83 const uint32_t size )
const = 0;
109 EQ_API
explicit WindowSystem(
const std::string& name );
111 static bool supports(
const std::string& type );
113 static void configInit(
Node* node );
114 static void configExit(
Node* node );
116 EQ_API std::string getName()
const;
123 const std::string& name,
const uint32_t size )
const;
124 EQ_API
bool hasMainThreadEvents()
const;
126 EQ_API
bool operator == (
const WindowSystem& other )
const;
127 EQ_API
bool operator != (
const WindowSystem& other )
const;
132 void _chooseImpl(
const std::string& name );
146 #endif // EQ_WINDOWSYSTEM_H
virtual ~WindowSystemIF()
Destroy the window system instance.
virtual void configExit(Node *)
Perform per-process de-initialization for a Config.
EQ_API WindowSystemIF()
Create a new window system instance.
EQ_API std::ostream & operator<<(std::ostream &os, const ConfigEvent *event)
Print the config event to the given output stream.
A Pipe represents a graphics card (GPU) on a Node.
A Node represents a single computer in the cluster.
A set of settings to setup an eq::SystemWindow.
virtual SystemPipe * createPipe(Pipe *pipe)=0
virtual bool setupFont(util::ObjectManager &gl, const void *key, const std::string &name, const uint32_t size) const =0
Create a set of display lists for the given font.
virtual MessagePump * createMessagePump()=0
An interface to process system messages or events.
EQ_API co::DataIStream & operator>>(co::DataIStream &is, WindowSystem &ws)
WindowSystem deserializer.
A Window represents an on-screen or off-screen drawable.
The interface definition for system-specific GPU handling.
virtual SystemWindow * createWindow(Window *window, const WindowSettings &settings)=0
virtual std::string getName() const =0
virtual bool hasMainThreadEvents() const
The interface definition for system-specific windowing code.
A facility class to manage OpenGL objects across shared contexts.
The interface for windowing toolkits.
virtual void configInit(Node *)
Perform per-process initialization for a Config.