X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2FMode.java;h=ad9bc8d40847efd66c7e366fbaf254e1091b8b7e;hb=14d53f068b65b244c150a05e483e56cf6fdc38a5;hp=3a1f5d081228ae2443af33262715d67557d161be;hpb=4a2d60564647052562fad28644904298ba83667b;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/Mode.java b/src/kaka/cakelight/Mode.java index 3a1f5d0..ad9bc8d 100644 --- a/src/kaka/cakelight/Mode.java +++ b/src/kaka/cakelight/Mode.java @@ -1,6 +1,19 @@ package kaka.cakelight; -public interface Mode { - void enter(Configuration config); - void exit(); +import java.util.function.Consumer; + +public abstract class Mode { + private Consumer frameListener; + + public abstract void enter(Configuration config); + public abstract void exit(); + + public void setFrameListener(Consumer listener) { + frameListener = listener; + } + + public void updateWithFrame(LedFrame frame) { + assert frameListener != null; + frameListener.accept(frame); + } }