goto hozzáadva
This commit is contained in:
		
							parent
							
								
									11178a3ce8
								
							
						
					
					
						commit
						2e9f2d45d9
					
				@ -97,13 +97,18 @@ int eg3d::EventHandler::processEvent(HWND hwnd, UINT message, WPARAM wParam, LPA
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	case WM_LBUTTONDOWN:
 | 
						case WM_LBUTTONDOWN:
 | 
				
			||||||
		et = ET_LMouseDown;
 | 
							et = ET_LMouseDown;
 | 
				
			||||||
 | 
							goto MOUSE_CONT;
 | 
				
			||||||
	case WM_LBUTTONUP:
 | 
						case WM_LBUTTONUP:
 | 
				
			||||||
		et = ET_LMouseUp;
 | 
							et = ET_LMouseUp;
 | 
				
			||||||
 | 
							goto MOUSE_CONT;
 | 
				
			||||||
	case WM_RBUTTONDOWN:
 | 
						case WM_RBUTTONDOWN:
 | 
				
			||||||
		et = ET_RMouseDown;
 | 
							et = ET_RMouseDown;
 | 
				
			||||||
 | 
							goto MOUSE_CONT;
 | 
				
			||||||
	case WM_RBUTTONUP: {
 | 
						case WM_RBUTTONUP: {
 | 
				
			||||||
		et = ET_RMouseUp;
 | 
							et = ET_RMouseUp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							MOUSE_CONT:
 | 
				
			||||||
 | 
								
 | 
				
			||||||
		auto assigments = mMouseAssignments.equal_range(et); // hozzárendelések elkérése
 | 
							auto assigments = mMouseAssignments.equal_range(et); // hozzárendelések elkérése
 | 
				
			||||||
		auto rangeBegin = assigments.first;
 | 
							auto rangeBegin = assigments.first;
 | 
				
			||||||
		auto rangeEnd = assigments.second;
 | 
							auto rangeEnd = assigments.second;
 | 
				
			||||||
@ -166,28 +171,41 @@ int eg3d::EventHandler::processEvent(HWND hwnd, UINT message, WPARAM wParam, LPA
 | 
				
			|||||||
				ClipCursor(nullptr);
 | 
									ClipCursor(nullptr);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							goto KEYBOARD_CONT;
 | 
				
			||||||
	} // DIRECT NINCS BREAK
 | 
						} // DIRECT NINCS BREAK
 | 
				
			||||||
	case WM_KEYUP: {
 | 
						case WM_KEYUP: {
 | 
				
			||||||
		et = ET_KeyUp; // esemény típusának beállítása
 | 
							et = ET_KeyUp; // esemény típusának beállítása
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// esemény lekezelése
 | 
							KEYBOARD_CONT:
 | 
				
			||||||
		if (mKeyAssigments.find(wParam) != mKeyAssigments.end())
 | 
								
 | 
				
			||||||
 | 
							auto assigments = mKeyAssigments.equal_range(wParam); // 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
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			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);
 | 
					 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
							// esemény lekezelé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++)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (iter->second.eventType == et) {
 | 
				
			||||||
 | 
									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;
 | 
							break;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										1
									
								
								main.cpp
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								main.cpp
									
									
									
									
									
								
							@ -44,6 +44,7 @@ int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszA
 | 
				
			|||||||
	CB_AssigmentData cbAData;
 | 
						CB_AssigmentData cbAData;
 | 
				
			||||||
	cbAData.pcbFunction = keyCB;
 | 
						cbAData.pcbFunction = keyCB;
 | 
				
			||||||
	cbAData.pUser = nullptr;
 | 
						cbAData.pUser = nullptr;
 | 
				
			||||||
 | 
						cbAData.eventType = ET_KeyDown;
 | 
				
			||||||
	eventHandler.regKeyCB('Z', cbAData);
 | 
						eventHandler.regKeyCB('Z', cbAData);
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	// FPS-mérő callback-függvény regisztrálása
 | 
						// FPS-mérő callback-függvény regisztrálása
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user