#include "ofApp.h"
void ofApp::setup(){
ofSetVerticalSync(true);
circleResolution.addListener(this, &ofApp::circleResolutionChanged);
ringButton.addListener(this,&ofApp::ringButtonPressed);
gui.setup("panel");
gui.add(filled.set("bFill", true));
gui.add(radius.set( "radius", 140, 10, 300 ));
gui.add(center.set("center",glm::vec2(ofGetWidth()*.5,ofGetHeight()*.5),glm::vec2(0,0),glm::vec2(ofGetWidth(),ofGetHeight())));
gui.add(color.set("color",ofColor(100,100,140),ofColor(0,0),ofColor(255,255)));
gui.add(circleResolution.set("circleRes", 5, 3, 90));
gui.add(twoCircles.setup("twoCircles"));
gui.add(ringButton.setup("ring"));
gui.add(screenSize.set("screenSize", ""));
bHide = false;
ring.load("ring.wav");
}
void ofApp::exit(){
ringButton.removeListener(this,&ofApp::ringButtonPressed);
}
void ofApp::circleResolutionChanged(int & circleResolution){
ofSetCircleResolution(circleResolution);
}
void ofApp::ringButtonPressed(){
ring.play();
}
void ofApp::update(){
}
void ofApp::draw(){
ofBackgroundGradient(ofColor::white, ofColor::gray);
if( filled ){
ofFill();
}else{
ofNoFill();
}
ofSetColor(color);
if(twoCircles){
ofDrawCircle(center->x-radius*.5, center->y, radius );
ofDrawCircle(center->x+radius*.5, center->y, radius );
}else{
ofDrawCircle((glm::vec2)center, radius );
}
if( !bHide ){
gui.draw();
}
}
void ofApp::keyPressed(int key){
if( key == 'h' ){
bHide = !bHide;
}
if(key == 's') {
gui.saveToFile("settings.xml");
}
if(key == 'l') {
gui.loadFromFile("settings.xml");
}
if(key == ' '){
color = ofColor(255);
}
}
void ofApp::keyReleased(int key){
}
void ofApp::mouseMoved(int x, int y ){
}
void ofApp::mouseDragged(int x, int y, int button){
}
void ofApp::mousePressed(int x, int y, int button){
}
void ofApp::mouseReleased(int x, int y, int button){
}
void ofApp::mouseEntered(int x, int y){
}
void ofApp::mouseExited(int x, int y){
}
void ofApp::windowResized(int w, int h){
screenSize = ofToString(w) + "x" + ofToString(h);
}
void ofApp::gotMessage(ofMessage msg){
}
void ofApp::dragEvent(ofDragInfo dragInfo){
}
Comments