Mercurial > projects > doodle
diff doodle/tk/screen_model.d @ 132:bc5baa585b32
Updated to dmd 2.060
author | David Bryant <bagnose@gmail.com> |
---|---|
date | Thu, 02 Aug 2012 15:32:43 +0930 |
parents | 42766e14534e |
children |
line wrap: on
line diff
--- a/doodle/tk/screen_model.d Thu Jan 12 18:20:58 2012 +1030 +++ b/doodle/tk/screen_model.d Thu Aug 02 15:32:43 2012 +0930 @@ -56,11 +56,11 @@ // For userZoom 1.0 -> 100% means the presentation on the screen is one-to-one with real-life double userZoom(in double pixelsPerMillimetre) const { return _zoom / pixelsPerMillimetre; } - double zoom() const { return _zoom; } - Rectangle viewBoundsScreen() const { return _viewBoundsScreen; } - Rectangle viewBoundsModel() const { return screenToModel(_viewBoundsScreen); } - Rectangle canvasBoundsModel() const { return _canvasBoundsModel; } - Rectangle canvasBoundsScreen() const { return modelToScreen(_canvasBoundsModel); } + @property double zoom() const { return _zoom; } + @property Rectangle viewBoundsScreen() const { return _viewBoundsScreen; } + @property Rectangle viewBoundsModel() const { return screenToModel(_viewBoundsScreen); } + @property Rectangle canvasBoundsModel() const { return _canvasBoundsModel; } + @property Rectangle canvasBoundsScreen() const { return modelToScreen(_canvasBoundsModel); } Point modelToScreen(in Point model) const { return _viewBoundsScreen.centre + _zoom * (model - _viewCentreModel); } Point screenToModel(in Point screen) const { return _viewCentreModel + (screen - _viewBoundsScreen.centre) / _zoom; }