Example #1
0
        public virtual void DrawToBuffer(DrawAxisArgs args)
        {
            Grid.DrawToBuffer(args);

            args.Graphics.DrawLine(Palette.AxisPen,
                                   new Point(args.Rectangle.Right, args.Rectangle.Bottom),
                                   new Point(args.Rectangle.Left, args.Rectangle.Bottom));
        }
Example #2
0
        public virtual void DrawToBuffer(DrawAxisArgs args)
        {
            Grid.DrawToBuffer(args);

            args.Graphics.DrawLine(Palette.AxisPen,
                new Point(args.Rectangle.Right, args.Rectangle.Bottom),
                new Point(args.Rectangle.Left, args.Rectangle.Bottom));
        }
Example #3
0
        public override void DrawToBuffer(DrawAxisArgs drawArgs)
        {
            var args = drawArgs as DrawAxisYArgs;

            if (args == null)
            {
                return;
            }

            for (double i = args.Range.Min; i <= args.Range.Max; i += args.Range.Resolution)
            {
                // make sure that the last point is args.Range.Max
                if (i + args.Range.Resolution > args.Range.Max)
                {
                    i = args.Range.Max;
                }

                string    label = args.Range.GetRelativeString(i);
                LongPoint pt    = LongPoint.TranslateToScreen(new LongPoint(0, (long)i), DataTimeRange.UnitRange, args.Range, new LongRectangle(args.Rectangle));

                if (i != 0)
                {
                    args.Graphics.DrawLine(Palette.GridPen, new Point(args.Rectangle.Right, (int)pt.Y), new Point(args.Rectangle.Left, (int)pt.Y));
                }

                if (!args.ShowLabels)
                {
                    continue;
                }

                if (Labels == GridLabels.All)
                {
                    SizeF labelsize = args.Graphics.MeasureString(label, Palette.LabelFont);
                    args.Graphics.DrawString(label, Palette.LabelFont, Palette.LabelBrush, new PointF(args.Rectangle.Right, i == args.Range.Min ? (int)pt.Y - labelsize.Height : i == args.Range.Max ? (int)pt.Y : (int)pt.Y - (labelsize.Height / 2)));
                }
                else if (Labels == GridLabels.MinMax)
                {
                    if (i == args.Range.Min || i + args.Range.Resolution > args.Range.Max)
                    {
                        SizeF labelsize = args.Graphics.MeasureString(label, Palette.LabelFont);
                        args.Graphics.DrawString(label, Palette.LabelFont, Palette.LabelBrush, new PointF(args.Rectangle.Right, i == args.Range.Min ? (int)pt.Y - labelsize.Height : i == args.Range.Max ? (int)pt.Y : (int)pt.Y - (labelsize.Height / 2)));
                    }

                    // draw units
                    string unitString = args.Range.UnitString;
                    if (!string.IsNullOrEmpty(unitString))
                    {
                        SizeF unitssize = args.Graphics.MeasureString(unitString, Palette.LabelFont);
                        args.Graphics.DrawString(unitString,
                                                 Palette.LabelFont,
                                                 Palette.LabelBrush,
                                                 new PointF(args.Rectangle.Right, args.Rectangle.Top + (args.Rectangle.Height / 2) - (unitssize.Height / 2)));
                    }
                }
            }
        }
Example #4
0
        public override void DrawToBuffer(DrawAxisArgs drawArgs)
        {
            var args = drawArgs as DrawAxisXArgs;

            if (args == null)
            {
                return;
            }

            Dictionary <long, string> labels = new Dictionary <long, string>();
            long last_i = long.MinValue;

            for (long i = args.Range.Min - (args.Range.Min % -args.Range.Resolution); i >= args.Range.Max; i += args.Range.Resolution)
            {
                string label = args.Range.GetRelativeString(i + ArchiveMaintainer.ClientServerOffset.Ticks, ArchiveMaintainer.GraphNow);
                if (last_i != long.MinValue && label == labels[last_i])
                {
                    labels.Remove(last_i);
                }
                labels[i] = label;
                last_i    = i;
            }

            for (long i = args.Range.Min - (args.Range.Min % -args.Range.Resolution); i >= args.Range.Max; i += args.Range.Resolution)
            {
                LongPoint pt = LongPoint.TranslateToScreen(new LongPoint(i, 0), args.Range, DataRange.UnitRange, new LongRectangle(args.Rectangle));
                if (i != 0)
                {
                    args.Graphics.DrawLine(Palette.GridPen, new Point((int)pt.X, args.Rectangle.Bottom), new Point((int)pt.X, args.Rectangle.Top));
                }

                if (!args.ShowLabels)
                {
                    continue;
                }

                if (!labels.ContainsKey(i))
                {
                    continue;
                }
                string label = labels[i];

                if (Labels == GridLabels.MinMax && (i == args.Range.Min - (args.Range.Min % -args.Range.Resolution) || i + args.Range.Resolution < args.Range.Max))
                {
                    SizeF labelsize = args.Graphics.MeasureString(label, Palette.LabelFont);
                    args.Graphics.DrawString(label, Palette.LabelFont, Palette.LabelBrush, new PointF(i == args.Range.Min - (args.Range.Min % -args.Range.Resolution) ? (int)pt.X - labelsize.Width : (int)pt.X, args.Rectangle.Bottom));
                }
                else if (Labels == GridLabels.All)
                {
                    SizeF labelsize = args.Graphics.MeasureString(label, Palette.LabelFont);
                    args.Graphics.DrawString(label, Palette.LabelFont, Palette.LabelBrush, new PointF(i == args.Range.Min ? (int)pt.X - labelsize.Width : i == args.Range.Max ? (int)pt.X : (int)pt.X - (labelsize.Width / 2), args.Rectangle.Bottom));
                }
            }
        }
Example #5
0
        public override void DrawToBuffer(DrawAxisArgs drawArgs)
        {
            var args = drawArgs as DrawAxisXArgs;
            if (args == null)
                return;

            Dictionary<long, string> labels = new Dictionary<long, string>();
            long last_i = long.MinValue;

            for (long i = args.Range.Min - (args.Range.Min % -args.Range.Resolution); i >= args.Range.Max; i += args.Range.Resolution)
            {
                string label = args.Range.GetRelativeString(i + ArchiveMaintainer.ClientServerOffset.Ticks, ArchiveMaintainer.GraphNow);
                if (last_i != long.MinValue && label == labels[last_i])
                    labels.Remove(last_i);
                labels[i] = label;
                last_i = i;
            }

            for (long i = args.Range.Min - (args.Range.Min % -args.Range.Resolution); i >= args.Range.Max; i += args.Range.Resolution)
            {
                LongPoint pt = LongPoint.TranslateToScreen(new LongPoint(i, 0), args.Range, DataRange.UnitRange, new LongRectangle(args.Rectangle));
                if (i != 0)
                    args.Graphics.DrawLine(Palette.GridPen, new Point((int)pt.X, args.Rectangle.Bottom), new Point((int)pt.X, args.Rectangle.Top));

                if (!args.ShowLabels)
                    continue;

                if (!labels.ContainsKey(i))
                    continue;
                string label = labels[i];

                if (Labels == GridLabels.MinMax && (i == args.Range.Min - (args.Range.Min % -args.Range.Resolution) || i + args.Range.Resolution < args.Range.Max))
                {
                    SizeF labelsize = args.Graphics.MeasureString(label, Palette.LabelFont);
                    args.Graphics.DrawString(label, Palette.LabelFont, Palette.LabelBrush, new PointF(i == args.Range.Min - (args.Range.Min % -args.Range.Resolution) ? (int)pt.X - labelsize.Width : (int)pt.X, args.Rectangle.Bottom));
                }
                else if (Labels == GridLabels.All)
                {
                    SizeF labelsize = args.Graphics.MeasureString(label, Palette.LabelFont);
                    args.Graphics.DrawString(label, Palette.LabelFont, Palette.LabelBrush, new PointF(i == args.Range.Min ? (int)pt.X - labelsize.Width : i == args.Range.Max ? (int)pt.X : (int)pt.X - (labelsize.Width / 2), args.Rectangle.Bottom));
                }
            }
        }
Example #6
0
        public override void DrawToBuffer(DrawAxisArgs drawArgs)
        {
            var args = drawArgs as DrawAxisNavArgs;

            if (args == null)
            {
                return;
            }

            for (long i = args.Range.Min - (args.Range.Min % -args.Range.Resolution); i >= args.Range.Max; i += args.Range.Resolution)
            {
                string    label = args.Range.GetRelativeString(i + ArchiveMaintainer.ClientServerOffset.Ticks, ArchiveMaintainer.GraphNow);
                LongPoint pt    = LongPoint.TranslateToScreen(new LongPoint(i, 0), args.Range, DataRange.UnitRange, new LongRectangle(args.Rectangle));
                if (i != 0)
                {
                    args.Graphics.DrawLine(Palette.GridPen, new Point((int)pt.X, args.Rectangle.Bottom), new Point((int)pt.X, args.Rectangle.Top));
                }
                if (args.ShowLabels && Labels == GridLabels.All)
                {
                    args.Graphics.DrawString(label, Palette.LabelFont, Palette.LabelBrush, new PointF((int)pt.X, args.Rectangle.Top));
                }
            }
        }
Example #7
0
 public abstract void DrawToBuffer(DrawAxisArgs args);
Example #8
0
 public abstract void DrawToBuffer(DrawAxisArgs args);
Example #9
0
        public override void DrawToBuffer(DrawAxisArgs drawArgs)
        {
            var args = drawArgs as DrawAxisYArgs;
            if (args == null)
                return;

            for (double i = args.Range.Min; i <= args.Range.Max; i += args.Range.Resolution)
            {
                string label = args.Range.GetRelativeString(i);
                LongPoint pt = LongPoint.TranslateToScreen(new LongPoint(0, (long)i), DataTimeRange.UnitRange, args.Range, new LongRectangle(args.Rectangle));

                if (i != 0)
                    args.Graphics.DrawLine(Palette.GridPen, new Point(args.Rectangle.Right, (int)pt.Y), new Point(args.Rectangle.Left, (int)pt.Y));

                if (!args.ShowLabels)
                    continue;

                if (Labels == GridLabels.All)
                {
                    SizeF labelsize = args.Graphics.MeasureString(label, Palette.LabelFont);
                    args.Graphics.DrawString(label, Palette.LabelFont, Palette.LabelBrush, new PointF(args.Rectangle.Right, i == args.Range.Min ? (int)pt.Y - labelsize.Height : i == args.Range.Max ? (int)pt.Y : (int)pt.Y - (labelsize.Height / 2)));
                }
                else if (Labels == GridLabels.MinMax)
                {
                    if (i == args.Range.Min || i + args.Range.Resolution > args.Range.Max)
                    {
                        SizeF labelsize = args.Graphics.MeasureString(label, Palette.LabelFont);
                        args.Graphics.DrawString(label, Palette.LabelFont, Palette.LabelBrush, new PointF(args.Rectangle.Right, i == args.Range.Min ? (int)pt.Y - labelsize.Height : i == args.Range.Max ? (int)pt.Y : (int)pt.Y - (labelsize.Height / 2)));
                    }

                    // draw units
                    string unitString = args.Range.UnitString;
                    if (!string.IsNullOrEmpty(unitString))
                    {
                        SizeF unitssize = args.Graphics.MeasureString(unitString, Palette.LabelFont);
                        args.Graphics.DrawString(unitString,
                            Palette.LabelFont,
                            Palette.LabelBrush,
                            new PointF(args.Rectangle.Right, args.Rectangle.Top + (args.Rectangle.Height / 2) - (unitssize.Height / 2)));
                    }
                }
            }
        }
Example #10
0
        public override void DrawToBuffer(DrawAxisArgs drawArgs)
        {
            var args = drawArgs as DrawAxisNavArgs;
            if (args == null)
                return;

            for (long i = args.Range.Min - (args.Range.Min % -args.Range.Resolution); i >= args.Range.Max; i += args.Range.Resolution)
            {
                string label = args.Range.GetRelativeString(i + ArchiveMaintainer.ClientServerOffset.Ticks, ArchiveMaintainer.GraphNow);
                LongPoint pt = LongPoint.TranslateToScreen(new LongPoint(i, 0), args.Range, DataRange.UnitRange, new LongRectangle(args.Rectangle));
                if (i != 0)
                    args.Graphics.DrawLine(Palette.GridPen, new Point((int)pt.X, args.Rectangle.Bottom), new Point((int)pt.X, args.Rectangle.Top));
                if (args.ShowLabels && Labels == GridLabels.All)
                {
                    args.Graphics.DrawString(label, Palette.LabelFont, Palette.LabelBrush, new PointF((int)pt.X, args.Rectangle.Top));
                }

            }
        }
Example #11
0
 public override void DrawToBuffer(DrawAxisArgs args)
 {
     Grid.DrawToBuffer(args);
 }
Example #12
0
 public override void DrawToBuffer(DrawAxisArgs args)
 {
     Grid.DrawToBuffer(args);
 }