Index: uspace/lib/display/test/display.c
===================================================================
--- uspace/lib/display/test/display.c	(revision b093a62e71863bad6005b276dc63bb808cf77b9d)
+++ uspace/lib/display/test/display.c	(revision fdc8e4053a18f2b30fdf821c1f0a755b6e34908e)
@@ -49,5 +49,5 @@
 static void test_kbd_event(void *, kbd_event_t *);
 
-static errno_t test_window_create(void *, sysarg_t *);
+static errno_t test_window_create(void *, display_wnd_params_t *, sysarg_t *);
 static errno_t test_window_destroy(void *, sysarg_t);
 static errno_t test_get_event(void *, sysarg_t *, display_wnd_ev_t *);
@@ -79,4 +79,5 @@
 	int event_cnt;
 	bool window_create_called;
+	gfx_rect_t create_rect;
 	bool window_destroy_called;
 	bool get_event_called;
@@ -120,4 +121,5 @@
 	service_id_t sid;
 	display_t *disp = NULL;
+	display_wnd_params_t params;
 	display_window_t *wnd;
 	test_response_t resp;
@@ -139,6 +141,17 @@
 	resp.rc = ENOMEM;
 	resp.window_create_called = false;
-	rc = display_window_create(disp, &test_display_wnd_cb, NULL, &wnd);
+	display_wnd_params_init(&params);
+	params.rect.p0.x = 0;
+	params.rect.p0.y = 0;
+	params.rect.p0.x = 100;
+	params.rect.p0.y = 100;
+
+	rc = display_window_create(disp, &params, &test_display_wnd_cb,
+	    (void *) &resp, &wnd);
 	PCUT_ASSERT_TRUE(resp.window_create_called);
+	PCUT_ASSERT_EQUALS(params.rect.p0.x, resp.create_rect.p0.x);
+	PCUT_ASSERT_EQUALS(params.rect.p0.y, resp.create_rect.p0.y);
+	PCUT_ASSERT_EQUALS(params.rect.p1.x, resp.create_rect.p1.x);
+	PCUT_ASSERT_EQUALS(params.rect.p1.y, resp.create_rect.p1.y);
 	PCUT_ASSERT_ERRNO_VAL(resp.rc, rc);
 	PCUT_ASSERT_NULL(wnd);
@@ -158,4 +171,5 @@
 	service_id_t sid;
 	display_t *disp = NULL;
+	display_wnd_params_t params;
 	display_window_t *wnd;
 	test_response_t resp;
@@ -177,6 +191,17 @@
 	resp.rc = EOK;
 	resp.window_create_called = false;
-	rc = display_window_create(disp, &test_display_wnd_cb, NULL, &wnd);
+	display_wnd_params_init(&params);
+	params.rect.p0.x = 0;
+	params.rect.p0.y = 0;
+	params.rect.p0.x = 100;
+	params.rect.p0.y = 100;
+
+	rc = display_window_create(disp, &params, &test_display_wnd_cb,
+	    (void *) &resp, &wnd);
 	PCUT_ASSERT_TRUE(resp.window_create_called);
+	PCUT_ASSERT_EQUALS(params.rect.p0.x, resp.create_rect.p0.x);
+	PCUT_ASSERT_EQUALS(params.rect.p0.y, resp.create_rect.p0.y);
+	PCUT_ASSERT_EQUALS(params.rect.p1.x, resp.create_rect.p1.x);
+	PCUT_ASSERT_EQUALS(params.rect.p1.y, resp.create_rect.p1.y);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 	PCUT_ASSERT_NOT_NULL(wnd);
@@ -198,4 +223,5 @@
 	service_id_t sid;
 	display_t *disp = NULL;
+	display_wnd_params_t params;
 	display_window_t *wnd;
 	test_response_t resp;
@@ -216,6 +242,17 @@
 	resp.rc = EOK;
 	resp.window_create_called = false;
-	rc = display_window_create(disp, &test_display_wnd_cb, NULL, &wnd);
+	display_wnd_params_init(&params);
+	params.rect.p0.x = 0;
+	params.rect.p0.y = 0;
+	params.rect.p0.x = 100;
+	params.rect.p0.y = 100;
+
+	rc = display_window_create(disp, &params, &test_display_wnd_cb,
+	    (void *) &resp, &wnd);
 	PCUT_ASSERT_TRUE(resp.window_create_called);
+	PCUT_ASSERT_EQUALS(params.rect.p0.x, resp.create_rect.p0.x);
+	PCUT_ASSERT_EQUALS(params.rect.p0.y, resp.create_rect.p0.y);
+	PCUT_ASSERT_EQUALS(params.rect.p1.x, resp.create_rect.p1.x);
+	PCUT_ASSERT_EQUALS(params.rect.p1.y, resp.create_rect.p1.y);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 	PCUT_ASSERT_NOT_NULL(wnd);
@@ -238,4 +275,5 @@
 	service_id_t sid;
 	display_t *disp = NULL;
+	display_wnd_params_t params;
 	display_window_t *wnd;
 	test_response_t resp;
@@ -257,5 +295,12 @@
 	wnd = NULL;
 	resp.rc = EOK;
-	rc = display_window_create(disp, &test_display_wnd_cb, NULL, &wnd);
+	display_wnd_params_init(&params);
+	params.rect.p0.x = 0;
+	params.rect.p0.y = 0;
+	params.rect.p0.x = 100;
+	params.rect.p0.y = 100;
+
+	rc = display_window_create(disp, &params, &test_display_wnd_cb,
+	    (void *) &resp, &wnd);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 	PCUT_ASSERT_NOT_NULL(wnd);
@@ -283,4 +328,5 @@
 	service_id_t sid;
 	display_t *disp = NULL;
+	display_wnd_params_t params;
 	display_window_t *wnd;
 	test_response_t resp;
@@ -303,5 +349,12 @@
 	wnd = NULL;
 	resp.rc = EOK;
-	rc = display_window_create(disp, &test_display_wnd_cb, NULL, &wnd);
+	display_wnd_params_init(&params);
+	params.rect.p0.x = 0;
+	params.rect.p0.y = 0;
+	params.rect.p0.x = 100;
+	params.rect.p0.y = 100;
+
+	rc = display_window_create(disp, &params, &test_display_wnd_cb,
+	    (void *) &resp, &wnd);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 	PCUT_ASSERT_NOT_NULL(wnd);
@@ -336,4 +389,5 @@
 	service_id_t sid;
 	display_t *disp = NULL;
+	display_wnd_params_t params;
 	display_window_t *wnd;
 	test_response_t resp;
@@ -356,6 +410,12 @@
 	wnd = NULL;
 	resp.rc = EOK;
-	rc = display_window_create(disp, &test_display_wnd_cb, (void *) &resp,
-	    &wnd);
+	display_wnd_params_init(&params);
+	params.rect.p0.x = 0;
+	params.rect.p0.y = 0;
+	params.rect.p0.x = 100;
+	params.rect.p0.y = 100;
+
+	rc = display_window_create(disp, &params, &test_display_wnd_cb,
+	    (void *) &resp, &wnd);
 	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
 	PCUT_ASSERT_NOT_NULL(wnd);
@@ -462,9 +522,11 @@
 }
 
-static errno_t test_window_create(void *arg, sysarg_t *rwnd_id)
+static errno_t test_window_create(void *arg, display_wnd_params_t *params,
+    sysarg_t *rwnd_id)
 {
 	test_response_t *resp = (test_response_t *) arg;
 
 	resp->window_create_called = true;
+	resp->create_rect = params->rect;
 	if (resp->rc == EOK)
 		*rwnd_id = resp->wnd_id;
