FifeGUI 0.2.0
A C++ GUI library designed for games.
input.hpp
1// SPDX-License-Identifier: LGPL-2.1-or-later OR BSD-3-Clause
2// SPDX-FileCopyrightText: 2004 - 2008 Olof Naessén and Per Larsson
3// SPDX-FileCopyrightText: 2013 - 2026 Fifengine contributors
4
5#ifndef INCLUDE_FIFECHAN_INPUT_HPP_
6#define INCLUDE_FIFECHAN_INPUT_HPP_
7
8#include "fifechan/platform.hpp"
9
10namespace fcn
11{
12 class KeyInput;
13 class MouseInput;
14
27 class FIFEGUI_API Input
28 {
29 public:
30 virtual ~Input() = default;
31
32 Input(Input const &) = delete;
33 Input& operator=(Input const &) = delete;
34 Input(Input&&) = delete;
35 Input& operator=(Input&&) = delete;
36
43 virtual bool isKeyQueueEmpty() = 0;
44
51
58 virtual bool isMouseQueueEmpty() = 0;
59
66
73 virtual void _pollInput() = 0;
74
75 protected:
76 Input() = default;
77 };
78} // namespace fcn
79
80#endif // INCLUDE_FIFECHAN_INPUT_HPP_
virtual MouseInput dequeueMouseInput()=0
Dequeues the mouse input queue.
virtual bool isKeyQueueEmpty()=0
Checks if the key queue is empty, or not.
virtual bool isMouseQueueEmpty()=0
Checks if the mouse queue is empyt, or not.
virtual void _pollInput()=0
Polls all exsisting input.
virtual KeyInput dequeueKeyInput()=0
Dequeues the key input queue.
Internal class representing raw keyboard input data.
Definition keyinput.hpp:28
Internal class representing raw mouse input data.