Mercurial > hg > orthanc-stone
diff Framework/Radiography/RadiographyLayer.cpp @ 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 42dadae61fa9 |
line wrap: on
line diff
--- a/Framework/Radiography/RadiographyLayer.cpp Mon Feb 25 17:57:37 2019 +0100 +++ b/Framework/Radiography/RadiographyLayer.cpp Tue Feb 26 12:58:03 2019 +0100 @@ -117,12 +117,14 @@ } - RadiographyLayer::RadiographyLayer() : + RadiographyLayer::RadiographyLayer(MessageBroker& broker, const RadiographyScene& scene) : + IObservable(broker), index_(0), hasSize_(false), width_(0), height_(0), - prefferedPhotometricDisplayMode_(PhotometricDisplayMode_Default) + prefferedPhotometricDisplayMode_(PhotometricDisplayMode_Default), + scene_(scene) { UpdateTransform(); } @@ -133,6 +135,13 @@ UpdateTransform(); } + void RadiographyLayer::SetPreferredPhotomotricDisplayMode(PhotometricDisplayMode prefferedPhotometricDisplayMode) + { + prefferedPhotometricDisplayMode_ = prefferedPhotometricDisplayMode; + + EmitMessage(RadiographyLayer::LayerEditedMessage(*this)); + } + void RadiographyLayer::SetCrop(unsigned int x, unsigned int y, unsigned int width, @@ -151,6 +160,8 @@ geometry_.SetCrop(x, y, width, height); UpdateTransform(); + + EmitMessage(RadiographyLayer::LayerEditedMessage(*this)); } void RadiographyLayer::SetGeometry(const Geometry& geometry) @@ -161,6 +172,8 @@ { UpdateTransform(); } + + EmitMessage(RadiographyLayer::LayerEditedMessage(*this)); } @@ -187,6 +200,8 @@ { geometry_.SetAngle(angle); UpdateTransform(); + + EmitMessage(RadiographyLayer::LayerEditedMessage(*this)); } @@ -205,6 +220,7 @@ height_ = height; UpdateTransform(); + EmitMessage(RadiographyLayer::LayerEditedMessage(*this)); } @@ -282,6 +298,7 @@ { geometry_.SetPan(x, y); UpdateTransform(); + EmitMessage(RadiographyLayer::LayerEditedMessage(*this)); } @@ -290,6 +307,7 @@ { geometry_.SetPixelSpacing(x, y); UpdateTransform(); + EmitMessage(RadiographyLayer::LayerEditedMessage(*this)); }