When the application loses focus, all inputs are released properly so inputs aren't stuck on refocus. Release Build 8085.

pull/57/head
sigonasr2 9 months ago
parent a687bbe455
commit 5dc5a74ed6
  1. 2
      Adventures in Lestoria/Version.h
  2. 19
      Adventures in Lestoria/olcPixelGameEngine.h
  3. BIN
      x64/Release/Adventures in Lestoria.exe

@ -39,7 +39,7 @@ All rights reserved.
#define VERSION_MAJOR 0
#define VERSION_MINOR 5
#define VERSION_PATCH 1
#define VERSION_BUILD 8082
#define VERSION_BUILD 8085
#define stringify(a) stringify_(a)
#define stringify_(a) #a

@ -4594,7 +4594,24 @@ namespace olc
{ bHasMouseFocus = state; }
void PixelGameEngine::olc_UpdateKeyFocus(bool state)
{ bHasInputFocus = state; }
{
bHasInputFocus = state;
if(!state){ //Drop all key and mouse inputs as we have lost input focus.
// Compare hardware input states from previous frame
auto ScanHardware = [&](HWButton* pKeys, bool* pStateOld, bool* pStateNew, uint32_t nKeyCount)
{
for (uint32_t i = 0; i < nKeyCount; i++)
{
if(pKeys==pKeyboardState)olc_UpdateKeyState(i,false);
else if(pKeys==pMouseState)olc_UpdateMouseState(i,false);
}
};
ScanHardware(pKeyboardState, pKeyOldState, pKeyNewState, 256);
ScanHardware(pMouseState, pMouseOldState, pMouseNewState, nMouseButtons);
}
}
void PixelGameEngine::olc_DropFiles(int32_t x, int32_t y, const std::vector<std::string>& vFiles)
{

Loading…
Cancel
Save