boolean vertChanged = false, horizChanged = false; int oldFirstLine = this.firstLine;  if(firstLine != this.firstLine) { this.firstLine = firstLine; vertChanged = true; }  if(horizontalOffset != this.horizontalOffset) { this.horizontalOffset = horizontalOffset; horizChanged = true; }  if(vertChanged || horizChanged ) { updateScrollBars(); painter.repaint(); gutter.repaint(); }  return vertChanged || horizChanged;
setFirstLine(firstLine); setHorizontalOffset(horizontalOffset); return true;
	public boolean setOrigin(int firstLine, int horizontalOffset)	{		boolean vertChanged = false, horizChanged = false;		int oldFirstLine = this.firstLine;		if(firstLine != this.firstLine)		{			this.firstLine = firstLine;			vertChanged = true;		}		if(horizontalOffset != this.horizontalOffset)		{			this.horizontalOffset = horizontalOffset;			horizChanged = true;		}		if(vertChanged || horizChanged /* || horizontal.getMaximum()			!= maxHorizontalScrollWidth */)		{			updateScrollBars();			painter.repaint();			gutter.repaint();		}		return vertChanged || horizChanged;	}