Clone in a terminal:
Commit 2696b26
Johan Mattsson - 2015-05-12T06:25:47+00:00
2696b26bc7ceeb2e7026a77fff9d8ca153a9b3c2johan.mattsson.m@gmail.com

Font specific line cap settings

Changed files (7)

Diff

diff --git a/libbirdfont/BezierTool.vala b/libbirdfont/BezierTool.valaindex 830b83c..e9e8366 100644--- a/libbirdfont/BezierTool.vala+++ b/libbirdfont/BezierTool.vala@@ -146,6 +146,7 @@ public class BezierTool : Tool { 			 			if (StrokeTool.add_stroke) { 				current_path.stroke = StrokeTool.stroke_width;+				current_path.line_cap = StrokeTool.line_cap; 			} 			 			GlyphCanvas.redraw ();diff --git a/libbirdfont/CircleTool.vala b/libbirdfont/CircleTool.valaindex 2070b31..bca1909 100644--- a/libbirdfont/CircleTool.vala+++ b/libbirdfont/CircleTool.vala@@ -146,6 +146,7 @@ public class CircleTool : Tool {  		if (StrokeTool.add_stroke) { 			path.stroke = StrokeTool.stroke_width;+			path.line_cap = StrokeTool.line_cap; 		}  		for (int i = 0; i < 3; i++) {diff --git a/libbirdfont/DrawingTools.vala b/libbirdfont/DrawingTools.valaindex ce7bdbc..214a3aa 100644--- a/libbirdfont/DrawingTools.vala+++ b/libbirdfont/DrawingTools.vala@@ -786,6 +786,7 @@ public class DrawingTools : ToolCollection  { 			if (StrokeTool.add_stroke) { 				foreach (Path p in g.active_paths) { 					p.stroke = StrokeTool.stroke_width;+					p.line_cap = StrokeTool.line_cap; 				} 			} else { 				foreach (Path p in g.active_paths) {@@ -864,6 +865,10 @@ public class DrawingTools : ToolCollection  { 				p.reset_stroke (); 			} 			+			StrokeTool.line_cap = LineCap.BUTT;+			Font f = BirdFont.get_current_font ();+			f.settings.set_setting ("line_cap", @"butt");+			 			GlyphCanvas.redraw (); 		}); 		stroke_expander.add_tool (line_cap_butt);	@@ -880,6 +885,11 @@ public class DrawingTools : ToolCollection  { 				p.reset_stroke (); 			} 			+			StrokeTool.line_cap = LineCap.ROUND;++			Font f = BirdFont.get_current_font ();+			f.settings.set_setting ("line_cap", @"round");+			 			GlyphCanvas.redraw (); 		}); 		stroke_expander.add_tool (line_cap_round);	@@ -896,6 +906,11 @@ public class DrawingTools : ToolCollection  { 				p.reset_stroke (); 			} 			+			StrokeTool.line_cap = LineCap.SQUARE;++			Font f = BirdFont.get_current_font ();+			f.settings.set_setting ("line_cap", @"square");+			 			GlyphCanvas.redraw (); 		}); 		stroke_expander.add_tool (line_cap_square);	diff --git a/libbirdfont/MenuTab.vala b/libbirdfont/MenuTab.valaindex da793cb..4271ed1 100644--- a/libbirdfont/MenuTab.vala+++ b/libbirdfont/MenuTab.vala@@ -216,6 +216,16 @@ public class MenuTab : FontDisplay { 		bool s = bool.parse (stroke); 		DrawingTools.add_stroke.set_selected (s); 		StrokeTool.add_stroke = s;++		string lc = f.settings.get_setting ("line_cap");+		+		if (lc == "butt") {+			StrokeTool.line_cap = LineCap.BUTT;+		} else if (lc == "square") {+			StrokeTool.line_cap = LineCap.SQUARE;+		} else if (lc == "round") {+			StrokeTool.line_cap = LineCap.ROUND;+		} 	} 	 	// FIXME: background threaddiff --git a/libbirdfont/PenTool.vala b/libbirdfont/PenTool.valaindex f9c6def..99f4639 100644--- a/libbirdfont/PenTool.vala+++ b/libbirdfont/PenTool.vala@@ -1767,6 +1767,8 @@ public class PenTool : Tool { 			np = new Path (); 			g.add_path (np); 			np.stroke = stroke ? StrokeTool.stroke_width : 0;+			np.line_cap = StrokeTool.line_cap;+			 			g.add_active_path (np); 			 			active_path = np;diff --git a/libbirdfont/RectangleTool.vala b/libbirdfont/RectangleTool.valaindex a7af6fe..fb29113 100644--- a/libbirdfont/RectangleTool.vala+++ b/libbirdfont/RectangleTool.vala@@ -72,6 +72,7 @@ public class RectangleTool : Tool {  			if (StrokeTool.add_stroke) { 				rectangle.stroke = StrokeTool.stroke_width;+				rectangle.line_cap = StrokeTool.line_cap; 			} 		 			rectangle.init_point_type ();diff --git a/libbirdfont/StrokeTool.vala b/libbirdfont/StrokeTool.valaindex a5d03b1..e0c0e4a 100644--- a/libbirdfont/StrokeTool.vala+++ b/libbirdfont/StrokeTool.vala@@ -31,6 +31,8 @@ public class StrokeTool : Tool { 	public static bool show_stroke_tools = false; 	public static bool convert_stroke = false; 	+	public static LineCap line_cap = LineCap.BUTT;+	 	public StrokeTool (string tooltip) { 	} 

Contact

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