#include "ofApp.h"
void ofApp::setup(){
ofSetVerticalSync(true);
circleResolution.addListener(this, &ofApp::circleResolutionChanged);
ringButton.addListener(this, &ofApp::ringButtonPressed);
gui.setup();
gui.add(filled.setup("fill", true));
gui.add(radius.setup("radius", 140, 10, 300));
gui.add(center.setup("center", {ofGetWidth()*.5, ofGetHeight()*.5}, {0, 0}, {ofGetWidth(), ofGetHeight()}));
gui.add(color.setup("color", ofColor(100, 100, 140), ofColor(0, 0), ofColor(255, 255)));
gui.add(circleResolution.setup("circle res", 5, 3, 90));
gui.add(twoCircles.setup("two circles"));
gui.add(ringButton.setup("ring"));
gui.add(screenSize.setup("screen size", ofToString(ofGetWidth())+"x"+ofToString(ofGetHeight())));
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(){
ofSetCircleResolution(circleResolution);
}
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(center, radius );
}
if(!bHide){
gui.draw();
}
}
void ofApp::keyPressed(int key){
if(key == 'h'){
bHide = !bHide;
}
else if(key == 's'){
gui.saveToFile("settings.xml");
}
else if(key == 'l'){
gui.loadFromFile("settings.xml");
}
else 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