void Overlay::setProperties(const QVariantMap& properties) { bool valid; auto color = xColorFromVariant(properties["color"], valid); if (valid) { _color = color; } if (properties["alpha"].isValid()) { setAlpha(properties["alpha"].toFloat()); } if (properties["pulseMax"].isValid()) { setPulseMax(properties["pulseMax"].toFloat()); } if (properties["pulseMin"].isValid()) { setPulseMin(properties["pulseMin"].toFloat()); } if (properties["pulsePeriod"].isValid()) { setPulsePeriod(properties["pulsePeriod"].toFloat()); } if (properties["alphaPulse"].isValid()) { setAlphaPulse(properties["alphaPulse"].toFloat()); } if (properties["colorPulse"].isValid()) { setColorPulse(properties["colorPulse"].toFloat()); } if (properties["visible"].isValid()) { bool visible = properties["visible"].toBool(); setVisible(visible); } if (properties["anchor"].isValid()) { QString property = properties["anchor"].toString(); if (property == "MyAvatar") { setAnchor(MY_AVATAR); } } }
xColor xColorFromVariant(const QVariant &object) { bool valid; return xColorFromVariant(object, valid); }
template<> xColor fromVariant(const QVariant& v, bool& valid) { return xColorFromVariant(v, valid); }