| #include "rive/shapes/paint/shape_paint.hpp" |
| #include "rive/shapes/shape_paint_container.hpp" |
| |
| #include "rive/artboard.hpp" |
| #include "rive/factory.hpp" |
| |
| using namespace rive; |
| |
| StatusCode ShapePaint::onAddedClean(CoreContext* context) { |
| auto container = ShapePaintContainer::from(parent()); |
| if (container == nullptr) { |
| return StatusCode::MissingObject; |
| } |
| container->addPaint(this); |
| return StatusCode::Ok; |
| } |
| |
| RenderPaint* ShapePaint::initRenderPaint(ShapePaintMutator* mutator) { |
| assert(m_RenderPaint == nullptr); |
| m_PaintMutator = mutator; |
| |
| auto factory = mutator->component()->artboard()->factory(); |
| m_RenderPaint = factory->makeRenderPaint(); |
| return m_RenderPaint.get(); |
| } |
| |
| void ShapePaint::blendMode(BlendMode value) { |
| assert(m_RenderPaint != nullptr); |
| m_RenderPaint->blendMode(value); |
| } |