/* ******************************************************************************
* 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;
/**
* @author Frank Shaka
*/
public class PrecisionHorizontalFlipper extends AbstractPrecisionTransformer {
public PrecisionHorizontalFlipper() {
}
public PrecisionHorizontalFlipper(PrecisionPoint origin) {
super(origin);
}
public PrecisionInsets t(PrecisionInsets i) {
if (isEnabled()) {
double temp = i.left;
i.left = i.right;
i.right = temp;
}
return i;
}
public PrecisionPoint t(PrecisionPoint p) {
if (isEnabled()) {
p.x = tx(p.x);
}
return p;
}
protected double tx(double x) {
double ox = getOrigin().x;
return ox + ox - x;
}
public PrecisionRectangle t(PrecisionRectangle r) {
if (isEnabled()) {
r.x = tx(r.right());
}
return r;
}
}