blob: 8c5078a54cad90ff56fe22dc4ff3cd40575ba41f [file] [log] [blame]
#include "rive/shapes/paint/solid_color.hpp"
#include "rive/container_component.hpp"
#include "rive/renderer.hpp"
#include "rive/shapes/paint/color.hpp"
using namespace rive;
StatusCode SolidColor::onAddedDirty(CoreContext* context) {
StatusCode code = Super::onAddedDirty(context);
if (code != StatusCode::Ok) {
return code;
}
if (!initPaintMutator(this)) {
return StatusCode::MissingObject;
}
renderOpacityChanged();
return StatusCode::Ok;
}
void SolidColor::renderOpacityChanged() {
if (renderPaint() == nullptr) {
return;
}
renderPaint()->color(colorModulateOpacity(colorValue(), renderOpacity()));
}
void SolidColor::colorValueChanged() { renderOpacityChanged(); }
bool SolidColor::internalIsTranslucent() const {
return colorAlpha(colorValue()) != 0xFF;
}