Commit 0231f8f
Fix gradient matrix
Changed files (2)
Diff
@@ -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> ();@@ -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);