mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
[libpng16] Bookkeeping: Moved functions around (no changes). Moved transform
function definitions before the place where they are called so that they can be masde static. Move the intrapixel functions and the grayscale palette builder out of the png?tran.c files. The latter isn't a transform function and is no longer used internally, and the former MNG specific functions are better placed in pngread/pngwrite.c
This commit is contained in:
committed by
Glenn Randers-Pehrson
parent
bff81bdddc
commit
c10930a4fc
57
png.c
57
png.c
@@ -826,6 +826,63 @@ png_get_header_version(png_const_structrp png_ptr)
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef PNG_BUILD_GRAYSCALE_PALETTE_SUPPORTED
|
||||
/* NOTE: this routine is not used internally! */
|
||||
/* Build a grayscale palette. Palette is assumed to be 1 << bit_depth
|
||||
* large of png_color. This lets grayscale images be treated as
|
||||
* paletted. Most useful for gamma correction and simplification
|
||||
* of code. This API is not used internally.
|
||||
*/
|
||||
void PNGAPI
|
||||
png_build_grayscale_palette(int bit_depth, png_colorp palette)
|
||||
{
|
||||
int num_palette;
|
||||
int color_inc;
|
||||
int i;
|
||||
int v;
|
||||
|
||||
png_debug(1, "in png_do_build_grayscale_palette");
|
||||
|
||||
if (palette == NULL)
|
||||
return;
|
||||
|
||||
switch (bit_depth)
|
||||
{
|
||||
case 1:
|
||||
num_palette = 2;
|
||||
color_inc = 0xff;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
num_palette = 4;
|
||||
color_inc = 0x55;
|
||||
break;
|
||||
|
||||
case 4:
|
||||
num_palette = 16;
|
||||
color_inc = 0x11;
|
||||
break;
|
||||
|
||||
case 8:
|
||||
num_palette = 256;
|
||||
color_inc = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
num_palette = 0;
|
||||
color_inc = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
for (i = 0, v = 0; i < num_palette; i++, v += color_inc)
|
||||
{
|
||||
palette[i].red = (png_byte)v;
|
||||
palette[i].green = (png_byte)v;
|
||||
palette[i].blue = (png_byte)v;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef PNG_SET_UNKNOWN_CHUNKS_SUPPORTED
|
||||
int PNGAPI
|
||||
png_handle_as_unknown(png_const_structrp png_ptr, png_const_bytep chunk_name)
|
||||
|
||||
Reference in New Issue
Block a user