EventHandler továbbírva
This commit is contained in:
		
							parent
							
								
									cf18cd4e84
								
							
						
					
					
						commit
						11178a3ce8
					
				@ -9,9 +9,6 @@ namespace eg3d {
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		init();
 | 
							init();
 | 
				
			||||||
		initDrawObjects();
 | 
							initDrawObjects();
 | 
				
			||||||
 | 
					 | 
				
			||||||
		rotAngle = 0.0f;
 | 
					 | 
				
			||||||
		camPosition = 0.0f;
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -376,7 +373,7 @@ namespace eg3d {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	void DXWindow::updateConstantBuffers()
 | 
						void DXWindow::updateConstantBuffers()
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		DirectX::XMStoreFloat4x4(&constantBuffer.transformMatrix, XMMatrixRotationX(-XM_PIDIV2));
 | 
							DirectX::XMStoreFloat4x4(&constantBuffer.transformMatrix, XMMatrixTranspose(XMMatrixRotationX(-XM_PIDIV2)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// TODO vetítés mátrixának kicserélése
 | 
							// TODO vetítés mátrixának kicserélése
 | 
				
			||||||
		float viewHeight = 1.5;
 | 
							float viewHeight = 1.5;
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										162
									
								
								EventHandler.cpp
									
									
									
									
									
								
							
							
						
						
									
										162
									
								
								EventHandler.cpp
									
									
									
									
									
								
							@ -5,6 +5,19 @@
 | 
				
			|||||||
#include "EventHandler.h"
 | 
					#include "EventHandler.h"
 | 
				
			||||||
#include "Logger.h"
 | 
					#include "Logger.h"
 | 
				
			||||||
#include <hidusage.h>
 | 
					#include <hidusage.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					eg3d::CB_AssigmentData::CB_AssigmentData()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						loadDefaults();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void eg3d::CB_AssigmentData::loadDefaults()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eventType = ET_None;
 | 
				
			||||||
 | 
						pcbFunction = nullptr;
 | 
				
			||||||
 | 
						pUser = nullptr;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
eg3d::EventHandler::EventHandler() {
 | 
					eg3d::EventHandler::EventHandler() {
 | 
				
			||||||
	init();
 | 
						init();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -13,8 +26,6 @@ void eg3d::EventHandler::init()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	mCamVelocity = 0.0f; // kamera sebességének inicializációja
 | 
						mCamVelocity = 0.0f; // kamera sebességének inicializációja
 | 
				
			||||||
	mMouseLocked = false; // nincs befogva az egér
 | 
						mMouseLocked = false; // nincs befogva az egér
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
float eg3d::EventHandler::getCamVelocity() const
 | 
					float eg3d::EventHandler::getCamVelocity() const
 | 
				
			||||||
@ -22,18 +33,45 @@ float eg3d::EventHandler::getCamVelocity() const
 | 
				
			|||||||
	return mCamVelocity;
 | 
						return mCamVelocity;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void eg3d::EventHandler::regKeyCB(char key, const CB_AssigmentData& cbAData)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						mKeyAssigments.insert(std::pair<char, CB_AssigmentData>(key, cbAData));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void eg3d::EventHandler::regMouseCB(EventType et, const CB_AssigmentData& cbAData)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						mMouseAssignments.insert(std::pair<EventType, CB_AssigmentData>(et, cbAData));	
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					eg3d::MouseDisplacement eg3d::EventHandler::getMouseDisplacement()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						MouseDisplacement md = mMouseDisplacement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mMouseDisplacement.dx = 0;
 | 
				
			||||||
 | 
						mMouseDisplacement.dy = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return md;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// -----------------------------------
 | 
					// -----------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int eg3d::EventHandler::processEvent(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
 | 
					int eg3d::EventHandler::processEvent(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) {
 | 
				
			||||||
	// TODO eseménykezelés megvalósítása
 | 
						// 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
 | 
						Window * pWindow = static_cast<Window *>((void *)GetWindowLongPtrA(hwnd, GWLP_USERDATA));
 | 
				
			||||||
 | 
						EventHandler * pThis_EH = pWindow->getEventHandler(); // ablakhoz rendelt eseménykezelõ elkérése
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	UINT rawDataLength = 64;
 | 
						UINT rawDataLength = 64;
 | 
				
			||||||
	BYTE pRawData[64];
 | 
						BYTE pRawData[64];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						EventType et;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	switch (message)
 | 
						switch (message)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// ----------------
 | 
				
			||||||
 | 
						// RAW-INPUT KEZELÉSE
 | 
				
			||||||
 | 
						// ----------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case WM_INPUT:
 | 
						case WM_INPUT:
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		GetRawInputData((HRAWINPUT)lParam, RID_INPUT, pRawData, &rawDataLength, sizeof(RAWINPUTHEADER));
 | 
							GetRawInputData((HRAWINPUT)lParam, RID_INPUT, pRawData, &rawDataLength, sizeof(RAWINPUTHEADER));
 | 
				
			||||||
@ -45,39 +83,113 @@ int eg3d::EventHandler::processEvent(HWND hwnd, UINT message, WPARAM wParam, LPA
 | 
				
			|||||||
			int displacementX = pRawInput->data.mouse.lLastX;
 | 
								int displacementX = pRawInput->data.mouse.lLastX;
 | 
				
			||||||
			int displacementY = pRawInput->data.mouse.lLastY;
 | 
								int displacementY = pRawInput->data.mouse.lLastY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			LOG(std::string("(") + std::to_string(displacementX) + ", " + std::to_string(displacementY) + ")");
 | 
								pThis_EH->mMouseDisplacement.dx += displacementX;
 | 
				
			||||||
 | 
								pThis_EH->mMouseDisplacement.dy += displacementY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								//LOG(std::string("(") + std::to_string(displacementX) + ", " + std::to_string(displacementY) + ")");
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	break;
 | 
						break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// ----------------
 | 
				
			||||||
 | 
						// EGÉRESEMÉNYEK KEZELÉSE
 | 
				
			||||||
 | 
						// ----------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						case WM_LBUTTONDOWN:
 | 
				
			||||||
 | 
							et = ET_LMouseDown;
 | 
				
			||||||
 | 
						case WM_LBUTTONUP:
 | 
				
			||||||
 | 
							et = ET_LMouseUp;
 | 
				
			||||||
 | 
						case WM_RBUTTONDOWN:
 | 
				
			||||||
 | 
							et = ET_RMouseDown;
 | 
				
			||||||
 | 
						case WM_RBUTTONUP: {
 | 
				
			||||||
 | 
							et = ET_RMouseUp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							auto assigments = mMouseAssignments.equal_range(et); // hozzárendelések elkérése
 | 
				
			||||||
 | 
							auto rangeBegin = assigments.first;
 | 
				
			||||||
 | 
							auto rangeEnd = assigments.second;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if (rangeBegin == rangeEnd) // ha nincs találat, akkor kilépünk
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
							// esemény-adatok kitöltése
 | 
				
			||||||
 | 
							EventHandlerCBData cbData;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							cbData.pEH = pThis_EH; // eseménykezelõ pointere
 | 
				
			||||||
 | 
							cbData.eventType = et; // esemény típusa
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							cbData.hwnd = hwnd; // ablak fogantyúja
 | 
				
			||||||
 | 
							cbData.message = message; // üzenet
 | 
				
			||||||
 | 
							cbData.wParam = wParam; // ...
 | 
				
			||||||
 | 
							cbData.lParam = lParam; // ...
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
							for (auto iter = rangeBegin; iter != rangeEnd; iter++)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								cbData.pUser = iter->second.pUser; // elõre definiált pointer beállítása
 | 
				
			||||||
 | 
								iter->second.pcbFunction(&cbData); // függvény meghívása
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
							break;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// ----------------
 | 
				
			||||||
 | 
					    // BILLENTYÛZET-KEZELÉS
 | 
				
			||||||
 | 
					    // ----------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	case WM_KEYDOWN:
 | 
						case WM_KEYDOWN:
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		switch (wParam)
 | 
							et = ET_KeyDown; // esemény típusának beállítása
 | 
				
			||||||
		{
 | 
					
 | 
				
			||||||
		case 'W':
 | 
							if (wParam == 'L') {
 | 
				
			||||||
			pThis_EH->mCamVelocity = -cCAM_VELOCITY;
 | 
					 | 
				
			||||||
			break;
 | 
					 | 
				
			||||||
		case 'S':
 | 
					 | 
				
			||||||
			pThis_EH->mCamVelocity = cCAM_VELOCITY;
 | 
					 | 
				
			||||||
			break;
 | 
					 | 
				
			||||||
		case 'L':
 | 
					 | 
				
			||||||
			pThis_EH->mMouseLocked = !pThis_EH->mMouseLocked;
 | 
								pThis_EH->mMouseLocked = !pThis_EH->mMouseLocked;
 | 
				
			||||||
			LOG(std::string("Mouse ") + (pThis_EH->mMouseLocked ? "" : "un") + "locked");
 | 
					
 | 
				
			||||||
			break;
 | 
								bool locked = pThis_EH->mMouseLocked;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								LOG(std::string("Mouse ") + (locked ? "" : "un") + "locked");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if (locked == true) {
 | 
				
			||||||
 | 
									RECT clipRect = pWindow->getRect();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									LONG width = clipRect.right - clipRect.left;
 | 
				
			||||||
 | 
									LONG height = clipRect.bottom - clipRect.top;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									clipRect.top += height / 2;
 | 
				
			||||||
 | 
									clipRect.bottom = clipRect.top + 1;
 | 
				
			||||||
 | 
									clipRect.left += width / 2;
 | 
				
			||||||
 | 
									clipRect.right = clipRect.left + 1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									ClipCursor(&clipRect);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								else {
 | 
				
			||||||
 | 
									ClipCursor(nullptr);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						} // DIRECT NINCS BREAK
 | 
				
			||||||
 | 
						case WM_KEYUP: {
 | 
				
			||||||
 | 
							et = ET_KeyUp; // esemény típusának beállítása
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	}
 | 
							// esemény lekezelése
 | 
				
			||||||
	break;
 | 
							if (mKeyAssigments.find(wParam) != mKeyAssigments.end())
 | 
				
			||||||
 | 
					 | 
				
			||||||
	case WM_KEYUP:
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		if (wParam == 'W' || wParam == 'S')
 | 
					 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			pThis_EH->mCamVelocity = 0.0f;
 | 
								CB_AssigmentData cbAData = mKeyAssigments[wParam];
 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	break;
 | 
								EventHandlerCBData cbData;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								cbData.pEH = pThis_EH; // eseménykezelõ pointere
 | 
				
			||||||
 | 
								cbData.eventType = et; // esemény típusa
 | 
				
			||||||
 | 
								cbData.pUser = cbAData.pUser; // elõre definiált pointer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								cbData.hwnd = hwnd; // ablak fogantyúja
 | 
				
			||||||
 | 
								cbData.message = message; // üzenet
 | 
				
			||||||
 | 
								cbData.wParam = wParam; // ...
 | 
				
			||||||
 | 
								cbData.lParam = lParam; // ...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								cbAData.pcbFunction(&cbData);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							break;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		return 1;
 | 
							return 1;
 | 
				
			||||||
 | 
				
			|||||||
@ -1,21 +1,67 @@
 | 
				
			|||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <Windows.h>
 | 
					#include <Windows.h>
 | 
				
			||||||
 | 
					#include <map>
 | 
				
			||||||
 | 
					#include "IHasDefault.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace eg3d {
 | 
					namespace eg3d {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						class EventHandler;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// esemény-típusok
 | 
				
			||||||
 | 
						enum EventType { ET_KeyUp, ET_KeyDown, ET_LMouseDown, ET_LMouseUp, ET_RMouseDown, ET_RMouseUp, ET_MouseMove, ET_None };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// esemény-callback adat
 | 
				
			||||||
 | 
						struct EventHandlerCBData
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							EventHandler * pEH; // eseménykezelõ pointere
 | 
				
			||||||
 | 
							EventType eventType; // lenyomás vagy felengedés
 | 
				
			||||||
 | 
							void * pUser; // egyéb információ
 | 
				
			||||||
 | 
							int data[4]; // egyéb adat
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							HWND hwnd; // ablak fogantyúja
 | 
				
			||||||
 | 
							UINT message; // üzenet
 | 
				
			||||||
 | 
							WPARAM wParam; // ...
 | 
				
			||||||
 | 
							LPARAM lParam; // ...
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						typedef void (CB_EH)(EventHandlerCBData *); // callback-függvény típusa
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						struct CB_AssigmentData : public IHasDefault // hozzárendelési struktúra
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							EventType eventType; // esemény típusa, melyhez hozzárendelünk
 | 
				
			||||||
 | 
							CB_EH * pcbFunction; // callback-függvény pointere
 | 
				
			||||||
 | 
							void * pUser; // tetszõleges adat pointere
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							CB_AssigmentData(); // konstr.
 | 
				
			||||||
 | 
							void loadDefaults() override;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						struct MouseDisplacement // egér-elmozdulás objektuma
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							int dx, dy;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
						
 | 
				
			||||||
    class EventHandler {
 | 
					    class EventHandler {
 | 
				
			||||||
    private:
 | 
					    private:
 | 
				
			||||||
		float mCamVelocity; // kamera mozgási sebessége
 | 
							float mCamVelocity; // kamera mozgási sebessége
 | 
				
			||||||
		bool mMouseLocked; // lockolvan van az egér?
 | 
							bool mMouseLocked; // lockolvan van az egér?
 | 
				
			||||||
    	
 | 
					    	
 | 
				
			||||||
		void init(); // osztály inicializálása
 | 
							void init(); // osztály inicializálása
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							std::multimap<EventType, CB_AssigmentData> mMouseAssignments; // egér-hozzárendelések
 | 
				
			||||||
 | 
							std::multimap<char, CB_AssigmentData> mKeyAssigments; // billentyû-hozzárendelések
 | 
				
			||||||
 | 
							MouseDisplacement mMouseDisplacement; // 
 | 
				
			||||||
    public:
 | 
					    public:
 | 
				
			||||||
		static constexpr float cCAM_VELOCITY = 0.05;
 | 
							static constexpr float cCAM_VELOCITY = 0.05;
 | 
				
			||||||
    	
 | 
					    	
 | 
				
			||||||
        EventHandler(); // konstr.
 | 
					        EventHandler(); // konstr.
 | 
				
			||||||
        int processEvent(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); // esemény feldolgozása (0 -> feldolgozva, 1 -> nincs feldolgozva)
 | 
					        int processEvent(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); // esemény feldolgozása (0 -> feldolgozva, 1 -> nincs feldolgozva)
 | 
				
			||||||
		float getCamVelocity() const; // kamera sebességének lekérése
 | 
							float getCamVelocity() const; // kamera sebességének lekérése
 | 
				
			||||||
 | 
					    	
 | 
				
			||||||
 | 
							void regKeyCB(char key, const CB_AssigmentData& cbAData); // billentyûesemények hozzárendelése
 | 
				
			||||||
 | 
							void regMouseCB(EventType et, const CB_AssigmentData& cbAData); // egéresemények hozzárendelése
 | 
				
			||||||
 | 
							MouseDisplacement getMouseDisplacement(); // egér elmozdulásának elkérése
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										11
									
								
								main.cpp
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								main.cpp
									
									
									
									
									
								
							@ -27,6 +27,11 @@ void CB_FPSaux(eg3d::Timer *pTimer, const double *pTrigTimeElapsed, void *ptr) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
using namespace eg3d;
 | 
					using namespace eg3d;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void keyCB(EventHandlerCBData * pCBData)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						LOG("Key pressed!");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgs, int nWinMode) {
 | 
					int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgs, int nWinMode) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	eg3d::DXWindow win; // megjelenítés be, alapértelmezett window procedure használata
 | 
						eg3d::DXWindow win; // megjelenítés be, alapértelmezett window procedure használata
 | 
				
			||||||
@ -36,6 +41,11 @@ int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszA
 | 
				
			|||||||
	EventHandler eventHandler;
 | 
						EventHandler eventHandler;
 | 
				
			||||||
	win.setEventHandler(&eventHandler);
 | 
						win.setEventHandler(&eventHandler);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						CB_AssigmentData cbAData;
 | 
				
			||||||
 | 
						cbAData.pcbFunction = keyCB;
 | 
				
			||||||
 | 
						cbAData.pUser = nullptr;
 | 
				
			||||||
 | 
						eventHandler.regKeyCB('Z', cbAData);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	// FPS-mérő callback-függvény regisztrálása
 | 
						// FPS-mérő callback-függvény regisztrálása
 | 
				
			||||||
	TimerCallbackData timerCBData;
 | 
						TimerCallbackData timerCBData;
 | 
				
			||||||
	timerCBData.callBackFn = CB_FPSaux;
 | 
						timerCBData.callBackFn = CB_FPSaux;
 | 
				
			||||||
@ -78,7 +88,6 @@ int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszA
 | 
				
			|||||||
		{
 | 
							{
 | 
				
			||||||
			Sleep(15);
 | 
								Sleep(15);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			win.moveCam(eventHandler.getCamVelocity()); // kamera elmozdítása 
 | 
					 | 
				
			||||||
            win.Draw(drawables); // kirajzolás
 | 
					            win.Draw(drawables); // kirajzolás
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			gFrames++; // képkockaszám léptetése
 | 
								gFrames++; // képkockaszám léptetése
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user