Mercurial > hg > orthanc-stone
diff Framework/Radiography/RadiographyScene.h @ 1201:ab958fd99b07
RadiographyScene fixes
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Fri, 29 Nov 2019 16:21:24 +0100 |
parents | 922d2e61aa5d |
children | 9added0d371e |
line wrap: on
line diff
--- a/Framework/Radiography/RadiographyScene.h Thu Nov 28 18:28:15 2019 +0100 +++ b/Framework/Radiography/RadiographyScene.h Fri Nov 29 16:21:24 2019 +0100 @@ -179,6 +179,7 @@ void OnDicomWebReceived(const Deprecated::IWebService::HttpRequestSuccessMessage& message); virtual void OnLayerEdited(const RadiographyLayer::LayerEditedMessage& message); + public: RadiographyScene(MessageBroker& broker); @@ -201,7 +202,12 @@ unsigned int fontSize, uint8_t foreground, RadiographyLayer::Geometry* geometry); - + + RadiographyLayer& UpdateText(size_t layerIndex, + const std::string& utf8, + unsigned int fontSize, + uint8_t foreground); + RadiographyLayer& LoadTestBlock(unsigned int width, unsigned int height, RadiographyLayer::Geometry* geometry); @@ -231,10 +237,12 @@ void RemoveLayer(size_t layerIndex); + RadiographyLayer& GetLayer(size_t layerIndex); + const RadiographyLayer& GetLayer(size_t layerIndex) const; template <typename TypeLayer> - TypeLayer* GetLayer(size_t index = 0) + TypeLayer* GetTypedLayer(size_t indexOfType = 0) { std::vector<size_t> layerIndexes; GetLayersIndexes(layerIndexes); @@ -246,31 +254,7 @@ TypeLayer* typedLayer = dynamic_cast<TypeLayer*>(layers_[layerIndexes[i]]); if (typedLayer != NULL) { - if (count == index) - { - return typedLayer; - } - count++; - } - } - - return NULL; - } - - template <typename TypeLayer> - const TypeLayer* GetLayer(size_t index = 0) const - { - std::vector<size_t> layerIndexes; - GetLayersIndexes(layerIndexes); - - size_t count = 0; - - for (size_t i = 0; i < layerIndexes.size(); ++i) - { - const TypeLayer* typedLayer = dynamic_cast<const TypeLayer*>(layers_.at(layerIndexes[i])); - if (typedLayer != NULL) - { - if (count == index) + if (count == indexOfType) { return typedLayer; }