Changeset 3e41cc4 in mainline for uspace/lib/ui
- Timestamp:
- 2025-10-19T13:08:37Z (8 weeks ago)
- Branches:
- master
- Children:
- 5bf9ca21, aefdccd, c81ab84, e6b4d2d, fa655ae0
- Parents:
- bb4d0b5
- Location:
- uspace/lib/ui
- Files:
-
- 4 edited
-
include/ui/window.h (modified) (2 diffs)
-
private/window.h (modified) (2 diffs)
-
src/ui.c (modified) (2 diffs)
-
src/window.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/include/ui/window.h
rbb4d0b5 r3e41cc4 1 1 /* 2 * Copyright (c) 202 4Jiri Svoboda2 * Copyright (c) 2025 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 56 56 extern void ui_window_add(ui_window_t *, ui_control_t *); 57 57 extern void ui_window_remove(ui_window_t *, ui_control_t *); 58 extern ui_window_t *ui_window_get_active(ui_t *);59 58 extern errno_t ui_window_resize(ui_window_t *, gfx_rect_t *); 60 59 extern ui_t *ui_window_get_ui(ui_window_t *); -
uspace/lib/ui/private/window.h
rbb4d0b5 r3e41cc4 1 1 /* 2 * Copyright (c) 202 4Jiri Svoboda2 * Copyright (c) 2025 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 136 136 extern errno_t ui_window_size_change(ui_window_t *, gfx_rect_t *, 137 137 ui_wnd_sc_op_t); 138 extern ui_window_t *ui_window_get_active(ui_t *); 139 extern ui_window_t *ui_window_first(ui_t *); 140 extern ui_window_t *ui_window_next(ui_window_t *); 138 141 139 142 #endif -
uspace/lib/ui/src/ui.c
rbb4d0b5 r3e41cc4 412 412 errno_t rc; 413 413 gfx_context_t *gc; 414 ui_window_t * awnd;414 ui_window_t *wnd; 415 415 gfx_color_t *color = NULL; 416 416 … … 439 439 gfx_color_delete(color); 440 440 441 /* XXX Should repaint all windows */ 442 awnd = ui_window_get_active(ui); 443 if (awnd == NULL) 444 return EOK; 445 446 rc = ui_wdecor_paint(awnd->wdecor); 447 if (rc != EOK) 448 return rc; 449 450 return ui_window_paint(awnd); 441 /* Repaint all windows */ 442 wnd = ui_window_first(ui); 443 while (wnd != NULL) { 444 rc = ui_wdecor_paint(wnd->wdecor); 445 if (rc != EOK) 446 return rc; 447 448 rc = ui_window_paint(wnd); 449 if (rc != EOK) 450 return rc; 451 452 wnd = ui_window_next(wnd); 453 } 454 455 return EOK; 451 456 } 452 457 -
uspace/lib/ui/src/window.c
rbb4d0b5 r3e41cc4 617 617 } 618 618 619 /** Get first (lowermost) window (only valid in fullscreen mode). 620 * 621 * @param ui User interface 622 * @return First window 623 */ 624 ui_window_t *ui_window_first(ui_t *ui) 625 { 626 link_t *link; 627 628 link = list_first(&ui->windows); 629 if (link == NULL) 630 return NULL; 631 632 return list_get_instance(link, ui_window_t, lwindows); 633 } 634 635 /** Get next window (only valid in fullscreen mode). 636 * 637 * @param cur Current window 638 * @return First window 639 */ 640 ui_window_t *ui_window_next(ui_window_t *cur) 641 { 642 link_t *link; 643 644 link = list_next(&cur->lwindows, &cur->ui->windows); 645 if (link == NULL) 646 return NULL; 647 648 return list_get_instance(link, ui_window_t, lwindows); 649 } 650 619 651 /** Get active window (only valid in fullscreen mode). 620 652 *
Note:
See TracChangeset
for help on using the changeset viewer.
