* 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
20 lines
798 B
C++
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);
|
|
}
|