code: protected void onCursorUpdated()
  	{
  		if (getParent() == null)
  			return;
  
  		startTimer = System.currentTimeMillis();
  		//- 4 because Padding.of(2) for clipping
  		if (text.length() == 0)
  			xOffset = 0;
  		else if (cursor.x <= -xOffset)
  			xOffset = -cursor.x;
  		else if (cursor.x >= innerSize().width() - xOffset)
  			xOffset = Math.min(innerSize().width() - cursor.x - 4, 0);
  		else if (guiText.size().width() <= innerSize().width() - xOffset - 5)
  			xOffset = Math.min(innerSize().width() - guiText.size().width() - 4, 0);
  	}
docs: Called when a cursor is updated.<br>
  Offsets the content to make sure the cursor is still visible.