diff options
Diffstat (limited to 'engines/sherlock/events.h')
-rw-r--r-- | engines/sherlock/events.h | 66 |
1 files changed, 64 insertions, 2 deletions
diff --git a/engines/sherlock/events.h b/engines/sherlock/events.h index 199e14f03a..c19a92de8c 100644 --- a/engines/sherlock/events.h +++ b/engines/sherlock/events.h @@ -42,10 +42,12 @@ private: SherlockEngine *_vm; uint32 _frameCounter; uint32 _priorFrameTime; - Common::Point _mousePos; ImageFile *_cursorImages; int _mouseButtons; + /** + * Check whether it's time to display the next screen frame + */ bool checkForNextFrameCounter(); public: CursorId _cursorId; @@ -60,42 +62,102 @@ public: Events(SherlockEngine *vm); ~Events(); + /** + * Load a set of cursors from the specified file + */ void loadCursors(const Common::String &filename); + /** + * Set the cursor to show + */ void setCursor(CursorId cursorId); + + /** + * Set the cursor to show from a passed frame + */ void setCursor(const Graphics::Surface &src); + /** + * Show the mouse cursor + */ void showCursor(); + /** + * Hide the mouse cursor + */ void hideCursor(); + /** + * Returns the cursor + */ CursorId getCursor() const; + /** + * Returns true if the mouse cursor is visible + */ bool isCursorVisible() const; + /** + * Move the mouse + */ void moveMouse(const Common::Point &pt); + /** + * Check for any pending events + */ void pollEvents(); + /** + * Poll for events and introduce a small delay, to allow the system to + * yield to other running programs + */ void pollEventsAndWait(); - Common::Point mousePos() const { return _mousePos; } + /** + * Get the current mouse position + */ + Common::Point mousePos() const; uint32 getFrameCounter() const { return _frameCounter; } bool kbHit() const { return !_pendingKeys.empty(); } + /** + * Get a pending keypress + */ Common::KeyState getKey(); + /** + * Clear any current keypress or mouse click + */ void clearEvents(); + + /** + * Clear any pending keyboard inputs + */ void clearKeyboard(); + /** + * Delay for a given number of game frames, where each frame is 1/60th of a second + */ void wait(int numFrames); + /** + * Does a delay of the specified number of milliseconds + */ bool delay(uint32 time, bool interruptable = false); + /** + * Sets the pressed and released button flags on the raw button state previously set in pollEvents calls. + * @remarks The events manager has separate variables for the raw immediate and old button state + * versus the current buttons states for the frame. This method is expected to be called only once + * per game frame + */ void setButtonState(); + /** + * Checks to see to see if a key or a mouse button is pressed. + */ bool checkInput(); }; |