Added a love.keyboard.setTextInput variant (setTextInput(enable, x, y, width, height)) to specify a rectangle where text is expected to be displayed on the screen. This is used as a hint so on-screen keyboards won't cover the text area.

Added love.keyboard.hasScreenKeyboard.

--HG--
branch : minor
This commit is contained in:
Alex Szpakowski
2015-02-17 00:35:01 -04:00
parent 2f1c89006e
commit 44d10be928
5 changed files with 53 additions and 3 deletions
+15
View File
@@ -117,11 +117,26 @@ void Keyboard::setTextInput(bool enable)
SDL_StopTextInput();
}
void Keyboard::setTextInput(bool enable, int x, int y, int w, int h)
{
// TODO: SetTextInputRect expects coordinates in window-space, but
// setTextInput uses pixels. We should convert here.
SDL_Rect rect = {x, y, w, h};
SDL_SetTextInputRect(&rect);
setTextInput(enable);
}
bool Keyboard::hasTextInput() const
{
return SDL_IsTextInputActive();
}
bool Keyboard::hasScreenKeyboard() const
{
return SDL_HasScreenKeyboardSupport();
}
bool Keyboard::getConstant(Scancode in, SDL_Scancode &out)
{
return scancodes.find(in, out);