AwtMetricsFC2.java from gzz at Krugle
Show AwtMetricsFC2.java syntax highlighted
/*
AwtMetricsFC2.java
*
* Copyright (c) 2000, Ted Nelson and Tuomas Lukka
*
* This file is part of Gzz.
*
* Gzz is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* Gzz is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
* Public License for more details.
*
* You should have received a copy of the GNU Lesser General
* Public License along with Gzz; if not, write to the Free
* Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
*/
/*
* Written by Kimmo Wideroos
*/
package org.gzigzag.module;
import org.gzigzag.*;
import java.util.*;
import java.awt.*;
/** Focus+context metrics2
*/
public class AwtMetricsFC2 extends AwtMetrics {
public String getZObName() {
return "Focus+Context (2)";
}
public double[] transformAtFocusNbhood(double x, double y, double focusCoeff) {
double dx, dy, x2, y2;
x2 = x*focusCoeff;
y2 = y*focusCoeff;
if(x2<1 && x2>-1) {
dx = x2;
} else {
dx = (x2>0) ? Math.sqrt(x2) : -Math.sqrt(-x2);
}
if(y2<1 && y2>-1) {
dy = y2;
} else {
dy = (y2>0) ? Math.sqrt(y2) : -Math.sqrt(-y2);
}
return new double[] { dx/focusCoeff, dy/focusCoeff };
}
public double[] inverseTransformAtFocusNbhood(double x, double y, double focusCoeff) {
double dx, dy, x2, y2;
x2 = x*focusCoeff;
y2 = y*focusCoeff;
if(x2<1 && x2>-1) {
dx = x2;
} else {
dx = x2*x2;
dx = x2>0 ? dx : -dx;
}
if(y2<1 && y2>-1) {
dy = y2;
} else {
dy = y2*y2;
dy = y2>0 ? dy : -dy;
}
return new double[] { dx/focusCoeff, dy/focusCoeff };
}
public double transformScalingValue(double s) { return s; }
public double focusCoefficientMinimum() { return 4.0; }
public double focusCoefficientMaximum() { return 8.0; }
public AwtMetricsFC2() { super(); }
public AwtMetricsFC2(ZZCell start, Dimension rv, Dimension vv,
double ox, double oy) {
super(start, rv, vv, ox, oy);
}
}
See more files for this project here