#include <iostream>
#ifndef WIN32
#include <X11/Xlib.h>
+#ifdef WITH_XF86VIDMODE
#include <X11/extensions/xf86vmode.h>
#endif
+#endif
#include <msp/core/except.h>
#include <msp/strings/formatter.h>
#include <msp/strings/lexicalcast.h>
XSetErrorHandler(x_error_handler);
+#ifdef WITH_XF86VIDMODE
int screen=DefaultScreen(priv->display);
int nmodes;
if(modeline.htotal && modeline.vtotal)
orig_mode.rate=dotclock/(modeline.htotal*modeline.vtotal);
#endif
+#endif
}
Display::~Display()
void Display::set_mode(const VideoMode &mode)
{
-#ifdef WIN32
+#if defined(WIN32)
DEVMODE info;
info.dmSize=sizeof(DEVMODE);
info.dmFields=DM_PELSWIDTH|DM_PELSHEIGHT;
}
ChangeDisplaySettings(&info, CDS_FULLSCREEN);
-#else
+#elif defined(WITH_XF86VIDMODE)
int screen=DefaultScreen(priv->display);
int nmodes;
}
throw InvalidParameterValue("Requested mode not supported");
+#else
+ (void)mode;
+ throw Exception("Video mode switching not supported");
#endif
}