Example #1
0
 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);
 }
Example #2
0
        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);
        }
Example #3
0
        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);
        }