more constness for pt_png
authorTero Marttila <terom@fixme.fi>
Mon, 25 Jan 2010 02:43:05 +0200
changeset 70 35515b3a82b7
parent 69 1d188aa94aee
child 71 01b021e406e9
more constness for pt_png
src/lib/png.c
src/lib/png.h
--- a/src/lib/png.c	Mon Jan 25 02:40:19 2010 +0200
+++ b/src/lib/png.c	Mon Jan 25 02:43:05 2010 +0200
@@ -268,7 +268,7 @@
 /**
  * Return a pointer to the pixel data on \a row, starting at \a col.
  */
-static inline void* tile_row_col (const struct pt_png_header *header, uint8_t *data, size_t row, size_t col)
+static inline const void* tile_row_col (const struct pt_png_header *header, const uint8_t *data, size_t row, size_t col)
 {
     return data + (row * header->row_bytes) + (col * header->col_bytes);
 }
@@ -285,11 +285,12 @@
 /**
  * Write raw tile image data, directly from the cache
  */
-static int pt_png_encode_direct (struct pt_png_img *img, const struct pt_png_header *header, uint8_t *data, const struct pt_tile_info *ti)
+static int pt_png_encode_direct (struct pt_png_img *img, const struct pt_png_header *header, const uint8_t *data, const struct pt_tile_info *ti)
 {
     for (size_t row = ti->y; row < ti->y + ti->height; row++)
         // write data directly
-        png_write_row(img->png, tile_row_col(header, data, row, ti->x));
+        // missing const...
+        png_write_row(img->png, (const png_bytep) tile_row_col(header, data, row, ti->x));
 
     return 0;
 }
@@ -297,7 +298,7 @@
 /**
  * Write clipped tile image data (a tile that goes over the edge of the actual image) by aligning the data from the cache as needed
  */
-static int pt_png_encode_clipped (struct pt_png_img *img, const struct pt_png_header *header, uint8_t *data, const struct pt_tile_info *ti)
+static int pt_png_encode_clipped (struct pt_png_img *img, const struct pt_png_header *header, const uint8_t *data, const struct pt_tile_info *ti)
 {
     png_byte *rowbuf;
     size_t row;
@@ -358,7 +359,7 @@
 
 #define ADD_AVG(l, r) (l) = ((l) + (r)) / 2
 
-static int png_pixel_data (png_color *out, const struct pt_png_header *header, uint8_t *data, size_t row, size_t col)
+static int png_pixel_data (png_color *out, const struct pt_png_header *header, const uint8_t *data, size_t row, size_t col)
 {
     if (header->color_type == PNG_COLOR_TYPE_PALETTE) {
         // palette entry number
@@ -385,7 +386,7 @@
 /**
  * Write unscaled tile data
  */
-static int pt_png_encode_unzoomed (struct pt_png_img *img, const struct pt_png_header *header, uint8_t *data, const struct pt_tile_info *ti)
+static int pt_png_encode_unzoomed (struct pt_png_img *img, const struct pt_png_header *header, const uint8_t *data, const struct pt_tile_info *ti)
 {
     int err;
 
@@ -420,7 +421,7 @@
 /**
  * Write scaled tile data
  */
-static int pt_png_encode_zoomed (struct pt_png_img *img, const struct pt_png_header *header, uint8_t *data, const struct pt_tile_info *ti)
+static int pt_png_encode_zoomed (struct pt_png_img *img, const struct pt_png_header *header, const uint8_t *data, const struct pt_tile_info *ti)
 {
     // size of the image data in px
     size_t data_width = scale_by_zoom_factor(ti->width, -ti->zoom);
@@ -494,7 +495,7 @@
     return 0;
 }
 
-int pt_png_tile (struct pt_png_header *header, uint8_t *data, struct pt_tile *tile)
+int pt_png_tile (const struct pt_png_header *header, const uint8_t *data, struct pt_tile *tile)
 {
     struct pt_png_img _img, *img = &_img;
     struct pt_tile_info *ti = &tile->info;
--- a/src/lib/png.h	Mon Jan 25 02:40:19 2010 +0200
+++ b/src/lib/png.h	Mon Jan 25 02:43:05 2010 +0200
@@ -82,7 +82,7 @@
 /**
  * Render out a tile
  */
-int pt_png_tile (struct pt_png_header *header, uint8_t *data, struct pt_tile *tile);
+int pt_png_tile (const struct pt_png_header *header, const uint8_t *data, struct pt_tile *tile);
 
 /**
  * Release pt_png_ctx resources as allocated by pt_png_open