Ignore:
File:
1 edited

Legend:

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

    rbc52b5b r43ffecf  
    5757static errno_t mem_gc_bitmap_render(void *, gfx_rect_t *, gfx_coord2_t *);
    5858static errno_t mem_gc_bitmap_get_alloc(void *, gfx_bitmap_alloc_t *);
    59 static errno_t mem_gc_cursor_get_pos(void *, gfx_coord2_t *);
    60 static errno_t mem_gc_cursor_set_pos(void *, gfx_coord2_t *);
    61 static errno_t mem_gc_cursor_set_visible(void *, bool);
    6259static void mem_gc_invalidate_rect(mem_gc_t *, gfx_rect_t *);
    6360
     
    7067        .bitmap_destroy = mem_gc_bitmap_destroy,
    7168        .bitmap_render = mem_gc_bitmap_render,
    72         .bitmap_get_alloc = mem_gc_bitmap_get_alloc,
    73         .cursor_get_pos = mem_gc_cursor_get_pos,
    74         .cursor_set_pos = mem_gc_cursor_set_pos,
    75         .cursor_set_visible = mem_gc_cursor_set_visible
     69        .bitmap_get_alloc = mem_gc_bitmap_get_alloc
    7670};
    7771
     
    108102        mem_gc_t *mgc = (mem_gc_t *) arg;
    109103        uint16_t r, g, b;
    110         uint8_t attr;
    111104
    112105        gfx_color_get_rgb_i16(color, &r, &g, &b);
    113         gfx_color_get_ega(color, &attr);
    114         mgc->color = PIXEL(attr, r >> 8, g >> 8, b >> 8);
     106        mgc->color = PIXEL(0, r >> 8, g >> 8, b >> 8);
    115107        return EOK;
    116108}
     
    160152        mem_gc_t *mgc = (mem_gc_t *) arg;
    161153
    162         mgc->cb->update(mgc->cb_arg);
     154        mgc->update(mgc->cb_arg);
    163155        return EOK;
    164156}
     
    170162 * @param rect Bounding rectangle
    171163 * @param alloc Allocation info
    172  * @param cb Pointer to memory GC callbacks
    173  * @param cb_arg Argument to callback functions
     164 * @param update_cb Function called to update a rectangle
     165 * @param cb_arg Argument to callback function
    174166 * @param rgc Place to store pointer to new memory GC
    175167 *
     
    177169 */
    178170errno_t mem_gc_create(gfx_rect_t *rect, gfx_bitmap_alloc_t *alloc,
    179     mem_gc_cb_t *cb, void *cb_arg, mem_gc_t **rgc)
     171    mem_gc_invalidate_cb_t invalidate_cb, mem_gc_update_cb_t update_cb,
     172    void *cb_arg, mem_gc_t **rgc)
    180173{
    181174        mem_gc_t *mgc = NULL;
     
    198191        mgc->alloc = *alloc;
    199192
    200         mgc->cb = cb;
     193        mgc->invalidate = invalidate_cb;
     194        mgc->update = update_cb;
    201195        mgc->cb_arg = cb_arg;
    202196
     
    252246static void mem_gc_invalidate_rect(mem_gc_t *mgc, gfx_rect_t *rect)
    253247{
    254         mgc->cb->invalidate(mgc->cb_arg, rect);
     248        mgc->invalidate(mgc->cb_arg, rect);
    255249}
    256250
     
    470464}
    471465
    472 /** Get cursor position on memory GC.
    473  *
    474  * @param arg Memory GC
    475  * @param pos Place to store position
    476  *
    477  * @return EOK on success or an error code
    478  */
    479 static errno_t mem_gc_cursor_get_pos(void *arg, gfx_coord2_t *pos)
    480 {
    481         mem_gc_t *mgc = (mem_gc_t *) arg;
    482 
    483         if (mgc->cb->cursor_get_pos != NULL)
    484                 return mgc->cb->cursor_get_pos(mgc->cb_arg, pos);
    485         else
    486                 return ENOTSUP;
    487 }
    488 
    489 /** Set cursor position on memory GC.
    490  *
    491  * @param arg Memory GC
    492  * @param pos New position
    493  *
    494  * @return EOK on success or an error code
    495  */
    496 static errno_t mem_gc_cursor_set_pos(void *arg, gfx_coord2_t *pos)
    497 {
    498         mem_gc_t *mgc = (mem_gc_t *) arg;
    499 
    500         if (mgc->cb->cursor_set_pos != NULL)
    501                 return mgc->cb->cursor_set_pos(mgc->cb_arg, pos);
    502         else
    503                 return ENOTSUP;
    504 }
    505 
    506 /** Set cursor visibility on memory GC.
    507  *
    508  * @param arg Memory GC
    509  * @param visible @c true iff cursor should be made visible
    510  *
    511  * @return EOK on success or an error code
    512  */
    513 static errno_t mem_gc_cursor_set_visible(void *arg, bool visible)
    514 {
    515         mem_gc_t *mgc = (mem_gc_t *) arg;
    516 
    517         if (mgc->cb->cursor_set_visible != NULL)
    518                 return mgc->cb->cursor_set_visible(mgc->cb_arg, visible);
    519         else
    520                 return ENOTSUP;
    521 }
    522 
    523466/** @}
    524467 */
Note: See TracChangeset for help on using the changeset viewer.