Exemple #1
0
        static Minimap()
        {
            s_cross = new CombinedGeometry(GeometryCombineMode.Union,
                                           new RectangleGeometry(new Rect(-7.5, -1.5, 15, 3)),
                                           new RectangleGeometry(new Rect(-1.5, -7.5, 3, 15)),
                                           new RotateTransform(45));

            if (s_cross.CanFreeze)
            {
                s_cross.Freeze();
            }
        }
        protected override Geometry GetLayoutClip(Size layoutSlotSize)
        {
            Rect     borderRect = new Rect(0, 0, layoutSlotSize.Width, layoutSlotSize.Height);
            Geometry borderClip = new RectangleGeometry(borderRect, 8.5, 8.5);

            borderClip.Freeze();

            Geometry baseClip = base.GetLayoutClip(layoutSlotSize);

            if (baseClip == null)
            {
                return(borderClip);
            }

            CombinedGeometry mergedClip = new CombinedGeometry(
                GeometryCombineMode.Intersect, baseClip, borderClip);

            mergedClip.Freeze();
            return(mergedClip);
        }
Exemple #3
0
        protected override Geometry GetLayoutClip(Size layoutSlotSize)
        {
            Point    ellipsePoint = new Point(layoutSlotSize.Width / 2, layoutSlotSize.Height / 2);
            Geometry borderClip   = new EllipseGeometry(ellipsePoint,
                                                        layoutSlotSize.Width / 2.1, layoutSlotSize.Height / 2.1);

            borderClip.Freeze();

            Geometry baseClip = base.GetLayoutClip(layoutSlotSize);

            if (baseClip == null)
            {
                return(borderClip);
            }

            CombinedGeometry mergedClip = new CombinedGeometry(
                GeometryCombineMode.Intersect, baseClip, borderClip);

            mergedClip.Freeze();
            return(mergedClip);
        }
Exemple #4
0
        /// <exclude />
        protected override Geometry GetLayoutClip(Size layoutSlotSize)
        {
            if (ClipToBounds)
            {
                Geometry clip = GetTrapezoidGeometry(layoutSlotSize, 0);

                Geometry baseClip = base.GetLayoutClip(layoutSlotSize);
                if (baseClip == null)
                {
                    return(clip);
                }

                CombinedGeometry mergedClip = new CombinedGeometry(GeometryCombineMode.Intersect, baseClip, clip);
                mergedClip.Freeze();
                return(mergedClip);
            }
            else
            {
                return(base.GetLayoutClip(layoutSlotSize));
            }
        }