| 156 | } |
| 157 | |
| 158 | void LayerItem::detachFromLayerItemNode(bool _deep) |
| 159 | { |
| 160 | for (auto& layerItem : mLayerItems) |
| 161 | { |
| 162 | layerItem->detachFromLayerItemNode(_deep); |
| 163 | } |
| 164 | |
| 165 | for (auto& layerNode : mLayerNodes) |
| 166 | { |
| 167 | if (_deep) |
| 168 | { |
| 169 | ILayerNode* node = layerNode->mLayerNode; |
| 170 | layerNode->detachFromLayerItemNode(_deep); |
| 171 | if (node) |
| 172 | { |
| 173 | node->getLayer()->destroyChildItemNode(node); |
| 174 | } |
| 175 | } |
| 176 | } |
| 177 | |
| 178 | // мы уже отаттачены |
| 179 | ILayerNode* node = mLayerNode; |
| 180 | if (node) |
| 181 | { |
| 182 | for (auto& drawItem : mDrawItems) |
| 183 | { |
| 184 | drawItem->destroyDrawItem(); |
| 185 | } |
| 186 | |
| 187 | mLayerNode = nullptr; |
| 188 | } |
| 189 | } |
| 190 | |
| 191 | ILayer* LayerItem::getLayer() const |
| 192 | { |
no test coverage detected