public void begin(Context context, bool isClosed) { this.context = context; this.isClosed = isClosed; miterLimit = context.miterLimit; //float det = Math.Sqrt(Math.Abs(context.transform.m00 * context.transform.m11 - // context.transform.m01 * context.transform.m10)); float det = (float)Math.Sqrt(Math.Abs(context.transform.Elements[0] * context.transform.Elements[3] - context.transform.Elements[1] * context.transform.Elements[2])); float a = det * context.lineWidth / 2.0f; width = context.lineWidth / 2.0f * (a + 0.1f) / a; minu = 0.25f; maxu = 0.25f + (a + 0.5f) / 2.0f; rendererCallback = context.vertexRenderer; rendererCallback.Transform = context.transform; count = 0; color = context.color; closeStroke = false; //if (lineEdgeTexture == 0) createEdgeTexture(); // if(lineDashTexture == 0) createDashTexture(); dashPhase = context.lineDashPhase; }