Mercurial > hg > orthanc-stone
diff OrthancStone/Sources/Scene2DViewport/ViewportController.h @ 1721:d4a8e2b19a65
new "GrayscaleWindowingChanged" message from GrayscaleWindowingSceneTracker
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 01 Dec 2020 12:51:57 +0100 |
parents | fb62c1522193 |
children | 9ac2a65d4172 |
line wrap: on
line diff
--- a/OrthancStone/Sources/Scene2DViewport/ViewportController.h Tue Dec 01 12:13:43 2020 +0100 +++ b/OrthancStone/Sources/Scene2DViewport/ViewportController.h Tue Dec 01 12:51:57 2020 +0100 @@ -88,6 +88,35 @@ SceneTransformChanged, \ ViewportController); + class GrayscaleWindowingChanged : public OriginMessage<ViewportController> + { + ORTHANC_STONE_MESSAGE(__FILE__, __LINE__); + + private: + double windowingCenter_; + double windowingWidth_; + + public: + GrayscaleWindowingChanged(const ViewportController& origin, + double windowingCenter, + double windowingWidth) : + OriginMessage(origin), + windowingCenter_(windowingCenter), + windowingWidth_(windowingWidth) + { + } + + double GetWindowingCenter() const + { + return windowingCenter_; + } + + double GetWindowingWidth() const + { + return windowingWidth_; + } + }; + explicit ViewportController(boost::weak_ptr<IViewport> viewport); ~ViewportController(); @@ -121,6 +150,10 @@ /** Forwarded to the underlying scene, and broadcasted to the observers */ void SetSceneToCanvasTransform(const AffineTransform2D& transform); + /** Info broadcasted to the observers */ + void BroadcastGrayscaleWindowingChanged(double windowingCenter, + double windowingWidth); + /** Forwarded to the underlying scene, and broadcasted to the observers */ void FitContent(unsigned int viewportWidth, unsigned int viewportHeight);