2015-08-18 22:43:30 +00:00
|
|
|
#include "boo/IWindow.hpp"
|
|
|
|
#include "boo/IGraphicsContext.hpp"
|
2015-05-06 00:50:57 +00:00
|
|
|
|
2015-08-28 00:10:46 +00:00
|
|
|
#include <X11/Xlib.h>
|
|
|
|
#include <GL/glx.h>
|
|
|
|
#include <GL/glxext.h>
|
|
|
|
|
2015-05-06 00:50:57 +00:00
|
|
|
namespace boo
|
|
|
|
{
|
2015-08-28 00:10:46 +00:00
|
|
|
|
|
|
|
extern PFNGLXGETVIDEOSYNCSGIPROC FglXGetVideoSyncSGI;
|
|
|
|
extern PFNGLXWAITVIDEOSYNCSGIPROC FglXWaitVideoSyncSGI;
|
2015-05-06 00:50:57 +00:00
|
|
|
|
|
|
|
IGraphicsContext* _CGraphicsContextWaylandNew(IGraphicsContext::EGraphicsAPI api,
|
|
|
|
IWindow* parentWindow);
|
|
|
|
|
2015-08-18 19:40:26 +00:00
|
|
|
struct WindowWayland : IWindow
|
|
|
|
{
|
|
|
|
WindowWayland(const std::string& title)
|
2015-05-06 00:50:57 +00:00
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2015-08-18 19:40:26 +00:00
|
|
|
~WindowWayland()
|
2015-05-06 00:50:57 +00:00
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
void setCallback(IWindowCallback* cb)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
void showWindow()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
void hideWindow()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
std::string getTitle()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
void setTitle(const std::string& title)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
void setWindowFrameDefault()
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
void getWindowFrame(float& xOut, float& yOut, float& wOut, float& hOut) const
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
void setWindowFrame(float x, float y, float w, float h)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
float getVirtualPixelFactor() const
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
bool isFullscreen() const
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
void setFullscreen(bool fs)
|
|
|
|
{
|
|
|
|
|
2015-05-09 05:33:48 +00:00
|
|
|
}
|
|
|
|
|
2015-08-28 00:10:46 +00:00
|
|
|
void waitForRetrace()
|
|
|
|
{
|
|
|
|
unsigned int sync;
|
|
|
|
FglXWaitVideoSyncSGI(1, 0, &sync);
|
|
|
|
}
|
|
|
|
|
2015-05-09 05:33:48 +00:00
|
|
|
uintptr_t getPlatformHandle() const
|
|
|
|
{
|
|
|
|
|
2015-05-06 00:50:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
ETouchType getTouchType() const
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
IWindow* _CWindowWaylandNew(const std::string& title)
|
|
|
|
{
|
2015-08-18 19:40:26 +00:00
|
|
|
return new WindowWayland(title);
|
2015-05-06 00:50:57 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|