Esempio n. 1
0
 protected virtual ViewItem GetLayoutView(ViewItem element)
 {
     return(element);
 }
Esempio n. 2
0
 internal override Rect GetBoundingBox(ViewItem element)
 {
     return(ElementUtilities.GetSelectionFrameBounds(element));
 }
Esempio n. 3
0
 internal override Rect GetBoundingBox(ViewItem element)
 {
     return(ElementUtilities.GetRenderSizeBounds(element));
 }
 internal abstract Transform GetAncestorTransform(ViewItem element, UIElement ancestor);
 internal abstract Vector GetOrigin(ViewItem element);
 internal abstract FlowDirection GetFlowDirection(ViewItem element);
 internal abstract Transform GetLayoutTransform(ViewItem element);
Esempio n. 8
0
 public abstract GeneralTransform TransformToView(ViewItem view);
 internal abstract Rect GetBoundingBox(ViewItem element);
Esempio n. 10
0
 public abstract bool IsDescendantOf(ViewItem ancestor);
Esempio n. 11
0
        internal virtual void ComputePlacement(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, System.Windows.Size finalSize)
        {
            double num1   = 0.0;
            double num2   = 0.0;
            double height = 0.0;
            double num3   = 0.0;
            double num4   = 0.0;
            double width  = 0.0;
            bool   flag1  = false;
            bool   flag2  = false;
            bool   flag3  = false;
            bool   flag4  = false;

            System.Windows.Size viewFinalSize = finalSize;
            foreach (IAdornerPlacement adornerPlacement in (Collection <IAdornerPlacement>) this)
            {
                foreach (AdornerPlacementValue adornerPlacementValue in adornerPlacement.GetSizeTerms(space, adorner, adornedElement, zoom, viewFinalSize))
                {
                    switch (adornerPlacementValue.Term)
                    {
                    case AdornerPlacementDimension.Left:
                        num3 += adornerPlacementValue.Contribution;
                        flag3 = true;
                        continue;

                    case AdornerPlacementDimension.Top:
                        num1 += adornerPlacementValue.Contribution;
                        flag1 = true;
                        continue;

                    case AdornerPlacementDimension.Right:
                        num4 += adornerPlacementValue.Contribution;
                        flag3 = true;
                        continue;

                    case AdornerPlacementDimension.Bottom:
                        num2 += adornerPlacementValue.Contribution;
                        flag2 = true;
                        continue;

                    case AdornerPlacementDimension.Width:
                        width += adornerPlacementValue.Contribution;
                        continue;

                    case AdornerPlacementDimension.Height:
                        height += adornerPlacementValue.Contribution;
                        continue;

                    default:
                        continue;
                    }
                }
            }
            if (width < 0.0)
            {
                width = 0.0;
            }
            if (height < 0.0)
            {
                height = 0.0;
            }
            System.Windows.Size computedAdornerSize = new System.Windows.Size(width, height);
            foreach (IAdornerPlacement adornerPlacement in (Collection <IAdornerPlacement>) this)
            {
                foreach (AdornerPlacementValue adornerPlacementValue in adornerPlacement.GetPositionTerms(space, adorner, adornedElement, zoom, computedAdornerSize))
                {
                    switch (adornerPlacementValue.Term)
                    {
                    case AdornerPlacementDimension.Left:
                        num3 += adornerPlacementValue.Contribution;
                        flag3 = true;
                        continue;

                    case AdornerPlacementDimension.Top:
                        num1 += adornerPlacementValue.Contribution;
                        flag1 = true;
                        continue;

                    case AdornerPlacementDimension.Right:
                        num4 += adornerPlacementValue.Contribution;
                        flag3 = true;
                        continue;

                    case AdornerPlacementDimension.Bottom:
                        num2 += adornerPlacementValue.Contribution;
                        flag2 = true;
                        continue;

                    case AdornerPlacementDimension.Width:
                        width += adornerPlacementValue.Contribution;
                        continue;

                    case AdornerPlacementDimension.Height:
                        height += adornerPlacementValue.Contribution;
                        continue;

                    default:
                        continue;
                    }
                }
            }
            double num5 = 0.0;

            if (flag3 && flag4)
            {
                num5 = num4 - num3;
            }
            double num6 = 0.0;

            if (flag1 && flag2)
            {
                num6 = num2 - num1;
            }
            double num7 = num5 + width;
            double num8 = num6 + height;

            this._topLeft.X = !flag4 || flag3 ? num3 : num4 - num7;
            this._size.X    = num7;
            this._topLeft.Y = !flag2 || flag1 ? num1 : num2 - num8;
            this._size.Y    = num8;
        }
Esempio n. 12
0
 public void SizeRelativeToContentWidth(double factor, double offset, ViewItem relativeTo)
 {
     this.Add((IAdornerPlacement) new SizeRelativeToContentWidth(factor, offset, relativeTo));
 }
Esempio n. 13
0
 public void PositionRelativeToContentHeight(double factor, double offset, ViewItem relativeTo)
 {
     this.Add((IAdornerPlacement) new PositionRelativeToContentHeight(factor, offset, relativeTo));
 }
Esempio n. 14
0
 internal override void ComputePlacement(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size finalSize)
 {
     if (this.Items.Count == 0)
     {
         this.Populate();
     }
     base.ComputePlacement(space, adorner, adornedElement, zoom, finalSize);
 }