blob: a6cecc43025e63ac6ee9cc77e54b13f125148212 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.draw2d.geometry;
/**
* Conditionally transposes geometrical objects based on an "enabled" flag. When
* enabled, the method t(Object) will transpose the passed geometrical object.
* Otherwise, the object will be returned without modification
*/
public class Transposer {
private boolean enabled = false;
/**
* Disables transposing of inputs.
*
* @since 2.0
*/
public void disable() {
enabled = false;
}
/**
* Enables transposing of inputs.
*
* @since 2.0
*/
public void enable() {
enabled = true;
}
/**
* Returns <code>true</code> if this Transposer is enabled.
*
* @return <code>true</code> if this Transposer is enabled
* @since 2.0
*/
public boolean isEnabled() {
return enabled;
}
/**
* Sets the enabled state of this Transposer.
*
* @param e
* New enabled value
* @since 2.0
*/
public void setEnabled(boolean e) {
enabled = e;
}
/**
* Returns a new transposed Dimension of the input Dimension.
*
* @param d
* Input dimension being transposed.
* @return The new transposed dimension.
* @since 2.0
*/
public Dimension t(Dimension d) {
if (isEnabled())
return d.getTransposed();
return d;
}
/**
* Returns a new transposed Insets of the input Insets.
*
* @param i
* Insets to be transposed.
* @return The new transposed Insets.
* @since 2.0
*/
public Insets t(Insets i) {
if (isEnabled())
return i.getTransposed();
return i;
}
/**
* Returns a new transposed Point of the input Point.
*
* @param p
* Point to be transposed.
* @return The new transposed Point.
* @since 2.0
*/
public Point t(Point p) {
if (isEnabled())
return p.getTransposed();
return p;
}
/**
* Returns a new transposed Rectangle of the input Rectangle.
*
* @param r
* Rectangle to be transposed.
* @return The new trasnposed Rectangle.
* @since 2.0
*/
public Rectangle t(Rectangle r) {
if (isEnabled())
return r.getTransposed();
return r;
}
}