示例#1
0
            public override void RenderPoint(float basePoint, float realPoint)
            {
                if (realPoint < 0)
                {
                    _location.Y  = Y;
                    _size.Height = -realPoint;
                }
                else
                {
                    _location.Y  = _canvasHeight - realPoint;
                    _size.Height = realPoint;
                }

                var rect   = new Rect(_location, _size);
                var pillar = new PillarVisual(_realBrush, rect);

                _layer.Add(pillar);
                if (realPoint > basePoint)
                {
                    _size.Height = realPoint - basePoint;
                    rect.Size    = _size;
                    var exceed = new PillarVisual(_exceedBrush, rect);
                    _layer.Add(exceed);
                }
                _location.X += _size.Width;
                _index++;
            }
示例#2
0
        public void RenderBasePoints(UIElement image, Viewport baseVp)
        {
            var himage = image as PillarImage;

            Debug.Assert(himage != null && baseVp != null);
            var layer = himage.BaseDataLayer;

            Debug.Assert(layer != null);
            Size size = new Size(_pillarWidth, 0);
            Rect rect = new Rect();

            foreach (var p in baseVp)
            {
                size.Height = p;
                rect.Size   = size;
                rect.Y      = _canvasHeight - p;
                var pillar = new PillarVisual(_baseBrush, rect);
                layer.Add(pillar);
                rect.X += _pillarWidth;
            }
        }