Changes in uspace/lib/memgfx/src/memgc.c [43ffecf:bc52b5b] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/memgfx/src/memgc.c
r43ffecf rbc52b5b 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 … … 102 108 mem_gc_t *mgc = (mem_gc_t *) arg; 103 109 uint16_t r, g, b; 110 uint8_t attr; 104 111 105 112 gfx_color_get_rgb_i16(color, &r, &g, &b); 106 mgc->color = PIXEL(0, r >> 8, g >> 8, b >> 8); 113 gfx_color_get_ega(color, &attr); 114 mgc->color = PIXEL(attr, r >> 8, g >> 8, b >> 8); 107 115 return EOK; 108 116 } … … 152 160 mem_gc_t *mgc = (mem_gc_t *) arg; 153 161 154 mgc-> update(mgc->cb_arg);162 mgc->cb->update(mgc->cb_arg); 155 163 return EOK; 156 164 } … … 162 170 * @param rect Bounding rectangle 163 171 * @param alloc Allocation info 164 * @param update_cb Function called to update a rectangle165 * @param cb_arg Argument to callback function 172 * @param cb Pointer to memory GC callbacks 173 * @param cb_arg Argument to callback functions 166 174 * @param rgc Place to store pointer to new memory GC 167 175 * … … 169 177 */ 170 178 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) 179 mem_gc_cb_t *cb, void *cb_arg, mem_gc_t **rgc) 173 180 { 174 181 mem_gc_t *mgc = NULL; … … 191 198 mgc->alloc = *alloc; 192 199 193 mgc->invalidate = invalidate_cb; 194 mgc->update = update_cb; 200 mgc->cb = cb; 195 201 mgc->cb_arg = cb_arg; 196 202 … … 246 252 static void mem_gc_invalidate_rect(mem_gc_t *mgc, gfx_rect_t *rect) 247 253 { 248 mgc-> invalidate(mgc->cb_arg, rect);254 mgc->cb->invalidate(mgc->cb_arg, rect); 249 255 } 250 256 … … 464 470 } 465 471 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 466 523 /** @} 467 524 */
Note:
See TracChangeset
for help on using the changeset viewer.