MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / ReadMouse

Function ReadMouse

TombEngine/Specific/Input/Input.cpp:331–416  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

329 }
330
331 static void ReadMouse()
332 {
333 if (InputLocked || OisMouse == nullptr)
334 return;
335
336 try
337 {
338 OisMouse->capture();
339 auto& state = OisMouse->getMouseState();
340
341 // Update active area resolution.
342 auto screenRes = g_Renderer.GetScreenResolution();
343 state.width = screenRes.x;
344 state.height = screenRes.y;
345
346 // Poll mouse buttons.
347 for (int i = 0; i < MOUSE_BUTTON_COUNT; i++)
348 KeyMap[KEY_OFFSET_MOUSE + i] = state.buttonDown((OIS::MouseButtonID)i) ? 1.0f : 0.0f;
349
350 // Register multiple directional keypresses mapped to mouse axes.
351 int baseIndex = KEY_OFFSET_MOUSE + MOUSE_BUTTON_COUNT;
352 for (int pass = 0; pass < (MOUSE_AXIS_COUNT * 2); pass++)
353 {
354 switch (pass)
355 {
356 // Mouse X-
357 case 0:
358 if (state.X.rel >= 0)
359 continue;
360 break;
361
362 // Mouse X+
363 case 1:
364 if (state.X.rel <= 0)
365 continue;
366 break;
367
368 // Mouse Y-
369 case 2:
370 if (state.Y.rel >= 0)
371 continue;
372 break;
373
374 // Mouse Y+
375 case 3:
376 if (state.Y.rel <= 0)
377 continue;
378 break;
379
380 // Mouse Z-
381 case 4:
382 if (state.Z.rel >= 0)
383 continue;
384 break;
385
386 // Mouse Z+
387 case 5:
388 if (state.Z.rel <= 0)

Callers 1

UpdateInputActionsFunction · 0.85

Calls 4

SetDiscreteAxisValuesFunction · 0.85
TENLogFunction · 0.85
GetScreenResolutionMethod · 0.80
Vector2Function · 0.50

Tested by

no test coverage detected