Mercurial > hg > orthanc-stone
diff Framework/Radiography/RadiographyLayer.h @ 503:77e0eb83ff63 am-touch-events
layers are now Observable and emitting LayerEdited messages
author | amazy |
---|---|
date | Tue, 26 Feb 2019 12:58:03 +0100 |
parents | 2f6ecb5037ea |
children | fd9b9d993fc7 f0008c55e5f7 |
line wrap: on
line diff
--- a/Framework/Radiography/RadiographyLayer.h Mon Feb 25 17:57:37 2019 +0100 +++ b/Framework/Radiography/RadiographyLayer.h Tue Feb 26 12:58:03 2019 +0100 @@ -24,9 +24,13 @@ #include "../Toolbox/AffineTransform2D.h" #include "../Toolbox/Extent2D.h" #include "../Viewport/CairoContext.h" +#include "../Messages/IMessage.h" +#include "../Messages/IObservable.h" namespace OrthancStone { + class RadiographyScene; + struct ControlPoint { double x; @@ -46,11 +50,24 @@ {} }; - class RadiographyLayer : public boost::noncopyable + class RadiographyLayer : public IObservable { friend class RadiographyScene; public: + class LayerEditedMessage : + public OriginMessage<MessageType_RadiographyLayer_Edited, RadiographyLayer> + { + private: + + public: + LayerEditedMessage(const RadiographyLayer& origin) : + OriginMessage(origin) + { + } + }; + + class Geometry { bool hasCrop_; @@ -160,7 +177,7 @@ AffineTransform2D transformInverse_; Geometry geometry_; PhotometricDisplayMode prefferedPhotometricDisplayMode_; - + const RadiographyScene& scene_; protected: virtual const AffineTransform2D& GetTransform() const @@ -173,10 +190,7 @@ return transformInverse_; } - void SetPreferredPhotomotricDisplayMode(PhotometricDisplayMode prefferedPhotometricDisplayMode) - { - prefferedPhotometricDisplayMode_ = prefferedPhotometricDisplayMode; - } + void SetPreferredPhotomotricDisplayMode(PhotometricDisplayMode prefferedPhotometricDisplayMode); private: void UpdateTransform(); @@ -197,7 +211,7 @@ double zoom); public: - RadiographyLayer(); + RadiographyLayer(MessageBroker& broker, const RadiographyScene& scene); virtual ~RadiographyLayer() { @@ -208,6 +222,11 @@ return index_; } + const RadiographyScene& GetScene() const + { + return scene_; + } + const Geometry& GetGeometry() const { return geometry_;