Clone in a terminal:
Commit d85d7a8
Johan Mattsson - 2016-06-08T12:26:18+00:00
d85d7a8cc7762ee782010a52ebfce6426a917f73johan.mattsson.m@gmail.com

Copy style attributes

Changed files (4)

Diff

diff --git a/libbirdfont/EmbeddedSvg.vala b/libbirdfont/EmbeddedSvg.valaindex 3b82b4d..879af69 100644--- a/libbirdfont/EmbeddedSvg.vala+++ b/libbirdfont/EmbeddedSvg.vala@@ -105,11 +105,10 @@ public class EmbeddedSvg : SvgBird.Object {  	public override SvgBird.Object copy () { 		EmbeddedSvg svg = new EmbeddedSvg ((SvgDrawing) drawing.copy ());-		+		SvgBird.Object.copy_attributes (this, svg); 		svg.svg_data = svg_data; 		svg.x = x; 		svg.y = y;-		 		return svg; 	} 	diff --git a/libbirdfont/Glyph.vala b/libbirdfont/Glyph.valaindex ee9178d..82201d0 100644--- a/libbirdfont/Glyph.vala+++ b/libbirdfont/Glyph.vala@@ -1826,6 +1826,8 @@ public class Glyph : FontDisplay { 		if (clear_redo) { 			redo_list.clear (); 		}+		+		// set_glyph_data (g); // FIXME: DELETE 	}  	public void print_layers (Layer layer, int indent = 0) {diff --git a/libsvgbird/Layer.vala b/libsvgbird/Layer.valaindex f03b768..115cb8b 100644--- a/libsvgbird/Layer.vala+++ b/libsvgbird/Layer.vala@@ -111,10 +111,6 @@ public class Layer : Object { 		Layer layer = new Layer (); 		copy_layer (this, layer); 		Object.copy_attributes (this, layer);-		-		stdout.printf (@"Copy $(layer.name)\n");-		layer.objects.print_objects ();-		 		return layer; 	} 	diff --git a/libsvgbird/SvgStyle.vala b/libsvgbird/SvgStyle.valaindex 31f7ba5..ef172d9 100644--- a/libsvgbird/SvgStyle.vala+++ b/libsvgbird/SvgStyle.vala@@ -99,9 +99,31 @@ public class SvgStyle : GLib.Object { 	}  	public SvgStyle copy () {-		SvgStyle style = new SvgStyle ();-		style.apply (this);-		return style;+		SvgStyle style_copy = new SvgStyle ();++		foreach (string key in style.keys) {+			style_copy.style.set (key, style.get (key));+		}++		if (stroke != null) {+			style_copy.stroke = ((!) stroke).copy ();+		}++		if (fill != null) {+			style_copy.fill = ((!) fill).copy ();+		}++		if (stroke_gradient != null) {+			style_copy.stroke_gradient = ((!) stroke_gradient).copy ();+		}++		if (fill_gradient != null) {+			style_copy.fill_gradient = ((!) fill_gradient).copy ();+		}+		+		style_copy.stroke_width = stroke_width;+				+		return style_copy; 	}  	public LineCap get_line_cap () {

Contact

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