public void transformMouseEvent(MouseEvent event) {
		if (transformNeedsReform)
			reformTransform(new Rectangle(getSize()));
		Point point = new Point(), ePoint = event.getPoint();
		try {
			// transform.transform(ePoint, point);
			transform.inverseTransform(ePoint, point);
			event.translatePoint(point.x - ePoint.x, point.y - ePoint.y);
		} catch (NoninvertibleTransformException e) {
			// Well, what CAN we do?
		}
	}