/* Copyright (c) 2007, Stefan Eilemann
All rights reserved. */
#ifndef EQ_PLY_WINDOW_H
#define EQ_PLY_WINDOW_H
#include
namespace eqPly
{
class ObjectManager : public eq::ObjectManager< const void* >,
public eqBase::Referenced
{};
class Window : public eq::Window
{
public:
Window() : _logoTexture( 0 ) {}
// display list cache (windows share the context and object manager)
GLuint getDisplayList( const void* key )
{ return _objects->getList( key ); }
GLuint newDisplayList( const void* key )
{ return _objects->newList( key ); }
void getLogoTexture( GLuint& id, vmml::Vector2i& size ) const
{ id = _logoTexture; size = _logoSize; }
protected:
virtual ~Window() {}
virtual bool configInit( const uint32_t initID );
virtual bool configExit();
private:
eqBase::RefPtr< ObjectManager > _objects;
GLuint _logoTexture;
vmml::Vector2i _logoSize;
void _loadLogo();
};
}
#endif // EQ_PLY_WINDOW_H