grafika-latest-working/EventHandler.cpp

60 lines
1016 B
C++

//
// Created by Epagris on 2020. 03. 01..
//
#include "EventHandler.h"
#include "Logger.h"
eg3d::EventHandler::EventHandler() {
init();
}
void eg3d::EventHandler::init()
{
mCamVelocity = 0.0f; // kamera sebességének inicializációja
}
float eg3d::EventHandler::getCamVelocity() const
{
return mCamVelocity;
}
// -----------------------------------
int eg3d::EventHandler::processEvent(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
// TODO eseménykezelés megvalósítása
EventHandler * pThis_EH = static_cast<Window *>((void *)GetWindowLongPtrA(hwnd, GWLP_USERDATA))->getEventHandler(); // ablakhoz rendelt eseménykezelõ elkérése
switch (message)
{
case WM_KEYDOWN:
{
switch (wParam)
{
case 'A':
pThis_EH->mCamVelocity = -cCAM_VELOCITY;
break;
case 'D':
pThis_EH->mCamVelocity = cCAM_VELOCITY;
break;
}
}
break;
case WM_KEYUP:
{
if (wParam == 'A' || wParam == 'D')
{
pThis_EH->mCamVelocity = 0.0f;
}
}
break;
default:
return 1;
}
return 0;
}