1 #include "draw_rules.hpp"
2 #include "artboard.hpp"
3 #include "core_context.hpp"
4 #include "draw_target.hpp"
8 StatusCode DrawRules::onAddedDirty(CoreContext* context)
10 StatusCode result = Super::onAddedDirty(context);
11 if (result != StatusCode::Ok)
15 auto coreObject = context->resolve(drawTargetId());
16 if (coreObject != nullptr && coreObject->is<DrawTarget>())
18 m_ActiveTarget = reinterpret_cast<DrawTarget*>(coreObject);
21 return StatusCode::Ok;
24 StatusCode DrawRules::onAddedClean(CoreContext* context)
26 return StatusCode::Ok;
29 void DrawRules::drawTargetIdChanged()
31 auto coreObject = artboard()->resolve(drawTargetId());
32 if (coreObject == nullptr || !coreObject->is<DrawTarget>())
34 m_ActiveTarget = nullptr;
38 m_ActiveTarget = reinterpret_cast<DrawTarget*>(coreObject);
40 artboard()->addDirt(ComponentDirt::DrawOrder);