| #include "rive/component.hpp" | |
| #include "rive/layout/n_sliced_node.hpp" | |
| #include "rive/layout/n_slicer.hpp" | |
| #include "rive/layout/n_slicer_details.hpp" | |
| #include "rive/layout/n_slicer_tile_mode.hpp" | |
| using namespace rive; | |
| NSlicerDetails* NSlicerDetails::from(Component* component) | |
| { | |
| switch (component->coreType()) | |
| { | |
| case NSlicer::typeKey: | |
| return component->as<NSlicer>(); | |
| case NSlicedNode::typeKey: | |
| return component->as<NSlicedNode>(); | |
| } | |
| return nullptr; | |
| } | |
| int NSlicerDetails::patchIndex(int patchX, int patchY) | |
| { | |
| return patchY * (static_cast<int>(m_xs.size()) + 1) + patchX; | |
| } | |
| void NSlicerDetails::addAxisX(Axis* axis) { m_xs.push_back(axis); } | |
| void NSlicerDetails::addAxisY(Axis* axis) { m_ys.push_back(axis); } | |
| void NSlicerDetails::addTileMode(int patchIndex, NSlicerTileModeType style) | |
| { | |
| m_tileModes[patchIndex] = style; | |
| } |