Changeset dcc4cb31 in mainline for uspace/lib/gfx/src/bitmap.c


Ignore:
Timestamp:
2019-10-17T23:20:18Z (6 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e0545de
Parents:
78a71936
Message:

Refine bitmap ops and add tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/gfx/src/bitmap.c

    r78a71936 rdcc4cb31  
    5555    gfx_bitmap_alloc_t *alloc, gfx_bitmap_t **rbitmap)
    5656{
    57         return gc->ops->bitmap_create(gc->arg, params, alloc, rbitmap);
     57        void *bm_priv;
     58        gfx_bitmap_t *bitmap;
     59        errno_t rc;
     60
     61        bitmap = calloc(1, sizeof(gfx_bitmap_t));
     62        if (bitmap == NULL)
     63                return ENOMEM;
     64
     65        rc = gc->ops->bitmap_create(gc->arg, params, alloc, &bm_priv);
     66        if (rc != EOK)
     67                return rc;
     68
     69        bitmap->gc = gc;
     70        bitmap->gc_priv = bm_priv;
     71        *rbitmap = bitmap;
     72        return EOK;
    5873}
    5974
    60 /** Delete bitmap from graphics context.
     75/** Destroy bitmap from graphics context.
    6176 *
    6277 * @param bitmap Bitmap
     
    6479 * @return EOK on success, EIO if grahic device connection was lost
    6580 */
    66 errno_t gfx_bitmap_delete(gfx_bitmap_t *bitmap)
     81errno_t gfx_bitmap_destroy(gfx_bitmap_t *bitmap)
    6782{
    68         return bitmap->gc->ops->bitmap_delete(bitmap->gc->arg, bitmap);
     83        errno_t rc;
     84
     85        rc = bitmap->gc->ops->bitmap_destroy(bitmap->gc_priv);
     86        if (rc != EOK)
     87                return rc;
     88
     89        free(bitmap);
     90        return EOK;
    6991}
    7092
     
    80102    gfx_coord2_t *offs)
    81103{
    82         return bitmap->gc->ops->bitmap_render(bitmap->gc->arg, bitmap,
    83             srect, offs);
     104        return bitmap->gc->ops->bitmap_render(bitmap->gc_priv, srect, offs);
    84105}
    85106
     
    93114errno_t gfx_bitmap_get_alloc(gfx_bitmap_t *bitmap, gfx_bitmap_alloc_t *alloc)
    94115{
    95         return bitmap->gc->ops->bitmap_get_alloc(bitmap->gc->arg, bitmap,
    96             alloc);
     116        return bitmap->gc->ops->bitmap_get_alloc(bitmap->gc_priv, alloc);
    97117}
    98118
Note: See TracChangeset for help on using the changeset viewer.