KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
MacInput.h
Go to the documentation of this file.
1
10#pragma once
11
12#include "Karma/Input.h"
13
14namespace Karma
15{
16
21 {
28
37 Input::EventCallbackFn EventCallback;
38 };
39
43 class KARMA_API MacInput : public Input
44 {
45 public:
51 MacInput();
52
62 void SetEventCallback(const EventCallbackFn& callback, Window* window) override;
63
64 protected:
72 virtual bool IsKeyPressedImpl(int keycode) override;
73
81 virtual bool IsMouseButtonPressedImpl(int button) override;
82
90 virtual bool IsMouseButtonReleasedImpl(int button) override;
91
101 virtual bool IsControllerButtonPressedImpl(int button, int cID) override;
102
112 virtual float ControllerAxisPivotValImpl(int axis, int cID) override;
113
119 virtual std::pair<float, float> GetMousePositionImpl() override;
120
126 virtual float GetMouseXImpl() override;
127
133 virtual float GetMouseYImpl() override;
134
135 // Need to hook GLFW specific calls
136
137 MacInputData m_Data;
138 };
139
140}
#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 float GetMouseXImpl() override
MacOS implementation of GetMouseX function.
Definition MacInput.cpp:154
virtual bool IsMouseButtonReleasedImpl(int button) override
MacOS implementation of IsMouseButtonReleased function.
Definition MacInput.cpp:91
virtual bool IsControllerButtonPressedImpl(int button, int cID) override
MacOS implementation of IsControllerButtonPressed function.
Definition MacInput.cpp:59
virtual bool IsMouseButtonPressedImpl(int button) override
MacOS implementation of Linux IsMouseButtonPressed function.
Definition MacInput.cpp:137
void SetEventCallback(const EventCallbackFn &callback, Window *window) override
Set the event callback for MacOS.
Definition MacInput.cpp:11
MacInput()
A constructor.
Definition MacInput.cpp:7
virtual float ControllerAxisPivotValImpl(int axis, int cID) override
MacOS implementation of ControllerAxisPivotVal function.
Definition MacInput.cpp:99
virtual bool IsKeyPressedImpl(int keycode) override
MacOS implementation of Linux IsKeyPressed function.
Definition MacInput.cpp:129
virtual float GetMouseYImpl() override
MacOS implementation of GetMouseY function.
Definition MacInput.cpp:170
virtual std::pair< float, float > GetMousePositionImpl() override
MacOS implementation of GetMousePosition function.
Definition MacInput.cpp:145
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
MacInput specific data structure.
Definition MacInput.h:21
Input::EventCallbackFn EventCallback
The function to call on detecting Input event from API.
Definition MacInput.h:37
MacInputData()
A Constructor.
Definition MacInput.h:27