mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-30 01:48:15 +03:00
Add buffer for IME editing events
When inputting uncommitted text from an IME, this is now stored in a std::string imebuffer, just like keybuffer. It also enables extended editing events, so text longer than what fits in the standard editing event is also supported. This commit does not yet display the text onscreen.
This commit is contained in:
committed by
Misa Elizabeth Kai
parent
345eca5e10
commit
a9ca63b367
@@ -50,7 +50,8 @@ KeyPoll::KeyPoll(void)
|
||||
// 0..5
|
||||
sensitivity = 2;
|
||||
|
||||
keybuffer="";
|
||||
keybuffer = "";
|
||||
imebuffer = "";
|
||||
leftbutton=0; rightbutton=0; middlebutton=0;
|
||||
mousex = 0;
|
||||
mousey = 0;
|
||||
@@ -64,13 +65,15 @@ KeyPoll::KeyPoll(void)
|
||||
|
||||
void KeyPoll::enabletextentry(void)
|
||||
{
|
||||
keybuffer="";
|
||||
keybuffer = "";
|
||||
imebuffer = "";
|
||||
SDL_StartTextInput();
|
||||
}
|
||||
|
||||
void KeyPoll::disabletextentry(void)
|
||||
{
|
||||
SDL_StopTextInput();
|
||||
imebuffer = "";
|
||||
}
|
||||
|
||||
bool KeyPoll::textentry(void)
|
||||
@@ -321,6 +324,13 @@ void KeyPoll::Poll(void)
|
||||
keybuffer += evt.text.text;
|
||||
}
|
||||
break;
|
||||
case SDL_TEXTEDITING:
|
||||
imebuffer = evt.edit.text;
|
||||
break;
|
||||
case SDL_TEXTEDITING_EXT:
|
||||
imebuffer = evt.editExt.text;
|
||||
SDL_free(evt.editExt.text);
|
||||
break;
|
||||
|
||||
/* Mouse Input */
|
||||
case SDL_MOUSEMOTION:
|
||||
|
||||
Reference in New Issue
Block a user