mirror of https://github.com/FreeRDP/FreeRDP
[client,sdl] add function to context
This commit is contained in:
parent
0627baa939
commit
dd57de8e19
|
@ -126,7 +126,7 @@ BOOL sdlDispContext::sendResize()
|
||||||
|
|
||||||
BOOL sdlDispContext::set_window_resizable()
|
BOOL sdlDispContext::set_window_resizable()
|
||||||
{
|
{
|
||||||
update_resizeable(_sdl, TRUE);
|
_sdl->update_resizeable(TRUE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -389,7 +389,7 @@ BOOL sdlDispContext::init(DispClientContext* disp)
|
||||||
disp->DisplayControlCaps = sdlDispContext::DisplayControlCaps;
|
disp->DisplayControlCaps = sdlDispContext::DisplayControlCaps;
|
||||||
}
|
}
|
||||||
|
|
||||||
update_resizeable(_sdl, TRUE);
|
_sdl->update_resizeable(TRUE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -399,7 +399,7 @@ BOOL sdlDispContext::uninit(DispClientContext* disp)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
_disp = nullptr;
|
_disp = nullptr;
|
||||||
update_resizeable(_sdl, FALSE);
|
_sdl->update_resizeable(FALSE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -906,8 +906,8 @@ static BOOL sdl_post_connect(freerdp* instance)
|
||||||
context->update->SetKeyboardIndicators = sdlInput::keyboard_set_indicators;
|
context->update->SetKeyboardIndicators = sdlInput::keyboard_set_indicators;
|
||||||
context->update->SetKeyboardImeStatus = sdlInput::keyboard_set_ime_status;
|
context->update->SetKeyboardImeStatus = sdlInput::keyboard_set_ime_status;
|
||||||
|
|
||||||
update_resizeable(sdl, FALSE);
|
sdl->update_resizeable(FALSE);
|
||||||
update_fullscreen(sdl, context->settings->Fullscreen || context->settings->UseMultimon);
|
sdl->update_fullscreen(context->settings->Fullscreen || context->settings->UseMultimon);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1278,39 +1278,35 @@ int main(int argc, char* argv[])
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL update_fullscreen(sdlContext* sdl, BOOL enter)
|
BOOL sdl_context::update_fullscreen(BOOL enter)
|
||||||
{
|
{
|
||||||
WINPR_ASSERT(sdl);
|
CriticalSectionLock lock(critical);
|
||||||
|
for (uint32_t x = 0; x < windowCount; x++)
|
||||||
CriticalSectionLock lock(sdl->critical);
|
|
||||||
for (uint32_t x = 0; x < sdl->windowCount; x++)
|
|
||||||
{
|
{
|
||||||
sdl_window_t* window = &sdl->windows[x];
|
sdl_window_t* window = &windows[x];
|
||||||
if (!sdl_push_user_event(SDL_USEREVENT_WINDOW_FULLSCREEN, window->window, enter))
|
if (!sdl_push_user_event(SDL_USEREVENT_WINDOW_FULLSCREEN, window->window, enter))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
sdl->fullscreen = enter;
|
fullscreen = enter;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL update_resizeable(sdlContext* sdl, BOOL enable)
|
BOOL sdl_context::update_resizeable(BOOL enable)
|
||||||
{
|
{
|
||||||
WINPR_ASSERT(sdl);
|
CriticalSectionLock lock(critical);
|
||||||
|
|
||||||
CriticalSectionLock lock(sdl->critical);
|
const rdpSettings* settings = common.context.settings;
|
||||||
|
|
||||||
const rdpSettings* settings = sdl->common.context.settings;
|
|
||||||
const BOOL dyn = freerdp_settings_get_bool(settings, FreeRDP_DynamicResolutionUpdate);
|
const BOOL dyn = freerdp_settings_get_bool(settings, FreeRDP_DynamicResolutionUpdate);
|
||||||
const BOOL smart = freerdp_settings_get_bool(settings, FreeRDP_SmartSizing);
|
const BOOL smart = freerdp_settings_get_bool(settings, FreeRDP_SmartSizing);
|
||||||
BOOL use = (dyn && enable) || smart;
|
BOOL use = (dyn && enable) || smart;
|
||||||
|
|
||||||
for (uint32_t x = 0; x < sdl->windowCount; x++)
|
for (uint32_t x = 0; x < windowCount; x++)
|
||||||
{
|
{
|
||||||
sdl_window_t* window = &sdl->windows[x];
|
sdl_window_t* window = &windows[x];
|
||||||
if (!sdl_push_user_event(SDL_USEREVENT_WINDOW_RESIZEABLE, window->window, use))
|
if (!sdl_push_user_event(SDL_USEREVENT_WINDOW_RESIZEABLE, window->window, use))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
sdl->resizeable = use;
|
resizeable = use;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,7 +68,7 @@ struct sdl_context
|
||||||
Uint32 sdl_pixel_format;
|
Uint32 sdl_pixel_format;
|
||||||
|
|
||||||
wLog* log;
|
wLog* log;
|
||||||
};
|
|
||||||
|
|
||||||
BOOL update_resizeable(sdlContext* sdl, BOOL enable);
|
BOOL update_resizeable(BOOL enable);
|
||||||
BOOL update_fullscreen(sdlContext* sdl, BOOL enter);
|
BOOL update_fullscreen(BOOL enter);
|
||||||
|
};
|
||||||
|
|
|
@ -435,13 +435,13 @@ BOOL sdlInput::keyboard_handle_event(const SDL_KeyboardEvent* ev)
|
||||||
case SDL_SCANCODE_RETURN:
|
case SDL_SCANCODE_RETURN:
|
||||||
if (ev->type == SDL_KEYDOWN)
|
if (ev->type == SDL_KEYDOWN)
|
||||||
{
|
{
|
||||||
update_fullscreen(_sdl, !_sdl->fullscreen);
|
_sdl->update_fullscreen(!_sdl->fullscreen);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
case SDL_SCANCODE_R:
|
case SDL_SCANCODE_R:
|
||||||
if (ev->type == SDL_KEYDOWN)
|
if (ev->type == SDL_KEYDOWN)
|
||||||
{
|
{
|
||||||
update_resizeable(_sdl, !_sdl->resizeable);
|
_sdl->update_resizeable(!_sdl->resizeable);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
case SDL_SCANCODE_G:
|
case SDL_SCANCODE_G:
|
||||||
|
|
Loading…
Reference in New Issue