From 44ddbc34e84dc549c3e264188599decfce3772fa Mon Sep 17 00:00:00 2001 From: Tulioh Date: Thu, 23 Apr 2015 14:40:24 -0300 Subject: [PATCH] Fix on android finger --- android/compile_android.sh | 4 ++-- src/framework/platform/sdlwindow.cpp | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) mode change 100644 => 100755 android/compile_android.sh diff --git a/android/compile_android.sh b/android/compile_android.sh old mode 100644 new mode 100755 index f4f060e1..e2eeb9f5 --- a/android/compile_android.sh +++ b/android/compile_android.sh @@ -1,12 +1,12 @@ #!/bin/sh -mkdir ../build && cd ../build +mkdir -p ../build && cd ../build cmake -DCMAKE_TOOLCHAIN_FILE=../android/android.toolchain.cmake -DANDROID_ABI=armeabi-v7a -DANDROID_NATIVE_API_LEVEL=android-16 -DANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-4.6 .. make cd ../ -cp -r libs android/project/ && rm -r libs +cp -r libs android/project/ cd android/project diff --git a/src/framework/platform/sdlwindow.cpp b/src/framework/platform/sdlwindow.cpp index b39bb30a..6db33149 100644 --- a/src/framework/platform/sdlwindow.cpp +++ b/src/framework/platform/sdlwindow.cpp @@ -239,6 +239,15 @@ void SDLWindow::poll() { case SDL_FINGERUP: processFingerdownAndFingerup(); break; + case SDL_FINGERMOTION: + m_inputEvent.reset(); + m_inputEvent.type = Fw::MouseMoveInputEvent; + Point newMousePos(m_event.tfinger.x * m_mode.w, m_event.tfinger.y * m_mode.h); + m_inputEvent.mouseMoved = newMousePos - m_inputEvent.mousePos; + m_inputEvent.mousePos = newMousePos; + if(m_onInputEvent) + m_onInputEvent(m_inputEvent); + break; } if(m_inputEvent.type != Fw::NoInputEvent && m_onInputEvent) @@ -249,6 +258,7 @@ void SDLWindow::poll() { } bool SDLWindow::hasRepeatedKey() { + g_logger.info(stdext::format("hasRepeatedKey %i", m_event.key.repeat)); return m_event.key.repeat != 0; } @@ -282,10 +292,11 @@ void SDLWindow::processTextInput() { } void SDLWindow::processFingerdownAndFingerup() { + bool isFinderdown = m_event.type == SDL_FINGERDOWN; m_inputEvent.reset(); - m_inputEvent.type = (m_event.type == SDL_FINGERDOWN) ? Fw::MousePressInputEvent : Fw::MouseReleaseInputEvent; + m_inputEvent.type = isFinderdown ? Fw::MousePressInputEvent : Fw::MouseReleaseInputEvent; m_inputEvent.mouseButton = Fw::MouseLeftButton; - m_mouseButtonStates[Fw::MouseLeftButton] = true; + m_mouseButtonStates[Fw::MouseLeftButton] = isFinderdown; Point newMousePos(m_event.tfinger.x * m_mode.w, m_event.tfinger.y * m_mode.h); m_inputEvent.mouseMoved = newMousePos - m_inputEvent.mousePos; m_inputEvent.mousePos = newMousePos;