code: @Override
  	protected void onCursorUpdated()
  	{
  		if (getParent() == null)
  			return;
  
  		startTimer = System.currentTimeMillis();
  
  		Integer yOffset = null;
  		if (text.length() == 0)
  			yOffset = 0;
  		else if (cursor.y < -offset().y())
  			yOffset = -cursor.y + 2;
  		else if (cursor.y + cursor.height > innerSize().height() - offset().y())
  			yOffset = Math.min(innerSize().height() - cursor.y - cursor.height - 2, 0);
  		if (yOffset != null)
  			scrollbar.setOffset(yOffset);
  	}
docs: Called when a cursor is updated.<br>
  Offsets the content to make sure the cursor is still visible.