aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/pheelicks/visualizer/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/pheelicks/visualizer/renderer')
-rw-r--r--src/com/pheelicks/visualizer/renderer/BarGraphRenderer.java12
-rw-r--r--src/com/pheelicks/visualizer/renderer/CircleRenderer.java19
-rw-r--r--src/com/pheelicks/visualizer/renderer/LineRenderer.java22
-rw-r--r--src/com/pheelicks/visualizer/renderer/Renderer.java22
4 files changed, 31 insertions, 44 deletions
diff --git a/src/com/pheelicks/visualizer/renderer/BarGraphRenderer.java b/src/com/pheelicks/visualizer/renderer/BarGraphRenderer.java
index 0901b4b..b17a695 100644
--- a/src/com/pheelicks/visualizer/renderer/BarGraphRenderer.java
+++ b/src/com/pheelicks/visualizer/renderer/BarGraphRenderer.java
@@ -21,30 +21,28 @@ public class BarGraphRenderer extends Renderer
/**
* Renders the FFT data as a series of lines, in histogram form
- * @param canvas
* @param divisions - must be a power of 2. Controls how many lines to draw
* @param paint - Paint to draw lines with
* @param top - whether to draw the lines at the top of the canvas, or the bottom
*/
- public BarGraphRenderer(Canvas canvas,
- int divisions,
+ public BarGraphRenderer(int divisions,
Paint paint,
boolean top)
{
- super(canvas);
+ super();
mDivisions = divisions;
mPaint = paint;
mTop = top;
}
@Override
- public void onRender(AudioData data, Rect rect)
+ public void onRender(Canvas canvas, AudioData data, Rect rect)
{
// Do nothing, we only display FFT data
}
@Override
- public void onRender(FFTData data, Rect rect)
+ public void onRender(Canvas canvas, FFTData data, Rect rect)
{
for (int i = 0; i < data.bytes.length / mDivisions; i++) {
mFFTPoints[i * 4] = i * 4 * mDivisions;
@@ -66,6 +64,6 @@ public class BarGraphRenderer extends Renderer
}
}
- mCanvas.drawLines(mFFTPoints, mPaint);
+ canvas.drawLines(mFFTPoints, mPaint);
}
}
diff --git a/src/com/pheelicks/visualizer/renderer/CircleRenderer.java b/src/com/pheelicks/visualizer/renderer/CircleRenderer.java
index 1f159b2..8c7fab5 100644
--- a/src/com/pheelicks/visualizer/renderer/CircleRenderer.java
+++ b/src/com/pheelicks/visualizer/renderer/CircleRenderer.java
@@ -24,12 +24,9 @@ public class CircleRenderer extends Renderer
* @param canvas
* @param paint - Paint to draw lines with
*/
- public CircleRenderer(Canvas canvas,
- Paint paint)
+ public CircleRenderer(Paint paint)
{
- this(canvas,
- paint,
- false);
+ this(paint, false);
}
/**
@@ -38,17 +35,15 @@ public class CircleRenderer extends Renderer
* @param paint - Paint to draw lines with
* @param cycleColor - If true the color will change on each frame
*/
- public CircleRenderer(Canvas canvas,
- Paint paint,
- boolean cycleColor)
+ public CircleRenderer(Paint paint, boolean cycleColor)
{
- super(canvas);
+ super();
mPaint = paint;
mCycleColor = cycleColor;
}
@Override
- public void onRender(AudioData data, Rect rect)
+ public void onRender(Canvas canvas, AudioData data, Rect rect)
{
if(mCycleColor)
{
@@ -75,14 +70,14 @@ public class CircleRenderer extends Renderer
mPoints[i * 4 + 3] = polarPoint2[1];
}
- mCanvas.drawLines(mPoints, mPaint);
+ canvas.drawLines(mPoints, mPaint);
// Controls the pulsing rate
modulation += 0.04;
}
@Override
- public void onRender(FFTData data, Rect rect)
+ public void onRender(Canvas canvas, FFTData data, Rect rect)
{
// Do nothing, we only display audio data
}
diff --git a/src/com/pheelicks/visualizer/renderer/LineRenderer.java b/src/com/pheelicks/visualizer/renderer/LineRenderer.java
index 494f252..55de67d 100644
--- a/src/com/pheelicks/visualizer/renderer/LineRenderer.java
+++ b/src/com/pheelicks/visualizer/renderer/LineRenderer.java
@@ -28,14 +28,9 @@ public class LineRenderer extends Renderer
* @param paint - Paint to draw lines with
* @param paint - Paint to draw flash with
*/
- public LineRenderer(Canvas canvas,
- Paint paint,
- Paint flashPaint)
+ public LineRenderer(Paint paint, Paint flashPaint)
{
- this(canvas,
- paint,
- flashPaint,
- false);
+ this(paint, flashPaint, false);
}
/**
@@ -45,19 +40,18 @@ public class LineRenderer extends Renderer
* @param paint - Paint to draw flash with
* @param cycleColor - If true the color will change on each frame
*/
- public LineRenderer(Canvas canvas,
- Paint paint,
+ public LineRenderer(Paint paint,
Paint flashPaint,
boolean cycleColor)
{
- super(canvas);
+ super();
mPaint = paint;
mFlashPaint = flashPaint;
mCycleColor = cycleColor;
}
@Override
- public void onRender(AudioData data, Rect rect)
+ public void onRender(Canvas canvas, AudioData data, Rect rect)
{
if(mCycleColor)
{
@@ -85,18 +79,18 @@ public class LineRenderer extends Renderer
{
// Amplitude is bigger than normal, make a prominent line
amplitude = amp;
- mCanvas.drawLines(mPoints, mFlashPaint);
+ canvas.drawLines(mPoints, mFlashPaint);
}
else
{
// Amplitude is nothing special, reduce the amplitude
amplitude *= 0.99;
- mCanvas.drawLines(mPoints, mPaint);
+ canvas.drawLines(mPoints, mPaint);
}
}
@Override
- public void onRender(FFTData data, Rect rect)
+ public void onRender(Canvas canvas, FFTData data, Rect rect)
{
// Do nothing, we only display audio data
}
diff --git a/src/com/pheelicks/visualizer/renderer/Renderer.java b/src/com/pheelicks/visualizer/renderer/Renderer.java
index ada0caa..12be4b8 100644
--- a/src/com/pheelicks/visualizer/renderer/Renderer.java
+++ b/src/com/pheelicks/visualizer/renderer/Renderer.java
@@ -14,60 +14,60 @@ import com.pheelicks.visualizer.FFTData;
abstract public class Renderer
{
- // Canvas & Rect to render to
- protected Canvas mCanvas;
-
// Have these as members, so we don't have to re-create them each time
protected float[] mPoints;
protected float[] mFFTPoints;
- public Renderer(Canvas canvas)
+ public Renderer()
{
- mCanvas = canvas;
}
// As the display of raw/FFT audio will usually look different, subclasses
// will typically only implement one of the below methods
/**
* Implement this method to render the audio data onto the canvas
+ * @param canvas - Canvas to draw on
* @param data - Data to render
* @param rect - Rect to render into
*/
- abstract public void onRender(AudioData data, Rect rect);
+ abstract public void onRender(Canvas canvas, AudioData data, Rect rect);
/**
* Implement this method to render the FFT audio data onto the canvas
+ * @param canvas - Canvas to draw on
* @param data - Data to render
* @param rect - Rect to render into
*/
- abstract public void onRender(FFTData data, Rect rect);
+ abstract public void onRender(Canvas canvas, FFTData data, Rect rect);
// These methods should actually be called for rendering
/**
* Render the audio data onto the canvas
+ * @param canvas - Canvas to draw on
* @param data - Data to render
* @param rect - Rect to render into
*/
- final public void render(AudioData data, Rect rect)
+ final public void render(Canvas canvas, AudioData data, Rect rect)
{
if (mPoints == null || mPoints.length < data.bytes.length * 4) {
mPoints = new float[data.bytes.length * 4];
}
- onRender(data, rect);
+ onRender(canvas, data, rect);
}
/**
* Render the FFT data onto the canvas
+ * @param canvas - Canvas to draw on
* @param data - Data to render
* @param rect - Rect to render into
*/
- final public void render(FFTData data, Rect rect)
+ final public void render(Canvas canvas, FFTData data, Rect rect)
{
if (mFFTPoints == null || mFFTPoints.length < data.bytes.length * 4) {
mFFTPoints = new float[data.bytes.length * 4];
}
- onRender(data, rect);
+ onRender(canvas, data, rect);
}
}