//使用p中的数据, 依据坐标,从小到大,绘制成图标 //图标的形状取决于cps.iconStyle internal static void Draw(PointF[] p, Graphics g, ChannelCurveStyle cps) { Pen pn = new Pen(cps.lineColor, cps.lineWidth); switch (cps.iconStyle) { case CurveIconStyle.cisHollowCircle: DrawHollowCircle(p, g, pn, cps.iconSize); break; case CurveIconStyle.cisHollowDiamond: DrawHollowDiamond(p, g, pn, cps.iconSize); break; case CurveIconStyle.cisHollowSquare: DrawHollowSquare(p, g, pn, cps.iconSize); break; case CurveIconStyle.cisSolidCircle: DrawSolidCircle(p, g, cps.lineColor, cps.iconSize); break; case CurveIconStyle.cisSolidDiamond: DrawSolidDiamond(p, g, cps.lineColor, cps.iconSize); break; case CurveIconStyle.cisSolidSquare: DrawSolidSquare(p, g, cps.lineColor, cps.iconSize); break; } }
internal Channel() { yUnitOffset = 0; maxSourceIndex = -1; source = new PointF[MAXCAPCITY][]; nodes = new ChannelNode[MAXCAPCITY]; nodes3 = new ChannelNode[MAXCAPCITY]; for (int i = 0; i < MAXCAPCITY; i++) { source[i] = null; nodes[i].head.X = float.MinValue; nodes[i].head.Y = float.MinValue; nodes[i].tail.X = float.MinValue; nodes[i].tail.Y = float.MinValue; nodes3[i].head.X = float.MinValue; nodes3[i].head.Y = float.MinValue; nodes3[i].tail.X = float.MinValue; nodes3[i].tail.Y = float.MinValue; } ccStyle = new ChannelCurveStyle(); }