Changeset f8375f7 in mainline for uspace/lib/memgfx/src/memgc.c
- Timestamp:
- 2020-05-30T17:16:39Z (5 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- dbef30f
- Parents:
- cea9f0c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/memgfx/src/memgc.c
rcea9f0c rf8375f7 123 123 * @param rect Bounding rectangle 124 124 * @param alloc Allocation info 125 * @param update_cb Function called to update a rectangle 126 * @param cb_arg Argument to callback function 125 127 * @param rgc Place to store pointer to new memory GC 126 128 * … … 128 130 */ 129 131 errno_t mem_gc_create(gfx_rect_t *rect, gfx_bitmap_alloc_t *alloc, 130 mem_gc_ t **rgc)132 mem_gc_update_cb_t update_cb, void *cb_arg, mem_gc_t **rgc) 131 133 { 132 134 mem_gc_t *mgc = NULL; … … 159 161 assert(alloc->pitch == rect->p1.x * (int)sizeof(uint32_t)); 160 162 161 mem_gc_clear_update_rect(mgc); 163 mgc->update = update_cb; 164 mgc->cb_arg = cb_arg; 162 165 163 166 *rgc = mgc; … … 198 201 static void mem_gc_invalidate_rect(mem_gc_t *mgc, gfx_rect_t *rect) 199 202 { 200 gfx_rect_t nrect; 201 202 gfx_rect_envelope(&mgc->upd_rect, rect, &nrect); 203 mgc->upd_rect = nrect; 204 } 205 206 void mem_gc_get_update_rect(mem_gc_t *mgc, gfx_rect_t *rect) 207 { 208 *rect = mgc->upd_rect; 209 } 210 211 void mem_gc_clear_update_rect(mem_gc_t *mgc) 212 { 213 mgc->upd_rect.p0.x = 0; 214 mgc->upd_rect.p0.y = 0; 215 mgc->upd_rect.p1.x = 0; 216 mgc->upd_rect.p1.y = 0; 203 mgc->update(mgc->cb_arg, rect); 217 204 } 218 205
Note:
See TracChangeset
for help on using the changeset viewer.