Clone in a terminal:
Commit a56ee07
Johan Mattsson - 2016-05-14T16:58:09+00:00
a56ee07d746203496a7b69f786cf3d072dc81706johan.mattsson.m@gmail.com

Tie axis coordinates to 0, 45, 90 ... degrees

Changed files (2)

Diff

diff --git a/libbirdfont/PenTool.vala b/libbirdfont/PenTool.valaindex 7f0cc81..7f4ed01 100644--- a/libbirdfont/PenTool.vala+++ b/libbirdfont/PenTool.vala@@ -826,21 +826,31 @@ public class PenTool : Tool { 			} else { 				coordinate_x = Glyph.path_coordinate_x (x); 				coordinate_y = Glyph.path_coordinate_y (y);-				delta_coordinate_x = coordinate_x - last_point_x;-				delta_coordinate_y = coordinate_y - last_point_y;			-				selected_handle.move_delta_coordinate (delta_coordinate_x, delta_coordinate_y);+				selected_handle.x = coordinate_x;+				selected_handle.y = coordinate_y; 				 				if (on_axis) {-					double horizontal, vertical;--					horizontal = Path.distance (selected_handle.parent.x, selected_handle.x, selected_handle.y, selected_handle.y);-					vertical = Path.distance (selected_handle.x, selected_handle.x, selected_handle.parent.y, selected_handle.y);--					if (horizontal < vertical) {-						selected_handle.move_to_coordinate (selected_handle.parent.x, selected_handle.y);-					} else {-						selected_handle.move_to_coordinate (selected_handle.x, selected_handle.parent.y);-					}					+					double length = fabs (Path.distance (selected_handle.parent.x, coordinate_x,+						selected_handle.parent.y, coordinate_y));+					+					double min = double.MAX;+					double circle_edge;+					double circle_x;+					double circle_y;+					+					for (double circle_angle = 0; circle_angle < 2 * PI; circle_angle += PI / 4) {+						circle_x = selected_handle.parent.x + cos (circle_angle) * length;+						circle_y = selected_handle.parent.y + sin (circle_angle) * length;+						+						circle_edge = fabs (Path.distance (coordinate_x, circle_x, +							coordinate_y, circle_y));+						+						if (circle_edge < min) {+							selected_handle.x = circle_x;+							selected_handle.y = circle_y;+							min = circle_edge;+						}+					} 				} 			} diff --git a/libbirdfont/Renderer/FallbackFont.vala b/libbirdfont/Renderer/FallbackFont.valaindex f816e32..8235765 100644--- a/libbirdfont/Renderer/FallbackFont.vala+++ b/libbirdfont/Renderer/FallbackFont.vala@@ -134,7 +134,6 @@ public class FallbackFont : GLib.Object { 		 		idle.set_callback (() => { 			font_config = config;-			print("Fontconfog loaded."); 			return false; 		}); 		idle.attach (null);

Contact

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