X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fkaka%2Fcakelight%2Fmode%2FMode.java;fp=src%2Fkaka%2Fcakelight%2Fmode%2FMode.java;h=5ece5ea017a7a641d21b4b2a1d8e081dd954f51c;hb=67b0a75891f19e91cc35e23fa56915cfd7cd52de;hp=0000000000000000000000000000000000000000;hpb=8304abc8107c4c4d7334ddc7276e95b8f535ee55;p=kaka%2Fcakelight.git diff --git a/src/kaka/cakelight/mode/Mode.java b/src/kaka/cakelight/mode/Mode.java new file mode 100644 index 0000000..5ece5ea --- /dev/null +++ b/src/kaka/cakelight/mode/Mode.java @@ -0,0 +1,22 @@ +package kaka.cakelight.mode; + +import kaka.cakelight.Configuration; +import kaka.cakelight.LedFrame; + +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); + } +}