Esempio n. 1
0
        public override void LayoutSublayersOfLayer(CALayer layer)
        {
            base.LayoutSublayersOfLayer(layer);

            var roundedFrame = Element as RoundedFrame;

            CACornerMask corners = new CACornerMask();

            if (roundedFrame.RoundTopLeft)
            {
                corners = CACornerMask.MinXMinYCorner;
            }
            if (roundedFrame.RoundTopRight)
            {
                corners = corners | CACornerMask.MaxXMinYCorner;
            }
            if (roundedFrame.RoundBottomLeft)
            {
                corners = corners | CACornerMask.MaxXMaxYCorner;
            }
            if (roundedFrame.RoundBottomRight)
            {
                corners = corners | CACornerMask.MinXMaxYCorner;
            }

            this.ClipsToBounds       = true;
            this.Layer.MaskedCorners = corners;
        }
Esempio n. 2
0
        public static CACornerMask ToCornerMask(this UIRectCorner corner)
        {
            CACornerMask mask = 0;

            if (corner.Has(UIRectCorner.AllCorners) || corner.Has(UIRectCorner.TopLeft))
            {
                mask |= CACornerMask.MinXMinYCorner;
            }
            if (corner.Has(UIRectCorner.AllCorners) || corner.Has(UIRectCorner.TopRight))
            {
                mask |= CACornerMask.MaxXMinYCorner;
            }
            if (corner.Has(UIRectCorner.AllCorners) || corner.Has(UIRectCorner.BottomLeft))
            {
                mask |= CACornerMask.MinXMaxYCorner;
            }
            if (corner.Has(UIRectCorner.AllCorners) || corner.Has(UIRectCorner.BottomRight))
            {
                mask |= CACornerMask.MaxXMaxYCorner;
            }

            return(mask);
        }