BOOL wf_sw_desktop_resize(wfContext* wfc) { rdpGdi* gdi; rdpContext* context; rdpSettings* settings; freerdp* instance = wfc->instance; context = (rdpContext*) wfc; settings = wfc->instance->settings; gdi = context->gdi; wfc->width = settings->DesktopWidth; wfc->height = settings->DesktopHeight; gdi->primary->bitmap->data = NULL; gdi_free(instance); if (wfc->primary) { wf_image_free(wfc->primary); wfc->primary = wf_image_new(wfc, wfc->width, wfc->height, wfc->dstBpp, NULL); } if (!gdi_init(instance, CLRCONV_ALPHA | CLRBUF_32BPP, wfc->primary->pdata)) return FALSE; gdi = instance->context->gdi; wfc->hdc = gdi->primary->hdc; return TRUE; }
void wf_hw_desktop_resize(wfContext* wfc) { BOOL same; RECT rect; rdpSettings* settings; settings = wfc->instance->settings; wfc->width = settings->DesktopWidth; wfc->height = settings->DesktopHeight; if (wfc->primary) { same = (wfc->primary == wfc->drawing) ? TRUE : FALSE; wf_image_free(wfc->primary); wfc->primary = wf_image_new(wfc, wfc->width, wfc->height, wfc->dstBpp, NULL); if (same) wfc->drawing = wfc->primary; } if (wfc->fullscreen != TRUE) { if (wfc->hwnd) SetWindowPos(wfc->hwnd, HWND_TOP, -1, -1, wfc->width + wfc->diff.x, wfc->height + wfc->diff.y, SWP_NOMOVE); } else { wf_update_offset(wfc); GetWindowRect(wfc->hwnd, &rect); InvalidateRect(wfc->hwnd, &rect, TRUE); } }
void wf_sw_desktop_resize(rdpContext* context) { wfInfo* wfi; rdpGdi* gdi; rdpSettings* settings; wfi = ((wfContext*) context)->wfi; settings = wfi->instance->settings; gdi = context->gdi; wfi->width = settings->DesktopWidth; wfi->height = settings->DesktopHeight; gdi_resize(gdi, wfi->width, wfi->height); if (wfi->primary) { wf_image_free(wfi->primary); wfi->primary = wf_image_new(wfi, wfi->width, wfi->height, wfi->dstBpp, gdi->primary_buffer); } }
void wf_glyph_free(wfBitmap* glyph) { wf_image_free(glyph); }