topical media & game development

talk show tell print

lib-of-vs-libs-openFrameworks-events-ofEvents.h / h



  ifndef _OF_EVENTS
  define _OF_EVENTS
  
  include <ofConstants.h>
  
  ifdef OF_USING_POCO
  
          #ifndef OF_EVENTS_ADDON
                  #include <ofEventUtils.h>
  
                  //-----------------------------------------------
                  // event arguments, this are used in oF to pass
                  // the data when notifying events
  
  		class ofEventArgs{};
  
  		class ofKeyEventArgs : public ofEventArgs {
                    public:
                          int key;
                  };
  
  		class ofMouseEventArgs : public ofEventArgs {
                    public:
                          int x;
                          int y;
                          int button;
                  };
  
  		class ofAudioEventArgs : public ofEventArgs {
                    public:
                          float* buffer;
                          int bufferSize;
                          int nChannels;
                  };
  
  		class ofResizeEventArgs : public ofEventArgs {
                    public:
                          int width;
                          int height;
                  };
          #else
                  #include <ofxEventUtils.h>
          #endif
  
  	class ofCoreEvents {
            public:
                  ofEvent<ofEventArgs>                 setup;
                  ofEvent<ofEventArgs>                 update;
                  ofEvent<ofEventArgs>                 draw;
                  ofEvent<ofEventArgs>                 exit;
                  ofEvent<ofResizeEventArgs>         windowResized;
  
                  ofEvent<ofKeyEventArgs>         keyPressed;
                  ofEvent<ofKeyEventArgs>         keyReleased;
  
                  ofEvent<ofMouseEventArgs>         mouseMoved;
                  ofEvent<ofMouseEventArgs>         mouseDragged;
                  ofEvent<ofMouseEventArgs>         mousePressed;
                  ofEvent<ofMouseEventArgs>         mouseReleased;
  
                  ofEvent<ofAudioEventArgs>         audioReceived;
                  ofEvent<ofAudioEventArgs>         audioRequested;
  
                  void disable(){
                          setup.disable();
                          draw.disable();
                          update.disable();
                          exit.disable();
                          keyPressed.disable();
                          keyReleased.disable();
                          mouseDragged.disable();
                          mouseReleased.disable();
                          mousePressed.disable();
                          mouseMoved.disable();
                          audioReceived.disable();
                          audioRequested.disable();
                  }
  
                  void enable(){
                          setup.enable();
                          draw.enable();
                          update.enable();
                          exit.enable();
                          keyPressed.enable();
                          keyReleased.enable();
                          mouseDragged.enable();
                          mouseReleased.enable();
                          mousePressed.enable();
                          mouseMoved.enable();
                          audioReceived.enable();
                          audioRequested.enable();
                  }
          };
  
          extern ofCoreEvents ofEvents;
  
          #endif
  
  endif
  
  


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.