KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
WindowsInput.h
1#pragma once
2
3#include "Karma/Input.h"
5
6namespace Karma
7{
8 struct WindowsInputData : InputData
9 {
10 WindowsInputData() {}
11 Input::EventCallbackFn EventCallback;
12 };
13
14 class KARMA_API WindowsInput : public Input
15 {
16 public:
17 WindowsInput();
18
19 void SetEventCallback(const EventCallbackFn& callback, Window* window) override;
20
21 protected:
22 virtual bool IsKeyPressedImpl(int keycode) override;
23 virtual bool IsMouseButtonPressedImpl(int button) override;
24 virtual bool IsMouseButtonReleasedImpl(int button) override;
25 virtual bool IsControllerButtonPressedImpl(int button, int cID) override;
26 virtual float ControllerAxisPivotValImpl(int axis, int cID) override;
27
28 virtual std::pair<float, float> GetMousePositionImpl() override;
29 virtual float GetMouseXImpl() override;
30 virtual float GetMouseYImpl() override;
31
32 void OnControllerDeviceConnected(ControllerDeviceConnectedEvent& e);
33 void OnControllerDeviceDisconnected(ControllerDeviceDisconnectedEvent& e);
34
35 WindowsInputData m_Data;
36 };
37
38}
This file contains the classes concerned with activity of game controller device.
#define KARMA_API
Defining Karma's API macro for storage class information.
Definition Core.h:41
This file contains input class and relevant data structures.
Event triggered when the constroller device is connected.
Definition ControllerDeviceEvent.h:22
Event triggered when controller device is disconnected.
Definition ControllerDeviceEvent.h:61
Input(InputData &inputDatRef)
A constructor for initializing the Input class.
Definition Input.cpp:57
The abstract base class of Karma's window (for platform specific purposes)
Definition Window.h:63
virtual float ControllerAxisPivotValImpl(int axis, int cID) override
Declaration of ControllerAxisPivotVal function to be implemented.
Definition WindowsInput.cpp:131
virtual bool IsKeyPressedImpl(int keycode) override
Declaration of IsKeyPressed function to be implemented.
Definition WindowsInput.cpp:71
virtual std::pair< float, float > GetMousePositionImpl() override
Declaration of GetMousePosition function to be implemented.
Definition WindowsInput.cpp:161
virtual bool IsMouseButtonReleasedImpl(int button) override
Declaration of IsMouseButtonReleased function to be implemented.
Definition WindowsInput.cpp:87
virtual float GetMouseXImpl() override
Declaration of GetMouseX function to be implemented.
Definition WindowsInput.cpp:170
void SetEventCallback(const EventCallbackFn &callback, Window *window) override
Set the event callback for the Input.
Definition WindowsInput.cpp:14
virtual bool IsMouseButtonPressedImpl(int button) override
Declaration of IsMouseButtonPressed function to be implemeted.
Definition WindowsInput.cpp:79
virtual float GetMouseYImpl() override
Declaration of GetMouseY function to be implemented.
Definition WindowsInput.cpp:186
virtual bool IsControllerButtonPressedImpl(int button, int cID) override
Declaration of IsControllerButtonPressed function to be implemented.
Definition WindowsInput.cpp:95
Base class for Input relevant data for the variety of platforms Karma supports.
Definition Input.h:52
Definition WindowsInput.h:9