예제 #1
0
        /// <summary>
        /// Calculates width of border.
        /// </summary>
        /// <param name="canvas"></param>
        /// <returns></returns>
        public float CalculateWidth(ICanvasInfo canvas)
        {
            Vector2i ps = canvas.CanvasPixelSize;
            Vector2f t  = Vector2f.ComponentDivision(canvas.CanvasUnitSize, new Vector2f(ps.X, ps.Y));

            return(widthInCanvas + widthInPixels * (t.X > t.Y ? t.X : t.Y));
        }
예제 #2
0
        /// <summary>
        /// Converts pen to algorithm's representation.
        /// </summary>
        /// <param name="canvas"></param>
        /// <returns></returns>
        public OutlineTesselation.TesselationOptionsf ToOutlineTesselationOptions(ICanvasInfo canvas)
        {
            OutlineTesselation.TesselationOptionsf t = new OutlineTesselation.TesselationOptionsf();
            t.OutlineType   = OutlineType.Line;
            t.OutlineEnd    = OutlineEnd.Square;
            t.LineThickness = widthInCanvas + canvas.ToCanvasSize(widthInPixels);

            return(t);
        }