diff options
author | Christopher Baines <cbaines8@gmail.com> | 2011-09-02 14:16:33 +0100 |
---|---|---|
committer | Christopher Baines <cbaines8@gmail.com> | 2011-09-02 14:16:33 +0100 |
commit | 043763756108f1bad553d260f4b5b2431185dac6 (patch) | |
tree | a0974758399e66899dce4aa7f77bf6ec27f9c959 /PunchingBag/src/PunchingBag.java | |
parent | 63f8fd609fc2966eb7bf2ddf53a3241f70a02689 (diff) | |
download | punchingbag-043763756108f1bad553d260f4b5b2431185dac6.tar punchingbag-043763756108f1bad553d260f4b5b2431185dac6.tar.gz |
Implement an effect class to manage stopping and refreshing for the effects.
Diffstat (limited to 'PunchingBag/src/PunchingBag.java')
-rw-r--r-- | PunchingBag/src/PunchingBag.java | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/PunchingBag/src/PunchingBag.java b/PunchingBag/src/PunchingBag.java index 2efe903..b179e2f 100644 --- a/PunchingBag/src/PunchingBag.java +++ b/PunchingBag/src/PunchingBag.java @@ -28,6 +28,10 @@ public class PunchingBag implements Runnable { buttonListenerList.add(ButtonListener.class, l); } + public void addLEDChangeListener(LEDListener l) { + ledListenerList.add(LEDListener.class, l); + } + public void setLED(byte x, byte y, Colour colour) { leds[x][y] = colour; } @@ -35,8 +39,32 @@ public class PunchingBag implements Runnable { public void drawRipple(byte x, byte y, byte intensity) { new Ripple(x, y, intensity); } + + class Effect implements Runnable { + boolean stop = false; + int refreshRate = 60; // Times per second to refresh + + public void stop() { + stop = true; + } + + public void run() { + while (!stop) { + draw(); + try { + Thread.sleep(1000/60); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + } + + private void draw() { + + } + } - class Ripple implements Runnable { + class Ripple extends Effect { double currentWidth; final byte x; final byte y; @@ -100,10 +128,6 @@ delay ( d ) ;*/ } } - public void addLEDChangeListener(ButtonListener l) { - ledListenerList.add(ButtonListener.class, l); - } - private void calculateRawLeds() { for (int y = 0; y <= 18; y++) { for (int x = 0; x <= 6; x++) { |