diff options
Diffstat (limited to 'source/modules/asura-core/input/equeue.h')
-rw-r--r-- | source/modules/asura-core/input/equeue.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/source/modules/asura-core/input/equeue.h b/source/modules/asura-core/input/equeue.h new file mode 100644 index 0000000..495c869 --- /dev/null +++ b/source/modules/asura-core/input/equeue.h @@ -0,0 +1,51 @@ +#ifndef __ASURA_EQUEUE_H__ +#define __ASURA_EQUEUE_H__ + +#include <asura-utils/type.h> + +#include "event.h" + +namespace AsuraEngine +{ + namespace Input + { + + class EQueueImpl; + + /// + /// Event queue. + /// + class EQueue + { + public: + + EQueue(); + ~EQueue(); + + bool Poll(const Event& e); + + private: + + EQueueImpl* mImpl; + + }; + + ASURA_ABSTRACT class EQueueImpl + { + public: + + EQueueImpl() {}; + virtual ~EQueueImpl() {}; + + /// + /// Ӳϵͳ¼óһءзtrue,ûзfalseص + /// װЩͬʵֵ¼ʹͳһתΪAsura event + /// + virtual bool Poll(const Event&) = 0; + + }; + + } +} + +#endif
\ No newline at end of file |