public override void GetFirstAndLastRowVisible(out int firstRowVisible, out int lastRowVisible)
{
float y = base.m_TreeView.state.scrollPos.y;
float height = base.m_TreeView.GetTotalRect().height;
firstRowVisible = (int) Mathf.Floor(y / base.k_LineHeight);
lastRowVisible = firstRowVisible + ((int) Mathf.Ceil(height / base.k_LineHeight));
float num3 = 15f / base.k_LineHeight;
firstRowVisible -= (int) Mathf.Ceil(2f * num3);
lastRowVisible += (int) Mathf.Ceil(2f * num3);
firstRowVisible = Mathf.Max(firstRowVisible, 0);
lastRowVisible = Mathf.Min(lastRowVisible, base.m_TreeView.data.rowCount - 1);
}