diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2014-04-26 19:07:45 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2014-04-26 19:07:45 -0400 |
commit | 3f949f8a9705972a4b61532602814b5b47d1a328 (patch) | |
tree | 1abe46ba981dbe2f0a4863afb20b32ead6646721 /libdimension/canvas.c | |
parent | 48d08d21106545d1f27a9fd5a787a12c9dcf7d7c (diff) | |
download | dimension-3f949f8a9705972a4b61532602814b5b47d1a328.tar.xz |
canvas: Avoid copying entire dmnsn_canvas_optimizer structs.
Diffstat (limited to 'libdimension/canvas.c')
-rw-r--r-- | libdimension/canvas.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libdimension/canvas.c b/libdimension/canvas.c index 8671402..c7c1994 100644 --- a/libdimension/canvas.c +++ b/libdimension/canvas.c @@ -60,9 +60,10 @@ dmnsn_delete_canvas(dmnsn_canvas *canvas) /* Set a canvas optimizer */ void -dmnsn_canvas_optimize(dmnsn_canvas *canvas, dmnsn_canvas_optimizer optimizer) +dmnsn_canvas_optimize(dmnsn_canvas *canvas, + const dmnsn_canvas_optimizer *optimizer) { - dmnsn_array_push(canvas->optimizers, &optimizer); + dmnsn_array_push(canvas->optimizers, optimizer); } /* Set the value of a pixel */ @@ -79,7 +80,7 @@ dmnsn_canvas_set_pixel(dmnsn_canvas *canvas, size_t x, size_t y, /* Call the optimizers */ DMNSN_ARRAY_FOREACH (dmnsn_canvas_optimizer *, i, canvas->optimizers) { - i->optimizer_fn(canvas, *i, x, y); + i->optimizer_fn(canvas, i->ptr, x, y); } } |