Ejemplo n.º 1
0
extern si_t register_window(si_t parent_window_descriptor, const char* title, si_t x, si_t y, si_t width, si_t height, si_t minimize_enable, si_t maximize_enable, si_t modal)
{
	struct packet_body_register_window body;
	request_set_register_window(&body, parent_window_descriptor, title, strlen(title) + 1, x, y, width, height, minimize_enable, maximize_enable, modal);
	/**
	 * 注册窗口较为复杂的请求包:标准请求包外加窗口标题字符串
	 **/
	return send_body_with_extra_context_and_return_respond(REQUEST_TYPE_REGISTER_WINDOW, RESPOND_TYPE_REGISTER_WINDOW,
            (const_addr_t)&body, sizeof(body),
            (const_addr_t)title, strlen(title) + 1);
}
Ejemplo n.º 2
0
/**
 * 发送注册窗口请求
 **/
int fake_register_window(struct egui_uds* uds_ptr, si_t parent_fd, char* title)
{
	struct packet_body_register_window body;
	si_t ret = 0;

	request_set_register_window(&body, parent_fd, title, strlen(title) + 1, 0, 0, 0, 0, 0, 0, 0);
	if(0 != comm_send_request_with_extra(uds_ptr, REQUEST_TYPE_REGISTER_WINDOW, 
			&body, sizeof(body), title, strlen(title) + 1))
	{
		EGUI_PRINT_ERROR("failed to send register window request");
		return -1;
	}
	if(0 != comm_recv_respond(uds_ptr, RESPOND_TYPE_REGISTER_WINDOW, &ret, NULL))
	{
		EGUI_PRINT_ERROR("failed to recv register window respond");
		return -1;
	}

	EGUI_PRINT_INFO("send register window request, recv ret %d", (int)ret);

	return 0;
}