Exemplo n.º 1
0
        /// <summary>
        /// Left mouse is released.
        /// New object is created and resized.
        /// </summary>
        /// <param name="drawArea"></param>
        /// <param name="e"></param>
        public override void OnMouseUp(DrawArea drawArea, MouseEventArgs e)
        {
            if (drawArea.Graphics.Count > 0)
            {
                if (drawArea.Graphics.First.Shape.Length >= 2)//有一定长度才画图
                {
                    DrawObject draw = drawArea.Graphics.First;
                    draw.ShowParamSetting(e.Location);
                    draw.BulidWay(draw.WaySetter);

                    if (draw.WaySetter.CBCreateReverseWay.Checked == true)
                    {
                        DrawObject ctrWay = draw.BuildCtrWay();

                        drawArea.Graphics.AddFirst(ctrWay);
                        drawArea.SetDirty();
                        drawArea.AddCommandToHistory(new CommandAdd(ctrWay));
                    }

                    drawArea.AddCommandToHistory(new CommandAdd(drawArea.Graphics.First));
                    drawArea.ActiveTool = DrawArea.DrawToolType.Pointer;

                    drawArea.Capture = false;
                    drawArea.Refresh();
                }
            }

            //drawArea.GraphicsList[0].Normalize();
            //drawArea.AddCommandToHistory(new CommandAdd(drawArea.GraphicsList[0]));
            //drawArea.ActiveTool = DrawArea.DrawToolType.Pointer;

            //drawArea.Capture = false;
            //drawArea.Refresh();
        }
Exemplo n.º 2
0
        public DrawObject BuildCtrWay()
        {
            DrawObject ctrWay = this.Clone();

            ctrWay.Shape.Reverse();
            ctrWay.Shape.Offset(1);            //右手坐标系,右手坐标系跟驾驶习惯有关系
            ctrWay.BulidWay(this.WaySetter);
            ctrWay.Shape.Offset(penWidth - 1); //右手坐标系,右手坐标系跟驾驶习惯有关系

            Way.WaysBind(this.Way, ctrWay.Way);
            return(ctrWay);
        }