diff options
| author | Diederik van Lierop <mail@diedenrezi.nl> | 2012-02-14 23:08:32 +0000 |
|---|---|---|
| committer | Diederik van Lierop <mail@diedenrezi.nl> | 2012-02-14 23:08:32 +0000 |
| commit | 2f013ce44d64f518703648c6ee7c392f38a1beb7 (patch) | |
| tree | 94d7b1f7ba01dee874d3f9de72a37c5ee6000596 /src/display | |
| parent | 1) Add checkboxes for perpendicular and tangential snapping to the document p... (diff) | |
| download | inkscape-2f013ce44d64f518703648c6ee7c392f38a1beb7.tar.gz inkscape-2f013ce44d64f518703648c6ee7c392f38a1beb7.zip | |
Snap to grid/guide lines perpendicularly
(bzr r10976)
Diffstat (limited to 'src/display')
| -rw-r--r-- | src/display/canvas-axonomgrid.cpp | 6 | ||||
| -rw-r--r-- | src/display/canvas-axonomgrid.h | 1 | ||||
| -rw-r--r-- | src/display/canvas-grid.cpp | 6 | ||||
| -rw-r--r-- | src/display/canvas-grid.h | 1 | ||||
| -rw-r--r-- | src/display/snap-indicator.cpp | 6 |
5 files changed, 20 insertions, 0 deletions
diff --git a/src/display/canvas-axonomgrid.cpp b/src/display/canvas-axonomgrid.cpp index 1c74e3d86..ab0592fc6 100644 --- a/src/display/canvas-axonomgrid.cpp +++ b/src/display/canvas-axonomgrid.cpp @@ -737,6 +737,12 @@ void CanvasAxonomGridSnapper::_addSnappedPoint(IntermSnapResults &isr, Geom::Poi isr.points.push_back(dummy); } +void CanvasAxonomGridSnapper::_addSnappedLinePerpendicularly(IntermSnapResults &isr, Geom::Point const snapped_point, Geom::Coord const snapped_distance, SnapSourceType const &source, long source_num, bool constrained_snap) const +{ + SnappedPoint dummy = SnappedPoint(snapped_point, source, source_num, Inkscape::SNAPTARGET_GRID_PERPENDICULAR, snapped_distance, getSnapperTolerance(), getSnapperAlwaysSnap(), constrained_snap, true); + isr.points.push_back(dummy); +} + bool CanvasAxonomGridSnapper::ThisSnapperMightSnap() const { return _snap_enabled && _snapmanager->snapprefs.isTargetSnappable(Inkscape::SNAPTARGET_GRID); diff --git a/src/display/canvas-axonomgrid.h b/src/display/canvas-axonomgrid.h index 0a12d3743..ec42b5f83 100644 --- a/src/display/canvas-axonomgrid.h +++ b/src/display/canvas-axonomgrid.h @@ -74,6 +74,7 @@ private: LineList _getSnapLines(Geom::Point const &p) const; void _addSnappedLine(IntermSnapResults &isr, Geom::Point const snapped_point, Geom::Coord const snapped_distance, SnapSourceType const &source, long source_num, Geom::Point const normal_to_line, const Geom::Point point_on_line) const; void _addSnappedPoint(IntermSnapResults &isr, Geom::Point const snapped_point, Geom::Coord const snapped_distance, SnapSourceType const &source, long source_num, bool constrained_snap) const; + void _addSnappedLinePerpendicularly(IntermSnapResults &isr, Geom::Point const snapped_point, Geom::Coord const snapped_distance, SnapSourceType const &source, long source_num, bool constrained_snap) const; CanvasAxonomGrid *grid; }; diff --git a/src/display/canvas-grid.cpp b/src/display/canvas-grid.cpp index 3517e5b47..ea406663c 100644 --- a/src/display/canvas-grid.cpp +++ b/src/display/canvas-grid.cpp @@ -1046,6 +1046,12 @@ void CanvasXYGridSnapper::_addSnappedPoint(IntermSnapResults &isr, Geom::Point c isr.points.push_back(dummy); } +void CanvasXYGridSnapper::_addSnappedLinePerpendicularly(IntermSnapResults &isr, Geom::Point const snapped_point, Geom::Coord const snapped_distance, SnapSourceType const &source, long source_num, bool constrained_snap) const +{ + SnappedPoint dummy = SnappedPoint(snapped_point, source, source_num, Inkscape::SNAPTARGET_GRID_PERPENDICULAR, snapped_distance, getSnapperTolerance(), getSnapperAlwaysSnap(), constrained_snap, true); + isr.points.push_back(dummy); +} + /** * \return true if this Snapper will snap at least one kind of point. */ diff --git a/src/display/canvas-grid.h b/src/display/canvas-grid.h index f3b285be7..173c0c02b 100644 --- a/src/display/canvas-grid.h +++ b/src/display/canvas-grid.h @@ -167,6 +167,7 @@ private: LineList _getSnapLines(Geom::Point const &p) const; void _addSnappedLine(IntermSnapResults &isr, Geom::Point const snapped_point, Geom::Coord const snapped_distance, SnapSourceType const &source, long source_num, Geom::Point const normal_to_line, const Geom::Point point_on_line) const; void _addSnappedPoint(IntermSnapResults &isr, Geom::Point const snapped_point, Geom::Coord const snapped_distance, SnapSourceType const &source, long source_num, bool constrained_snap) const; + void _addSnappedLinePerpendicularly(IntermSnapResults &isr, Geom::Point const snapped_point, Geom::Coord const snapped_distance, SnapSourceType const &source, long source_num, bool constrained_snap) const; CanvasXYGrid *grid; }; diff --git a/src/display/snap-indicator.cpp b/src/display/snap-indicator.cpp index ee719847f..d5b8ce07f 100644 --- a/src/display/snap-indicator.cpp +++ b/src/display/snap-indicator.cpp @@ -79,6 +79,9 @@ SnapIndicator::set_new_snaptarget(Inkscape::SnappedPoint const &p, bool pre_snap case SNAPTARGET_GRID_INTERSECTION: target_name = _("grid intersection"); break; + case SNAPTARGET_GRID_PERPENDICULAR: + target_name = _("grid line (perpendicular)"); + break; case SNAPTARGET_GUIDE: target_name = _("guide"); break; @@ -88,6 +91,9 @@ SnapIndicator::set_new_snaptarget(Inkscape::SnappedPoint const &p, bool pre_snap case SNAPTARGET_GUIDE_ORIGIN: target_name = _("guide origin"); break; + case SNAPTARGET_GUIDE_PERPENDICULAR: + target_name = _("guide (perpendicular)"); + break; case SNAPTARGET_GRID_GUIDE_INTERSECTION: target_name = _("grid-guide intersection"); break; |
