Mercurial > hg > orthanc-stone
diff Framework/Radiography/RadiographyMaskLayer.h @ 480:2f6ecb5037ea am-touch-events
added mouse tracker for Layer Mask. Everything seems ok
author | am@osimis.io |
---|---|
date | Thu, 14 Feb 2019 10:18:02 +0100 |
parents | e3d316ba34ba |
children | 159a465e27bd |
line wrap: on
line diff
--- a/Framework/Radiography/RadiographyMaskLayer.h Wed Feb 13 14:14:42 2019 +0100 +++ b/Framework/Radiography/RadiographyMaskLayer.h Thu Feb 14 10:18:02 2019 +0100 @@ -60,6 +60,7 @@ } void SetCorners(const std::vector<MaskPoint>& corners); + void SetCorner(const MaskPoint& corner, size_t index); virtual void Render(Orthanc::ImageAccessor& buffer, const AffineTransform2D& viewTransform, @@ -70,10 +71,14 @@ return corners_.size(); } - virtual void GetControlPointInternal(ControlPoint& controlPoint, + virtual void GetControlPoint(ControlPoint& cpScene, size_t index) const { - controlPoint = ControlPoint(corners_[index].x, corners_[index].y, index); + ControlPoint cp(corners_[index].x, corners_[index].y, index); + + // transforms image coordinates into scene coordinates + GetTransform().Apply(cp.x, cp.y); + cpScene = cp; } virtual bool GetDefaultWindowing(float& center, @@ -102,6 +107,11 @@ } + virtual bool GetPixel(unsigned int& imageX, + unsigned int& imageY, + double sceneX, + double sceneY) const; + protected: virtual const AffineTransform2D& GetTransform() const;