Changes in uspace/lib/ui/test/slider.c [1fa6292:7470d97] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/test/slider.c
r1fa6292 r7470d97 1 1 /* 2 * Copyright (c) 202 2Jiri Svoboda2 * Copyright (c) 2021 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 36 36 #include <ui/resource.h> 37 37 #include "../private/slider.h" 38 #include "../private/testgc.h"39 38 40 39 PCUT_INIT; 41 40 42 41 PCUT_TEST_SUITE(slider); 42 43 static errno_t testgc_set_clip_rect(void *, gfx_rect_t *); 44 static errno_t testgc_set_color(void *, gfx_color_t *); 45 static errno_t testgc_fill_rect(void *, gfx_rect_t *); 46 static errno_t testgc_update(void *); 47 static errno_t testgc_bitmap_create(void *, gfx_bitmap_params_t *, 48 gfx_bitmap_alloc_t *, void **); 49 static errno_t testgc_bitmap_destroy(void *); 50 static errno_t testgc_bitmap_render(void *, gfx_rect_t *, gfx_coord2_t *); 51 static errno_t testgc_bitmap_get_alloc(void *, gfx_bitmap_alloc_t *); 52 53 static gfx_context_ops_t ops = { 54 .set_clip_rect = testgc_set_clip_rect, 55 .set_color = testgc_set_color, 56 .fill_rect = testgc_fill_rect, 57 .update = testgc_update, 58 .bitmap_create = testgc_bitmap_create, 59 .bitmap_destroy = testgc_bitmap_destroy, 60 .bitmap_render = testgc_bitmap_render, 61 .bitmap_get_alloc = testgc_bitmap_get_alloc 62 }; 43 63 44 64 static void test_slider_moved(ui_slider_t *, void *, gfx_coord_t); … … 50 70 static ui_slider_cb_t dummy_slider_cb = { 51 71 }; 72 73 typedef struct { 74 bool bm_created; 75 bool bm_destroyed; 76 gfx_bitmap_params_t bm_params; 77 void *bm_pixels; 78 gfx_rect_t bm_srect; 79 gfx_coord2_t bm_offs; 80 bool bm_rendered; 81 bool bm_got_alloc; 82 } test_gc_t; 83 84 typedef struct { 85 test_gc_t *tgc; 86 gfx_bitmap_alloc_t alloc; 87 bool myalloc; 88 } testgc_bitmap_t; 52 89 53 90 typedef struct { … … 62 99 errno_t rc; 63 100 64 rc = ui_slider_create(NULL, &slider);101 rc = ui_slider_create(NULL, "Hello", &slider); 65 102 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 66 103 PCUT_ASSERT_NOT_NULL(slider); … … 82 119 errno_t rc; 83 120 84 rc = ui_slider_create(NULL, &slider);121 rc = ui_slider_create(NULL, "Hello", &slider); 85 122 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 86 123 … … 98 135 errno_t rc; 99 136 100 rc = ui_slider_create(NULL, &slider);137 rc = ui_slider_create(NULL, "Hello", &slider); 101 138 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 102 139 … … 115 152 } 116 153 117 /** Paint slider in graphics mode*/118 PCUT_TEST(paint _gfx)154 /** Paint slider */ 155 PCUT_TEST(paint) 119 156 { 120 157 errno_t rc; … … 132 169 PCUT_ASSERT_NOT_NULL(resource); 133 170 134 rc = ui_slider_create(resource, &slider); 135 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 136 137 rc = ui_slider_paint_gfx(slider); 138 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 139 140 ui_slider_destroy(slider); 141 ui_resource_destroy(resource); 142 143 rc = gfx_context_delete(gc); 144 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 145 } 146 147 /** Paint slider in text mode */ 148 PCUT_TEST(paint_text) 149 { 150 errno_t rc; 151 gfx_context_t *gc = NULL; 152 test_gc_t tgc; 153 ui_resource_t *resource = NULL; 154 ui_slider_t *slider; 155 156 memset(&tgc, 0, sizeof(tgc)); 157 rc = gfx_context_new(&ops, &tgc, &gc); 158 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 159 160 rc = ui_resource_create(gc, false, &resource); 161 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 162 PCUT_ASSERT_NOT_NULL(resource); 163 164 rc = ui_slider_create(resource, &slider); 165 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 166 167 rc = ui_slider_paint_text(slider); 171 rc = ui_slider_create(resource, "Hello", &slider); 172 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 173 174 rc = ui_slider_paint(slider); 168 175 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 169 176 … … 182 189 test_cb_resp_t resp; 183 190 184 rc = ui_slider_create(NULL, &slider);191 rc = ui_slider_create(NULL, "Hello", &slider); 185 192 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 186 193 … … 188 195 ui_slider_moved(slider, 42); 189 196 190 /* Moved with callback not implementing moved */197 /* Moved with callback not implementing clicked */ 191 198 ui_slider_set_cb(slider, &dummy_slider_cb, NULL); 192 199 ui_slider_moved(slider, 42); … … 223 230 PCUT_ASSERT_NOT_NULL(resource); 224 231 225 rc = ui_slider_create(resource, &slider);232 rc = ui_slider_create(resource, "Hello", &slider); 226 233 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 227 234 … … 279 286 PCUT_ASSERT_NOT_NULL(resource); 280 287 281 rc = ui_slider_create(resource, &slider);288 rc = ui_slider_create(resource, "Hello", &slider); 282 289 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 283 290 … … 343 350 PCUT_ASSERT_NOT_NULL(resource); 344 351 345 rc = ui_slider_create(resource, &slider);352 rc = ui_slider_create(resource, "Hello", &slider); 346 353 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 347 354 … … 404 411 PCUT_ASSERT_NOT_NULL(resource); 405 412 406 rc = ui_slider_create(resource, &slider);413 rc = ui_slider_create(resource, "Hello", &slider); 407 414 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 408 415 … … 425 432 } 426 433 434 static errno_t testgc_set_clip_rect(void *arg, gfx_rect_t *rect) 435 { 436 (void) arg; 437 (void) rect; 438 return EOK; 439 } 440 441 static errno_t testgc_set_color(void *arg, gfx_color_t *color) 442 { 443 (void) arg; 444 (void) color; 445 return EOK; 446 } 447 448 static errno_t testgc_fill_rect(void *arg, gfx_rect_t *rect) 449 { 450 (void) arg; 451 (void) rect; 452 return EOK; 453 } 454 455 static errno_t testgc_update(void *arg) 456 { 457 (void) arg; 458 return EOK; 459 } 460 461 static errno_t testgc_bitmap_create(void *arg, gfx_bitmap_params_t *params, 462 gfx_bitmap_alloc_t *alloc, void **rbm) 463 { 464 test_gc_t *tgc = (test_gc_t *) arg; 465 testgc_bitmap_t *tbm; 466 467 tbm = calloc(1, sizeof(testgc_bitmap_t)); 468 if (tbm == NULL) 469 return ENOMEM; 470 471 if (alloc == NULL) { 472 tbm->alloc.pitch = (params->rect.p1.x - params->rect.p0.x) * 473 sizeof(uint32_t); 474 tbm->alloc.off0 = 0; 475 tbm->alloc.pixels = calloc(sizeof(uint32_t), 476 (params->rect.p1.x - params->rect.p0.x) * 477 (params->rect.p1.y - params->rect.p0.y)); 478 tbm->myalloc = true; 479 if (tbm->alloc.pixels == NULL) { 480 free(tbm); 481 return ENOMEM; 482 } 483 } else { 484 tbm->alloc = *alloc; 485 } 486 487 tbm->tgc = tgc; 488 tgc->bm_created = true; 489 tgc->bm_params = *params; 490 tgc->bm_pixels = tbm->alloc.pixels; 491 *rbm = (void *)tbm; 492 return EOK; 493 } 494 495 static errno_t testgc_bitmap_destroy(void *bm) 496 { 497 testgc_bitmap_t *tbm = (testgc_bitmap_t *)bm; 498 if (tbm->myalloc) 499 free(tbm->alloc.pixels); 500 tbm->tgc->bm_destroyed = true; 501 free(tbm); 502 return EOK; 503 } 504 505 static errno_t testgc_bitmap_render(void *bm, gfx_rect_t *srect, 506 gfx_coord2_t *offs) 507 { 508 testgc_bitmap_t *tbm = (testgc_bitmap_t *)bm; 509 tbm->tgc->bm_rendered = true; 510 tbm->tgc->bm_srect = *srect; 511 tbm->tgc->bm_offs = *offs; 512 return EOK; 513 } 514 515 static errno_t testgc_bitmap_get_alloc(void *bm, gfx_bitmap_alloc_t *alloc) 516 { 517 testgc_bitmap_t *tbm = (testgc_bitmap_t *)bm; 518 *alloc = tbm->alloc; 519 tbm->tgc->bm_got_alloc = true; 520 return EOK; 521 } 522 427 523 static void test_slider_moved(ui_slider_t *slider, void *arg, gfx_coord_t pos) 428 524 {
Note:
See TracChangeset
for help on using the changeset viewer.