Ejemplo n.º 1
0
        public override void DrawTrackLine(TrackBarObjectInfoArgs e)
        {
            MultiTrackBarControlViewInfo viewInfo = (MultiTrackBarControlViewInfo)e.ViewInfo;
            TrackBarPaintEventArgs       pe       = new TrackBarPaintEventArgs()
            {
                ViewInfo = viewInfo, Painter = this, Cache = e.Cache
            };

            ((RepositoryItemMultiTrackBarControl)viewInfo.Item).RaiseDrawTrackLine(pe);
            if (!pe.Habdled)
            {
                base.DrawTrackLine(e);
            }
        }
Ejemplo n.º 2
0
        protected override void DrawTrackLineCore(TrackBarObjectInfoArgs e, Rectangle bounds)
        {
            ColorTrackBarControlViewInfo       viewInfo = (ColorTrackBarControlViewInfo)e.ViewInfo;
            RepositoryItemColorTrackBarControl item     = (RepositoryItemColorTrackBarControl)viewInfo.Item;

            for (int i = 0; i < item.Colors.Count - 1; i++)
            {
                PointF pt1 = new PointF(bounds.X + item.Colors[i].Position * bounds.Width, bounds.Y);
                PointF pt2 = new PointF(bounds.X + item.Colors[i + 1].Position * bounds.Width, bounds.Y);
                LinearGradientBrush brush = new LinearGradientBrush(pt1, pt2, item.Colors[i].Color, item.Colors[i + 1].Color);
                e.Graphics.FillRectangle(brush, new RectangleF(pt1.X, bounds.Top, pt2.X - pt1.X, bounds.Height));
                brush.Dispose();
            }
            new BorderPainter().DrawObject(new BorderObjectInfoArgs(e.Cache, viewInfo.PaintAppearance, bounds));
        }
Ejemplo n.º 3
0
        public override void DrawObject(ObjectInfoArgs e)
        {
            TrackBarObjectInfoArgs tbe = e as TrackBarObjectInfoArgs;
            RepositoryItemTrackBar ri  = tbe.ViewInfo.Item;

            DrawBackground(tbe);
            DrawTrackLine(tbe);
            if (this.AllowTick(tbe.ViewInfo))
            {
                DrawPoints(tbe);
            }
            DrawThumbs(tbe);
            if (ri.ShowLabels)
            {
                DrawLabels(tbe);
            }
        }
        public override void DrawTrackLine(TrackBarObjectInfoArgs e)
        {
            Rectangle rec = e.ViewInfo.TrackBarHelper.Rotate(e.ViewInfo.TrackLineRect);

            rec.X     = e.ViewInfo.PointsRect.X;
            rec.Width = e.ViewInfo.PointsRect.Width;

            ProgressBarControl prb = (e.ViewInfo.Item as MyRepositoryItemTrackBar).Progress;

            if (prb == null)
            {
                base.DrawTrackLine(e);
                return;
            }
            BaseControlViewInfo vi = prb.GetViewInfo();

            vi.CalcViewInfo(e.Graphics, MouseButtons.None, Point.Empty, rec);
            ControlGraphicsInfoArgs args = new ControlGraphicsInfoArgs(vi, e.Cache, rec);

            vi.Painter.Draw(args);
        }
        public override void DrawPoints(TrackBarObjectInfoArgs e, bool bMirror)
        {
            Point p1 = Point.Empty, p2 = Point.Empty;
            float xPos;
            int   tickCount;

            p1.Y = e.ViewInfo.PointsRect.Y;
            for (xPos = 0, tickCount = 0; tickCount < e.ViewInfo.TickCount; xPos += e.ViewInfo.PointsDelta, tickCount++)
            {
                p2.X = p1.X = (int)(e.ViewInfo.PointsRect.X + xPos + 0.01f);
                if (tickCount != 0 && tickCount != e.ViewInfo.TickCount - 1)
                {
                    p2.Y = p1.Y + Math.Max(e.ViewInfo.PointsRect.Height * 3 / 4, 1);
                }
                else
                {
                    p2.Y = p1.Y + e.ViewInfo.PointsRect.Height;
                }
                DrawLine(e, e.ViewInfo.TrackBarHelper.RotateAndMirror(p1, e.ViewInfo.MirrorPoint.Y, bMirror), e.ViewInfo.TrackBarHelper.RotateAndMirror(p2, e.ViewInfo.MirrorPoint.Y, bMirror));
                DrawTickText(e, p1, tickCount);
            }
        }
        public virtual void DrawMarker(TrackBarObjectInfoArgs e)
        {
            Point p1 = Point.Empty, p2 = Point.Empty;
            Pen   MarkerPen = new Pen(SystemColors.ActiveBorder, 1);

            p1 = e.ViewInfo.ThumbPos; p2 = e.ViewInfo.ThumbPos;

            switch (e.ViewInfo.Item.TickStyle)
            {
            case TickStyle.BottomRight: { p1.Y += 7; p2.Y += 20; break; }

            case TickStyle.TopLeft: { p1.Y -= 20; p2.Y -= 7; break; }

            case TickStyle.Both: { p1.Y -= 7; p2.Y += 6; break; }
            }

            e.Paint.DrawLine(e.Graphics, MarkerPen, p1, p2);
            e.Graphics.FillEllipse(Brushes.WhiteSmoke, p1.X - 3, p1.Y - 6, 6, 6);
            e.Graphics.DrawEllipse(Pens.Coral, p1.X - 3, p1.Y - 6, 6, 6);
            e.Graphics.FillEllipse(Brushes.WhiteSmoke, p2.X - 3, p2.Y - 0, 6, 6);
            e.Graphics.DrawEllipse(Pens.Coral, p2.X - 3, p2.Y - 0, 6, 6);

            MarkerPen.Dispose();
        }
 protected override void DrawLine(TrackBarObjectInfoArgs e, System.Drawing.Point p1, System.Drawing.Point p2)
 {
     base.DrawLine(e, p1, p2);
 }
        public override void DrawPoints(TrackBarObjectInfoArgs e, bool bMirror)
        {
            Point p1 = Point.Empty, p2 = Point.Empty, p3 = Point.Empty, p4 = Point.Empty, p5 = Point.Empty;
            float xPos;
            int   tickCount;
            var   g = e.Graphics;
            int   curValue;

            Font        MyFont      = ((SliderViewInfo)e.ViewInfo).Item.Appearance.Font;
            SizeF       TextSize    = new SizeF();
            LabelFormat labelFormat = new LabelFormat(e.ViewInfo.Bounds.Width);

            ((SliderViewInfo)e.ViewInfo).Item.TickFrequency = (int)((double)((SliderViewInfo)e.ViewInfo).Item.Range / (e.ViewInfo.Bounds.Width - 20)) * 5;

            p1.Y = e.ViewInfo.PointsRect.Y;
            for (xPos = 0, tickCount = 0; tickCount < e.ViewInfo.TickCount; xPos += e.ViewInfo.PointsDelta, tickCount++)
            {
                p5.X = p4.X = p3.X = p2.X = p1.X = (int)(e.ViewInfo.PointsRect.X + xPos + 0.01f);
                if (tickCount != 0 && tickCount != e.ViewInfo.TickCount - 1)
                {
                    p2.Y = p1.Y + Math.Max(e.ViewInfo.PointsRect.Height * 3 / 4, 1);
                }
                else
                {
                    p4.Y  = p2.Y = p1.Y + e.ViewInfo.PointsRect.Height;
                    p3.Y  = p1.Y;
                    p3.Y -= 2;
                    p4.Y += 2;

                    switch (e.ViewInfo.TickStyle)
                    {
                    case TickStyle.BottomRight: { p5.Y = 10; break; }

                    case TickStyle.TopLeft: { p5.Y = 20; break; }

                    case TickStyle.Both: { p5.Y = 15; break; }
                    }
                }
                DrawLine(e, e.ViewInfo.TrackBarHelper.RotateAndMirror(p1, e.ViewInfo.MirrorPoint.Y, bMirror), e.ViewInfo.TrackBarHelper.RotateAndMirror(p2, e.ViewInfo.MirrorPoint.Y, bMirror));

                curValue = e.ViewInfo.Item.Minimum + tickCount * ((SliderViewInfo)e.ViewInfo).Item.TickFrequency;
                if ((curValue % ((SliderViewInfo)e.ViewInfo).Item.Increment == 0) ||
                    (tickCount == 0 || tickCount == e.ViewInfo.TickCount - 1))
                {
                    DrawLine(e, e.ViewInfo.TrackBarHelper.RotateAndMirror(p3, e.ViewInfo.MirrorPoint.Y, bMirror), e.ViewInfo.TrackBarHelper.RotateAndMirror(p4, e.ViewInfo.MirrorPoint.Y, bMirror));
                    TextSize = g.MeasureString(curValue.ToString(), MyFont);

                    labelFormat.Add(curValue, (int)((e.ViewInfo.PointsRect.X + xPos + 0.01f) - (TextSize.Width / 2)), p5.Y, TextSize.Width);
                }
            }
            labelFormat.Format();

            for (int i = 0; i < labelFormat.Count; i++)
            {
                if (labelFormat.IsPrinting[i])
                {
                    g.DrawString(labelFormat.Value[i].ToString(), MyFont, e.Cache.GetSolidBrush(SystemColors.ControlDarkDark),
                                 new PointF(labelFormat.Left[i], labelFormat.Top));
                }
            }
            TextSize = g.MeasureString(((SliderViewInfo)e.ViewInfo).Item.Increment.ToString(), MyFont);
            g.DrawString(((SliderViewInfo)e.ViewInfo).Item.Increment.ToString(), e.Cache.GetFont(MyFont, FontStyle.Regular), e.Cache.GetSolidBrush(SystemColors.ControlDarkDark), new PointF(e.Bounds.Width - TextSize.Width - 1, 0f));
            labelFormat.Dispose();
        }
 public DrawingTickEventArgs(TrackBarObjectInfoArgs _trackBarObject, int _tickCount)
 {
     trackBarObject = _trackBarObject;
     tickCount      = _tickCount;
 }
Ejemplo n.º 10
0
 protected virtual void UpdateSkinThumbState(SkinElementInfo info, TrackBarObjectInfoArgs e, int index)
 {
     info.State      = e.State;
     info.ImageIndex = -1;
 }