22#ifndef AGS_ENGINE_MAIN_GRAPHICS_MODE_H
23#define AGS_ENGINE_MAIN_GRAPHICS_MODE_H
25#include "ags/engine/gfx/gfx_defines.h"
26#include "ags/shared/util/geometry.h"
27#include "ags/shared/util/scaling.h"
28#include "ags/shared/util/string.h"
32using AGS::Shared::String;
33using AGS::Engine::GraphicResolution;
34using AGS::Engine::DisplayMode;
35using AGS::Engine::WindowMode;
37Size get_desktop_size();
45bool find_nearest_supported_mode(
const AGS::Engine::IGfxModeList &modes,
const Size &wanted_size,
46 const int color_depth,
const Size *ratio_reference,
const Size *upper_bound,
47 AGS::Engine::DisplayMode &dm,
int *mode_index =
nullptr);
57 kFrame_Undefined = -1,
69 WindowMode Mode = AGS::Engine::kWnd_Windowed;
73 :
Size(sz), Scale(0), Mode(mode) {}
74 WindowSetup(
int scale, WindowMode mode = AGS::Engine::kWnd_Windowed)
75 : Scale(scale), Mode(mode) {}
76 WindowSetup(WindowMode mode) : Scale(0), Mode(mode) {}
95 FrameScaleDef FsGameFrame =
97 FrameScaleDef WinGameFrame =
100 bool Windowed =
false;
113 ColorDepthOption(
int bits,
bool forced =
false) : Bits(bits), Forced(forced) {
121 FrameScaleDef Frame = kFrame_Undefined;
122 int DisplayIndex = -1;
131bool graphics_mode_create_renderer(
const String &driver_id);
133bool graphics_mode_set_dm_any(
const Size &game_size,
const WindowSetup &ws,
141FrameScaleDef graphics_mode_get_render_frame();
143bool graphics_mode_set_render_frame(
const FrameScaleDef &frame_setup);
147bool graphics_mode_set_filter(
const String &filter_id);
149void graphics_mode_on_window_changed(
const Size &sz);
151void graphics_mode_shutdown();
Definition: gfx_defines.h:60
Definition: gfx_defines.h:33
Definition: graphics_mode.h:119
Definition: graphics_mode.h:107
Definition: graphics_mode.h:87
Definition: graphics_mode.h:80
Definition: graphics_mode.h:50
Definition: geometry.h:148
Definition: graphics_mode.h:66