Beispiel #1
0
        public override void UpdateShape()
        {
            var shapeModel = new InputShapeModel {
                Size = 1, Color = Color
            };
            var pointMin = new Point(0, 0);
            var pointMax = new Point(0, 0);

            foreach (var level in IndexLevels)
            {
                var pixelLevel = Composer.GetPixels(Panel, level, 0);

                pointMin.X = pointMax.X = pixelLevel.X;
                pointMin.Y = 0;
                pointMax.Y = Panel.H;

                Panel.CreateLine(pointMin, pointMax, shapeModel);
            }

            foreach (var level in ValueLevels)
            {
                var pixelLevel = Composer.GetPixels(Panel, 0, level);

                pointMin.Y = pointMax.Y = pixelLevel.Y;
                pointMin.X = 0;
                pointMax.X = Panel.W;

                Panel.CreateLine(pointMin, pointMax, shapeModel);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Render the shape
        /// </summary>
        /// <param name="position"></param>
        /// <param name="series"></param>
        /// <param name="items"></param>
        /// <returns></returns>
        public override void CreateItem(int position, string series, IList <IInputModel> items)
        {
            var currentModel = GetModel(position, series, items);

            if (currentModel?.Point == null)
            {
                return;
            }

            var size = Panel.W / (Composer.MaxIndex - Composer.MinIndex) / 3;

            var shapeModel = new InputShapeModel
            {
                Size  = 1,
                Color = currentModel.Color ?? Color
            };

            var points = new Point[]
            {
                Composer.GetPixels(Panel, position, currentModel.Point),
                Composer.GetPixels(Panel, position, currentModel.Point),
                Composer.GetPixels(Panel, position, currentModel.Point)
            };

            points[0].Y -= size * currentModel.Direction;
            points[1].X += size;
            points[2].X -= size;

            Panel.CreateShape(points, shapeModel);
        }
Beispiel #3
0
        /// <summary>
        /// Render the shape
        /// </summary>
        /// <param name="position"></param>
        /// <param name="series"></param>
        /// <param name="items"></param>
        /// <returns></returns>
        public override void CreateItem(int position, string series, IList <IInputModel> items)
        {
            var currentModel = GetModel(position, series, items);

            if (currentModel?.Point == null)
            {
                return;
            }

            var size = Math.Max(position - (position - 1.0), 0.0) / 4;

            var shapeModel = new InputShapeModel
            {
                Size  = 1,
                Color = currentModel.Color ?? Color
            };

            var points = new Point[]
            {
                Composer.GetPixels(Panel, position - size, currentModel.Point),
                Composer.GetPixels(Panel, position + size, currentModel.Point),
                Composer.GetPixels(Panel, position + size, 0.0),
                Composer.GetPixels(Panel, position - size, 0.0),
                Composer.GetPixels(Panel, position - size, currentModel.Point)
            };

            Panel.CreateShape(points, shapeModel);
        }
Beispiel #4
0
        /// <summary>
        /// Render the shape
        /// </summary>
        /// <param name="position"></param>
        /// <param name="series"></param>
        /// <param name="items"></param>
        /// <returns></returns>
        public override void CreateItem(int position, string series, IList <IInputModel> items)
        {
            var currentModel  = GetModel(position, series, items);
            var previousModel = GetModel(position - 1, series, items);

            if (currentModel?.Point == null || previousModel?.Point == null)
            {
                return;
            }

            var shapeModel = new InputShapeModel
            {
                Size  = 1,
                Color = currentModel.Color ?? Color
            };

            Panel.CreateLine(
                Composer.GetPixels(Panel, position - 1, previousModel.Point),
                Composer.GetPixels(Panel, position, currentModel.Point),
                shapeModel);
        }
Beispiel #5
0
        /// <summary>
        /// Render the shape
        /// </summary>
        /// <param name="position"></param>
        /// <param name="series"></param>
        /// <param name="items"></param>
        /// <returns></returns>
        public override void CreateItem(int position, string series, IList <IInputModel> items)
        {
            var currentModel = GetModel(position, series, items);

            if (currentModel == null)
            {
                return;
            }

            var L        = currentModel.Low ?? currentModel.Point;
            var H        = currentModel.High ?? currentModel.Point;
            var O        = currentModel.Open ?? currentModel.Point;
            var C        = currentModel.Close ?? currentModel.Point;
            var size     = Math.Max(position - (position - 1.0), 0.0) / 4.0;
            var upSide   = Math.Max(O, C);
            var downSide = Math.Min(O, C);

            var shapeModel = new InputShapeModel
            {
                Size  = 1,
                Color = currentModel.Color ?? Color
            };

            var points = new Point[]
            {
                Composer.GetPixels(Panel, position - size, upSide),
                Composer.GetPixels(Panel, position + size, upSide),
                Composer.GetPixels(Panel, position + size, downSide),
                Composer.GetPixels(Panel, position - size, downSide),
                Composer.GetPixels(Panel, position - size, upSide)
            };

            Panel.CreateShape(points, shapeModel);
            Panel.CreateLine(
                Composer.GetPixels(Panel, position, L),
                Composer.GetPixels(Panel, position, H),
                shapeModel);
        }