Ignore:
Timestamp:
2022-11-13T10:56:43Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a130983
Parents:
a5c7b865
Message:

Taskbar should be always on top

We add support for topmost windows and make the taskbar window topmost.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/display/test/display.c

    ra5c7b865 r5d62130  
    195195}
    196196
     197/** Test ds_display_enlist_window() */
     198PCUT_TEST(display_enlist_window)
     199{
     200        ds_display_t *disp;
     201        ds_client_t *client;
     202        ds_seat_t *seat;
     203        ds_window_t *w0;
     204        ds_window_t *w1;
     205        ds_window_t *w2;
     206        ds_window_t *w3;
     207        ds_window_t *w;
     208        display_wnd_params_t params;
     209        bool called_cb = false;
     210        errno_t rc;
     211
     212        rc = ds_display_create(NULL, df_none, &disp);
     213        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     214
     215        rc = ds_client_create(disp, &test_ds_client_cb, &called_cb, &client);
     216        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     217
     218        rc = ds_seat_create(disp, &seat);
     219        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     220
     221        display_wnd_params_init(&params);
     222        params.rect.p0.x = params.rect.p0.y = 0;
     223        params.rect.p1.x = params.rect.p1.y = 100;
     224
     225        /* Regular windows */
     226
     227        rc = ds_window_create(client, &params, &w0);
     228        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     229
     230        rc = ds_window_create(client, &params, &w1);
     231        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     232
     233        /* Topmost windows */
     234
     235        params.flags |= wndf_topmost;
     236
     237        rc = ds_window_create(client, &params, &w2);
     238        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     239
     240        rc = ds_window_create(client, &params, &w3);
     241        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     242
     243        /* Delist w1 and w2 */
     244        list_remove(&w1->ldwindows);
     245        list_remove(&w2->ldwindows);
     246
     247        /* Enlist the windows back and check their order */
     248        ds_display_enlist_window(disp, w1);
     249        ds_display_enlist_window(disp, w2);
     250
     251        w = ds_display_first_window(disp);
     252        PCUT_ASSERT_EQUALS(w2, w);
     253        w = ds_display_next_window(w);
     254        PCUT_ASSERT_EQUALS(w3, w);
     255        w = ds_display_next_window(w);
     256        PCUT_ASSERT_EQUALS(w1, w);
     257        w = ds_display_next_window(w);
     258        PCUT_ASSERT_EQUALS(w0, w);
     259        w = ds_display_next_window(w);
     260        PCUT_ASSERT_EQUALS(NULL, w);
     261
     262        ds_window_destroy(w0);
     263        ds_window_destroy(w1);
     264        ds_window_destroy(w2);
     265        ds_window_destroy(w3);
     266        ds_seat_destroy(seat);
     267        ds_client_destroy(client);
     268        ds_display_destroy(disp);
     269}
     270
    197271/** Test ds_display_window_to_top() */
    198272PCUT_TEST(display_window_to_top)
Note: See TracChangeset for help on using the changeset viewer.