Merge pull request #10267 from akallabeth/sdl-fix
[client,SDL2] fix renderer height
This commit is contained in:
commit
711a6603f2
@ -331,7 +331,7 @@ bool SDLConnectionDialog::createWindow()
|
|||||||
const size_t total_height = 300;
|
const size_t total_height = 300;
|
||||||
|
|
||||||
auto flags = SDL_WINDOW_ALLOW_HIGHDPI | SDL_WINDOW_MOUSE_FOCUS | SDL_WINDOW_INPUT_FOCUS;
|
auto flags = SDL_WINDOW_ALLOW_HIGHDPI | SDL_WINDOW_MOUSE_FOCUS | SDL_WINDOW_INPUT_FOCUS;
|
||||||
auto rc = SDL_CreateWindowAndRenderer(widget_width, widget_height, flags, &_window, &_renderer);
|
auto rc = SDL_CreateWindowAndRenderer(widget_width, total_height, flags, &_window, &_renderer);
|
||||||
if (rc != 0)
|
if (rc != 0)
|
||||||
{
|
{
|
||||||
widget_log_error(rc, "SDL_CreateWindowAndRenderer");
|
widget_log_error(rc, "SDL_CreateWindowAndRenderer");
|
||||||
|
@ -1693,6 +1693,8 @@ SdlContext::SdlContext(rdpContext* context)
|
|||||||
: _context(context), log(WLog_Get(SDL_TAG)), update_complete(true), disp(this), input(this),
|
: _context(context), log(WLog_Get(SDL_TAG)), update_complete(true), disp(this), input(this),
|
||||||
primary(nullptr, SDL_FreeSurface), primary_format(nullptr, SDL_FreeFormat)
|
primary(nullptr, SDL_FreeSurface), primary_format(nullptr, SDL_FreeFormat)
|
||||||
{
|
{
|
||||||
|
WINPR_ASSERT(context);
|
||||||
|
grab_kbd_enabled = freerdp_settings_get_bool(context->settings, FreeRDP_GrabKeyboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
rdpContext* SdlContext::context() const
|
rdpContext* SdlContext::context() const
|
||||||
|
@ -58,6 +58,7 @@ class SdlContext
|
|||||||
bool resizeable = false;
|
bool resizeable = false;
|
||||||
bool grab_mouse = false;
|
bool grab_mouse = false;
|
||||||
bool grab_kbd = false;
|
bool grab_kbd = false;
|
||||||
|
bool grab_kbd_enabled = true;
|
||||||
|
|
||||||
std::map<Uint32, SdlWindow> windows;
|
std::map<Uint32, SdlWindow> windows;
|
||||||
|
|
||||||
|
@ -572,6 +572,7 @@ BOOL sdlInput::keyboard_handle_event(const SDL_KeyboardEvent* ev)
|
|||||||
|
|
||||||
if (ev->keysym.scancode == _hotkeyGrab)
|
if (ev->keysym.scancode == _hotkeyGrab)
|
||||||
{
|
{
|
||||||
|
_sdl->grab_kbd_enabled = !_sdl->grab_kbd_enabled;
|
||||||
keyboard_grab(ev->windowID, _sdl->grab_kbd ? SDL_FALSE : SDL_TRUE);
|
keyboard_grab(ev->windowID, _sdl->grab_kbd ? SDL_FALSE : SDL_TRUE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -593,8 +594,10 @@ BOOL sdlInput::keyboard_grab(Uint32 windowID, SDL_bool enable)
|
|||||||
auto it = _sdl->windows.find(windowID);
|
auto it = _sdl->windows.find(windowID);
|
||||||
if (it == _sdl->windows.end())
|
if (it == _sdl->windows.end())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
_sdl->grab_kbd = enable;
|
|
||||||
return it->second.grabKeyboard(enable);
|
auto status = enable && _sdl->grab_kbd_enabled;
|
||||||
|
_sdl->grab_kbd = status;
|
||||||
|
return it->second.grabKeyboard(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL sdlInput::mouse_focus(Uint32 windowID)
|
BOOL sdlInput::mouse_focus(Uint32 windowID)
|
||||||
|
@ -1687,6 +1687,9 @@ SdlContext::SdlContext(rdpContext* context)
|
|||||||
input(this), primary(nullptr, SDL_DestroySurface),
|
input(this), primary(nullptr, SDL_DestroySurface),
|
||||||
primary_format(nullptr, SDL_DestroyPixelFormat)
|
primary_format(nullptr, SDL_DestroyPixelFormat)
|
||||||
{
|
{
|
||||||
|
WINPR_ASSERT(context);
|
||||||
|
grab_kbd_enabled = freerdp_settings_get_bool(context->settings, FreeRDP_GrabKeyboard);
|
||||||
|
`: w
|
||||||
}
|
}
|
||||||
|
|
||||||
rdpContext* SdlContext::context() const
|
rdpContext* SdlContext::context() const
|
||||||
|
@ -59,6 +59,7 @@ class SdlContext
|
|||||||
bool resizeable = false;
|
bool resizeable = false;
|
||||||
bool grab_mouse = false;
|
bool grab_mouse = false;
|
||||||
bool grab_kbd = false;
|
bool grab_kbd = false;
|
||||||
|
bool grab_kbd_enabled = true;
|
||||||
|
|
||||||
std::map<Uint32, SdlWindow> windows;
|
std::map<Uint32, SdlWindow> windows;
|
||||||
|
|
||||||
|
@ -558,6 +558,7 @@ BOOL sdlInput::keyboard_handle_event(const SDL_KeyboardEvent* ev)
|
|||||||
|
|
||||||
if (ev->keysym.scancode == _hotkeyGrab)
|
if (ev->keysym.scancode == _hotkeyGrab)
|
||||||
{
|
{
|
||||||
|
_sdl->grab_kbd_enabled = !_sdl->grab_kbd_enabled;
|
||||||
keyboard_grab(ev->windowID, _sdl->grab_kbd ? SDL_FALSE : SDL_TRUE);
|
keyboard_grab(ev->windowID, _sdl->grab_kbd ? SDL_FALSE : SDL_TRUE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -579,8 +580,9 @@ BOOL sdlInput::keyboard_grab(Uint32 windowID, SDL_bool enable)
|
|||||||
auto it = _sdl->windows.find(windowID);
|
auto it = _sdl->windows.find(windowID);
|
||||||
if (it == _sdl->windows.end())
|
if (it == _sdl->windows.end())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
_sdl->grab_kbd = enable;
|
auto status = enable && _sdl->grab_kbd_enabled;
|
||||||
return it->second.grabKeyboard(enable);
|
_sdl->grab_kbd = status;
|
||||||
|
return it->second.grabKeyboard(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL sdlInput::mouse_focus(Uint32 windowID)
|
BOOL sdlInput::mouse_focus(Uint32 windowID)
|
||||||
|
Loading…
Reference in New Issue
Block a user