comparison 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
comparison
equal deleted inserted replaced
130:1bc3475624d3 132:bc5baa585b32
54 void panRelativeScreen(in Vector screenDisplacement) { _viewCentreModel = _viewCentreModel + screenToModel(screenDisplacement); } 54 void panRelativeScreen(in Vector screenDisplacement) { _viewCentreModel = _viewCentreModel + screenToModel(screenDisplacement); }
55 void panRelativeModel(in Vector modelDisplacement) { _viewCentreModel = _viewCentreModel + modelDisplacement; } 55 void panRelativeModel(in Vector modelDisplacement) { _viewCentreModel = _viewCentreModel + modelDisplacement; }
56 56
57 // For userZoom 1.0 -> 100% means the presentation on the screen is one-to-one with real-life 57 // For userZoom 1.0 -> 100% means the presentation on the screen is one-to-one with real-life
58 double userZoom(in double pixelsPerMillimetre) const { return _zoom / pixelsPerMillimetre; } 58 double userZoom(in double pixelsPerMillimetre) const { return _zoom / pixelsPerMillimetre; }
59 double zoom() const { return _zoom; } 59 @property double zoom() const { return _zoom; }
60 Rectangle viewBoundsScreen() const { return _viewBoundsScreen; } 60 @property Rectangle viewBoundsScreen() const { return _viewBoundsScreen; }
61 Rectangle viewBoundsModel() const { return screenToModel(_viewBoundsScreen); } 61 @property Rectangle viewBoundsModel() const { return screenToModel(_viewBoundsScreen); }
62 Rectangle canvasBoundsModel() const { return _canvasBoundsModel; } 62 @property Rectangle canvasBoundsModel() const { return _canvasBoundsModel; }
63 Rectangle canvasBoundsScreen() const { return modelToScreen(_canvasBoundsModel); } 63 @property Rectangle canvasBoundsScreen() const { return modelToScreen(_canvasBoundsModel); }
64 64
65 Point modelToScreen(in Point model) const { return _viewBoundsScreen.centre + _zoom * (model - _viewCentreModel); } 65 Point modelToScreen(in Point model) const { return _viewBoundsScreen.centre + _zoom * (model - _viewCentreModel); }
66 Point screenToModel(in Point screen) const { return _viewCentreModel + (screen - _viewBoundsScreen.centre) / _zoom; } 66 Point screenToModel(in Point screen) const { return _viewCentreModel + (screen - _viewBoundsScreen.centre) / _zoom; }
67 Vector modelToScreen(in Vector model) const { return _zoom * model; } 67 Vector modelToScreen(in Vector model) const { return _zoom * model; }
68 Vector screenToModel(in Vector screen) const { return screen / _zoom; } 68 Vector screenToModel(in Vector screen) const { return screen / _zoom; }