Clone in a terminal:
Commit 0231f8f
Johan Mattsson - 2016-07-12T13:31:12+00:00
0231f8f4517777e8db3519def3ee894884b57b9bjohan.mattsson.m@gmail.com

Fix gradient matrix

Changed files (2)

Diff

diff --git a/libsvgbird/Gradient.vala b/libsvgbird/Gradient.valaindex 879e5ae..3f2b960 100644--- a/libsvgbird/Gradient.vala+++ b/libsvgbird/Gradient.vala@@ -23,6 +23,7 @@ public abstract class Gradient : GLib.Object { 	public string id = ""; 	public string? href = null; 	public SvgTransforms transforms;+	public Matrix view_matrix = Matrix.identity ();  	public Gradient () { 		stops = new Gee.ArrayList<Stop> ();diff --git a/libsvgbird/Object.vala b/libsvgbird/Object.valaindex 90e279e..30cf07f 100644--- a/libsvgbird/Object.vala+++ b/libsvgbird/Object.vala@@ -147,7 +147,7 @@ public abstract class Object : GLib.Object { 				cr.fill_preserve (); 			} else { 				cr.fill ();-			}	+			} 		}  		if (style.stroke_gradient != null) {@@ -184,8 +184,14 @@ public abstract class Object : GLib.Object { 			 			Matrix gradient_matrix = g.get_matrix (); 			gradient_matrix.invert ();+			Matrix object_matrix = transforms.get_matrix ();+			object_matrix.invert ();+			gradient_matrix.multiply (gradient_matrix, object_matrix);+			 			pattern.set_matrix (gradient_matrix); 			+			g.view_matrix = gradient_matrix;+			 			foreach (Stop s in g.stops) { 				Color c = s.color; 				pattern.add_color_stop_rgba (s.offset, c.r, c.g, c.b, c.a);

Contact

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