home *** CD-ROM | disk | FTP | other *** search
- package jclass.chart;
-
- import java.awt.Dimension;
- import java.awt.Graphics;
-
- class LinearAxisHandler extends AxisHandler {
- LinearAxisHandler(JCAxis var1) {
- super(var1);
- }
-
- double toData(int var1) {
- return super.parent.isVertical ? ((double)(super.parent.getHeight() - var1) - super.shift) / super.scale : ((double)var1 - super.shift) / super.scale;
- }
-
- int toPixel(double var1) {
- var1 = super.scale * var1 + super.shift + (double)0.5F;
- int var3;
- if (var1 >= (double)0.0F) {
- var3 = (int)var1;
- } else {
- var3 = (int)Math.floor(var1);
- }
-
- return super.parent.isVertical ? super.parent.getHeight() - var3 : var3;
- }
-
- void calcParams() {
- double var1 = super.parent.dataLimits == null ? (double)0.0F : super.parent.dataLimits.min;
- double var3 = super.parent.dataLimits == null ? (double)100.0F : super.parent.dataLimits.max;
- double var9 = (double)0.0F;
- double var11 = super.parent.numSpacing.value;
- double var13 = super.parent.tickSpacing.value;
- boolean var15 = super.parent.chartType == 9 || super.parent.chartType == 10;
- boolean var16 = super.parent.chartType == 5 || super.parent.chartType == 6;
- boolean var17 = super.parent.chartType == 7;
- boolean var18 = super.parent.chartType == 2 || super.parent.chartType == 3 || super.parent.chartType == 4;
- if (var18 && !super.parent.isVertical) {
- super.parent.min.value = (double)0.0F;
- super.parent.max.value = JCChartUtil.convertAngle(1, super.parent.chartArea.angleUnit, (double)360.0F);
- }
-
- do {
- this.calcPrecision();
- } while(this.fixBounds());
-
- int var23 = super.parent.precision.value;
- double var7 = JCChartUtil.precFloor(var23, var1);
- double var5 = JCChartUtil.precCeil(var23, var3);
- if (var5 <= var7) {
- var23 = super.parent.precision.value;
- if (super.parent.max.isDefault) {
- do {
- var5 = var7 + JCChartUtil.pow10(-var23);
- --var23;
- } while(var5 <= var7);
- } else {
- do {
- var7 = var5 - JCChartUtil.pow10(-var23);
- --var23;
- } while(var5 <= var7);
- }
- }
-
- if (var18) {
- var5 = super.parent.max.value;
- }
-
- var7 = super.parent.min.isDefault ? var7 : super.parent.min.value;
- var5 = super.parent.max.isDefault ? var5 : super.parent.max.value;
- var9 = this.calcOrigin(var7, var5);
- double var24 = super.parent.min.isDefault ? (var7 < var9 ? var7 : var9) : var7;
- double var26 = super.parent.max.isDefault ? (var5 > var9 ? var5 : var9) : var5;
- double var28 = (double)0.0F;
- boolean var30 = false;
-
- for(int var31 = 0; var31 < 2 && !var30; ++var31) {
- var7 = JCChartUtil.precFloor(super.parent.precision.value, var7);
- var5 = JCChartUtil.precCeil(super.parent.precision.value, var5);
- if (var18) {
- var5 = super.parent.max.value;
- }
-
- var7 = super.parent.min.isDefault ? var7 : super.parent.min.value;
- var5 = super.parent.max.isDefault ? var5 : super.parent.max.value;
- double var32 = super.parent.min.isDefault ? (var7 < var9 ? var7 : var9) : var7;
- double var34 = super.parent.max.isDefault ? (var5 > var9 ? var5 : var9) : var5;
- var7 = var32;
- var5 = var34;
- var28 = (double)0.5F * JCChartUtil.pow10(-super.parent.precision.value - 1);
- super.parent.pixelLength();
- var11 = super.parent.numSpacing.value;
- var13 = super.parent.tickSpacing.value;
- if (super.parent.numSpacing.isDefault && super.parent.tickSpacing.isDefault) {
- int var58 = this.calcMaxAnnoSize(var32, var34);
- int var65 = var58 == 0 ? 0 : super.parent.pixelLength() / var58;
- double var38 = var34 - var32;
- var38 = var38 > (double)0.0F ? var38 : -var38;
- if (var65 <= 0) {
- var11 = (double)0.0F;
- var13 = (double)0.0F;
- } else if (var18) {
- if (super.parent.chartArea.angleUnit == 2) {
- while(90 % var65 != 0 && var65 > 1) {
- --var65;
- }
- }
-
- double var40 = var38 / (double)(var65 * 4);
- if (super.parent.chartArea.angleUnit != 2) {
- for(int var42 = (int)var40; (var40 - (double)var42 != (double)0.0F || var38 % var40 != (double)0.0F || var42 % 5 != 0 && var42 % 10 != 0) && var65 > 1; var42 = (int)var40) {
- --var65;
- var40 = var38 / (double)(var65 * 4);
- }
- }
-
- var13 = var40;
- byte var69;
- if (var65 < 4) {
- var69 = 1;
- } else if (var65 % 2 == 1) {
- if (var65 % 3 == 0) {
- var69 = 3;
- } else {
- var69 = 1;
- }
- } else if (var65 > 4 && var65 % 4 == 0) {
- var69 = 4;
- } else {
- var69 = 2;
- }
-
- var11 = var40 * (double)var69;
- } else {
- double var68 = var38 / (double)var65;
- DoubleCoord var70 = JCChartUtil.calcTik(var68, super.parent.precision.value);
- var13 = var70.x;
- var11 = var70.y;
- }
- } else if (super.parent.tickSpacing.isDefault) {
- int var36 = super.parent.precision.value;
- double var37 = JCChartUtil.pow10(-var36);
- var11 = var37 * Math.floor(var11 / var37 + (double)0.5F);
- var13 = super.parent.numSpacing.value / (double)2.0F;
- } else if (super.parent.numSpacing.isDefault) {
- var11 = (double)2.0F * var13;
- int var57 = super.parent.precision.value;
- double var64 = JCChartUtil.pow10(-var57);
- var11 = var64 * Math.floor(var11 / var64 + (double)0.5F);
- }
-
- if (var11 != (double)0.0F) {
- double var59 = (var32 - var9) / var11;
- if (var59 != Math.floor(var59)) {
- var7 = var9 + Math.floor(var59 - (double)1.0F) * var11;
- } else {
- var7 = var9 + Math.floor(var59) * var11;
- }
-
- var59 = (var34 - var9) / var11;
- if (var59 != Math.floor(var59)) {
- var5 = var9 + Math.floor(var59 + (double)1.0F) * var11;
- } else {
- var5 = var9 + Math.floor(var59) * var11;
- }
-
- double var67 = var5 - var7;
- if ((var67 > (double)0.0F ? var67 : -var67) < var28) {
- var5 = var7 + var11;
- }
- } else {
- double var61 = var34 - var32;
- if ((var61 > (double)0.0F ? var61 : -var61) < var28) {
- var5 = var32 + (double)1.0F;
- }
- }
-
- double var62 = var7 - var32;
- if (!((var62 > (double)0.0F ? var62 : -var62) > var28)) {
- var62 = var5 - var34;
- if (!((var62 > (double)0.0F ? var62 : -var62) > var28)) {
- continue;
- }
- }
-
- var30 = true;
- if (var5 - var11 >= var26) {
- var5 -= var11;
- } else {
- var30 = false;
- }
-
- if (var7 + var11 <= var24) {
- var7 += var11;
- } else {
- var30 = false;
- }
- }
-
- if (!super.parent.isVertical && (super.parent.annotationMethod == 2 || var18)) {
- var7 = var1;
- var5 = var3;
- if (var3 <= var1) {
- var23 = 0;
-
- do {
- var5 = var7 + JCChartUtil.pow10(var23);
- var7 -= var5 - var7;
- ++var23;
- } while(var5 <= var7);
- }
-
- var24 = var7;
- var26 = var5;
- }
-
- if (super.parent.dataLimits != null && (super.parent.annotationMethod == 3 || super.parent.isPrimary && (var15 || var16 || var17))) {
- double var55 = var1;
- double var56 = var3;
- if (super.parent.min.isDefault) {
- var55 = var1 - super.parent.step / (double)2.0F;
- }
-
- if (super.parent.max.isDefault) {
- var56 = var3 + super.parent.step / (double)2.0F;
- }
-
- var7 = var24 = var1 < var55 ? var1 : var55;
- var5 = var26 = var3 > var56 ? var3 : var56;
- }
-
- if (super.parent.isShowing) {
- if (super.parent.min.isDefault) {
- super.parent.min.value = var7;
- }
-
- if (super.parent.max.isDefault) {
- super.parent.max.value = var5;
- }
- } else {
- if (super.parent.min.isDefault) {
- super.parent.min.value = var24;
- }
-
- if (super.parent.max.isDefault) {
- super.parent.max.value = var26;
- }
- }
-
- var9 = this.calcOrigin(super.parent.min.value, super.parent.max.value);
- if (super.parent.origin.isDefault) {
- super.parent.origin.value = var9;
- }
-
- if (super.parent.tickSpacing.isDefault) {
- super.parent.tickSpacing.value = var13;
- }
-
- if (super.parent.numSpacing.isDefault) {
- super.parent.numSpacing.value = var11;
- }
-
- if (super.parent.gridSpacing.isDefault) {
- super.parent.gridSpacing.value = super.parent.numSpacing.value;
- }
-
- }
-
- void calcTransformation() {
- int var1 = super.parent.pixelLength();
- int var2 = super.parent.pixelStart();
- double var3 = super.parent.min.value;
- double var5 = super.parent.max.value;
- int var7 = super.parent.precision.value;
- double var9 = (double)0.5F * JCChartUtil.pow10(-var7 - 1);
- if (super.parent.isReversed) {
- var1 = -var1;
- }
-
- if (Math.abs(var5 - var3) < var9) {
- super.scale = (double)1.0F;
- super.shift = (double)0.0F;
- } else {
- super.scale = (double)var1 / (var5 - var3);
- if (var1 < 0) {
- super.shift = (double)var2 - var5 * super.scale;
- } else {
- super.shift = (double)var2 - var3 * super.scale;
- }
- }
- }
-
- boolean fixBounds() {
- return super.fixBounds();
- }
-
- void drawTicks(Graphics var1) {
- if (super.parent.annotationMethod != 0 && super.parent.tickSpacing.isDefault) {
- super.drawTicks(var1);
- } else {
- int var2 = super.parent.precision.value;
- double var10 = (double)0.5F * JCChartUtil.pow10(-var2 - 1);
- if (!(super.parent.tickSpacing.value <= var10)) {
- int var4 = super.parent.linePosition();
- double var5 = super.parent.tickSpacing.value;
- var5 = var5 > (double)0.0F ? var5 : -var5;
- var5 = var5 < var10 ? var10 * (double)2.0F : var5;
-
- for(double var7 = super.parent.firstInc(var5); var7 <= super.parent.max.value + var10; var7 += var5) {
- int var9 = super.parent.toPixel(var7);
- ((AxisHandler)this).drawTick(var1, var4, var9);
- }
-
- }
- }
- }
-
- String format(double var1, int var3) {
- return JCChartUtil.format(var1, var3);
- }
-
- void calcPrecision() {
- if (super.parent.precision.isDefault) {
- if (super.parent.annotationMethod != 2 && super.parent.dataLimits != null) {
- double var1 = super.parent.min.isDefault ? super.parent.dataLimits.min : super.parent.min.value;
- double var3 = super.parent.max.isDefault ? super.parent.dataLimits.max : super.parent.max.value;
- if (var3 <= var1) {
- super.parent.precision.value = JCChartUtil.nicePrecision(var3);
- } else {
- super.parent.precision.value = JCChartUtil.nicePrecision(var3 - var1);
- }
- } else {
- super.parent.precision.value = 0;
- }
- }
-
- int var5 = super.parent.precision.value;
- super.parent.precision.value = var5 > 6 ? 6 : (var5 < -6 ? -6 : var5);
- }
-
- double range() {
- return super.parent.max.value - super.parent.min.value;
- }
-
- void translate(double var1) {
- if (super.parent.isReversed) {
- var1 = -var1;
- }
-
- DerivedDouble var10000 = super.parent.min;
- var10000.value += var1;
- var10000 = super.parent.max;
- var10000.value += var1;
- }
-
- private int calcMaxAnnoSize(double var1, double var3) {
- Dimension var5 = new Dimension();
- ((AxisHandler)this).getAnnoExtent(var5, var3, super.parent.precision.value);
- ((AxisHandler)this).getAnnoExtent(var5, var1, super.parent.precision.value);
- if (super.parent.isVertical) {
- super.parent.resize(var5.width + 1 + super.parent.tickLength / 2, super.parent.getHeight());
- } else {
- super.parent.resize(super.parent.getWidth(), var5.height + 1 + super.parent.tickLength / 2);
- }
-
- return super.parent.isVertical ? var5.height : var5.width;
- }
-
- private double calcOrigin(double var1, double var3) {
- double var5 = (double)0.0F;
- if (super.parent.origin.isDefault) {
- switch (super.parent.originPlacement.value) {
- case 0:
- if (var1 <= (double)0.0F && var3 >= (double)0.0F) {
- var5 = (double)0.0F;
- } else {
- var5 = var1;
- }
- break;
- case 1:
- var5 = var1;
- break;
- case 2:
- var5 = var3;
- break;
- case 3:
- var5 = (double)0.0F;
- }
- }
-
- return var5;
- }
- }
-