aboutsummaryrefslogtreecommitdiff
path: root/include/GsrInfo.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/GsrInfo.hpp')
-rw-r--r--include/GsrInfo.hpp28
1 files changed, 26 insertions, 2 deletions
diff --git a/include/GsrInfo.hpp b/include/GsrInfo.hpp
index 6ec8e23..156125b 100644
--- a/include/GsrInfo.hpp
+++ b/include/GsrInfo.hpp
@@ -2,6 +2,7 @@
#include <string>
#include <vector>
+#include <stdint.h>
#include <mglpp/system/vec.hpp>
@@ -19,15 +20,35 @@ namespace gsr {
bool vp9 = false;
};
+ struct SupportedImageFormats {
+ bool jpeg = false;
+ bool png = false;
+ };
+
struct GsrMonitor {
std::string name;
mgl::vec2i size;
};
+ struct GsrVersion {
+ uint8_t major = 0;
+ uint8_t minor = 0;
+ uint8_t patch = 0;
+
+ bool operator>(const GsrVersion &other) const;
+ bool operator>=(const GsrVersion &other) const;
+ bool operator<(const GsrVersion &other) const;
+ bool operator<=(const GsrVersion &other) const;
+ bool operator==(const GsrVersion &other) const;
+ bool operator!=(const GsrVersion &other) const;
+
+ std::string to_string() const;
+ };
+
struct SupportedCaptureOptions {
bool window = false;
+ bool region = false;
bool focused = false;
- bool screen = false;
bool portal = false;
std::vector<GsrMonitor> monitors;
};
@@ -41,13 +62,15 @@ namespace gsr {
struct SystemInfo {
DisplayServer display_server = DisplayServer::UNKNOWN;
bool supports_app_audio = false;
+ GsrVersion gsr_version;
};
enum class GpuVendor {
UNKNOWN,
AMD,
INTEL,
- NVIDIA
+ NVIDIA,
+ BROADCOM
};
struct GpuInfo {
@@ -59,6 +82,7 @@ namespace gsr {
SystemInfo system_info;
GpuInfo gpu_info;
SupportedVideoCodecs supported_video_codecs;
+ SupportedImageFormats supported_image_formats;
};
enum class GsrInfoExitStatus {