Changeset 8c772c4 in mainline for uspace/lib/ui/test/pbutton.c


Ignore:
Timestamp:
2020-11-07T22:12:12Z (4 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
3583ffb
Parents:
d55ab823
Message:

Create UI controls based on UI object instead of based on UI resource

We want to be a bit more generic. Better not expose UI resource
(at least not in this particular case).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ui/test/pbutton.c

    rd55ab823 r8c772c4  
    3434#include <ui/control.h>
    3535#include <ui/pbutton.h>
    36 #include <ui/resource.h>
     36#include <ui/ui.h>
    3737#include "../private/pbutton.h"
    3838
     
    4040
    4141PCUT_TEST_SUITE(pbutton);
    42 
    43 static errno_t testgc_set_color(void *, gfx_color_t *);
    44 static errno_t testgc_fill_rect(void *, gfx_rect_t *);
    45 static errno_t testgc_bitmap_create(void *, gfx_bitmap_params_t *,
    46     gfx_bitmap_alloc_t *, void **);
    47 static errno_t testgc_bitmap_destroy(void *);
    48 static errno_t testgc_bitmap_render(void *, gfx_rect_t *, gfx_coord2_t *);
    49 static errno_t testgc_bitmap_get_alloc(void *, gfx_bitmap_alloc_t *);
    50 
    51 static gfx_context_ops_t ops = {
    52         .set_color = testgc_set_color,
    53         .fill_rect = testgc_fill_rect,
    54         .bitmap_create = testgc_bitmap_create,
    55         .bitmap_destroy = testgc_bitmap_destroy,
    56         .bitmap_render = testgc_bitmap_render,
    57         .bitmap_get_alloc = testgc_bitmap_get_alloc
    58 };
    5942
    6043static void test_pbutton_clicked(ui_pbutton_t *, void *);
     
    6649static ui_pbutton_cb_t dummy_pbutton_cb = {
    6750};
    68 
    69 typedef struct {
    70         bool bm_created;
    71         bool bm_destroyed;
    72         gfx_bitmap_params_t bm_params;
    73         void *bm_pixels;
    74         gfx_rect_t bm_srect;
    75         gfx_coord2_t bm_offs;
    76         bool bm_rendered;
    77         bool bm_got_alloc;
    78 } test_gc_t;
    79 
    80 typedef struct {
    81         test_gc_t *tgc;
    82         gfx_bitmap_alloc_t alloc;
    83         bool myalloc;
    84 } testgc_bitmap_t;
    8551
    8652typedef struct {
     
    169135{
    170136        errno_t rc;
    171         gfx_context_t *gc = NULL;
    172         test_gc_t tgc;
    173         ui_resource_t *resource = NULL;
    174         ui_pbutton_t *pbutton;
    175 
    176         memset(&tgc, 0, sizeof(tgc));
    177         rc = gfx_context_new(&ops, &tgc, &gc);
    178         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    179 
    180         rc = ui_resource_create(gc, &resource);
    181         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    182         PCUT_ASSERT_NOT_NULL(resource);
    183 
    184         rc = ui_pbutton_create(resource, "Hello", &pbutton);
     137        ui_t *ui;
     138        ui_pbutton_t *pbutton;
     139
     140        rc = ui_create_disp(NULL, &ui);
     141        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     142
     143        rc = ui_pbutton_create(ui, "Hello", &pbutton);
    185144        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    186145
     
    189148
    190149        ui_pbutton_destroy(pbutton);
    191         ui_resource_destroy(resource);
    192 
    193         rc = gfx_context_delete(gc);
    194         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     150        ui_destroy(ui);
    195151}
    196152
     
    225181{
    226182        errno_t rc;
    227         gfx_context_t *gc = NULL;
    228         test_gc_t tgc;
    229         ui_resource_t *resource = NULL;
     183        ui_t *ui;
    230184        ui_pbutton_t *pbutton;
    231185        test_cb_resp_t resp;
    232186
    233         memset(&tgc, 0, sizeof(tgc));
    234         rc = gfx_context_new(&ops, &tgc, &gc);
    235         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    236 
    237         rc = ui_resource_create(gc, &resource);
    238         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    239         PCUT_ASSERT_NOT_NULL(resource);
    240 
    241         rc = ui_pbutton_create(resource, "Hello", &pbutton);
     187        rc = ui_create_disp(NULL, &ui);
     188        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     189
     190        rc = ui_pbutton_create(ui, "Hello", &pbutton);
    242191        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    243192
     
    259208
    260209        ui_pbutton_destroy(pbutton);
    261         ui_resource_destroy(resource);
    262 
    263         rc = gfx_context_delete(gc);
    264         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     210        ui_destroy(ui);
    265211}
    266212
     
    269215{
    270216        errno_t rc;
    271         gfx_context_t *gc = NULL;
    272         test_gc_t tgc;
    273         ui_resource_t *resource = NULL;
     217        ui_t *ui;
    274218        ui_pbutton_t *pbutton;
    275219        test_cb_resp_t resp;
    276220
    277         memset(&tgc, 0, sizeof(tgc));
    278         rc = gfx_context_new(&ops, &tgc, &gc);
    279         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    280 
    281         rc = ui_resource_create(gc, &resource);
    282         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    283         PCUT_ASSERT_NOT_NULL(resource);
    284 
    285         rc = ui_pbutton_create(resource, "Hello", &pbutton);
     221        rc = ui_create_disp(NULL, &ui);
     222        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     223
     224        rc = ui_pbutton_create(ui, "Hello", &pbutton);
    286225        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    287226
     
    308247
    309248        ui_pbutton_destroy(pbutton);
    310         ui_resource_destroy(resource);
    311 
    312         rc = gfx_context_delete(gc);
    313         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     249        ui_destroy(ui);
    314250}
    315251
     
    318254{
    319255        errno_t rc;
    320         gfx_context_t *gc = NULL;
    321         test_gc_t tgc;
    322         ui_resource_t *resource = NULL;
     256        ui_t *ui;
    323257        ui_pbutton_t *pbutton;
    324258        test_cb_resp_t resp;
    325259
    326         memset(&tgc, 0, sizeof(tgc));
    327         rc = gfx_context_new(&ops, &tgc, &gc);
    328         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    329 
    330         rc = ui_resource_create(gc, &resource);
    331         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    332         PCUT_ASSERT_NOT_NULL(resource);
    333 
    334         rc = ui_pbutton_create(resource, "Hello", &pbutton);
     260        rc = ui_create_disp(NULL, &ui);
     261        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     262
     263        rc = ui_pbutton_create(ui, "Hello", &pbutton);
    335264        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    336265
     
    362291
    363292        ui_pbutton_destroy(pbutton);
    364         ui_resource_destroy(resource);
    365 
    366         rc = gfx_context_delete(gc);
    367         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     293        ui_destroy(ui);
    368294}
    369295
     
    372298{
    373299        errno_t rc;
    374         gfx_context_t *gc = NULL;
    375         test_gc_t tgc;
    376         ui_resource_t *resource = NULL;
     300        ui_t *ui;
    377301        ui_pbutton_t *pbutton;
    378302        ui_evclaim_t claim;
     
    380304        gfx_rect_t rect;
    381305
    382         memset(&tgc, 0, sizeof(tgc));
    383         rc = gfx_context_new(&ops, &tgc, &gc);
    384         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    385 
    386         rc = ui_resource_create(gc, &resource);
    387         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    388         PCUT_ASSERT_NOT_NULL(resource);
    389 
    390         rc = ui_pbutton_create(resource, "Hello", &pbutton);
     306        rc = ui_create_disp(NULL, &ui);
     307        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     308
     309        rc = ui_pbutton_create(ui, "Hello", &pbutton);
    391310        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    392311
     
    424343
    425344        ui_pbutton_destroy(pbutton);
    426         ui_resource_destroy(resource);
    427 
    428         rc = gfx_context_delete(gc);
    429         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     345        ui_destroy(ui);
    430346}
    431347
     
    434350{
    435351        errno_t rc;
    436         gfx_context_t *gc = NULL;
    437         test_gc_t tgc;
    438         ui_resource_t *resource = NULL;
     352        ui_t *ui;
    439353        ui_pbutton_t *pbutton;
    440354        pos_event_t event;
    441355        gfx_rect_t rect;
    442356
    443         memset(&tgc, 0, sizeof(tgc));
    444         rc = gfx_context_new(&ops, &tgc, &gc);
    445         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    446 
    447         rc = ui_resource_create(gc, &resource);
    448         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    449         PCUT_ASSERT_NOT_NULL(resource);
    450 
    451         rc = ui_pbutton_create(resource, "Hello", &pbutton);
     357        rc = ui_create_disp(NULL, &ui);
     358        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     359
     360        rc = ui_pbutton_create(ui, "Hello", &pbutton);
    452361        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    453362
     
    482391
    483392        ui_pbutton_destroy(pbutton);
    484         ui_resource_destroy(resource);
    485 
    486         rc = gfx_context_delete(gc);
    487         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    488 }
    489 
    490 static errno_t testgc_set_color(void *arg, gfx_color_t *color)
    491 {
    492         (void) arg;
    493         (void) color;
    494         return EOK;
    495 }
    496 
    497 static errno_t testgc_fill_rect(void *arg, gfx_rect_t *rect)
    498 {
    499         (void) arg;
    500         (void) rect;
    501         return EOK;
    502 }
    503 
    504 static errno_t testgc_bitmap_create(void *arg, gfx_bitmap_params_t *params,
    505     gfx_bitmap_alloc_t *alloc, void **rbm)
    506 {
    507         test_gc_t *tgc = (test_gc_t *) arg;
    508         testgc_bitmap_t *tbm;
    509 
    510         tbm = calloc(1, sizeof(testgc_bitmap_t));
    511         if (tbm == NULL)
    512                 return ENOMEM;
    513 
    514         if (alloc == NULL) {
    515                 tbm->alloc.pitch = (params->rect.p1.x - params->rect.p0.x) *
    516                     sizeof(uint32_t);
    517                 tbm->alloc.off0 = 0;
    518                 tbm->alloc.pixels = calloc(sizeof(uint32_t),
    519                     (params->rect.p1.x - params->rect.p0.x) *
    520                     (params->rect.p1.y - params->rect.p0.y));
    521                 tbm->myalloc = true;
    522                 if (tbm->alloc.pixels == NULL) {
    523                         free(tbm);
    524                         return ENOMEM;
    525                 }
    526         } else {
    527                 tbm->alloc = *alloc;
    528         }
    529 
    530         tbm->tgc = tgc;
    531         tgc->bm_created = true;
    532         tgc->bm_params = *params;
    533         tgc->bm_pixels = tbm->alloc.pixels;
    534         *rbm = (void *)tbm;
    535         return EOK;
    536 }
    537 
    538 static errno_t testgc_bitmap_destroy(void *bm)
    539 {
    540         testgc_bitmap_t *tbm = (testgc_bitmap_t *)bm;
    541         if (tbm->myalloc)
    542                 free(tbm->alloc.pixels);
    543         tbm->tgc->bm_destroyed = true;
    544         free(tbm);
    545         return EOK;
    546 }
    547 
    548 static errno_t testgc_bitmap_render(void *bm, gfx_rect_t *srect,
    549     gfx_coord2_t *offs)
    550 {
    551         testgc_bitmap_t *tbm = (testgc_bitmap_t *)bm;
    552         tbm->tgc->bm_rendered = true;
    553         tbm->tgc->bm_srect = *srect;
    554         tbm->tgc->bm_offs = *offs;
    555         return EOK;
    556 }
    557 
    558 static errno_t testgc_bitmap_get_alloc(void *bm, gfx_bitmap_alloc_t *alloc)
    559 {
    560         testgc_bitmap_t *tbm = (testgc_bitmap_t *)bm;
    561         *alloc = tbm->alloc;
    562         tbm->tgc->bm_got_alloc = true;
    563         return EOK;
     393        ui_destroy(ui);
    564394}
    565395
Note: See TracChangeset for help on using the changeset viewer.