Changeset 3be5366 in mainline for uspace/lib/display
- Timestamp:
- 2023-01-19T12:09:34Z (3 years ago)
- Branches:
- master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6828a56
- Parents:
- aaa3b855
- git-author:
- Jiri Svoboda <jiri@…> (2023-01-19 18:09:23)
- git-committer:
- Jiri Svoboda <jiri@…> (2023-01-19 12:09:34)
- Location:
- uspace/lib/display
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/display/include/disp_srv.h
raaa3b855 r3be5366 57 57 errno_t (*window_create)(void *, display_wnd_params_t *, sysarg_t *); 58 58 errno_t (*window_destroy)(void *, sysarg_t); 59 errno_t (*window_move_req)(void *, sysarg_t, gfx_coord2_t *); 59 errno_t (*window_move_req)(void *, sysarg_t, gfx_coord2_t *, 60 sysarg_t); 60 61 errno_t (*window_resize_req)(void *, sysarg_t, display_wnd_rsztype_t, 61 62 gfx_coord2_t *, sysarg_t); -
uspace/lib/display/include/display.h
raaa3b855 r3be5366 54 54 extern errno_t display_window_destroy(display_window_t *); 55 55 extern errno_t display_window_get_gc(display_window_t *, gfx_context_t **); 56 extern errno_t display_window_move_req(display_window_t *, gfx_coord2_t *); 56 extern errno_t display_window_move_req(display_window_t *, gfx_coord2_t *, 57 sysarg_t); 57 58 extern errno_t display_window_resize_req(display_window_t *, 58 59 display_wnd_rsztype_t, gfx_coord2_t *, sysarg_t); -
uspace/lib/display/src/disp_srv.c
raaa3b855 r3be5366 152 152 { 153 153 sysarg_t wnd_id; 154 sysarg_t pos_id; 154 155 ipc_call_t call; 155 156 gfx_coord2_t pos; … … 158 159 159 160 wnd_id = ipc_get_arg1(icall); 161 pos_id = ipc_get_arg2(icall); 160 162 161 163 if (!async_data_write_receive(&call, &size)) { … … 183 185 } 184 186 185 rc = srv->ops->window_move_req(srv->arg, wnd_id, &pos );187 rc = srv->ops->window_move_req(srv->arg, wnd_id, &pos, pos_id); 186 188 async_answer_0(icall, rc); 187 189 } -
uspace/lib/display/src/display.c
raaa3b855 r3be5366 284 284 * @param window Window 285 285 * @param pos Position in the window where the button was pressed 286 * @return EOK on success or an error code 287 */ 288 errno_t display_window_move_req(display_window_t *window, gfx_coord2_t *pos) 289 { 290 async_exch_t *exch; 291 aid_t req; 292 ipc_call_t answer; 293 errno_t rc; 294 295 exch = async_exchange_begin(window->display->sess); 296 req = async_send_1(exch, DISPLAY_WINDOW_MOVE_REQ, window->id, &answer); 286 * @param pos_id Positioning device ID 287 * @return EOK on success or an error code 288 */ 289 errno_t display_window_move_req(display_window_t *window, gfx_coord2_t *pos, 290 sysarg_t pos_id) 291 { 292 async_exch_t *exch; 293 aid_t req; 294 ipc_call_t answer; 295 errno_t rc; 296 297 exch = async_exchange_begin(window->display->sess); 298 req = async_send_2(exch, DISPLAY_WINDOW_MOVE_REQ, window->id, 299 pos_id, &answer); 297 300 rc = async_data_write_start(exch, (void *)pos, sizeof (gfx_coord2_t)); 298 301 async_exchange_end(exch); -
uspace/lib/display/test/display.c
raaa3b855 r3be5366 58 58 static errno_t test_window_create(void *, display_wnd_params_t *, sysarg_t *); 59 59 static errno_t test_window_destroy(void *, sysarg_t); 60 static errno_t test_window_move_req(void *, sysarg_t, gfx_coord2_t * );60 static errno_t test_window_move_req(void *, sysarg_t, gfx_coord2_t *, sysarg_t); 61 61 static errno_t test_window_move(void *, sysarg_t, gfx_coord2_t *); 62 62 static errno_t test_window_get_pos(void *, sysarg_t, gfx_coord2_t *); … … 124 124 sysarg_t move_req_wnd_id; 125 125 gfx_coord2_t move_req_pos; 126 sysarg_t move_req_pos_id; 126 127 127 128 bool window_move_called; … … 379 380 test_response_t resp; 380 381 gfx_coord2_t pos; 382 sysarg_t pos_id; 381 383 382 384 async_set_fallback_port_handler(test_display_conn, &resp); … … 410 412 pos.x = 42; 411 413 pos.y = 43; 412 413 rc = display_window_move_req(wnd, &pos); 414 pos_id = 44; 415 416 rc = display_window_move_req(wnd, &pos, pos_id); 414 417 PCUT_ASSERT_TRUE(resp.window_move_req_called); 415 418 PCUT_ASSERT_ERRNO_VAL(resp.rc, rc); … … 417 420 PCUT_ASSERT_INT_EQUALS(pos.x, resp.move_req_pos.x); 418 421 PCUT_ASSERT_INT_EQUALS(pos.y, resp.move_req_pos.y); 422 PCUT_ASSERT_INT_EQUALS(pos_id, resp.move_req_pos_id); 419 423 420 424 display_window_destroy(wnd); … … 434 438 test_response_t resp; 435 439 gfx_coord2_t pos; 440 sysarg_t pos_id; 436 441 437 442 async_set_fallback_port_handler(test_display_conn, &resp); … … 465 470 pos.x = 42; 466 471 pos.y = 43; 467 468 rc = display_window_move_req(wnd, &pos); 472 pos_id = 44; 473 474 rc = display_window_move_req(wnd, &pos, pos_id); 469 475 PCUT_ASSERT_TRUE(resp.window_move_req_called); 470 476 PCUT_ASSERT_ERRNO_VAL(resp.rc, rc); … … 472 478 PCUT_ASSERT_INT_EQUALS(pos.x, resp.move_req_pos.x); 473 479 PCUT_ASSERT_INT_EQUALS(pos.y, resp.move_req_pos.y); 480 PCUT_ASSERT_INT_EQUALS(pos_id, resp.move_req_pos_id); 474 481 475 482 display_window_destroy(wnd); … … 2147 2154 2148 2155 static errno_t test_window_move_req(void *arg, sysarg_t wnd_id, 2149 gfx_coord2_t *pos )2156 gfx_coord2_t *pos, sysarg_t pos_id) 2150 2157 { 2151 2158 test_response_t *resp = (test_response_t *) arg; … … 2154 2161 resp->move_req_wnd_id = wnd_id; 2155 2162 resp->move_req_pos = *pos; 2163 resp->move_req_pos_id = pos_id; 2156 2164 return resp->rc; 2157 2165 }
Note:
See TracChangeset
for help on using the changeset viewer.