Exemple #1
0
        public override void OnDraw(Graphics g)
        {
            Color thumbColor;

            if (IsDragging || form.ShapeManager.IsPanning || IsCursorHover)
            {
                thumbColor = ActiveThumbColor;
            }
            else
            {
                thumbColor = ThumbColor;
            }

            using (Brush trackBrush = new SolidBrush(TrackColor))
                using (Brush thumbBrush = new SolidBrush(thumbColor))
                {
                    Matrix savedTransform = g.Transform;
                    form.ZoomTransform(g, true);

                    if (IsCapsule)
                    {
                        g.SmoothingMode   = SmoothingMode.HighQuality;
                        g.PixelOffsetMode = PixelOffsetMode.Half;

                        g.DrawCapsule(trackBrush, Rectangle);
                        g.DrawCapsule(thumbBrush, ThumbRectangle);

                        g.SmoothingMode   = SmoothingMode.None;
                        g.PixelOffsetMode = PixelOffsetMode.Default;
                    }
                    else
                    {
                        g.FillRectangle(trackBrush, Rectangle);
                        g.FillRectangle(thumbBrush, ThumbRectangle);
                    }

                    g.Transform = savedTransform;
                }
        }