mirror of
https://github.com/minetest/irrlicht.git
synced 2024-12-25 18:20:30 +01:00
CIrrDeviceLinux: Add support For TouchInput.touchedCount
This commit is contained in:
parent
da33f80bb8
commit
c26ff3476f
@ -112,6 +112,9 @@ CIrrDeviceLinux::CIrrDeviceLinux(const SIrrlichtCreationParameters& param)
|
|||||||
XDisplay(0), VisualInfo(0), Screennr(0), XWindow(0), StdHints(0), SoftwareImage(0),
|
XDisplay(0), VisualInfo(0), Screennr(0), XWindow(0), StdHints(0), SoftwareImage(0),
|
||||||
XInputMethod(0), XInputContext(0),
|
XInputMethod(0), XInputContext(0),
|
||||||
HasNetWM(false),
|
HasNetWM(false),
|
||||||
|
#endif
|
||||||
|
#if defined(_IRR_LINUX_X11_XINPUT2_)
|
||||||
|
currentTouchedCount(0),
|
||||||
#endif
|
#endif
|
||||||
Width(param.WindowSize.Width), Height(param.WindowSize.Height),
|
Width(param.WindowSize.Width), Height(param.WindowSize.Height),
|
||||||
WindowHasFocus(false), WindowMinimized(false),
|
WindowHasFocus(false), WindowMinimized(false),
|
||||||
@ -1051,6 +1054,14 @@ bool CIrrDeviceLinux::run()
|
|||||||
irrevent.TouchInput.X = de->event_x;
|
irrevent.TouchInput.X = de->event_x;
|
||||||
irrevent.TouchInput.Y = de->event_y;
|
irrevent.TouchInput.Y = de->event_y;
|
||||||
|
|
||||||
|
if (irrevent.TouchInput.Event == ETIE_PRESSED_DOWN) {
|
||||||
|
currentTouchedCount++;
|
||||||
|
}
|
||||||
|
irrevent.TouchInput.touchedCount = currentTouchedCount;
|
||||||
|
if (currentTouchedCount > 0 && irrevent.TouchInput.Event == ETIE_LEFT_UP) {
|
||||||
|
currentTouchedCount--;
|
||||||
|
}
|
||||||
|
|
||||||
postEventFromUser(irrevent);
|
postEventFromUser(irrevent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -425,6 +425,10 @@ namespace irr
|
|||||||
};
|
};
|
||||||
core::array<JoystickInfo> ActiveJoysticks;
|
core::array<JoystickInfo> ActiveJoysticks;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(_IRR_LINUX_X11_XINPUT2_)
|
||||||
|
int currentTouchedCount;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,6 +37,7 @@ set(CMAKE_REQUIRED_INCLUDES ${PROJECT_SOURCE_DIR}/include)
|
|||||||
unset(OGLES1_ENABLED CACHE)
|
unset(OGLES1_ENABLED CACHE)
|
||||||
unset(OGLES2_ENABLED CACHE)
|
unset(OGLES2_ENABLED CACHE)
|
||||||
unset(OGL_ENABLED CACHE)
|
unset(OGL_ENABLED CACHE)
|
||||||
|
unset(XINPUT2_ENABLED CACHE)
|
||||||
|
|
||||||
check_symbol_exists(_IRR_COMPILE_WITH_OGLES1_ "IrrCompileConfig.h" OGLES1_ENABLED)
|
check_symbol_exists(_IRR_COMPILE_WITH_OGLES1_ "IrrCompileConfig.h" OGLES1_ENABLED)
|
||||||
if(OGLES1_ENABLED)
|
if(OGLES1_ENABLED)
|
||||||
@ -55,6 +56,10 @@ if(OGL_ENABLED)
|
|||||||
set(OpenGL_GL_PREFERENCE "LEGACY")
|
set(OpenGL_GL_PREFERENCE "LEGACY")
|
||||||
find_package(OpenGL REQUIRED)
|
find_package(OpenGL REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
check_symbol_exists(_IRR_LINUX_X11_XINPUT2_ "IrrCompileConfig.h" XINPUT2_ENABLED)
|
||||||
|
if(XINPUT2_ENABLED)
|
||||||
|
find_library(XINPUT_LIBRARY Xi REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Platform-specific libs
|
# Platform-specific libs
|
||||||
|
|
||||||
@ -96,6 +101,7 @@ set(link_libs
|
|||||||
${OPENGLES_LIBRARY}
|
${OPENGLES_LIBRARY}
|
||||||
${OPENGLES2_LIBRARIES}
|
${OPENGLES2_LIBRARIES}
|
||||||
${EGL_LIBRARY}
|
${EGL_LIBRARY}
|
||||||
|
${XINPUT_LIBRARY}
|
||||||
|
|
||||||
"$<$<PLATFORM_ID:Android>:native_app_glue -landroid -llog>"
|
"$<$<PLATFORM_ID:Android>:native_app_glue -landroid -llog>"
|
||||||
${COCOA_LIB}
|
${COCOA_LIB}
|
||||||
|
Loading…
Reference in New Issue
Block a user