blob: d6f05c61bbc119d3694e00835c2c6324d497dffd [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; }