Exemple #1
0
        public virtual void DrawSelection(IRenderEngine engine)
        {
            var rect = Bounds;

            engine.SetStroke(Brushes.Black);
            engine.SetStrokeThickness(1);
            engine.SetStrokePattern(null);
            engine.SetFill(null);
            engine.DrawRect(rect.Left - 1, rect.Top - 1, rect.Width + 2, rect.Height + 2);
            engine.SetFill(Brushes.White);
            var r = 4;

            engine.DrawEllipse(rect.Left, rect.Top, r, r);
            engine.DrawEllipse(rect.Left, rect.Bottom, r, r);
            engine.DrawEllipse(rect.Right, rect.Top, r, r);
            engine.DrawEllipse(rect.Right, rect.Bottom, r, r);
        }
Exemple #2
0
        public void DrawSelection(IRenderEngine engine)
        {
            var rect = Bounds;

            engine.SetStroke(Brushes.Black);
            engine.SetStrokeThickness(1);
            engine.SetStrokePattern(null);
            engine.SetFill(null);
            engine.DrawRect(rect.Left - 1, rect.Top - 1, rect.Width + 2, rect.Height + 2);
            engine.SetFill(Brushes.White);
            var r = 4;

            var start = _layer.Convert(_start);
            var end   = _layer.Convert(_end);

            engine.DrawEllipse(start.X, start.Y, r, r);
            engine.DrawEllipse(end.X, end.Y, r, r);
        }
Exemple #3
0
        void DrawAlarmZone(FlexChart chart, IRenderEngine engine, double xmin, double ymin, double xmax, double ymax, Color fill)
        {
            var pt1 = chart.DataToPoint(new PointF((float)xmin, (float)ymin));
            var pt2 = chart.DataToPoint(new PointF((float)xmax, (float)ymax));

            engine.SetFill(new SolidBrush(fill));
            engine.SetStroke(new SolidBrush(Color.Transparent));
            engine.DrawRect(Math.Min(pt1.X, pt2.X), Math.Min(pt1.Y, pt2.Y), Math.Abs(pt2.X - pt1.X), Math.Abs(pt2.Y - pt1.Y));
        }
Exemple #4
0
        public override void DrawSelection(IRenderEngine engine)
        {
            var rect = Annotation.Bounds;

            engine.SetStroke(Brushes.Black);
            engine.SetStrokeThickness(1);
            engine.SetStrokePattern(null);
            engine.SetFill(null);
            engine.DrawRect(rect.Left, rect.Top, rect.Width, rect.Height);
            engine.SetFill(Brushes.White);
            var r     = 4;
            var chart = _layer.Chart;
            var line  = Annotation as ALine;
            var start = chart.DataToPoint(line.Start);
            var end   = chart.DataToPoint(line.End);

            engine.DrawEllipse(start.X, start.Y, r, r);
            engine.DrawEllipse(end.X, end.Y, r, r);
        }
Exemple #5
0
        void DrawConnectingLine(IRenderEngine engine, Task task, Task parent)
        {
            var rc1 = GetTaskRect(parent);      // parent rect
            var rc2 = GetTaskRect(task);        // task rect
            var x1  = rc1.Left + rc1.Width / 2; // parent x center
            var x2  = rc2.Left;                 // task left
            var y1  = rc1.Bottom;               // parent bottom
            var y2  = rc2.Top + rc2.Height / 2; // task y center

            // draw connecting line
            var xs = new double[] { x1, x1, x2 };
            var ys = new double[] { y1, y2, y2 };

            engine.SetStroke(new SolidColorBrush(Color.FromRgb(0, 0, 0)));
            engine.DrawLines(xs, ys);

            // draw arrow at the end
            var sz = 5;

            xs = new double[] { x2 - 2 * sz, x2, x2 - 2 * sz };
            ys = new double[] { y2 - sz, y2, y2 + sz };
            engine.SetFill(new SolidColorBrush(Color.FromRgb(0, 0, 0)));
            engine.DrawPolygon(xs, ys);
        }