コード例 #1
0
 private void CreateCustomPolygon(object sender, EventArgs e)
 {
     polygons.Add(PolygonCreator.GetCustom());
     FakeButton.Focus();
     drawingArea.Refresh();
 }
コード例 #2
0
        public PolygonEditor()
        {
            InitializeComponent();
            StartPosition = FormStartPosition.CenterScreen;

            polygons = new List <IPolygon> {
                PolygonCreator.GetCustom()
            };
            Vertice.ClickRadius = 10;
            Edge.ClickDistance  = 5;

            inputHandler = GetStandardInputHandler();

            standardPolygonDrawer = new PolygonDrawer
            {
                EdgeColor              = Color.LightGray,
                EdgeThickness          = 2,
                VerticeBorderColor     = Color.LightGray,
                VerticeInsideColor     = Color.FromArgb(28, 28, 28),
                VerticeBorderThickness = 1,
                VerticeRadius          = 10,
                IconLineThickness      = 1,
                IconRadius             = 12,
                IconColor              = Color.Yellow,
                IconFontName           = "Arial",
                IconFontSize           = 12
            };

            selectedElementDrawer = new PolygonDrawer
            {
                EdgeColor              = Color.Red,
                EdgeThickness          = standardPolygonDrawer.EdgeThickness,
                VerticeBorderColor     = Color.Red,
                VerticeInsideColor     = standardPolygonDrawer.VerticeInsideColor,
                VerticeBorderThickness = standardPolygonDrawer.VerticeBorderThickness,
                VerticeRadius          = standardPolygonDrawer.VerticeRadius,
                IconLineThickness      = standardPolygonDrawer.IconLineThickness,
                IconRadius             = standardPolygonDrawer.IconRadius,
                IconColor              = standardPolygonDrawer.IconColor,
                IconFontName           = standardPolygonDrawer.IconFontName,
                IconFontSize           = standardPolygonDrawer.IconFontSize
            };

            #region Events pinning

            drawingArea.Paint += Draw;
            AttachInputHandlerEventsToDrawingArea();

            MakeVerticalButton.Click      += ChangeSelectedEdgeToVertical;
            MakeHorizontalButton.Click    += ChangeSelectedEdgeToHorizontal;
            MakeFixedLengthButton.Click   += ChangeSelectedEdgeToFixedLength;
            ChangeLengthButton.Click      += ChangeSelectedEdgeLength;
            RemoveConstraintsButton.Click += RemoveConstraintsFromSelectedEdge;
            DeleteVerticeButton.Click     += DeleteSelectedVertice;
            SplitButton.Click             += SplitSelectedEdge;

            CreateTriangleButton.Click  += CreateTriangle;
            CreateRectangleButton.Click += CreateRectangle;
            CreateCustomButton.Click    += CreateCustomPolygon;
            DeletePolygonButton.Click   += DeleteSelectedPolygon;
            StartDrawingButton.Click    += StartDrawingPolygon;
            StopDrawingButton.Click     += StopDrawingPolygon;
            ConvexHullButton.Click      += ChangeCurrentPolygonToConvexHull;

            #endregion

            UpdateButtons();
        }