示例#1
0
        public override void Layout()
        {
            if (ComponentCount == 0)
            {
                return;
            }
            Component c  = GetComponent(0);
            Point     p  = ScrollPosition;
            Dimension cs = CalculateChildSize();
            Dimension vs = ViewportSize;

            c.Reshape(-p.x, -p.y, cs.Width_Renamed, cs.Height_Renamed);
            ScrollPanePeer peer = (ScrollPanePeer)this.Peer_Renamed;

            if (peer != null)
            {
                peer.ChildResized(cs.Width_Renamed, cs.Height_Renamed);
            }

            // update adjustables... the viewport size may have changed
            // with the scrollbars coming or going so the viewport size
            // is updated before the adjustables.
            vs = ViewportSize;
            HAdjustable_Renamed.SetSpan(0, cs.Width_Renamed, vs.Width_Renamed);
            VAdjustable_Renamed.SetSpan(0, cs.Height_Renamed, vs.Height_Renamed);
        }