11#include <promeki/config.h>
12#if PROMEKI_ENABLE_CORE
20PROMEKI_NAMESPACE_BEGIN
54class ContentLightLevel {
56 PROMEKI_DATATYPE(ContentLightLevel, DataTypeContentLightLevel, 1)
59 Error writeToStream(DataStream &s) const;
61 template <uint32_t V> static Result<ContentLightLevel> readFromStream(DataStream &s);
63 ContentLightLevel() = default;
65 ContentLightLevel(uint32_t maxCLL, uint32_t maxFALL) : _maxCLL(maxCLL), _maxFALL(maxFALL) {}
67 bool isValid()
const {
return _maxCLL > 0; }
69 uint32_t maxCLL()
const {
return _maxCLL; }
70 uint32_t maxFALL()
const {
return _maxFALL; }
72 void setMaxCLL(uint32_t v) { _maxCLL = v; }
73 void setMaxFALL(uint32_t v) { _maxFALL = v; }
75 bool operator==(
const ContentLightLevel &o)
const {
76 return _maxCLL == o._maxCLL && _maxFALL == o._maxFALL;
78 bool operator!=(
const ContentLightLevel &o)
const {
return !(*
this == o); }
80 String toString()
const;
84 uint32_t _maxFALL = 0;