From 5ef672a2d3963e3585d70f432c2115a8bcd37fbe Mon Sep 17 00:00:00 2001 From: C-o-r-E Date: Wed, 8 May 2013 19:18:06 -0400 Subject: [PATCH] xfreerdp-client: reset scale --- client/X11/xf_interface.c | 9 +++++++++ client/X11/xf_interface.h | 1 + 2 files changed, 10 insertions(+) diff --git a/client/X11/xf_interface.c b/client/X11/xf_interface.c index 5c19e545b..e8cc9aa05 100644 --- a/client/X11/xf_interface.c +++ b/client/X11/xf_interface.c @@ -1520,6 +1520,15 @@ double freerdp_client_get_scale(xfInfo* xfi) return xfi->scale; } +void freerdp_client_reset_scale(xfInfo* xfi) +{ + xfi->scale = 1.0; + + XResizeWindow(xfi->display, xfi->window->handle, xfi->orig_width * xfi->scale, xfi->orig_height * xfi->scale); + IFCALL(xfi->client->OnResizeWindow, xfi->instance, xfi->orig_width * xfi->scale, xfi->orig_height * xfi->scale); + xf_draw_screen_scaled(xfi); +} + int freerdp_client_global_init() { setlocale(LC_ALL, ""); diff --git a/client/X11/xf_interface.h b/client/X11/xf_interface.h index 0fafde13b..400da4b31 100644 --- a/client/X11/xf_interface.h +++ b/client/X11/xf_interface.h @@ -245,6 +245,7 @@ DWORD xf_exit_code_from_disconnect_reason(DWORD reason); #define cfInfo xfInfo FREERDP_API double freerdp_client_get_scale(xfInfo* xfi); +FREERDP_API void freerdp_client_reset_scale(xfInfo* xfi); FREERDP_API int freerdp_client_global_init(); FREERDP_API int freerdp_client_global_uninit();