ClanceysLib.ScrollViewWithHeader.ZoomHeader C# (CSharp) Method

ZoomHeader() private method

private ZoomHeader ( ) : void
return void
        private void ZoomHeader()
        {
            float scale = _mainContent.ZoomScale;
            if (scale != _header.ZoomScale)
            {
                RectangleF headerFrame = _header.Frame;
                headerFrame.Height = _headerFrame.Height*scale;

                RectangleF rHeaderFrame = _rowHeader.Frame;
                rHeaderFrame.Width = _rHeaderFrame.Width*scale;

                // Resize the frame to match the correct height
                headerFrame.X = rHeaderFrame.Width;
                headerFrame.Width = Frame.Width - rHeaderFrame.Width;
                _header.Frame = headerFrame;
                _header.SetZoomScale(scale, false);

                // resize the frame to match the corect width
                rHeaderFrame.Y = headerFrame.Height;
                rHeaderFrame.Height = Frame.Height - headerFrame.Height;
                _rowHeader.Frame = rHeaderFrame;
                _rowHeader.SetZoomScale(scale, false);

                // resize the content to take the left over area
                RectangleF mainFrame = _mainContent.Frame;
                mainFrame.Height = rHeaderFrame.Height;
                mainFrame.Width = headerFrame.Width;
                mainFrame.X = rHeaderFrame.Width;
                mainFrame.Y = headerFrame.Height;
                ContentSize = mainFrame.Size;
                _mainContent.Frame = mainFrame;
                scrollHeader();
            }
            else
            {
               // Console.WriteLine("skipped zooming");
            }
        }