Changes in uspace/lib/ui/test/slider.c [7470d97:1fa6292] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/test/slider.c
r7470d97 r1fa6292 1 1 /* 2 * Copyright (c) 202 1Jiri Svoboda2 * Copyright (c) 2022 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" 38 39 39 40 PCUT_INIT; 40 41 41 42 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_alloc62 };63 43 64 44 static void test_slider_moved(ui_slider_t *, void *, gfx_coord_t); … … 70 50 static ui_slider_cb_t dummy_slider_cb = { 71 51 }; 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;89 52 90 53 typedef struct { … … 99 62 errno_t rc; 100 63 101 rc = ui_slider_create(NULL, "Hello",&slider);64 rc = ui_slider_create(NULL, &slider); 102 65 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 103 66 PCUT_ASSERT_NOT_NULL(slider); … … 119 82 errno_t rc; 120 83 121 rc = ui_slider_create(NULL, "Hello",&slider);84 rc = ui_slider_create(NULL, &slider); 122 85 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 123 86 … … 135 98 errno_t rc; 136 99 137 rc = ui_slider_create(NULL, "Hello",&slider);100 rc = ui_slider_create(NULL, &slider); 138 101 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 139 102 … … 152 115 } 153 116 154 /** Paint slider */ 155 PCUT_TEST(paint) 156 { 157 errno_t rc; 158 gfx_context_t *gc = NULL; 159 test_gc_t tgc; 160 ui_resource_t *resource = NULL; 161 ui_slider_t *slider; 162 163 memset(&tgc, 0, sizeof(tgc)); 164 rc = gfx_context_new(&ops, &tgc, &gc); 165 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 166 167 rc = ui_resource_create(gc, false, &resource); 168 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 169 PCUT_ASSERT_NOT_NULL(resource); 170 171 rc = ui_slider_create(resource, "Hello", &slider); 172 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 173 174 rc = ui_slider_paint(slider); 117 /** Paint slider in graphics mode */ 118 PCUT_TEST(paint_gfx) 119 { 120 errno_t rc; 121 gfx_context_t *gc = NULL; 122 test_gc_t tgc; 123 ui_resource_t *resource = NULL; 124 ui_slider_t *slider; 125 126 memset(&tgc, 0, sizeof(tgc)); 127 rc = gfx_context_new(&ops, &tgc, &gc); 128 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 129 130 rc = ui_resource_create(gc, false, &resource); 131 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 132 PCUT_ASSERT_NOT_NULL(resource); 133 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); 175 168 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 176 169 … … 189 182 test_cb_resp_t resp; 190 183 191 rc = ui_slider_create(NULL, "Hello",&slider);184 rc = ui_slider_create(NULL, &slider); 192 185 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 193 186 … … 195 188 ui_slider_moved(slider, 42); 196 189 197 /* Moved with callback not implementing clicked */190 /* Moved with callback not implementing moved */ 198 191 ui_slider_set_cb(slider, &dummy_slider_cb, NULL); 199 192 ui_slider_moved(slider, 42); … … 230 223 PCUT_ASSERT_NOT_NULL(resource); 231 224 232 rc = ui_slider_create(resource, "Hello",&slider);225 rc = ui_slider_create(resource, &slider); 233 226 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 234 227 … … 286 279 PCUT_ASSERT_NOT_NULL(resource); 287 280 288 rc = ui_slider_create(resource, "Hello",&slider);281 rc = ui_slider_create(resource, &slider); 289 282 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 290 283 … … 350 343 PCUT_ASSERT_NOT_NULL(resource); 351 344 352 rc = ui_slider_create(resource, "Hello",&slider);345 rc = ui_slider_create(resource, &slider); 353 346 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 354 347 … … 411 404 PCUT_ASSERT_NOT_NULL(resource); 412 405 413 rc = ui_slider_create(resource, "Hello",&slider);406 rc = ui_slider_create(resource, &slider); 414 407 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 415 408 … … 432 425 } 433 426 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 523 427 static void test_slider_moved(ui_slider_t *slider, void *arg, gfx_coord_t pos) 524 428 {
Note:
See TracChangeset
for help on using the changeset viewer.