summaryrefslogtreecommitdiffstats
path: root/libdimension/rgba16.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2014-04-26 19:07:45 -0400
committerTavian Barnes <tavianator@tavianator.com>2014-04-26 19:07:45 -0400
commit3f949f8a9705972a4b61532602814b5b47d1a328 (patch)
tree1abe46ba981dbe2f0a4863afb20b32ead6646721 /libdimension/rgba16.c
parent48d08d21106545d1f27a9fd5a787a12c9dcf7d7c (diff)
downloaddimension-3f949f8a9705972a4b61532602814b5b47d1a328.tar.xz
canvas: Avoid copying entire dmnsn_canvas_optimizer structs.
Diffstat (limited to 'libdimension/rgba16.c')
-rw-r--r--libdimension/rgba16.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libdimension/rgba16.c b/libdimension/rgba16.c
index 2c7a8d5..2198677 100644
--- a/libdimension/rgba16.c
+++ b/libdimension/rgba16.c
@@ -41,15 +41,15 @@ dmnsn_rgba16_optimize_canvas(dmnsn_canvas *canvas)
optimizer.free_fn = dmnsn_free;
optimizer.ptr = dmnsn_malloc(4*canvas->width*canvas->height*sizeof(uint16_t));
- dmnsn_canvas_optimize(canvas, optimizer);
+ dmnsn_canvas_optimize(canvas, &optimizer);
}
-/* PNG optimizer callback */
+/* RGBA16 optimizer callback */
void
-dmnsn_rgba16_optimizer_fn(const dmnsn_canvas *canvas,
- dmnsn_canvas_optimizer optimizer, size_t x, size_t y)
+dmnsn_rgba16_optimizer_fn(const dmnsn_canvas *canvas, void *ptr,
+ size_t x, size_t y)
{
- uint16_t *pixel = (uint16_t *)optimizer.ptr + 4*(y*canvas->width + x);
+ uint16_t *pixel = (uint16_t *)ptr + 4*(y*canvas->width + x);
dmnsn_tcolor tcolor = dmnsn_canvas_get_pixel(canvas, x, y);
tcolor = dmnsn_tcolor_remove_filter(tcolor);
tcolor.c = dmnsn_color_to_sRGB(tcolor.c);