Clone in a terminal:
Commit c21c7e8
Johan Mattsson - 2014-03-19T12:28:13+00:00
c21c7e89f98a5ae2221f955e69cbc5a16e66e329johan.mattsson.m@gmail.com

Select strokes with object tool

Changed files (2)

Diff

diff --git a/libbirdfont/Path.vala b/libbirdfont/Path.valaindex 7716171..f358e4b 100644--- a/libbirdfont/Path.vala+++ b/libbirdfont/Path.vala@@ -779,22 +779,31 @@ public class Path { 		double last = 0; 		bool on_edge = false; 		double last_x = 0;-+		Path path;+		PathList pathlist;+		 		if (points.length () < 2) { 			return false; 		} 		-		if (!is_over_boundry_precision (x, y, tolerance)) {+		if (stroke > 0) {+			pathlist = StrokeTool.get_stroke (this, stroke);+			path = pathlist.get_first_path ();+		} else {+			path = this;+		}+		+		if (!path.is_over_boundry_precision (x, y, tolerance)) { 			return false; 		} -		foreach (EditPoint e in points) {+		foreach (EditPoint e in path.points) { 			if (distance (e.x, x, e.y, y) < tolerance) { 				return true; 			} 		} -		all_of_path ((cx, cy, ct) => {+		path.all_of_path ((cx, cy, ct) => { 			double distance = Math.fabs (Math.sqrt (Math.pow (cx - x, 2) + Math.pow (cy - y, 2))); 			 			if (distance < tolerance) {diff --git a/libbirdfont/PathList.vala b/libbirdfont/PathList.valaindex 424fe2e..6b2e41b 100644--- a/libbirdfont/PathList.vala+++ b/libbirdfont/PathList.vala@@ -36,6 +36,14 @@ public class PathList : GLib.Object { 			paths.remove_link (paths.first ()); 		} 	}+	+	public Path get_first_path () {+		if (unlikely (paths.length () == 0)) {+			warning ("No path");+		}+		+		return paths.first ().data;+	} }  }

Contact

Email: johan.mattsson.m@gmail.com
Mastodon: typo.social/@birdfont
GitHub: johanmattssonm
LinkedIn: johan-mattsson-2ab324112