g.setClip( x + this.viewX, y + this.viewY, this.viewWidth, this.viewHeight );
g.setClip( x, y, this.viewWidth, this.viewHeight );
	public void paint( Graphics g, int x, int y)	{		if (!this.isInitialised) {			this.layers = (Layer[]) this.layersList.toArray( new Layer[ this.layersList.size() ] );		}		int clipX = g.getClipX();		int clipY = g.getClipY();		int clipWidth = g.getClipWidth();		int clipHeight = g.getClipHeight();		if (this.isViewWindowSet) {			g.setClip( x + this.viewX, y + this.viewY, this.viewWidth, this.viewHeight );		}		int lastIndex = this.layers.length -1;		for (int i = lastIndex; i >= 0; i--) {			Layer layer = this.layers[ i ];			if (layer.isVisible) {				layer.paint( g );			}		}		// reset original clip:		if (this.isViewWindowSet) {			g.setClip( clipX, clipY, clipWidth, clipHeight );		}	}