#pragma once #include "ofMain.h" #include "ofxOpenCv.h" #include "boundary.h" #include "ofxXmlSettings.h" #include "ofxFensterManager.h" #include "ofxGui.h" #define COLOUR 1 #define GREY 2 #define DIFF 3 //12-10-12 //each area will trigger 'once and once only' ? //overall: // //tweak opencv stuff //test performance class guiWindow; class testApp : public ofxFensterListener{ public: void setup(); void update(); void draw(); void exit(); void keyPressed (int key); void keyReleased(int key); void mouseMoved(int x, int y ); void mouseDragged(int x, int y, int button); void mousePressed(int x, int y, int button); void mouseReleased(int x, int y, int button); void windowResized(int w, int h); void dragEvent(ofDragInfo dragInfo); void dragEvent(ofDragInfo dragInfo, ofxFenster* win); void gotMessage(ofMessage msg); ofxXmlSettings XML; void loadSettings(string filename); void saveSettings(string filename); ofVideoGrabber vidGrabber; int gw,gh; ofxCvColorImage colorImg; ofxCvGrayscaleImage grayImage; ofxCvGrayscaleImage grayBg; ofxCvGrayscaleImage grayDiff; ofxCvContourFinder contourFinder; int mode; bool bLearnBakground; bool flip,invert; guiWindow *guiWin; ofxPanel gui; ofxFloatSlider vol; ofxParameter volume; ofxToggle bFlip; ofxToggle bInvert; ofxIntSlider thresh; ofxParameter threshold; // register any method of any class to an event. // the method must provide one of the following // signatures: // void method(ArgumentsType & args) // void method(const void * sender, ArgumentsType &args) // ie: // ofAddListener(addon.newIntEvent, this, &Class::method) void volumeChanged(float &v); bool bGrab; vector boundaries; int selectedBoundary; vector clicks; }; class guiWindow: public ofxFensterListener{ public: ~guiWindow(); testApp *parent; void setup(); void setParent(testApp *p); void draw(); };