BRect BListView::ItemFrame(int32 index) { BRect frame = Bounds(); if (index < 0 || index >= CountItems()) { frame.top = 0; frame.bottom = -1; } else { BListItem* item = ItemAt(index); frame.top = item->Top(); frame.bottom = item->Bottom(); } return frame; }