KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
LinuxInput.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "Karma/Input.h"
13
14namespace Karma
15{
20 {
27
36 Input::EventCallbackFn EventCallback;
37 };
38
42 class KARMA_API LinuxInput : public Input
43 {
44 public:
50 LinuxInput();
51
60 void SetEventCallback(const EventCallbackFn& callback, Window* window) override;
61 protected:
62
70 virtual bool IsKeyPressedImpl(int keycode) override;
71
79 virtual bool IsMouseButtonPressedImpl(int button) override;
80
88 virtual bool IsMouseButtonReleasedImpl(int button) override;
89
99 virtual bool IsControllerButtonPressedImpl(int button, int cID) override;
100
110 virtual float ControllerAxisPivotValImpl(int axis, int cID) override;
111
117 virtual std::pair<float, float> GetMousePositionImpl() override;
118
124 virtual float GetMouseXImpl() override;
125
131 virtual float GetMouseYImpl() override;
132
133 // Need to hook GLFW specific calls
134 LinuxInputData m_Data;
135 };
136}
#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.
Input(InputData &inputDatRef)
A constructor for initializing the Input class.
Definition Input.cpp:57
virtual bool IsMouseButtonPressedImpl(int button) override
Linux implementation of Linux IsMouseButtonPressed function.
Definition LinuxInput.cpp:55
virtual bool IsKeyPressedImpl(int keycode) override
Linux implementation of Linux IsKeyPressed function.
Definition LinuxInput.cpp:47
virtual std::pair< float, float > GetMousePositionImpl() override
Linux implementation of GetMousePosition function.
Definition LinuxInput.cpp:137
virtual float ControllerAxisPivotValImpl(int axis, int cID) override
Linux implementation of ControllerAxisPivotVal function.
Definition LinuxInput.cpp:107
virtual float GetMouseXImpl() override
Linux implementation of GetMouseX function.
Definition LinuxInput.cpp:146
virtual float GetMouseYImpl() override
Linux implementation of GetMouseY function.
Definition LinuxInput.cpp:162
void SetEventCallback(const EventCallbackFn &callback, Window *window) override
Set the event callback for the Linux Input.
Definition LinuxInput.cpp:13
virtual bool IsControllerButtonPressedImpl(int button, int cID) override
Linux implementation of IsControllerButtonPressed function.
Definition LinuxInput.cpp:71
LinuxInput()
A constructor.
Definition LinuxInput.cpp:9
virtual bool IsMouseButtonReleasedImpl(int button) override
Linux implementation of IsMouseButtonReleased function.
Definition LinuxInput.cpp:63
The abstract base class of Karma's window (for platform specific purposes)
Definition Window.h:63
Base class for Input relevant data for the variety of platforms Karma supports.
Definition Input.h:52
LinuxInput specific data structure.
Definition LinuxInput.h:20
Input::EventCallbackFn EventCallback
The function to call on detecting Input event from API.
Definition LinuxInput.h:36
LinuxInputData()
A Constructor.
Definition LinuxInput.h:26