/// <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)); }
/// <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); }