ref: 797f8bc3a2be6ddec3497496e9989ab66d21800e
parent: f299607704902a96ed91fbcc4f29af1f645c37bb
author: Jacob Moody <moody@posixcafe.org>
date: Sat Feb 25 19:47:47 EST 2023
rgbgfx port
--- a/mkfile
+++ b/mkfile
@@ -4,6 +4,7 @@
asm\
link\
fix\
+ gfx\
all:V:
for(i in $DIRS)@{
--- /dev/null
+++ b/src/gfx/error.c
@@ -1,0 +1,1 @@
+#include "../error.c"
--- a/src/gfx/makepng.c
+++ b/src/gfx/makepng.c
@@ -280,7 +280,7 @@
static struct RawIndexedImage *grayscale_png_to_raw(struct PNGImage *img)
{
if (img->depth < 8)
- png_set_expand_gray_1_2_4_to_8(img->png);
+ png_set_gray_1_2_4_to_8(img->png);
png_set_gray_to_rgb(img->png);
return truecolor_png_to_raw(img);
@@ -600,6 +600,7 @@
}
}
errx("The input PNG file contains colors that don't appear in its embedded palette.");
+ return 0;
}
static void read_png(struct PNGImage *img)
--- a/src/gfx/mkfile
+++ b/src/gfx/mkfile
@@ -1,12 +1,15 @@
</$objtype/mkfile
-TARG=rgbfix
+TARG=rgbgfx
BIN=$home/bin/$objtype
# ThIs MaKeS It PoRtAbLe
-POSIX=-D PRIu32="%ud" -DPRId32="%d" -DPRIx32="%x" -DPRIX32="%X" -DPRIo32="%o" -DSTDOUT_FILENO=1 -DSTDIN_FILENO=0 -DPRIu8="%ud" -DPRIu16="%ud" -DPRId16="%d" -DPRIx16="%x" -DPRIX16="%X" -DMB_LEN_MAX=4 -DUINT32_C='(uint32_t)' -DSSIZE_MAX='0xFFFFFFFF'
+POSIX=-D PRIu32="%ud" -DPRId32="%d" -DPRIx32="%x" -DPRIX32="%X" -DPRIo32="%o" -DSTDOUT_FILENO=1 -DSTDIN_FILENO=0 -DPRIu8="%ud" -DPRIu16="%ud" -DPRId16="%d" -DPRIx16="%x" -DPRIX16="%X" -DMB_LEN_MAX=4 -DUINT32_C='(uint32_t)' -DSSIZE_MAX='0xFFFFFFFF' -D__func__="???"
-CFLAGS=-Fpw -I ../../include -I/sys/include/npe -D__plan9__ -D__${objtype}__ $POSIX
+CFLAGS=$CLFAGS -p -I ../../include -I/sys/include/npe -I libpng -I zlib -D__plan9__ -D__${objtype}__ $POSIX -DSTDC
+LIB=\
+ libpng/libpng.$O.a \
+ zlib/libz.$O.a \
OFILES=\
main.$O \
@@ -14,5 +17,17 @@
makepng.$O \
getopt.$O \
version.$O \
+ error.$O \
</sys/src/cmd/mkone
+
+zlib/libz.$O.a:V:
+ @{ cd zlib && mk }
+
+libpng/libpng.$O.a:V:
+ @{ cd libpng && mk }
+
+clean:V:
+ rm -f *.[$OS] [$OS].out y.tab.? lex.yy.c y.debug y.output $TARG $CLEANFILES
+ @{ cd zlib && mk clean }
+ @{ cd libpng && mk clean }