Changeset 9c7dc8e in mainline for uspace/lib
- Timestamp:
- 2021-03-01T10:50:25Z (4 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- cd74fa8
- Parents:
- 77ffa01
- git-author:
- Jiri Svoboda <jiri@…> (2021-02-28 10:50:05)
- git-committer:
- Jiri Svoboda <jiri@…> (2021-03-01 10:50:25)
- Location:
- uspace/lib/ui
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/include/ui/resource.h
r77ffa01 r9c7dc8e 39 39 #include <errno.h> 40 40 #include <gfx/context.h> 41 #include <stdbool.h> 41 42 #include <types/ui/resource.h> 42 43 43 extern errno_t ui_resource_create(gfx_context_t *, ui_resource_t **);44 extern errno_t ui_resource_create(gfx_context_t *, bool, ui_resource_t **); 44 45 extern void ui_resource_destroy(ui_resource_t *); 45 46 -
uspace/lib/ui/include/ui/ui.h
r77ffa01 r9c7dc8e 40 40 #include <errno.h> 41 41 #include <io/console.h> 42 #include <stdbool.h> 42 43 #include <types/ui/ui.h> 43 44 … … 48 49 extern void ui_quit(ui_t *); 49 50 extern void ui_run(ui_t *); 51 extern bool ui_is_textmode(ui_t *); 50 52 51 53 #endif -
uspace/lib/ui/private/resource.h
r77ffa01 r9c7dc8e 42 42 #include <gfx/font.h> 43 43 #include <gfx/typeface.h> 44 #include <stdbool.h> 44 45 45 46 /** Actual structure of UI resources. … … 54 55 /** Font */ 55 56 gfx_font_t *font; 57 /** Text mode */ 58 bool textmode; 56 59 57 60 /** Button frame color */ -
uspace/lib/ui/src/entry.c
r77ffa01 r9c7dc8e 46 46 #include <ui/paint.h> 47 47 #include <ui/entry.h> 48 #include <ui/ui.h> 48 49 #include "../private/entry.h" 49 50 #include "../private/resource.h" … … 55 56 enum { 56 57 ui_entry_hpad = 4, 57 ui_entry_vpad = 4 58 ui_entry_vpad = 4, 59 ui_entry_hpad_text = 1, 60 ui_entry_vpad_text = 0 58 61 }; 59 62 … … 173 176 gfx_text_fmt_t fmt; 174 177 gfx_coord2_t pos; 178 gfx_coord_t hpad; 179 gfx_coord_t vpad; 175 180 gfx_rect_t inside; 176 181 errno_t rc; 182 183 if (entry->res->textmode) { 184 hpad = ui_entry_hpad_text; 185 vpad = ui_entry_vpad_text; 186 } else { 187 hpad = ui_entry_hpad; 188 vpad = ui_entry_vpad; 189 } 177 190 178 191 /* Paint inset frame */ … … 195 208 case gfx_halign_left: 196 209 case gfx_halign_justify: 197 pos.x = inside.p0.x + ui_entry_hpad;210 pos.x = inside.p0.x + hpad; 198 211 break; 199 212 case gfx_halign_center: … … 201 214 break; 202 215 case gfx_halign_right: 203 pos.x = inside.p1.x - ui_entry_hpad;216 pos.x = inside.p1.x - hpad; 204 217 break; 205 218 } 206 219 207 pos.y = inside.p0.y + ui_entry_vpad;220 pos.y = inside.p0.y + vpad; 208 221 209 222 gfx_text_fmt_init(&fmt); -
uspace/lib/ui/src/resource.c
r77ffa01 r9c7dc8e 50 50 * 51 51 * @param gc Graphic context 52 * @param textmode @c true if running in text mode 52 53 * @param rresource Place to store pointer to new UI resource 53 54 * @return EOK on success, ENOMEM if out of memory 54 55 */ 55 errno_t ui_resource_create(gfx_context_t *gc, ui_resource_t **rresource) 56 errno_t ui_resource_create(gfx_context_t *gc, bool textmode, 57 ui_resource_t **rresource) 56 58 { 57 59 ui_resource_t *resource; … … 83 85 return ENOMEM; 84 86 85 rc = gfx_typeface_open(gc, ui_typeface_path, &tface); 86 if (rc != EOK) 87 goto error; 88 89 finfo = gfx_typeface_first_font(tface); 90 if (finfo == NULL) { 91 rc = EIO; 92 goto error; 87 if (textmode) { 88 /* Create dummy font for text mode */ 89 rc = gfx_typeface_create(gc, &tface); 90 if (rc != EOK) 91 goto error; 92 93 rc = gfx_font_create_textmode(tface, &font); 94 if (rc != EOK) 95 goto error; 96 } else { 97 rc = gfx_typeface_open(gc, ui_typeface_path, &tface); 98 if (rc != EOK) 99 goto error; 100 101 finfo = gfx_typeface_first_font(tface); 102 if (finfo == NULL) { 103 rc = EIO; 104 goto error; 105 } 106 107 rc = gfx_font_open(finfo, &font); 108 if (rc != EOK) 109 goto error; 93 110 } 94 95 rc = gfx_font_open(finfo, &font);96 if (rc != EOK)97 goto error;98 111 99 112 rc = gfx_color_new_rgb_i16(0, 0, 0, &btn_frame_color); … … 177 190 resource->tface = tface; 178 191 resource->font = font; 192 resource->textmode = textmode; 179 193 180 194 resource->btn_frame_color = btn_frame_color; -
uspace/lib/ui/src/ui.c
r77ffa01 r9c7dc8e 254 254 } 255 255 256 /** Determine if we are running in text mode. 257 * 258 * @param ui User interface 259 * @return @c true iff we are running in text mode 260 */ 261 bool ui_is_textmode(ui_t *ui) 262 { 263 /* 264 * XXX Currently console is always text and display is always 265 * graphics, but this need not always be true. 266 */ 267 return (ui->console != NULL); 268 } 269 256 270 /** @} 257 271 */ -
uspace/lib/ui/src/window.c
r77ffa01 r9c7dc8e 47 47 #include <ui/control.h> 48 48 #include <ui/resource.h> 49 #include <ui/ui.h> 49 50 #include <ui/wdecor.h> 50 51 #include <ui/window.h> … … 255 256 window->gc = gc; 256 257 #endif 257 rc = ui_resource_create(window->gc, &res);258 rc = ui_resource_create(window->gc, ui_is_textmode(ui), &res); 258 259 if (rc != EOK) 259 260 goto error; -
uspace/lib/ui/test/checkbox.c
r77ffa01 r9c7dc8e 160 160 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 161 161 162 rc = ui_resource_create(gc, &resource);162 rc = ui_resource_create(gc, false, &resource); 163 163 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 164 164 PCUT_ASSERT_NOT_NULL(resource); … … 217 217 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 218 218 219 rc = ui_resource_create(gc, &resource);219 rc = ui_resource_create(gc, false, &resource); 220 220 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 221 221 PCUT_ASSERT_NOT_NULL(resource); … … 264 264 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 265 265 266 rc = ui_resource_create(gc, &resource);266 rc = ui_resource_create(gc, false, &resource); 267 267 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 268 268 PCUT_ASSERT_NOT_NULL(resource); … … 316 316 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 317 317 318 rc = ui_resource_create(gc, &resource);318 rc = ui_resource_create(gc, false, &resource); 319 319 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 320 320 PCUT_ASSERT_NOT_NULL(resource); … … 377 377 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 378 378 379 rc = ui_resource_create(gc, &resource);379 rc = ui_resource_create(gc, false, &resource); 380 380 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 381 381 PCUT_ASSERT_NOT_NULL(resource); … … 438 438 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 439 439 440 rc = ui_resource_create(gc, &resource);440 rc = ui_resource_create(gc, false, &resource); 441 441 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 442 442 PCUT_ASSERT_NOT_NULL(resource); -
uspace/lib/ui/test/entry.c
r77ffa01 r9c7dc8e 192 192 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 193 193 194 rc = ui_resource_create(gc, &resource);194 rc = ui_resource_create(gc, false, &resource); 195 195 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 196 196 PCUT_ASSERT_NOT_NULL(resource); -
uspace/lib/ui/test/label.c
r77ffa01 r9c7dc8e 192 192 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 193 193 194 rc = ui_resource_create(gc, &resource);194 rc = ui_resource_create(gc, false, &resource); 195 195 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 196 196 PCUT_ASSERT_NOT_NULL(resource); -
uspace/lib/ui/test/paint.c
r77ffa01 r9c7dc8e 122 122 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 123 123 124 rc = ui_resource_create(gc, &resource);124 rc = ui_resource_create(gc, false, &resource); 125 125 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 126 126 PCUT_ASSERT_NOT_NULL(resource); -
uspace/lib/ui/test/pbutton.c
r77ffa01 r9c7dc8e 178 178 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 179 179 180 rc = ui_resource_create(gc, &resource);180 rc = ui_resource_create(gc, false, &resource); 181 181 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 182 182 PCUT_ASSERT_NOT_NULL(resource); … … 235 235 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 236 236 237 rc = ui_resource_create(gc, &resource);237 rc = ui_resource_create(gc, false, &resource); 238 238 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 239 239 PCUT_ASSERT_NOT_NULL(resource); … … 279 279 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 280 280 281 rc = ui_resource_create(gc, &resource);281 rc = ui_resource_create(gc, false, &resource); 282 282 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 283 283 PCUT_ASSERT_NOT_NULL(resource); … … 328 328 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 329 329 330 rc = ui_resource_create(gc, &resource);330 rc = ui_resource_create(gc, false, &resource); 331 331 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 332 332 PCUT_ASSERT_NOT_NULL(resource); … … 384 384 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 385 385 386 rc = ui_resource_create(gc, &resource);386 rc = ui_resource_create(gc, false, &resource); 387 387 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 388 388 PCUT_ASSERT_NOT_NULL(resource); … … 445 445 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 446 446 447 rc = ui_resource_create(gc, &resource);447 rc = ui_resource_create(gc, false, &resource); 448 448 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 449 449 PCUT_ASSERT_NOT_NULL(resource); -
uspace/lib/ui/test/rbutton.c
r77ffa01 r9c7dc8e 176 176 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 177 177 178 rc = ui_resource_create(gc, &resource);178 rc = ui_resource_create(gc, false, &resource); 179 179 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 180 180 PCUT_ASSERT_NOT_NULL(resource); … … 244 244 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 245 245 246 rc = ui_resource_create(gc, &resource);246 rc = ui_resource_create(gc, false, &resource); 247 247 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 248 248 PCUT_ASSERT_NOT_NULL(resource); … … 303 303 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 304 304 305 rc = ui_resource_create(gc, &resource);305 rc = ui_resource_create(gc, false, &resource); 306 306 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 307 307 PCUT_ASSERT_NOT_NULL(resource); … … 368 368 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 369 369 370 rc = ui_resource_create(gc, &resource);370 rc = ui_resource_create(gc, false, &resource); 371 371 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 372 372 PCUT_ASSERT_NOT_NULL(resource); … … 440 440 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 441 441 442 rc = ui_resource_create(gc, &resource);442 rc = ui_resource_create(gc, false, &resource); 443 443 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 444 444 PCUT_ASSERT_NOT_NULL(resource); … … 506 506 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 507 507 508 rc = ui_resource_create(gc, &resource);508 rc = ui_resource_create(gc, false, &resource); 509 509 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 510 510 PCUT_ASSERT_NOT_NULL(resource); -
uspace/lib/ui/test/resource.c
r77ffa01 r9c7dc8e 80 80 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 81 81 82 rc = ui_resource_create(gc, &resource);82 rc = ui_resource_create(gc, false, &resource); 83 83 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 84 84 PCUT_ASSERT_NOT_NULL(resource); -
uspace/lib/ui/test/slider.c
r77ffa01 r9c7dc8e 161 161 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 162 162 163 rc = ui_resource_create(gc, &resource);163 rc = ui_resource_create(gc, false, &resource); 164 164 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 165 165 PCUT_ASSERT_NOT_NULL(resource); … … 222 222 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 223 223 224 rc = ui_resource_create(gc, &resource);224 rc = ui_resource_create(gc, false, &resource); 225 225 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 226 226 PCUT_ASSERT_NOT_NULL(resource); … … 278 278 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 279 279 280 rc = ui_resource_create(gc, &resource);280 rc = ui_resource_create(gc, false, &resource); 281 281 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 282 282 PCUT_ASSERT_NOT_NULL(resource); … … 342 342 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 343 343 344 rc = ui_resource_create(gc, &resource);344 rc = ui_resource_create(gc, false, &resource); 345 345 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 346 346 PCUT_ASSERT_NOT_NULL(resource); … … 403 403 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 404 404 405 rc = ui_resource_create(gc, &resource);405 rc = ui_resource_create(gc, false, &resource); 406 406 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 407 407 PCUT_ASSERT_NOT_NULL(resource); -
uspace/lib/ui/test/wdecor.c
r77ffa01 r9c7dc8e 177 177 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 178 178 179 rc = ui_resource_create(gc, &resource);179 rc = ui_resource_create(gc, false, &resource); 180 180 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 181 181 PCUT_ASSERT_NOT_NULL(resource);
Note:
See TracChangeset
for help on using the changeset viewer.