public IEnumerable <AdornerPlacementValue> GetSizeTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size adornedElementFinalSize)
        {
            double    desiredWidth = 0.0;
            UIElement eAdorner     = this._relativeTo as UIElement;

            desiredWidth = eAdorner == null ? adorner.DesiredSize.Width : eAdorner.DesiredSize.Width;
            Vector adornerSizeScale = ScaledSpace.GetAdornerSizeScale(adorner);
            double width            = (this._factor * desiredWidth + this._offset) * adornerSizeScale.X;

            yield return(new AdornerPlacementValue(AdornerPlacementDimension.Width, width));
        }
Esempio n. 2
0
        public IEnumerable <AdornerPlacementValue> GetPositionTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size computedAdornerSize)
        {
            UIElement element = this._relativeTo as UIElement;

            if (element != null)
            {
                computedAdornerSize = element.DesiredSize;
            }
            Vector adornerSizeScale = ScaledSpace.GetAdornerPositionScale(adorner, zoom);
            double top = this._factor * computedAdornerSize.Height * adornerSizeScale.Y + this._offset;

            yield return(new AdornerPlacementValue(AdornerPlacementDimension.Top, top));
        }
Esempio n. 3
0
        public IEnumerable <AdornerPlacementValue> GetPositionTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size computedAdornerSize)
        {
            double   width   = 0.0;
            ViewItem element = !(this._relativeTo == (ViewItem)null) ? this._relativeTo : adornedElement;

            if (element != (ViewItem)null)
            {
                width = space.GetBoundingBox(element).Width;
            }
            Vector targetPositionScale = ScaledSpace.GetTargetPositionScale(adorner);
            double left = (this._factor * width + this._offset) * targetPositionScale.X;

            yield return(new AdornerPlacementValue(AdornerPlacementDimension.Left, left));
        }
        public IEnumerable <AdornerPlacementValue> GetPositionTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size computedAdornerSize)
        {
            double   height  = 0.0;
            ViewItem element = !(this._relativeTo == (ViewItem)null) ? this._relativeTo : adornedElement;

            if (element != (ViewItem)null)
            {
                height = space.GetBoundingBox(element).Height;
            }
            Vector targetPositionScale = ScaledSpace.GetTargetPositionScale(adorner);
            double top = (this._factor * height + this._offset) * targetPositionScale.Y;

            yield return(new AdornerPlacementValue(AdornerPlacementDimension.Top, top));
        }
        public IEnumerable <AdornerPlacementValue> GetSizeTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size adornedElementFinalSize)
        {
            double   height  = 0.0;
            ViewItem element = (ViewItem)null;

            element = !(this._relativeTo == (ViewItem)null) ? this._relativeTo : adornedElement;
            if (element != (ViewItem)null)
            {
                height = space.GetBoundingBox(element).Height;
            }
            Vector targetSizeScale = ScaledSpace.GetTargetSizeScale(adorner, zoom);

            height = (this._factor * height + this._offset) * targetSizeScale.Y;
            yield return(new AdornerPlacementValue(AdornerPlacementDimension.Height, height));
        }
        private void SetAdornerBounds(UIElement childAdorner, ViewItem adornedElement, Point location, Vector scale)
        {
            AdornerCoordinateSpace @default = AdornerCoordinateSpaces.Default;
            Rect finalRect;

            if (adornedElement != (ViewItem)null)
            {
                finalRect = @default.GetBoundingBox(adornedElement);
            }
            else
            {
                Size desiredSize = childAdorner.DesiredSize;
                finalRect        = new Rect();
                finalRect.Width  = desiredSize.Width;
                finalRect.Height = desiredSize.Height;
            }
            finalRect.X       = location.X;
            finalRect.Y       = location.Y;
            finalRect.Width  *= Math.Abs(scale.X);
            finalRect.Height *= Math.Abs(scale.Y);
            childAdorner.Arrange(finalRect);
        }
Esempio n. 7
0
 public IEnumerable <AdornerPlacementValue> GetSizeTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size adornedElementFinalSize)
 {
     yield break;
 }
 public IEnumerable <AdornerPlacementValue> GetPositionTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size computedAdornerSize)
 {
     yield break;
 }