Changeset 3be5366 in mainline for uspace/lib/display


Ignore:
Timestamp:
2023-01-19T12:09:34Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
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)
Message:

Add pos_id information to move request, too

This will become useful momentarily.

Location:
uspace/lib/display
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/display/include/disp_srv.h

    raaa3b855 r3be5366  
    5757        errno_t (*window_create)(void *, display_wnd_params_t *, sysarg_t *);
    5858        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);
    6061        errno_t (*window_resize_req)(void *, sysarg_t, display_wnd_rsztype_t,
    6162            gfx_coord2_t *, sysarg_t);
  • uspace/lib/display/include/display.h

    raaa3b855 r3be5366  
    5454extern errno_t display_window_destroy(display_window_t *);
    5555extern 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 *);
     56extern errno_t display_window_move_req(display_window_t *, gfx_coord2_t *,
     57    sysarg_t);
    5758extern errno_t display_window_resize_req(display_window_t *,
    5859    display_wnd_rsztype_t, gfx_coord2_t *, sysarg_t);
  • uspace/lib/display/src/disp_srv.c

    raaa3b855 r3be5366  
    152152{
    153153        sysarg_t wnd_id;
     154        sysarg_t pos_id;
    154155        ipc_call_t call;
    155156        gfx_coord2_t pos;
     
    158159
    159160        wnd_id = ipc_get_arg1(icall);
     161        pos_id = ipc_get_arg2(icall);
    160162
    161163        if (!async_data_write_receive(&call, &size)) {
     
    183185        }
    184186
    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);
    186188        async_answer_0(icall, rc);
    187189}
  • uspace/lib/display/src/display.c

    raaa3b855 r3be5366  
    284284 * @param window Window
    285285 * @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 */
     289errno_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);
    297300        rc = async_data_write_start(exch, (void *)pos, sizeof (gfx_coord2_t));
    298301        async_exchange_end(exch);
  • uspace/lib/display/test/display.c

    raaa3b855 r3be5366  
    5858static errno_t test_window_create(void *, display_wnd_params_t *, sysarg_t *);
    5959static errno_t test_window_destroy(void *, sysarg_t);
    60 static errno_t test_window_move_req(void *, sysarg_t, gfx_coord2_t *);
     60static errno_t test_window_move_req(void *, sysarg_t, gfx_coord2_t *, sysarg_t);
    6161static errno_t test_window_move(void *, sysarg_t, gfx_coord2_t *);
    6262static errno_t test_window_get_pos(void *, sysarg_t, gfx_coord2_t *);
     
    124124        sysarg_t move_req_wnd_id;
    125125        gfx_coord2_t move_req_pos;
     126        sysarg_t move_req_pos_id;
    126127
    127128        bool window_move_called;
     
    379380        test_response_t resp;
    380381        gfx_coord2_t pos;
     382        sysarg_t pos_id;
    381383
    382384        async_set_fallback_port_handler(test_display_conn, &resp);
     
    410412        pos.x = 42;
    411413        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);
    414417        PCUT_ASSERT_TRUE(resp.window_move_req_called);
    415418        PCUT_ASSERT_ERRNO_VAL(resp.rc, rc);
     
    417420        PCUT_ASSERT_INT_EQUALS(pos.x, resp.move_req_pos.x);
    418421        PCUT_ASSERT_INT_EQUALS(pos.y, resp.move_req_pos.y);
     422        PCUT_ASSERT_INT_EQUALS(pos_id, resp.move_req_pos_id);
    419423
    420424        display_window_destroy(wnd);
     
    434438        test_response_t resp;
    435439        gfx_coord2_t pos;
     440        sysarg_t pos_id;
    436441
    437442        async_set_fallback_port_handler(test_display_conn, &resp);
     
    465470        pos.x = 42;
    466471        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);
    469475        PCUT_ASSERT_TRUE(resp.window_move_req_called);
    470476        PCUT_ASSERT_ERRNO_VAL(resp.rc, rc);
     
    472478        PCUT_ASSERT_INT_EQUALS(pos.x, resp.move_req_pos.x);
    473479        PCUT_ASSERT_INT_EQUALS(pos.y, resp.move_req_pos.y);
     480        PCUT_ASSERT_INT_EQUALS(pos_id, resp.move_req_pos_id);
    474481
    475482        display_window_destroy(wnd);
     
    21472154
    21482155static 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)
    21502157{
    21512158        test_response_t *resp = (test_response_t *) arg;
     
    21542161        resp->move_req_wnd_id = wnd_id;
    21552162        resp->move_req_pos = *pos;
     2163        resp->move_req_pos_id = pos_id;
    21562164        return resp->rc;
    21572165}
Note: See TracChangeset for help on using the changeset viewer.