Clone in a terminal:
Commit 342f0d7
Johan Mattsson - 2013-08-13T15:00:52+00:00
342f0d707aafa3891af7c0eca3d7ead759d1ce35johan.mattsson.m@gmail.com

new image for selected control point handle

Changed files (4)

Diff

diff --git a/icons/selected_edit_point_handle.png b/icons/selected_edit_point_handle.pngnew file mode 100644index 0000000..9a661fcBinary files /dev/null and b/icons/selected_edit_point_handle.png differdiff --git a/libbirdfont/EditPointHandle.vala b/libbirdfont/EditPointHandle.valaindex 8dd5c1c..9dccf11 100644--- a/libbirdfont/EditPointHandle.vala+++ b/libbirdfont/EditPointHandle.vala@@ -24,6 +24,7 @@ public class EditPointHandle  { 	EditPoint? visual_handle = null; 	static EditPoint none = new EditPoint (); 	public bool active;+	public bool selected;  	public double angle; @@ -33,6 +34,7 @@ public class EditPointHandle  { 		this.length = 10; 		this.type = PointType.NONE; 		this.active = false;+		this.selected = false; 	} 	 	public EditPointHandle (EditPoint parent, double angle, double length) {@@ -41,6 +43,7 @@ public class EditPointHandle  { 		this.length = length; 		this.type = PointType.LINE_CUBIC; 		this.active = false;+		this.selected = false; 	}  	public EditPointHandle copy () {@@ -50,6 +53,7 @@ public class EditPointHandle  { 		n.parent = parent; 		n.type = type; 		n.active = active;+		n.selected = selected; 		return n; 	} diff --git a/libbirdfont/Path.vala b/libbirdfont/Path.valaindex 3182974..447646f 100644--- a/libbirdfont/Path.vala+++ b/libbirdfont/Path.vala@@ -49,6 +49,7 @@ public class Path { 	 	private static ImageSurface? edit_point_handle_image = null; 	private static ImageSurface? active_edit_point_handle_image = null;+	private static ImageSurface? selected_edit_point_handle_image = null;  	private static ImageSurface? selected_edit_point_image = null; 	private static ImageSurface? active_selected_edit_point_image = null;@@ -83,6 +84,7 @@ public class Path { 			active_edit_point_image = Icons.get_icon ("active_edit_point.png"); 			edit_point_handle_image = Icons.get_icon ("edit_point_handle.png"); 			active_edit_point_handle_image = Icons.get_icon ("active_edit_point_handle.png");+			selected_edit_point_handle_image = Icons.get_icon ("selected_edit_point_handle.png"); 			selected_edit_point_image = Icons.get_icon ("selected_edit_point.png"); 			active_selected_edit_point_image = Icons.get_icon ("active_selected_edit_point.png"); 			cubic_edit_point_image = Icons.get_icon ("edit_point_cubic.png");@@ -328,9 +330,22 @@ public class Path {  		cr.stroke (); 		-		img_right = (e.get_right_handle ().active) ? (!) active_edit_point_handle_image : (!) edit_point_handle_image;-		img_left = (e.get_left_handle ().active) ? (!) active_edit_point_handle_image : (!) edit_point_handle_image;+		if (e.get_right_handle ().selected) {+			img_right = (!) selected_edit_point_handle_image;+		} else if (e.get_right_handle ().active) {+			img_right = (!) active_edit_point_handle_image;+		} else {+			img_right = (!) edit_point_handle_image;+		} 		+		if (e.get_left_handle ().selected) {+			img_left = (!) selected_edit_point_handle_image;+		} else if (e.get_left_handle ().active) {+			img_left = (!) active_edit_point_handle_image;+		} else {+			img_left = (!) edit_point_handle_image;+		}+ 		if (!(is_open () && e == points.last ().data)) { 			draw_line (handle_right, e, cr, 0.15); 			draw_image (cr, img_right, e.get_right_handle ().x (), e.get_right_handle ().y ());diff --git a/libbirdfont/PenTool.vala b/libbirdfont/PenTool.valaindex 8471196..1b0c84f 100644--- a/libbirdfont/PenTool.vala+++ b/libbirdfont/PenTool.vala@@ -189,6 +189,8 @@ public class PenTool : Tool { 			selected_points.remove_link (selected_points.first ()); 		} 		+		selected_handle.selected = false;+		 		active_handle = new EditPointHandle.empty (); 		selected_handle = new EditPointHandle.empty (); 	@@ -1084,7 +1086,9 @@ public class PenTool : Tool {  		move_selected_handle = true; 		last_selected_is_handle = true;+		selected_handle.selected = false; 		selected_handle = get_closest_handle (event_x, event_y);+		selected_handle.selected = true; 	}  	public static void add_selected_point (EditPoint p) {@@ -1260,6 +1264,8 @@ public class PenTool : Tool { 			 		} else { 			set_type_for_moving_handle ();+			active_handle.active = false;+			active_handle = new EditPointHandle.empty (); 			 			if (keyval == Key.UP) { 				selected_handle.move_delta (0, -1);

Contact

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