package de.tu.darmstadt.seemoo.ansian.model; import de.tu.darmstadt.seemoo.ansian.control.DataHandler; import de.tu.darmstadt.seemoo.ansian.tools.ArrayHelper; /** * * @author Steffen Kreis * * This adapter is used by the Waveform to get the desired data. In * later releases (with scrolling WaveformView working) it is supposed * to hold the drawing data, so it is not necessary to recalculate that * data as long as no change in scaling/scrolling/'orientation change' * happened * */ public class WaveformDrawDataAdapter { public float[] getDrawArrayRe(int pixel, float xScale, float yScale) { WaveformDrawData[] drawData; float[] result = null; drawData = DataHandler.getInstance().getWaveformDrawData((int) Math.ceil(xScale)); if (drawData != null) { result = new float[0]; for (int pos = 0; pos < drawData.length; pos++) { if (drawData[pos] != null) { float[] re = drawData[pos].getDrawData((int) (pixel / Math.max(xScale, 1)), yScale); result = ArrayHelper.concatenate(result, re); } } } return result; }; }