public void setScale(double newScale) {
		if (newScale == this.scale) {
			return;
		}
		
		this.scale = newScale;
		if (newScale != 1.0) {
			this.scaledImage = toBufferedImage(originalImage.getScaledInstance(
					(int) (newScale * originalImage.getWidth()),
					(int) (newScale * originalImage.getHeight()),
					Image.SCALE_SMOOTH));
		} else {
			this.scaledImage = originalImage;
		}

		if (isHflipped()) {
			this.scaledImageHflipped = hflip(this.scaledImage);
		} else {
			this.scaledImageHflipped = null;
		}
	}