52 class i_display :
public i_units_context
55 struct failed_to_get_monitor_dpi : std::runtime_error { failed_to_get_monitor_dpi() :
std::runtime_error(
"neogfx::i_display::failed_to_get_monitor_dpi") {} };
56 struct fullscreen_not_active : std::logic_error { fullscreen_not_active() :
std::logic_error(
"neogfx::i_display::fullscreen_not_active: Fullscreen not currently active") {} };
57 struct failed_to_enter_fullscreen : std::runtime_error { failed_to_enter_fullscreen(std::string
const& aReason) :
58 std::runtime_error(
"neogfx::i_displayy::failed_to_enter_fullscreen: Failed to enter fullscreen, reason: " + aReason) {} };
59 struct failed_to_leave_fullscreen : std::runtime_error { failed_to_leave_fullscreen(std::string
const& aReason) :
60 std::runtime_error(
"neogfx::i_displayy::failed_to_leave_fullscreen: Failed to leave fullscreen, reason: " + aReason) {} };
62 virtual ~i_display() =
default;
64 virtual uint32_t index()
const = 0;
66 virtual const i_device_metrics& metrics()
const = 0;
67 virtual void update_dpi() = 0;
69 virtual bool is_fullscreen()
const = 0;
70 virtual const video_mode& fullscreen_video_mode()
const = 0;
71 virtual void enter_fullscreen(
const video_mode& aVideoMode) = 0;
72 virtual void leave_fullscreen() = 0;
75 virtual window_placement default_window_placement()
const = 0;
77 virtual color read_pixel(
const point& aPosition)
const = 0;
#define end_declare_enum(enumName)
#define declare_enum_string(enumName, enumEnumerator)
#define begin_declare_enum(enumName)