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); } }
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)); }
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; }
protected virtual void UpdateSkinThumbState(SkinElementInfo info, TrackBarObjectInfoArgs e, int index) { info.State = e.State; info.ImageIndex = -1; }