Changeset 2ab8ab3 in mainline for uspace/lib/memgfx/src/memgc.c


Ignore:
Timestamp:
2021-02-16T18:12:05Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
68a552f
Parents:
ef734b7
Message:

Client-side UI rendering

It is possible to turn on and off and if turned on, one can also
enable or disable window double buffering (currently both options
are build-time).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/memgfx/src/memgc.c

    ref734b7 r2ab8ab3  
    11/*
    2  * Copyright (c) 2020 Jiri Svoboda
     2 * Copyright (c) 2021 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    5050static errno_t mem_gc_set_color(void *, gfx_color_t *);
    5151static errno_t mem_gc_fill_rect(void *, gfx_rect_t *);
     52static errno_t mem_gc_update(void *);
    5253static errno_t mem_gc_bitmap_create(void *, gfx_bitmap_params_t *,
    5354    gfx_bitmap_alloc_t *, void **);
     
    6061        .set_color = mem_gc_set_color,
    6162        .fill_rect = mem_gc_fill_rect,
     63        .update = mem_gc_update,
    6264        .bitmap_create = mem_gc_bitmap_create,
    6365        .bitmap_destroy = mem_gc_bitmap_destroy,
     
    119121}
    120122
     123/** Update memory GC.
     124 *
     125 * @param arg Memory GC
     126 *
     127 * @return EOK on success or an error code
     128 */
     129static errno_t mem_gc_update(void *arg)
     130{
     131        mem_gc_t *mgc = (mem_gc_t *) arg;
     132
     133        mgc->update(mgc->cb_arg);
     134        return EOK;
     135}
     136
    121137/** Create memory GC.
    122138 *
     
    132148 */
    133149errno_t mem_gc_create(gfx_rect_t *rect, gfx_bitmap_alloc_t *alloc,
    134     mem_gc_update_cb_t update_cb, void *cb_arg, mem_gc_t **rgc)
     150    mem_gc_invalidate_cb_t invalidate_cb, mem_gc_update_cb_t update_cb,
     151    void *cb_arg, mem_gc_t **rgc)
    135152{
    136153        mem_gc_t *mgc = NULL;
     
    152169        mgc->alloc = *alloc;
    153170
     171        mgc->invalidate = invalidate_cb;
    154172        mgc->update = update_cb;
    155173        mgc->cb_arg = cb_arg;
     
    205223static void mem_gc_invalidate_rect(mem_gc_t *mgc, gfx_rect_t *rect)
    206224{
    207         mgc->update(mgc->cb_arg, rect);
     225        mgc->invalidate(mgc->cb_arg, rect);
    208226}
    209227
Note: See TracChangeset for help on using the changeset viewer.