Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
InputInterface.hpp
1
#pragma once
2
3
#include <Common/Event/KeyPressCode.hpp>
4
#include <Common/Event/MouseButtonCode.hpp>
5
#include <Common/Input/CursorMode.hpp>
6
7
namespace
Grindstone {
8
class
Window
;
9
10
namespace
Input {
11
class
Interface
{
12
public
:
13
virtual
CursorMode GetCursorMode() = 0;
14
virtual
void
SetCursorMode(CursorMode) = 0;
15
virtual
void
SetCursorIsRawMotion(
bool
isRawMode) = 0;
16
virtual
bool
GetCursorIsRawMotion() = 0;
17
virtual
void
SetMainWindow(
Grindstone::Window
* window) = 0;
18
virtual
void
ResizeEvent(
int
,
int
) = 0;
19
virtual
void
SetMouseButton(Events::MouseButtonCode,
bool
) = 0;
20
virtual
bool
IsMouseButtonPressed(Events::MouseButtonCode) = 0;
21
virtual
void
SetMousePosition(
int
,
int
) = 0;
22
virtual
void
GetMousePosition(
int
&,
int
&) = 0;
23
virtual
void
OnMouseMoved(
int
,
int
) = 0;
24
virtual
void
SetIsFocused(
bool
) = 0;
25
virtual
bool
IsFocused() = 0;
26
virtual
void
MouseScroll(
float
offsetX,
float
offsetY) = 0;
27
virtual
void
SetKeyPressed(Events::KeyPressCode,
bool
) = 0;
28
virtual
bool
IsKeyPressed(Events::KeyPressCode) = 0;
29
virtual
void
AddCharacterTyped(
unsigned
short
character) = 0;
30
virtual
void
TryQuit(
Grindstone::Window
* window) = 0;
31
virtual
void
ForceQuit(
Grindstone::Window
* window) = 0;
32
};
// class Interface
33
}
// namespace Input
34
}
// namespace Grindstone
Grindstone::Input::Interface
Definition
InputInterface.hpp:11
Grindstone::Window
Definition
Window.hpp:12
sources
code
Common
Input
InputInterface.hpp
Generated by
1.17.0