public TabStripScrollButton(TabStripScrollDirection direction)
        {
            if (direction != TabStripScrollDirection.Left &&
                direction != TabStripScrollDirection.Right)
            {
                throw new ArgumentOutOfRangeException("direction");
            }

            _direction = direction;
        }
            public TabStripLayoutPass(TabStripLayoutEngine engine)
            {
                _engine    = engine;
                _direction = engine.ScrollDirection;

                engine.ScrollDirection = TabStripScrollDirection.None;

                if (_engine._farTab >= TabCount)
                {
                    _engine._farTab = TabCount - 1;
                }

                _tabsToShow = engine.AvailableWidth / GetTabWidth(TabCount);
                _tabWidth   = GetTabWidth(_tabsToShow);

                _displayRectangle = engine.DisplayRectangle;
                _currentPosition  = _displayRectangle.Location;

                if (engine.RTL)
                {
                    _currentPosition = new Point(_displayRectangle.Right, _displayRectangle.Top);
                }
            }