public int getRow ( float y ) { int row = 0 ; y += h ( padTop ) ; int i = 0 , n = cells . size ( ) ; if ( n == 0 ) return - 1 ; if ( n == 1 ) return 0 ; if ( cells . get ( 0 ) . widgetY < cells . get ( 1 ) . widgetY ) { // Using y-down coordinate system. while ( i < n ) { Cell < C , T > c = cells . get ( i ++ ) ; if ( c . getIgnore ( ) ) continue ; if ( c . widgetY + c . computedPadTop > y ) break ; if ( c . endRow ) row ++ ; } return row - 1 ; } // Using y-up coordinate system. while ( i < n ) { Cell < C , T > c = cells . get ( i ++ ) ; if ( c . getIgnore ( ) ) continue ; if ( c . widgetY + c . computedPadTop < y ) break ; if ( c . endRow ) row ++ ; } return row ; }
Returns the row index for the y coordinate or - 1 if there are no cells .