//import processing.opengl.*; import controlP5.*; import traer.physics.*; int myColorBackground = color(255); //Basics int stageX = 800; int stageY = 600; //Menu submitMenu; ControlP5 submitController; ControlP5 mainController; // controller for entering dreams ControlP5 entryController; //controller for viewing individual dream entries SubmitListener submitListener; ShowHideMenuListener cancelListener; ShowHideMenuListener closeListener; //ReadDreamListener viewListener; // open and close dreams // variable values for submitting dreams from form boolean viewMenu = false; // shows menu when true int submitWidth = 200; int submitX = (stageX - submitWidth)/2; int submitY = 80; // highest point of menu Textfield dream; Textfield dreamer; Textfield date; Textfield frequency; Textfield location; Textfield emotion; Textarea myTextarea; // variable values for entries section Textlabel dreamAuthor; Textarea dreamText; Radio r; // variable values for showing dream boolean viewDream = true; ArrayList dreams; // Particle variables Particle mouse; ParticleSystem physics; // values for current dream String cDreamer; String cSubject; String cEmotion; String cDate; String cLocation; String cID; void setup() { size(stageX ,stageY);//, OPENGL); frameRate(25); //lights(); //set up main menu contents mainController = new ControlP5(this); mainController.addBang("", width - 20, 10, 10, 10); //set up submit menu contents setupSubmitMenu(); setupEntryMenu(); //add listener to bang mainController.controller("").addListener(cancelListener); //Particle setup physics = new ParticleSystem( 0, 0.1 ); mouse = physics.makeParticle(1.0, width/2, width/2, 0); mouse.makeFixed(); //create dreams dreams = new ArrayList(); String[] lines = loadStrings("http://morpheus.efuller.net/proxy/proxy.php?url=http://morpheus.efuller.net/run.php?type=update"); for (int i = 0; i < lines.length; i++) { println(lines[i]); Dream d = new Dream(25); d.setID(lines[i]); dreams.add(d); } } void draw() { background(myColorBackground); for(int i = dreams.size()-1; i >= 0; i--) { Dream d = (Dream) dreams.get(i); d.drawDream(); } if(viewMenu == false) submitController.hide(); else { submitController.show(); fill(0,0,0,200); rect(submitX - 10, 0, submitWidth + 20, stageY); } if(viewDream == false) entryController.hide(); else { entryController.show(); fill(0,0,0,200); rect(submitX - 10, 0, submitWidth + 20, stageY); } physics.tick(); } //particle walls void handleBoundaryCollisions( Particle p ) { if ( p.position().x() < 0 || p.position().x() > width ) p.setVelocity( -0.9*p.velocity().x(), p.velocity().y(), 0 ); if ( p.position().y() < 0 || p.position().y() > height ) p.setVelocity( p.velocity().x(), -0.9*p.velocity().y(), 0 ); p.moveTo( constrain( p.position().x(), 0, width ), constrain( p.position().y(), 0, height ), 0 ); }