コード例 #1
0
        public void Draw(Canvas sender, Graphics graphics)
        {
            Rectangle pos = ShapeIsSelected() ? PreviewOffset(Position, ClickData.Action) : Position;

            DrawShape(graphics, pos);

            // Create outline
            if (ShouldDrawBorder())
            {
                var prevWidth = m_pen.Width;
                var prevColor = Color;

                Color = Utils.ColorSetHsv(
                    255 - prevColor.GetHue(),
                    255 - prevColor.GetSaturation(),
                    255 - prevColor.GetBrightness(),
                    200
                    );

                m_pen.Width = EdgeWidth;

                Rectangle borderPos = Position.InflatedBy(-EdgeWidth / 2, -EdgeWidth / 2);
                pos = ShapeIsSelected() ? PreviewOffset(borderPos, ClickData.Action) : borderPos;

                DrawBorder(graphics, pos);

                Color       = prevColor;
                m_pen.Width = prevWidth;
            }
        }