summaryrefslogtreecommitdiffhomepage
path: root/floormat/settings.hpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-10-25 16:19:21 +0200
committerStanislaw Halik <sthalik@misaki.pl>2022-10-25 16:19:21 +0200
commita00ac8b5fed9d03cb2b3eafb4cd7d04546e341b1 (patch)
tree18bfeda1abd43a2a0b81f2ad4b909c30b9bfb419 /floormat/settings.hpp
parent45f2533113a0dfe4cf8a7723a1c76099d0a6d091 (diff)
move some headers around
Diffstat (limited to 'floormat/settings.hpp')
-rw-r--r--floormat/settings.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/floormat/settings.hpp b/floormat/settings.hpp
new file mode 100644
index 00000000..0a526478
--- /dev/null
+++ b/floormat/settings.hpp
@@ -0,0 +1,35 @@
+#pragma once
+#include "compat/defs.hpp"
+#include <cstdint>
+#include <Corrade/Containers/String.h>
+#include <Magnum/Math/Vector2.h>
+
+namespace floormat {
+
+enum class fm_gpu_debug : char { no_error = 1, off, on, robust, };
+enum class fm_tristate : char { maybe = -1, on, off };
+enum class fm_log_level : unsigned char { quiet, normal, verbose, };
+
+struct fm_settings
+{
+ inline fm_settings() noexcept = default;
+ virtual ~fm_settings() noexcept;
+ fm_DECLARE_DEPRECATED_COPY_ASSIGNMENT(fm_settings);
+ fm_DECLARE_DEFAULT_MOVE_ASSIGNMENT_(fm_settings);
+
+ Magnum::Math::Vector2<int> resolution{1024, 768};
+ Corrade::Containers::String title{"Test"};
+ Corrade::Containers::String disabled_extensions; // TODO
+ std::uint8_t msaa_samples = 16;
+ fm_tristate vsync = fm_tristate::maybe;
+ fm_gpu_debug gpu_debug = fm_gpu_debug::on;
+ fm_log_level log_level = fm_log_level::normal;
+ std::uint8_t resizable : 1 = true,
+ fullscreen : 1 = false,
+ fullscreen_desktop : 1 = false,
+ borderless : 1 = false,
+ maximized : 1 = false,
+ msaa : 1 = true;
+};
+
+} // namespace floormat