/* ******************************************************************************
* Copyright (c) 2006-2012 XMind Ltd. and others.
*
* This file is a part of XMind 3. XMind releases 3 and
* above are dual-licensed under the Eclipse Public License (EPL),
* which is available at http://www.eclipse.org/legal/epl-v10.html
* and the GNU Lesser General Public License (LGPL),
* which is available at http://www.gnu.org/licenses/lgpl.html
* See http://www.xmind.net/license.html for details.
*
* Contributors:
* XMind Ltd. - initial API and implementation
*******************************************************************************/
package org.xmind.gef.draw2d.geometry;
public class PrecisionTransposer extends AbstractPrecisionTransformer {
public PrecisionTransposer() {
super();
}
public PrecisionTransposer(PrecisionPoint origin) {
super(origin);
}
public PrecisionDimension t(PrecisionDimension d) {
if (isEnabled()) {
d.transpose();
}
return super.t(d);
}
public PrecisionInsets t(PrecisionInsets i) {
if (isEnabled()) {
i.transpose();
}
return super.t(i);
}
public PrecisionPoint t(PrecisionPoint p) {
if (isEnabled()) {
double o = getOrigin().x - getOrigin().y;
double x = p.y + o;
p.y = p.x - o;
p.x = x;
}
return super.t(p);
}
public PrecisionRectangle t(PrecisionRectangle r) {
if (isEnabled()) {
double o = getOrigin().x - getOrigin().y;
double temp = r.y + o;
r.y = r.x - o - r.width;
r.x = temp - r.height;
temp = r.width;
r.width = r.height;
r.height = temp;
}
return super.t(r);
}
}