Ejemplo n.º 1
0
            public CandleShadowGeom(DrawingInfo _drawingInfo, int _offset, double[] sortedVals, bool _first, bool upDir)
            {
                drawingInfo = _drawingInfo;

                GeometryGroup shadowGeom = new GeometryGroup();

                shadowGeom.Children.Add(new LineGeometry(
                                            new Point(_offset, sortedVals[0]),
                                            new Point(_offset, sortedVals[1])));
                shadowGeom.Children.Add(new LineGeometry(
                                            new Point(_offset, sortedVals[2]),
                                            new Point(_offset, sortedVals[3])));
                geo.Children.Add(shadowGeom);

                StrokeThickness = 1;
                if (_first)
                {
                    Stroke = Brushes.Red;
                }
                else
                {
                    Stroke = Brushes.Black;
                }

                Tag = new CandleTag {
                    first = _first, offset = _offset
                };
            }
Ejemplo n.º 2
0
        public void UpdateLastSDD()
        {
            Debug.Assert(canvas != null);

            Data.SymbolDayData lastSdd = drawingInfo.sddList[0];

            int       cbgFound = -1; // CandleBodyGeom
            int       csgFound = -1; // CandleShadowGeom
            CandleTag ct       = new CandleTag();

            for (int i = 0; i < canvas.Children.Count; i++)
            {
                if (canvas.Children[i] is CandleBodyGeom &&
                    ((CandleTag)((CandleBodyGeom)canvas.Children[i]).Tag).first)
                {
                    cbgFound = i;
                    ct       = (CandleTag)((CandleBodyGeom)canvas.Children[i]).Tag;
                    canvas.Children.RemoveAt(cbgFound);
                    break;
                }
            }

            for (int i = 0; i < canvas.Children.Count; i++)
            {
                if (canvas.Children[i] is CandleShadowGeom &&
                    ((CandleTag)((CandleShadowGeom)canvas.Children[i]).Tag).first)
                {
                    csgFound = i;
                    canvas.Children.RemoveAt(csgFound);
                    break;
                }
            }

            CreateCandle(canvas, ct.offset, lastSdd, ct.first);
        }
Ejemplo n.º 3
0
            public CandleBodyGeom(DrawingInfo _drawingInfo, int _offset, double[] sortedVals, bool _first, bool upDir)
            {
                drawingInfo = _drawingInfo;

                GeometryGroup bodyGeom = new GeometryGroup();

                bodyGeom.Children.Add(new RectangleGeometry(new Rect(
                                                                new Point(_offset - drawingInfo.candleWidth / 2, sortedVals[1]),
                                                                new Point(_offset + drawingInfo.candleWidth / 2, sortedVals[2]))));
                Path bodyPath = new Path();

                bodyPath.StrokeThickness = 1;

                geo.Children.Add(bodyGeom);

                StrokeThickness = 1;
                if (_first)
                {
                    Stroke = Brushes.Red;
                }
                else
                {
                    Stroke = Brushes.Black;
                }
                Fill = upDir ? Brushes.White : Brushes.Black;

                Tag = new CandleTag {
                    first = _first, offset = _offset
                };
            }