Exemplo n.º 1
0
int
wf_pre_connect(wfInfo * wfi)
{
	int i1;

	wf_assign_callbacks(wfi->inst);
	wfi->cursor = g_default_cursor;

	if (wfi->percentscreen > 0)
	{
		i1 = (GetSystemMetrics(SM_CXSCREEN) * wfi->percentscreen) / 100;
		wfi->settings->width = i1;
		i1 = (GetSystemMetrics(SM_CYSCREEN) * wfi->percentscreen) / 100;
		wfi->settings->height = i1;
	}

	if (wfi->fs_toggle)
	{
		wfi->inst->settings->width = GetSystemMetrics(SM_CXSCREEN);
		wfi->inst->settings->height = GetSystemMetrics(SM_CYSCREEN);
	}

	i1 = wfi->settings->width;
	i1 = (i1 + 3) & (~3);
	wfi->settings->width = i1;
	if ((wfi->settings->width < 64) || (wfi->settings->height < 64) ||
		(wfi->settings->width > 4096) || (wfi->settings->height > 4096))
	{
		printf("wf_init: invalid dimensions %d %d\n", wfi->settings->width, wfi->settings->height);
		return 1;
	}

	return 0;
}
Exemplo n.º 2
0
int
wf_pre_connect(rdpInst * inst, HWND hwnd)
{
	wfInfo * wfi;

	wf_assign_callbacks(inst);
	wfi = (wfInfo *) malloc(sizeof(wfInfo));
	SET_WFI(inst, wfi);
	memset(wfi, 0, sizeof(wfInfo));

	wfi->hwnd = hwnd;
	wfi->inst = inst;
	wfi->cursor = g_default_cursor;
	SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)wfi);

	return 0;
}