From 8fc8c4847df493de85736447c1c8d9528a9b1299 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 17 Mar 2007 00:07:34 +0000 Subject: Implemented a simple EventManager class svn-id: r26154 --- backends/events/default/default-events.h | 61 ++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 backends/events/default/default-events.h (limited to 'backends/events/default/default-events.h') diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h new file mode 100644 index 0000000000..3291257f01 --- /dev/null +++ b/backends/events/default/default-events.h @@ -0,0 +1,61 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2002-2007 The ScummVM project + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +#if !defined(BACKEND_SAVES_DEFAULT_H) && !defined(DISABLE_DEFAULT_EVENTMANAGER) +#define BACKEND_SAVES_DEFAULT_H + +#include "common/stdafx.h" +#include "common/events.h" + +/* +At some point we will remove pollEvent from OSystem and change +DefaultEventManager to use a "boss" derived from this class: +class EventProvider { +public + virtual bool pollEvent(Common::Event &event) = 0; +}; + +Backends which wish to use the DefaultEventManager then simply can +use a subclass of EventProvider. +*/ + +class DefaultEventManager : public Common::EventManager { + OSystem *_boss; + + Common::Point _mousePos; + int _buttonState; + int _modifierState; + bool _shouldQuit; + +public: + DefaultEventManager(OSystem *boss); + ~DefaultEventManager(); + + virtual bool pollEvent(OSystem::Event &event); + + virtual Common::Point getMousePos() const { return _mousePos; } + virtual int getButtonState() const { return _buttonState; } + virtual int getModifierState() const { return _modifierState; } + virtual int shouldQuit() const { return _shouldQuit; } +}; + +#endif -- cgit v1.2.3