Clone in a terminal:
Commit 9857e7a
Johan Mattsson - 2014-09-06T21:01:03+00:00
9857e7a6e8ee6c30a570e88582317b39e0406072johan.mattsson.m@gmail.com

Fix minor drawing canvas bugs

Changed files (3)

Diff

diff --git a/libbirdfont/EditPointHandle.vala b/libbirdfont/EditPointHandle.valaindex 594c43a..13899f0 100644--- a/libbirdfont/EditPointHandle.vala+++ b/libbirdfont/EditPointHandle.vala@@ -235,16 +235,16 @@ public class EditPointHandle : GLib.Object { 			if (!is_left_handle ()) { 				if (parent.next != null) { 					h = parent.get_next ().get_left_handle ();+					h.parent.set_tie_handle (false); 					h.type = PointType.QUADRATIC; 					h.move_to_coordinate_internal (px (), py ());-					h.parent.set_tie_handle (false); 				} 			} else { 				if (parent.prev != null) { 					h = parent.get_prev ().get_right_handle ();+					h.parent.set_tie_handle (false); 					h.type = PointType.QUADRATIC; 					h.move_to_coordinate_internal (px (), py ());-					h.parent.set_tie_handle (false); 				} 			} 		}diff --git a/libbirdfont/PenTool.vala b/libbirdfont/PenTool.valaindex 3baa20f..e03faec 100644--- a/libbirdfont/PenTool.vala+++ b/libbirdfont/PenTool.vala@@ -570,6 +570,7 @@ public class PenTool : Tool {  			if (KeyBindings.modifier == SHIFT) { 				selected_handle.angle = angle;+				selected_handle.process_connected_handle (); 			} 			 			handle_selection.path.update_region_boundaries ();@@ -601,8 +602,10 @@ public class PenTool : Tool { 				delta_coordinate_y = coordinate_y - last_point_y; 				 				foreach (PointSelection selected in selected_points) {-					selected.point.x += delta_coordinate_x;-					selected.point.y += delta_coordinate_y;+					selected.point.set_position (selected.point.x + delta_coordinate_x,+						selected.point.y + delta_coordinate_y);+					selected.point.recalculate_linear_handles ();+					selected.path.update_region_boundaries (); 				} 			} else if (GridTool.has_ttf_grid ()) { 				coordinate_x = Glyph.path_coordinate_x (x);@@ -612,8 +615,10 @@ public class PenTool : Tool { 				delta_coordinate_y = coordinate_y - last_point_y; 				 				foreach (PointSelection selected in selected_points) {-					selected.point.x += delta_coordinate_x;-					selected.point.y += delta_coordinate_y;+					selected.point.set_position (selected.point.x + delta_coordinate_x,+						selected.point.y + delta_coordinate_y);+					selected.point.recalculate_linear_handles ();+					selected.path.update_region_boundaries (); 				} 			} else { 				coordinate_x = Glyph.path_coordinate_x (x);@@ -622,8 +627,8 @@ public class PenTool : Tool { 				delta_coordinate_y = coordinate_y - last_point_y;  				foreach (PointSelection selected in selected_points) {-					selected.point.x += delta_coordinate_x;-					selected.point.y += delta_coordinate_y;+					selected.point.set_position (selected.point.x + delta_coordinate_x,+						selected.point.y + delta_coordinate_y); 					 					selected.point.recalculate_linear_handles (); 					selected.path.update_region_boundaries ();@@ -1748,11 +1753,11 @@ public class PenTool : Tool { 			active_handle = new EditPointHandle.empty (); 			 			if (keyval == Key.UP) {-				selected_handle.move_delta_coordinate (0, -1 * Glyph.ivz ());+				selected_handle.move_delta_coordinate (0, 1 * Glyph.ivz ()); 			} 			 			if (keyval == Key.DOWN) {-				selected_handle.move_delta_coordinate (0, 1 * Glyph.ivz ());+				selected_handle.move_delta_coordinate (0, -1 * Glyph.ivz ()); 			}  			if (keyval == Key.LEFT) {diff --git a/libbirdfont/SpacingClassTab.vala b/libbirdfont/SpacingClassTab.valaindex 0db072b..9beca23 100644--- a/libbirdfont/SpacingClassTab.vala+++ b/libbirdfont/SpacingClassTab.vala@@ -32,6 +32,10 @@ public class SpacingClassTab : FontDisplay { 	public SpacingClassTab () { 	} +	public static void remove_all_spaving_classes () {+		MainWindow.spacing_class_tab.classes.clear ();+	}+ 	public Gee.ArrayList<string> get_all_connections (string glyph) { 		Gee.ArrayList<string> c = new Gee.ArrayList<string> (); 		

Contact

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