Changeset 2c12135 in mainline
- Timestamp:
- 2026-02-18T09:13:26Z (2 days ago)
- Branches:
- master
- Children:
- 26edcd6
- Parents:
- a4e4e29
- git-author:
- Jiri Svoboda <jiri@…> (2026-02-17 21:13:24)
- git-committer:
- Jiri Svoboda <jiri@…> (2026-02-18 09:13:26)
- Location:
- uspace
- Files:
-
- 3 edited
-
app/gfxdemo/gfxdemo.c (modified) (4 diffs)
-
lib/ui/src/ui.c (modified) (4 diffs)
-
lib/ui/src/window.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/gfxdemo/gfxdemo.c
ra4e4e29 r2c12135 1 1 /* 2 * Copyright (c) 202 5Jiri Svoboda2 * Copyright (c) 2026 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 61 61 }; 62 62 63 static void uiwnd_resize_event(ui_window_t *, void *); 63 64 static void uiwnd_close_event(ui_window_t *, void *); 64 65 static void uiwnd_kbd_event(ui_window_t *, void *, kbd_event_t *); 65 66 66 67 static ui_window_cb_t ui_window_cb = { 68 .resize = uiwnd_resize_event, 67 69 .close = uiwnd_close_event, 68 70 .kbd = uiwnd_kbd_event … … 1169 1171 1170 1172 /* Do not decorate the window in fullscreen mode */ 1171 if (ui_is_fullscreen(ui)) 1173 if (ui_is_fullscreen(ui)) { 1172 1174 params.style &= ~ui_wds_decorated; 1175 params.placement = ui_wnd_place_full_screen; 1176 } 1173 1177 1174 1178 /* … … 1328 1332 (void)arg; 1329 1333 demo_kbd_event(event); 1334 } 1335 1336 static void uiwnd_resize_event(ui_window_t *window, void *arg) 1337 { 1338 gfx_rect_t rect; 1339 gfx_coord2_t dims; 1340 1341 ui_window_get_app_rect(window, &rect); 1342 gfx_rect_dims(&rect, &dims); 1343 scr_width = dims.x; 1344 scr_height = dims.y; 1330 1345 } 1331 1346 -
uspace/lib/ui/src/ui.c
ra4e4e29 r2c12135 1 1 /* 2 * Copyright (c) 202 5Jiri Svoboda2 * Copyright (c) 2026 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 326 326 } 327 327 328 /** Resize UI after screen size change. 329 * 330 * @param ui UI 331 * @param rect New screen rectangle. 332 */ 333 static void ui_resize(ui_t *ui, gfx_rect_t *rect) 334 { 335 ui_window_t *wnd; 336 337 ui->rect = *rect; 338 339 /* Resize all fullscreen windows */ 340 wnd = ui_window_first(ui); 341 while (wnd != NULL) { 342 if (wnd->placement == ui_wnd_place_full_screen) { 343 (void)ui_window_resize(wnd, rect); 344 ui_window_send_resize(wnd); 345 } 346 347 wnd = ui_window_next(wnd); 348 } 349 350 (void)ui_paint(ui); 351 } 352 328 353 static void ui_cons_event_process(ui_t *ui, cons_event_t *event) 329 354 { … … 331 356 ui_evclaim_t claim; 332 357 pos_event_t pos; 358 sysarg_t cols, rows; 359 gfx_rect_t rect; 360 errno_t rc; 333 361 334 362 awnd = ui_window_get_active(ui); … … 358 386 break; 359 387 case CEV_RESIZE: 388 rc = console_gc_resize(ui->cgc); 389 if (rc != EOK) { 390 /* XXX No good way to recover. */ 391 console_done(ui->console); 392 exit(1); 393 } 394 395 rc = console_get_size(ui->console, &cols, &rows); 396 if (rc != EOK) { 397 /* XXX No good way to recover. */ 398 console_done(ui->console); 399 exit(1); 400 } 401 360 402 ui_lock(ui); 361 ui_window_send_resize(awnd); 403 404 rect.p0.x = 0; 405 rect.p0.y = 0; 406 rect.p1.x = cols; 407 rect.p1.y = rows; 408 409 ui_resize(ui, &rect); 362 410 ui_unlock(ui); 363 411 break; -
uspace/lib/ui/src/window.c
ra4e4e29 r2c12135 767 767 /* Window is resized, now we can map the window bitmap again */ 768 768 gfx_bitmap_params_init(&win_params); 769 win_params.flags |= bmpf_direct_output; 769 if (window->ui->display != NULL) 770 win_params.flags |= bmpf_direct_output; 770 771 win_params.rect = nrect; 771 772
Note:
See TracChangeset
for help on using the changeset viewer.
