// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.kpdus.com/jad.html // Decompiler options: packimports(3) package org.achartengine.tools; import java.util.*; import org.achartengine.chart.*; import org.achartengine.renderer.DefaultRenderer; import org.achartengine.renderer.XYMultipleSeriesRenderer; // Referenced classes of package org.achartengine.tools: // AbstractTool, ZoomListener, ZoomEvent public class Zoom extends AbstractTool { public Zoom(AbstractChart abstractchart, boolean flag, float f) { super(abstractchart); mZoomListeners = new ArrayList(); mZoomIn = flag; setZoomRate(f); } /** * @deprecated Method notifyZoomListeners is deprecated */ private void notifyZoomListeners(ZoomEvent zoomevent) { this; JVM INSTR monitorenter ; for(Iterator iterator = mZoomListeners.iterator(); iterator.hasNext(); ((ZoomListener)iterator.next()).zoomApplied(zoomevent)); break MISSING_BLOCK_LABEL_44; Exception exception; exception; throw exception; this; JVM INSTR monitorexit ; } /** * @deprecated Method addZoomListener is deprecated */ public void addZoomListener(ZoomListener zoomlistener) { this; JVM INSTR monitorenter ; mZoomListeners.add(zoomlistener); this; JVM INSTR monitorexit ; return; Exception exception; exception; throw exception; } public void apply() { if(!(mChart instanceof XYChart)) goto _L2; else goto _L1 _L1: int i; int j; i = mRenderer.getScalesCount(); j = 0; _L4: double d2; double d3; double d4; double d5; if(j >= i) break; /* Loop/switch isn't completed */ double ad[] = getRange(j); checkRange(ad, j); double ad1[] = mRenderer.getZoomLimits(); boolean flag; double d; double d1; double d6; double d7; double d8; double d9; if(ad1 != null && ad1.length == 4) flag = true; else flag = false; d = (ad[0] + ad[1]) / 2D; d1 = (ad[2] + ad[3]) / 2D; d2 = ad[1] - ad[0]; d3 = ad[3] - ad[2]; if(mZoomIn) { if(mRenderer.isZoomXEnabled()) d2 /= mZoomRate; if(!mRenderer.isZoomYEnabled()) break MISSING_BLOCK_LABEL_424; d4 = d3 / (double)mZoomRate; d5 = d2; } else { if(mRenderer.isZoomXEnabled()) d2 *= mZoomRate; if(!mRenderer.isZoomYEnabled()) break MISSING_BLOCK_LABEL_424; d4 = d3 * (double)mZoomRate; d5 = d2; } _L5: if(mRenderer.isZoomXEnabled()) { d8 = d - d5 / 2D; d9 = d + d5 / 2D; if(!flag || ad1[0] <= d8 && ad1[1] >= d9) setXRange(d8, d9, j); } if(mRenderer.isZoomYEnabled()) { d6 = d1 - d4 / 2D; d7 = d1 + d4 / 2D; if(!flag || ad1[2] <= d6 && ad1[3] >= d7) setYRange(d6, d7, j); } j++; if(true) goto _L4; else goto _L3 _L2: DefaultRenderer defaultrenderer = ((RoundChart)mChart).getRenderer(); if(mZoomIn) defaultrenderer.setScale(defaultrenderer.getScale() * mZoomRate); else defaultrenderer.setScale(defaultrenderer.getScale() / mZoomRate); _L3: notifyZoomListeners(new ZoomEvent(mZoomIn, mZoomRate)); return; d4 = d3; d5 = d2; goto _L5 } /** * @deprecated Method notifyZoomResetListeners is deprecated */ public void notifyZoomResetListeners() { this; JVM INSTR monitorenter ; for(Iterator iterator = mZoomListeners.iterator(); iterator.hasNext(); ((ZoomListener)iterator.next()).zoomReset()); break MISSING_BLOCK_LABEL_43; Exception exception; exception; throw exception; this; JVM INSTR monitorexit ; } /** * @deprecated Method removeZoomListener is deprecated */ public void removeZoomListener(ZoomListener zoomlistener) { this; JVM INSTR monitorenter ; mZoomListeners.add(zoomlistener); this; JVM INSTR monitorexit ; return; Exception exception; exception; throw exception; } public void setZoomRate(float f) { mZoomRate = f; } private boolean mZoomIn; private List mZoomListeners; private float mZoomRate; }