void xf_create_window(xfInfo* xfi)
{
XEvent xevent;
- char* win_title;
int width, height;
+ char* windowTitle;
ZeroMemory(&xevent, sizeof(xevent));
xfi->attribs.bit_gravity = NorthWestGravity;
xfi->attribs.win_gravity = NorthWestGravity;
- if (xfi->instance->settings->WindowTitle != NULL)
+ if (xfi->instance->settings->WindowTitle)
{
- win_title = _strdup(xfi->instance->settings->WindowTitle);
+ windowTitle = _strdup(xfi->instance->settings->WindowTitle);
}
else if (xfi->instance->settings->ServerPort == 3389)
{
- win_title = malloc(1 + sizeof("FreeRDP: ") + strlen(xfi->instance->settings->ServerHostname));
- sprintf(win_title, "FreeRDP: %s", xfi->instance->settings->ServerHostname);
+ windowTitle = malloc(1 + sizeof("FreeRDP: ") + strlen(xfi->instance->settings->ServerHostname));
+ sprintf(windowTitle, "FreeRDP: %s", xfi->instance->settings->ServerHostname);
}
else
{
- win_title = malloc(1 + sizeof("FreeRDP: ") + strlen(xfi->instance->settings->ServerHostname) + sizeof(":00000"));
- sprintf(win_title, "FreeRDP: %s:%i", xfi->instance->settings->ServerHostname, xfi->instance->settings->ServerPort);
+ windowTitle = malloc(1 + sizeof("FreeRDP: ") + strlen(xfi->instance->settings->ServerHostname) + sizeof(":00000"));
+ sprintf(windowTitle, "FreeRDP: %s:%i", xfi->instance->settings->ServerHostname, xfi->instance->settings->ServerPort);
}
- xfi->window = xf_CreateDesktopWindow(xfi, win_title, width, height, xfi->decorations);
- free(win_title);
+ xfi->window = xf_CreateDesktopWindow(xfi, windowTitle, width, height, xfi->settings->Decorations);
+ free(windowTitle);
if (xfi->fullscreen)
xf_SetWindowFullscreen(xfi, xfi->window, xfi->fullscreen);
xfi->depth = DefaultDepthOfScreen(xfi->screen);
xfi->big_endian = (ImageByteOrder(xfi->display) == MSBFirst);
- xfi->mouse_motion = settings->MouseMotion;
xfi->complex_regions = TRUE;
- xfi->decorations = settings->Decorations;
xfi->fullscreen = settings->Fullscreen;
xfi->grab_keyboard = settings->GrabKeyboard;
xfi->fullscreen_toggle = settings->ToggleFullscreen;
- xfi->sw_gdi = settings->SoftwareGdi;
- xfi->parent_window = (Window) settings->ParentWindowId;
xf_detect_monitors(xfi, settings);
channels = xfi->_context->channels;
settings = instance->settings;
- if (xf_get_pixmap_info(xfi) != TRUE)
+ if (!xf_get_pixmap_info(xfi))
return FALSE;
xf_register_graphics(instance->context->graphics);
- if (xfi->sw_gdi)
+ if (xfi->settings->SoftwareGdi)
{
rdpGdi* gdi;
UINT32 flags;
xfi->bmp_codec_none = (BYTE*) malloc(64 * 64 * 4);
- if (xfi->sw_gdi)
+ if (xfi->settings->SoftwareGdi)
{
instance->update->BeginPaint = xf_sw_begin_paint;
instance->update->EndPaint = xf_sw_end_paint;
pointer_cache_register_callbacks(instance->update);
- if (xfi->sw_gdi != TRUE)
+ if (!xfi->settings->SoftwareGdi)
{
glyph_cache_register_callbacks(instance->update);
brush_cache_register_callbacks(instance->update);
xf_cliprdr_init(xfi, channels);
- if (xfi->client->OnResizeWindow)
- xfi->client->OnResizeWindow(instance, settings->DesktopWidth, settings->DesktopHeight);
+ IFCALL(xfi->client->OnResizeWindow, instance, settings->DesktopWidth, settings->DesktopHeight);
return TRUE;
}
if (!status)
{
- xf_free(xfi);
+ freerdp_client_free(xfi);
exit_code = XF_EXIT_CONN_FAILED;
ExitThread(exit_code);
}
freerdp_channels_free(channels);
freerdp_disconnect(instance);
gdi_free(instance);
- xf_free(xfi);
+ freerdp_client_free(xfi);
exit_code = 123;
* Client Interface
*/
-int xf_global_init()
+int freerdp_client_global_init()
{
setlocale(LC_ALL, "");
freerdp_handle_signals();
return 0;
}
-int xf_global_uninit()
+int freerdp_client_global_uninit()
{
freerdp_channels_global_uninit();
return 0;
}
-int xf_start(xfInfo* xfi)
+int freerdp_client_start(xfInfo* xfi)
{
xfi->thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) xf_thread, (void*) xfi->instance, 0, NULL);
return 0;
}
-int xf_stop(xfInfo* xfi)
+int freerdp_client_stop(xfInfo* xfi)
{
if (xfi->instance->settings->AsyncInput)
{
return 0;
}
-xfInfo* xf_new(HANDLE hInstance, HANDLE hWndParent, int argc, char** argv)
+xfInfo* freerdp_client_new(int argc, char** argv)
{
int index;
int status;
xfi->instance = instance;
settings = instance->settings;
xfi->client = instance->context->client;
+ xfi->settings = instance->context->settings;
status = freerdp_client_parse_command_line_arguments(instance->context->argc,
instance->context->argv, settings);
return xfi;
}
-void xf_free(xfInfo* xfi)
+void freerdp_client_free(xfInfo* xfi)
{
if (xfi)
{
{
Atom am_wm_pid;
- if (pid == 0)
+ if (!pid)
pid = getpid();
am_wm_pid = XInternAtom(xfi->display, "_NET_WM_PID", False);
window = (xfWindow*) malloc(sizeof(xfWindow));
ZeroMemory(window, sizeof(xfWindow));
- if (window != NULL)
+ if (window)
{
int shmid;
int input_mask;
class_hints = XAllocClassHint();
- if (class_hints != NULL)
+ if (class_hints)
{
class_hints->res_name = "xfreerdp";
- if (xfi->instance->settings->WmClass != NULL)
+
+ if (xfi->instance->settings->WmClass)
class_hints->res_class = xfi->instance->settings->WmClass;
else
class_hints->res_class = "xfreerdp";
+
XSetClassHint(xfi->display, window->handle, class_hints);
XFree(class_hints);
}
XChangeProperty(xfi->display, window->handle, xfi->_NET_WM_ICON, XA_CARDINAL, 32,
PropModeReplace, (BYTE*) xf_icon_prop, ARRAYSIZE(xf_icon_prop));
- if (xfi->parent_window)
- XReparentWindow(xfi->display, window->handle, xfi->parent_window, 0, 0);
+ if (xfi->settings->ParentWindowId)
+ XReparentWindow(xfi->display, window->handle, (Window) xfi->settings->ParentWindowId, 0, 0);
XSelectInput(xfi->display, window->handle, input_mask);
XClearWindow(xfi->display, window->handle);
/*
* NOTE: This must be done here to handle reparenting the window,
- * so that we dont miss the event and hang waiting for the next one
+ * so that we don't miss the event and hang waiting for the next one
*/
do
{
rdpWindow* wnd;
wnd = window->window;
- /* Remote app mode uses visibleOffset instead of windowOffset */
+ /* RemoteApp mode uses visibleOffset instead of windowOffset */
if (!xfi->remote_app)
{
WaitForSingleObject(xfi->mutex, INFINITE);
- if (xfi->sw_gdi)
+ if (xfi->settings->SoftwareGdi)
{
XPutImage(xfi->display, xfi->primary, window->gc, xfi->image,
ax, ay, ax, ay, width, height);