22namespace GapResolution {
26template<
typename Normalize>
27std::optional<int>
gapFromOverrideMap(
const QVariantMap& map, QLatin1String key, Normalize normalize)
29 const auto it = map.constFind(key);
30 if (it == map.constEnd()) {
33 return normalize(it->toInt());
47template<
typename Normalize>
61 if (topIt != map.constEnd() || bottomIt != map.constEnd() || leftIt != map.constEnd()
62 || rightIt != map.constEnd()) {
63 const int base = (uniformIt != map.constEnd()) ? normalize(uniformIt->toInt()) : normalize(missingSideBase);
64 return ::PhosphorLayout::EdgeGaps{(topIt != map.constEnd()) ? normalize(topIt->toInt()) : base,
65 (bottomIt != map.constEnd()) ? normalize(bottomIt->toInt()) : base,
66 (leftIt != map.constEnd()) ? normalize(leftIt->toInt()) : base,
67 (rightIt != map.constEnd()) ? normalize(rightIt->toInt()) : base};
70 if (uniformIt != map.constEnd()) {
71 return ::PhosphorLayout::EdgeGaps::uniform(normalize(uniformIt->toInt()));
std::optional<::PhosphorLayout::EdgeGaps > outerGapsFromOverrideMap(const QVariantMap &map, int missingSideBase, Normalize normalize)
Resolve the outer-gap portion of an override map as ONE atomic layer.
Definition GapResolution.h:48
std::optional< int > gapFromOverrideMap(const QVariantMap &map, QLatin1String key, Normalize normalize)
Single gap value from an override map, or nullopt when map lacks key.
Definition GapResolution.h:27
constexpr QLatin1String OuterGapBottom
Definition PerScreenKeys.h:20
constexpr QLatin1String OuterGapLeft
Definition PerScreenKeys.h:21
constexpr QLatin1String OuterGapRight
Definition PerScreenKeys.h:22
constexpr QLatin1String OuterGapTop
Definition PerScreenKeys.h:19
constexpr QLatin1String OuterGap
Definition PerScreenKeys.h:17
constexpr QLatin1String UsePerSideOuterGap
Definition PerScreenKeys.h:18
Definition EngineTypes.h:14