[SDL] Set text input rectangle for IMEs

This commit is contained in:
y5nw 2024-02-07 20:57:45 +01:00
parent f1504093d1
commit eca3f0b6be
1 changed files with 11 additions and 0 deletions

View File

@ -218,9 +218,20 @@ int CIrrDeviceSDL::findCharToPassToIrrlicht(int assumedChar, EKEY_CODE key) {
void CIrrDeviceSDL::resetReceiveTextInputEvents() {
gui::IGUIElement *elem = GUIEnvironment->getFocus();
if (elem && elem->acceptsIME())
{
SDL_StartTextInput();
core::rect<s32> pos = elem->getAbsolutePosition();
SDL_Rect rect;
rect.x = pos.UpperLeftCorner.X;
rect.y = pos.UpperLeftCorner.Y;
rect.w = pos.LowerRightCorner.X - rect.x;
rect.h = pos.LowerRightCorner.Y - rect.y;
SDL_SetTextInputRect(&rect);
}
else
{
SDL_StopTextInput();
}
}
//! constructor