
#include <Spectre/Display/Display.h>
#include "PlatformDisplay.h"

#ifdef SPECTRE_PLATFORM_WIN
#include <Platform/Win32/Win32Display.h>
typedef sp::Win32Display DisplayType;
#elif SPECTRE_PLATFORM_UNIX
#include <Platform/Unix/X11Display.h>
typedef sp::X11Display DisplayType;
#else
#error "No Display implementation exists"
#endif

namespace sp {

PlatformDisplay* PlatformDisplay::make(Display* parent)
{
	DisplayType* disp = new DisplayType();
	disp->m_parent = parent;
	return disp;
}

PlatformDisplay::PlatformDisplay()
{
}

PlatformDisplay::~PlatformDisplay()
{
	// Nothing to do.
}

void PlatformDisplay::onReshape(int width, int height)
{
	// Forward to parent.
	m_parent->onReshape(width, height);
}

} // namespace sp
