public static Cairo.Matrix ToCairoMatrix(this TikzEdt.Parser.TikzMatrix M) { Cairo.Matrix MM = new Cairo.Matrix( M.m[0, 0], M.m[0, 1], M.m[1, 0], M.m[1, 1], M.m[0, 2], M.m[1, 2] ); return(MM); }
public static Matrix ToMatrix(this TikzEdt.Parser.TikzMatrix M) { Matrix MM = new Matrix( (float)M.m[0, 0], (float)M.m[0, 1], (float)M.m[1, 0], (float)M.m[1, 1], (float)M.m[0, 2], (float)M.m[1, 2] ); return(MM); }
int EstimateRasterSteps() { TikzEdt.Parser.TikzMatrix M = View.CoordinateTransform.Inverse(); Point p1 = M.Transform(View.BB.BottomLeft), p2 = View.BB.BottomRight, p3 = View.BB.TopLeft, p4 = View.BB.TopRight; double maxcoord = Math.Max(Math.Abs(p1.X), Math.Max(Math.Abs(p1.Y), Math.Max(Math.Abs(p2.X), Math.Max(Math.Abs(p2.Y), Math.Max(Math.Abs(p3.X), Math.Max(Math.Abs(p3.Y), Math.Max(Math.Abs(p4.X), Math.Abs(p4.Y)))))))); if (maxcoord > 0) //if scale=0 maxcoord==NaN just return 0 then. { return(Convert.ToInt32(2 * maxcoord / GridWidth)); } return(0); }