| 5133 | } |
| 5134 | |
| 5135 | ImagePlaneDesc |
| 5136 | Node::Implementation::getSelectedLayerInternal(int inputNb, |
| 5137 | const std::list<ImagePlaneDesc>& availableLayers, |
| 5138 | const ChannelSelector& selector) const |
| 5139 | { |
| 5140 | NodePtr node; |
| 5141 | |
| 5142 | assert(_publicInterface); |
| 5143 | if (!_publicInterface) { |
| 5144 | return ImagePlaneDesc(); |
| 5145 | } |
| 5146 | if (inputNb == -1) { |
| 5147 | node = _publicInterface->shared_from_this(); |
| 5148 | } else { |
| 5149 | node = _publicInterface->getInput(inputNb); |
| 5150 | } |
| 5151 | |
| 5152 | KnobChoicePtr layerKnob = selector.layer.lock(); |
| 5153 | if (!layerKnob) { |
| 5154 | return ImagePlaneDesc(); |
| 5155 | } |
| 5156 | ChoiceOption layerID = layerKnob->getActiveEntry(); |
| 5157 | |
| 5158 | for (std::list<ImagePlaneDesc>::const_iterator it2 = availableLayers.begin(); it2 != availableLayers.end(); ++it2) { |
| 5159 | |
| 5160 | const std::string& layerName = it2->getPlaneID(); |
| 5161 | if (layerID.id == layerName) { |
| 5162 | return *it2; |
| 5163 | } |
| 5164 | } |
| 5165 | return ImagePlaneDesc(); |
| 5166 | } // Node::Implementation::getSelectedLayerInternal |
| 5167 | |
| 5168 | void |
| 5169 | Node::Implementation::onLayerChanged(int inputNb, |
no test coverage detected