Hyprland/src/helpers/CMType.hpp
Filip Mikina 34812c33db
hyprctl: include color management presets and sdr information (#12019)
* move string parsing for eCMType to its own namespace, similar to how
`src/protocols/types/ContentType.cpp` is done
* expose cm type and sdr settings in `hyprctl monitors`, format floats
to .2f
2025-10-24 20:18:39 +01:00

20 lines
798 B
C++

#include <cstdint>
#include <string>
#include <optional>
namespace NCMType {
enum eCMType : uint8_t {
CM_AUTO = 0, // subject to change. srgb for 8bpc, wide for 10bpc if supported
CM_SRGB, // default, sRGB primaries
CM_WIDE, // wide color gamut, BT2020 primaries
CM_EDID, // primaries from edid (known to be inaccurate)
CM_HDR, // wide color gamut and HDR PQ transfer function
CM_HDR_EDID, // same as CM_HDR with edid primaries
CM_DCIP3, // movie theatre with greenish white point
CM_DP3, // applle P3 variant with blueish white point
CM_ADOBE, // adobe colorspace
};
std::optional<eCMType> fromString(const std::string cmType);
std::string toString(eCMType cmType);
}