Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Nice way to have your private variables editable in a external window.
import control.ControlFrame;
import processing.core.PApplet;
public class BackgroundColor {
private final PApplet p;
@ControlElement(properties = {"min=0", "max=255"}, x = 10, y = 10)
private float red = 0;
@ControlElement(properties = {"min=0", "max=255"}, x = 10, y = 10)
private float green = 0;
@ControlElement(properties = {"min=0", "max=255"}, x = 10, y = 10)
private float blue = 0;
public BackgroundColor(PApplet p) {
this.p = p;
new ControlFrame(this, 200, 200);
}
public void update() {
p.background(red, green, blue);
}
package control;
import controlP5.ControlP5;
import processing.core.PApplet;
import java.awt.*;
public class ControlFrame extends PApplet {
int w;
int h;
public void setup() {
size(w, h);
frameRate(25);
}
public void draw() {
background(0);
}
public ControlFrame(Object parent, int theWidth, int theHeight) {
String name = parent.getClass().getSimpleName();
w = theWidth;
h = theHeight;
createFrame(name);
createControlP5(parent, name);
}
private void createFrame(String name) {
Frame f = new Frame(name);
f.add(this);
this.init();
f.setTitle(name);
f.setSize(w, h);
f.setLocation(100, 100);
f.setResizable(false);
f.setVisible(true);
}
private void createControlP5(Object parent, String name) {
ControlP5 cp5 = new ControlP5(this);
cp5.addControllersFor(name, parent);
}
}
@cacheflowe

This comment has been minimized.

Copy link

@cacheflowe cacheflowe commented Apr 14, 2014

This is awesome! Thanks for sharing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.