Accord.Controls.ManipulatorControl.ManipulatorControl_Paint C# (CSharp) Метод

ManipulatorControl_Paint() приватный Метод

private ManipulatorControl_Paint ( object sender, PaintEventArgs e ) : void
sender object
e PaintEventArgs
Результат void
        private void ManipulatorControl_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            // calculate size of the manipulator's ares
            areaSize = System.Math.Min(ClientRectangle.Width, ClientRectangle.Height) - areaMargin * 2;
            areaRadius = areaSize / 2;

            // draw area
            if (areaSize > 1)
            {
                if (isSquareLook)
                {
                    // square looking control
                    int halfAreaSize = areaSize / 2;

                    g.FillRectangle((!this.Enabled) ? disabledBrash : topLeftBackgroundBrush, areaMargin, areaMargin, halfAreaSize, halfAreaSize);
                    g.FillRectangle((!this.Enabled) ? disabledBrash : topRightBackgroundBrush, areaMargin + halfAreaSize, areaMargin, areaSize - halfAreaSize, halfAreaSize);
                    g.FillRectangle((!this.Enabled) ? disabledBrash : bottomLeftBackgroundBrush, areaMargin, areaMargin + halfAreaSize, halfAreaSize, areaSize - halfAreaSize);
                    g.FillRectangle((!this.Enabled) ? disabledBrash : bottomRightBackgroundBrush, areaMargin + halfAreaSize, areaMargin + halfAreaSize,
                        areaSize - halfAreaSize, areaSize - halfAreaSize);

                    g.DrawRectangle(borderPen, areaMargin, areaMargin, areaSize - 1, areaSize - 1);
                }
                else
                {
                    // round looking control
                    g.FillPie((this.Enabled) ? topRightBackgroundBrush : disabledBrash, areaMargin, areaMargin, areaSize - 1, areaSize - 1, 0, -90);
                    g.FillPie((this.Enabled) ? topLeftBackgroundBrush : disabledBrash, areaMargin, areaMargin, areaSize - 1, areaSize - 1, -90, -90);
                    g.FillPie((this.Enabled) ? bottomRightBackgroundBrush : disabledBrash, areaMargin, areaMargin, areaSize - 1, areaSize - 1, 0, 90);
                    g.FillPie((this.Enabled) ? bottomLeftBackgroundBrush : disabledBrash, areaMargin, areaMargin, areaSize - 1, areaSize - 1, 90, 90);
                    g.DrawEllipse(borderPen, areaMargin, areaMargin, areaSize - 1, areaSize - 1);
                }
            }

            // draw axis or not ?
            if (drawHorizontalAxis)
            {
                g.DrawLine(borderPen, areaMargin, areaMargin + areaRadius, areaMargin + areaSize - 1, areaMargin + areaRadius);
            }
            if (drawVerticalAxis)
            {
                g.DrawLine(borderPen, areaMargin + areaRadius, areaMargin, areaMargin + areaRadius, areaMargin + areaSize - 1);
            }

            // calculate manipulator's center point
            int ctrlManipulatorX = (int)(manipulatatorX * areaRadius) + areaMargin + areaRadius;
            int ctrlManipulatorY = (int)(-manipulatatorY * areaRadius) + areaMargin + areaRadius;

            // draw manipulator
            g.FillEllipse((this.Enabled) ? manipulatorBrush : disabledBrash,
                ctrlManipulatorX - manipulatorRadius, ctrlManipulatorY - manipulatorRadius,
                manipulatorSize, manipulatorSize);
            g.DrawEllipse(borderPen,
                ctrlManipulatorX - manipulatorRadius, ctrlManipulatorY - manipulatorRadius,
                manipulatorSize, manipulatorSize);
        }