Changeset 3fd38b2 in mainline
- Timestamp:
- 2022-09-29T07:45:07Z (2 years ago)
- Branches:
- master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c77cfd8
- Parents:
- 50a16d9
- git-author:
- Jiri Svoboda <jiri@…> (2022-09-28 07:44:28)
- git-committer:
- Jiri Svoboda <jiri@…> (2022-09-29 07:45:07)
- Location:
- uspace
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/taskbar/clock.c
r50a16d9 r3fd38b2 44 44 #include <ui/paint.h> 45 45 #include <ui/resource.h> 46 #include <ui/ui.h> 46 47 #include "clock.h" 47 48 … … 135 136 gfx_context_t *gc = ui_window_get_gc(clock->window); 136 137 ui_resource_t *res = ui_window_get_res(clock->window); 138 ui_t *ui = ui_window_get_ui(clock->window); 137 139 char buf[10]; 138 140 gfx_text_fmt_t fmt; … … 141 143 errno_t rc; 142 144 145 if (!ui_is_textmode(ui)) { 146 /* Paint frame */ 147 rc = ui_paint_inset_frame(res, &clock->rect, &irect); 148 if (rc != EOK) 149 goto error; 150 } else { 151 irect = clock->rect; 152 } 153 154 rc = gfx_set_color(gc, ui_resource_get_wnd_face_color(res)); 155 if (rc != EOK) 156 goto error; 157 143 158 /* Fill background */ 144 145 rc = ui_paint_inset_frame(res, &clock->rect, &irect);146 if (rc != EOK)147 goto error;148 149 rc = gfx_set_color(gc, ui_resource_get_wnd_face_color(res));150 if (rc != EOK)151 goto error;152 153 159 rc = gfx_fill_rect(gc, &irect); 154 160 if (rc != EOK) -
uspace/app/taskbar/taskbar.c
r50a16d9 r3fd38b2 73 73 ui_wnd_params_t params; 74 74 taskbar_t *taskbar = NULL; 75 gfx_rect_t scr_rect; 75 76 gfx_rect_t rect; 76 77 ui_resource_t *ui_res; … … 86 87 if (rc != EOK) { 87 88 printf("Error creating UI on display %s.\n", display_spec); 89 goto error; 90 } 91 92 rc = ui_get_rect(taskbar->ui, &scr_rect); 93 if (rc != EOK) { 94 printf("Error getting screen dimensions.\n"); 88 95 goto error; 89 96 } … … 94 101 params.style &= ~ui_wds_titlebar; 95 102 103 params.rect.p0.x = 0; 104 params.rect.p0.y = 0; 105 params.rect.p1.x = scr_rect.p1.x - scr_rect.p0.x; 106 96 107 if (ui_is_textmode(taskbar->ui)) { 97 params.rect.p0.x = 0;98 params.rect.p0.y = 0;99 params.rect.p1.x = 80;100 108 params.rect.p1.y = 1; 101 109 params.style &= ~ui_wds_frame; 102 110 } else { 103 params.rect.p0.x = 0;104 params.rect.p0.y = 0;105 params.rect.p1.x = 1024;106 111 params.rect.p1.y = 32; 107 112 } … … 144 149 goto error; 145 150 146 rect.p0.x = 1024 - 80; 147 rect.p0.y = 4; 148 rect.p1.x = 1024 - 4; 149 rect.p1.y = 32 - 4; 151 if (ui_is_textmode(taskbar->ui)) { 152 rect.p0.x = params.rect.p1.x - 10; 153 rect.p0.y = 0; 154 rect.p1.x = params.rect.p1.x; 155 rect.p1.y = 1; 156 } else { 157 rect.p0.x = params.rect.p1.x - 80; 158 rect.p0.y = 4; 159 rect.p1.x = params.rect.p1.x - 4; 160 rect.p1.y = 32 - 4; 161 } 162 150 163 taskbar_clock_set_rect(taskbar->clock, &rect); 151 164 -
uspace/lib/ui/include/ui/ui.h
r50a16d9 r3fd38b2 39 39 #include <display.h> 40 40 #include <errno.h> 41 #include <gfx/coord.h> 41 42 #include <io/console.h> 42 43 #include <stdbool.h> … … 53 54 extern bool ui_is_textmode(ui_t *); 54 55 extern bool ui_is_fullscreen(ui_t *); 56 extern errno_t ui_get_rect(ui_t *, gfx_rect_t *); 55 57 extern errno_t ui_suspend(ui_t *); 56 58 extern errno_t ui_resume(ui_t *); -
uspace/lib/ui/src/ui.c
r50a16d9 r3fd38b2 524 524 } 525 525 526 /** Get UI screen rectangle. 527 * 528 * @param ui User interface 529 * @param rect Place to store bounding rectangle 530 */ 531 errno_t ui_get_rect(ui_t *ui, gfx_rect_t *rect) 532 { 533 display_info_t info; 534 sysarg_t cols, rows; 535 errno_t rc; 536 537 if (ui->display != NULL) { 538 rc = display_get_info(ui->display, &info); 539 if (rc != EOK) 540 return rc; 541 542 *rect = info.rect; 543 } else if (ui->console != NULL) { 544 rc = console_get_size(ui->console, &cols, &rows); 545 if (rc != EOK) 546 return rc; 547 548 rect->p0.x = 0; 549 rect->p0.y = 0; 550 rect->p1.x = cols; 551 rect->p1.y = rows; 552 } else { 553 return ENOTSUP; 554 } 555 556 return EOK; 557 } 558 526 559 /** Get clickmatic from UI. 527 560 * -
uspace/lib/ui/test/ui.c
r50a16d9 r3fd38b2 169 169 } 170 170 171 /** ui_is_get_rect() */ 172 PCUT_TEST(get_rect) 173 { 174 ui_t *ui = NULL; 175 gfx_rect_t rect; 176 errno_t rc; 177 178 rc = ui_create_disp(NULL, &ui); 179 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 180 PCUT_ASSERT_NOT_NULL(ui); 181 182 /* This won't work without a display service */ 183 rc = ui_get_rect(ui, &rect); 184 PCUT_ASSERT_ERRNO_VAL(ENOTSUP, rc); 185 186 ui_destroy(ui); 187 } 188 171 189 /** ui_lock(), ui_unlock() */ 172 190 PCUT_TEST(lock_unlock)
Note:
See TracChangeset
for help on using the changeset viewer.