summaryrefslogtreecommitdiff
path: root/src/SFML/Window/Android/InputImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/SFML/Window/Android/InputImpl.cpp')
-rw-r--r--src/SFML/Window/Android/InputImpl.cpp75
1 files changed, 49 insertions, 26 deletions
diff --git a/src/SFML/Window/Android/InputImpl.cpp b/src/SFML/Window/Android/InputImpl.cpp
index 9da3a13..12d2430 100644
--- a/src/SFML/Window/Android/InputImpl.cpp
+++ b/src/SFML/Window/Android/InputImpl.cpp
@@ -37,39 +37,62 @@ namespace sf
namespace priv
{
////////////////////////////////////////////////////////////
-bool InputImpl::isKeyPressed(Keyboard::Key key)
+bool InputImpl::isKeyPressed(Keyboard::Key /* key */)
{
// Not applicable
return false;
}
+bool InputImpl::isKeyPressed(Keyboard::Scancode /* codes */)
+{
+ // Not applicable
+ return false;
+}
+
+Keyboard::Key InputImpl::localize(Keyboard::Scancode /* code */)
+{
+ // Not applicable
+ return Keyboard::Unknown;
+}
+
+Keyboard::Scancode InputImpl::delocalize(Keyboard::Key /* key */)
+{
+ // Not applicable
+ return Keyboard::Scan::Unknown;
+}
+
+String InputImpl::getDescription(Keyboard::Scancode /* code */)
+{
+ // Not applicable
+ return "";
+}
+
////////////////////////////////////////////////////////////
void InputImpl::setVirtualKeyboardVisible(bool visible)
{
// todo: Check if the window is active
- ActivityStates* states = getActivity(NULL);
- Lock lock(states->mutex);
+ ActivityStates& states = getActivity();
+ Lock lock(states.mutex);
// Initializes JNI
- jint lResult;
jint lFlags = 0;
- JavaVM* lJavaVM = states->activity->vm;
- JNIEnv* lJNIEnv = states->activity->env;
+ JavaVM* lJavaVM = states.activity->vm;
+ JNIEnv* lJNIEnv = states.activity->env;
JavaVMAttachArgs lJavaVMAttachArgs;
lJavaVMAttachArgs.version = JNI_VERSION_1_6;
lJavaVMAttachArgs.name = "NativeThread";
lJavaVMAttachArgs.group = NULL;
- lResult=lJavaVM->AttachCurrentThread(&lJNIEnv, &lJavaVMAttachArgs);
+ jint lResult = lJavaVM->AttachCurrentThread(&lJNIEnv, &lJavaVMAttachArgs);
if (lResult == JNI_ERR)
err() << "Failed to initialize JNI, couldn't switch the keyboard visibility" << std::endl;
// Retrieves NativeActivity
- jobject lNativeActivity = states->activity->clazz;
+ jobject lNativeActivity = states.activity->clazz;
jclass ClassNativeActivity = lJNIEnv->GetObjectClass(lNativeActivity);
// Retrieves Context.INPUT_METHOD_SERVICE
@@ -105,7 +128,7 @@ void InputImpl::setVirtualKeyboardVisible(bool visible)
// Runs lInputMethodManager.showSoftInput(...)
jmethodID MethodShowSoftInput = lJNIEnv->GetMethodID(ClassInputMethodManager,
"showSoftInput", "(Landroid/view/View;I)Z");
- jboolean lResult = lJNIEnv->CallBooleanMethod(lInputMethodManager,
+ lJNIEnv->CallBooleanMethod(lInputMethodManager,
MethodShowSoftInput, lDecorView, lFlags);
}
else
@@ -121,7 +144,7 @@ void InputImpl::setVirtualKeyboardVisible(bool visible)
// lInputMethodManager.hideSoftInput(...)
jmethodID MethodHideSoftInput = lJNIEnv->GetMethodID(ClassInputMethodManager,
"hideSoftInputFromWindow", "(Landroid/os/IBinder;I)Z");
- jboolean lRes = lJNIEnv->CallBooleanMethod(lInputMethodManager,
+ lJNIEnv->CallBooleanMethod(lInputMethodManager,
MethodHideSoftInput, lBinder, lFlags);
lJNIEnv->DeleteLocalRef(lBinder);
}
@@ -138,10 +161,10 @@ bool InputImpl::isMouseButtonPressed(Mouse::Button button)
{
ALooper_pollAll(0, NULL, NULL, NULL);
- priv::ActivityStates* states = priv::getActivity(NULL);
- Lock lock(states->mutex);
+ priv::ActivityStates& states = priv::getActivity();
+ Lock lock(states.mutex);
- return states->isButtonPressed[button];
+ return states.isButtonPressed[button];
}
@@ -150,29 +173,29 @@ Vector2i InputImpl::getMousePosition()
{
ALooper_pollAll(0, NULL, NULL, NULL);
- priv::ActivityStates* states = priv::getActivity(NULL);
- Lock lock(states->mutex);
+ priv::ActivityStates& states = priv::getActivity();
+ Lock lock(states.mutex);
- return states->mousePosition;
+ return states.mousePosition;
}
////////////////////////////////////////////////////////////
-Vector2i InputImpl::getMousePosition(const Window& relativeTo)
+Vector2i InputImpl::getMousePosition(const WindowBase& /* relativeTo */)
{
return getMousePosition();
}
////////////////////////////////////////////////////////////
-void InputImpl::setMousePosition(const Vector2i& position)
+void InputImpl::setMousePosition(const Vector2i& /* position */)
{
// Injecting events is impossible on Android
}
////////////////////////////////////////////////////////////
-void InputImpl::setMousePosition(const Vector2i& position, const Window& relativeTo)
+void InputImpl::setMousePosition(const Vector2i& position, const WindowBase& /* relativeTo */)
{
setMousePosition(position);
}
@@ -183,10 +206,10 @@ bool InputImpl::isTouchDown(unsigned int finger)
{
ALooper_pollAll(0, NULL, NULL, NULL);
- priv::ActivityStates* states = priv::getActivity(NULL);
- Lock lock(states->mutex);
+ priv::ActivityStates& states = priv::getActivity();
+ Lock lock(states.mutex);
- return states->touchEvents.find(finger) != states->touchEvents.end();
+ return states.touchEvents.find(static_cast<int>(finger)) != states.touchEvents.end();
}
@@ -195,15 +218,15 @@ Vector2i InputImpl::getTouchPosition(unsigned int finger)
{
ALooper_pollAll(0, NULL, NULL, NULL);
- priv::ActivityStates* states = priv::getActivity(NULL);
- Lock lock(states->mutex);
+ priv::ActivityStates& states = priv::getActivity();
+ Lock lock(states.mutex);
- return states->touchEvents.find(finger)->second;
+ return states.touchEvents.find(static_cast<int>(finger))->second;
}
////////////////////////////////////////////////////////////
-Vector2i InputImpl::getTouchPosition(unsigned int finger, const Window& relativeTo)
+Vector2i InputImpl::getTouchPosition(unsigned int finger, const WindowBase& /* relativeTo */)
{
return getTouchPosition(finger);
}