private void enqueueRepaint(int top,int bottom){
  ListIterator<Integer> i=tops.listIterator();
  ListIterator<Integer> j=bottoms.listIterator();
  if (!i.hasNext()) {
    Insets insets=getInsets();
    repaint(insets.left + frw,insets.top + frw + top,getWidth() - insets.left - insets.right- frw * 2,bottom - top);
  }
  while (i.hasNext()) {
    int etop=i.next();
    int ebtm=j.next();
    if (top < etop) {
      if (bottom > ebtm) {
        i.remove();
        j.remove();
      }
 else {
        bottom=Math.min(bottom,etop);
      }
    }
 else     if (bottom > ebtm) {
      top=Math.max(top,ebtm);
    }
 else {
      return;
    }
  }
  tops.add(top);
  bottoms.add(bottom);
}

private void enqueueRepaint ( int top , int bottom ) { ListIterator < Integer > i = tops . listIterator ( ) ; ListIterator < Integer > j = bottoms . listIterator ( ) ; if ( ! i . hasNext ( ) ) { Insets insets = getInsets ( ) ; repaint ( insets . left + frw , insets . top + frw + top , getWidth ( ) - insets . left - insets . right - frw * 2 , bottom - top ) ; } while ( i . hasNext ( ) ) { int etop = i . next ( ) ; int ebtm = j . next ( ) ; if ( top < etop ) { if ( bottom > ebtm ) { i . remove ( ) ; j . remove ( ) ; } else { bottom = Math . min ( bottom , etop ) ; } } else if ( bottom > ebtm ) { top = Math . max ( top , ebtm ) ; } else { return ; } } tops . add ( top ) ; bottoms . add ( bottom ) ; }
enqueue a repaint of the backing buffer . the given co - ordinates ( top , bottom ) are view co - ordinates .
