| #include "rive/text/text_input_drawable.hpp" | |
| #include "rive/text/text_input.hpp" | |
| #include "rive/shapes/paint/shape_paint.hpp" | |
| using namespace rive; | |
| TextInput* TextInputDrawable::textInput() const | |
| { | |
| return parent()->as<TextInput>(); | |
| } | |
| ShapePaintPath* TextInputDrawable::worldPath() | |
| { | |
| RIVE_UNREACHABLE(); | |
| return nullptr; | |
| } | |
| StatusCode TextInputDrawable::onAddedClean(CoreContext* context) | |
| { | |
| if (!parent()->is<TextInput>()) | |
| { | |
| return StatusCode::InvalidObject; | |
| } | |
| return StatusCode::Ok; | |
| } | |
| const Mat2D& TextInputDrawable::shapeWorldTransform() const | |
| { | |
| return worldTransform(); | |
| } | |
| void TextInputDrawable::draw(Renderer* renderer) | |
| { | |
| for (auto shapePaint : m_ShapePaints) | |
| { | |
| if (!shapePaint->isVisible()) | |
| { | |
| continue; | |
| } | |
| auto shapePaintPath = shapePaint->pickPath(this); | |
| if (shapePaintPath == nullptr) | |
| { | |
| continue; | |
| } | |
| shapePaint->draw(renderer, | |
| shapePaintPath, | |
| textInput()->worldTransform()); | |
| } | |
| } | |
| bool TextInputDrawable::willDraw() | |
| { | |
| return Super::willDraw() && renderOpacity() != 0.0f; | |
| } |