]> git.draconx.ca Git - liblbx.git/commitdiff
lbximg: Properly convert lbx_colour to png_color.
authorNick Bowler <nbowler@draconx.ca>
Sun, 7 Feb 2010 22:10:21 +0000 (17:10 -0500)
committerNick Bowler <nbowler@draconx.ca>
Mon, 8 Feb 2010 17:00:55 +0000 (12:00 -0500)
Now lbximg does not depend on these two libraries using the same
underlying palette representation.

src/lbximg.c

index 4b664b70d1876916f3029ba5f8636038b484e06b..1cf765d3ad699ea2ac86b36b2c4c35037203379c 100644 (file)
@@ -176,12 +176,19 @@ int outpng(unsigned int frameno,
                 * data to libpng and let it do its magic.
                 */
 
+               png_color png_palette[256];
+               for (unsigned i = 0; i < 256; i++) {
+                       png_palette[i].red   = palette[i].red;
+                       png_palette[i].green = palette[i].green;
+                       png_palette[i].blue  = palette[i].blue;
+               }
+
                png_set_IHDR(png, info, width, height, 8,
                             PNG_COLOR_TYPE_PALETTE, PNG_INTERLACE_NONE,
                             PNG_COMPRESSION_TYPE_DEFAULT,
                             PNG_FILTER_TYPE_DEFAULT);
                
-               png_set_PLTE(png, info, (png_colorp)palette, 256);
+               png_set_PLTE(png, info, png_palette, 256);
                png_set_rows(png, info, framedata);
                png_write_png(png, info, PNG_TRANSFORM_IDENTITY, NULL);
        } else {