#ifndef MSP_GRAPHICS_VIDEOMODE_H_
#define MSP_GRAPHICS_VIDEOMODE_H_
+#include <stdexcept>
+#include "mspgui_api.h"
+
namespace Msp {
namespace Graphics {
+struct Monitor;
struct VideoMode;
-class unsupported_video_mode: public std::runtime_error
+class MSPGUI_API unsupported_video_mode: public std::runtime_error
{
public:
unsupported_video_mode(const VideoMode &);
- virtual ~unsupported_video_mode() throw () { }
};
-struct VideoMode
+enum VideoRotation
{
- unsigned width;
- unsigned height;
- unsigned rate;
+ ROTATE_ANY,
+ ROTATE_NORMAL,
+ ROTATE_LEFT,
+ ROTATE_RIGHT,
+ ROTATE_INVERTED
+};
- VideoMode(): width(0), height(0), rate(0) { }
- VideoMode(unsigned w, unsigned h): width(w), height(h), rate(0) { }
+struct MSPGUI_API VideoMode
+{
+ unsigned index = 0;
+ const Monitor *monitor = nullptr;
+ unsigned width = 0;
+ unsigned height = 0;
+ float rate = 0.0f;
+ VideoRotation rotation = ROTATE_ANY;
+
+ VideoMode() = default;
+ VideoMode(unsigned, unsigned);
};
} // namespace Graphics