Changeset 1215db9 in mainline for uspace/lib/memgfx/src/memgc.c
- Timestamp:
- 2021-06-26T23:30:18Z (3 years ago)
- Branches:
- master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e87415e6
- Parents:
- bb14312
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/memgfx/src/memgc.c
rbb14312 r1215db9 57 57 static errno_t mem_gc_bitmap_render(void *, gfx_rect_t *, gfx_coord2_t *); 58 58 static 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); 59 62 static void mem_gc_invalidate_rect(mem_gc_t *, gfx_rect_t *); 60 63 … … 67 70 .bitmap_destroy = mem_gc_bitmap_destroy, 68 71 .bitmap_render = mem_gc_bitmap_render, 69 .bitmap_get_alloc = mem_gc_bitmap_get_alloc 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 70 76 }; 71 77 … … 152 158 mem_gc_t *mgc = (mem_gc_t *) arg; 153 159 154 mgc-> update(mgc->cb_arg);160 mgc->cb->update(mgc->cb_arg); 155 161 return EOK; 156 162 } … … 162 168 * @param rect Bounding rectangle 163 169 * @param alloc Allocation info 164 * @param update_cb Function called to update a rectangle165 * @param cb_arg Argument to callback function 170 * @param cb Pointer to memory GC callbacks 171 * @param cb_arg Argument to callback functions 166 172 * @param rgc Place to store pointer to new memory GC 167 173 * … … 169 175 */ 170 176 errno_t mem_gc_create(gfx_rect_t *rect, gfx_bitmap_alloc_t *alloc, 171 mem_gc_invalidate_cb_t invalidate_cb, mem_gc_update_cb_t update_cb, 172 void *cb_arg, mem_gc_t **rgc) 177 mem_gc_cb_t *cb, void *cb_arg, mem_gc_t **rgc) 173 178 { 174 179 mem_gc_t *mgc = NULL; … … 191 196 mgc->alloc = *alloc; 192 197 193 mgc->invalidate = invalidate_cb; 194 mgc->update = update_cb; 198 mgc->cb = cb; 195 199 mgc->cb_arg = cb_arg; 196 200 … … 246 250 static void mem_gc_invalidate_rect(mem_gc_t *mgc, gfx_rect_t *rect) 247 251 { 248 mgc-> invalidate(mgc->cb_arg, rect);252 mgc->cb->invalidate(mgc->cb_arg, rect); 249 253 } 250 254 … … 464 468 } 465 469 470 /** Get cursor position on memory GC. 471 * 472 * @param arg Memory GC 473 * @param pos Place to store position 474 * 475 * @return EOK on success or an error code 476 */ 477 static errno_t mem_gc_cursor_get_pos(void *arg, gfx_coord2_t *pos) 478 { 479 mem_gc_t *mgc = (mem_gc_t *) arg; 480 481 if (mgc->cb->cursor_get_pos != NULL) 482 return mgc->cb->cursor_get_pos(mgc->cb_arg, pos); 483 else 484 return ENOTSUP; 485 } 486 487 /** Set cursor position on memory GC. 488 * 489 * @param arg Memory GC 490 * @param pos New position 491 * 492 * @return EOK on success or an error code 493 */ 494 static errno_t mem_gc_cursor_set_pos(void *arg, gfx_coord2_t *pos) 495 { 496 mem_gc_t *mgc = (mem_gc_t *) arg; 497 498 if (mgc->cb->cursor_set_pos != NULL) 499 return mgc->cb->cursor_set_pos(mgc->cb_arg, pos); 500 else 501 return ENOTSUP; 502 } 503 504 /** Set cursor visibility on memory GC. 505 * 506 * @param arg Memory GC 507 * @param visible @c true iff cursor should be made visible 508 * 509 * @return EOK on success or an error code 510 */ 511 static errno_t mem_gc_cursor_set_visible(void *arg, bool visible) 512 { 513 mem_gc_t *mgc = (mem_gc_t *) arg; 514 515 if (mgc->cb->cursor_set_visible != NULL) 516 return mgc->cb->cursor_set_visible(mgc->cb_arg, visible); 517 else 518 return ENOTSUP; 519 } 520 466 521 /** @} 467 522 */
Note:
See TracChangeset
for help on using the changeset viewer.