# HG changeset patch # User Matti Hamalainen # Date 1551772652 -7200 # Node ID 80786a28caf0db45894de3338daf12d4b0ded003 # Parent 4276b8c0fef05a6a7fde660ef314e62020639f9b Mark image format flags with the color formats they support. This information is not yet used. diff -r 4276b8c0fef0 -r 80786a28caf0 tools/libgfx.c --- a/tools/libgfx.c Tue Mar 05 09:56:47 2019 +0200 +++ b/tools/libgfx.c Tue Mar 05 09:57:32 2019 +0200 @@ -2745,48 +2745,48 @@ #ifdef DM_USE_LIBPNG { "png", "Portable Network Graphics", - DM_IMGFMT_PNG, DM_FMT_RDWR, + DM_IMGFMT_PNG, DM_FMT_RDWR | DM_COLFMT_ANY, fmtProbePNG, dmReadPNGImage, dmWritePNGImage, }, #endif { "ppm", "Portable PixMap", - DM_IMGFMT_PPM, DM_FMT_RDWR, + DM_IMGFMT_PPM, DM_FMT_RDWR | DM_COLFMT_GRAYSCALE | DM_COLFMT_RGB, fmtProbePPM, dmReadPPMImage, dmWritePPMImage, }, { "pcx", "Z-Soft Paintbrush", - DM_IMGFMT_PCX, DM_FMT_RDWR, + DM_IMGFMT_PCX, DM_FMT_RDWR | DM_COLFMT_PALETTE | DM_COLFMT_RGB, fmtProbePCX, dmReadPCXImage, dmWritePCXImage, }, { "ilbm", "IFF ILBM (interleaved/old DP2)", - DM_IMGFMT_IFF_ILBM, DM_FMT_RDWR, + DM_IMGFMT_IFF_ILBM, DM_FMT_RDWR | DM_COLFMT_PALETTE, fmtProbeIFF_ILBM, dmReadIFFImage, dmWriteIFFImage, }, { "pbm", "IFF PBM (DP2e)", - DM_IMGFMT_IFF_PBM, DM_FMT_RDWR, + DM_IMGFMT_IFF_PBM, DM_FMT_RDWR | DM_COLFMT_PALETTE, fmtProbeIFF_PBM, dmReadIFFImage, dmWriteIFFImage, }, { "acbm", "IFF ACBM (Amiga Basic)", - DM_IMGFMT_IFF_ACBM, DM_FMT_RDWR, + DM_IMGFMT_IFF_ACBM, DM_FMT_RDWR | DM_COLFMT_PALETTE, fmtProbeIFF_ACBM, dmReadIFFImage, dmWriteIFFImage, }, { "raw", "Plain bitplaned (planar or non-planar) RAW", - DM_IMGFMT_RAW, DM_FMT_WR, + DM_IMGFMT_RAW, DM_FMT_WR | DM_COLFMT_PALETTE, NULL, NULL, dmWriteRAWImage, }, { "araw", "IFFMaster Amiga RAW", - DM_IMGFMT_ARAW, DM_FMT_WR, + DM_IMGFMT_ARAW, DM_FMT_WR | DM_COLFMT_PALETTE, NULL, NULL, dmWriteRAWImage, }, { "cdump", "'C' dump (image data only)", - DM_IMGFMT_CDUMP, DM_FMT_WR, + DM_IMGFMT_CDUMP, DM_FMT_WR | DM_COLFMT_ANY, NULL, NULL, dmWriteCDumpImage, } }; diff -r 4276b8c0fef0 -r 80786a28caf0 tools/libgfx.h --- a/tools/libgfx.h Tue Mar 05 09:56:47 2019 +0200 +++ b/tools/libgfx.h Tue Mar 05 09:57:32 2019 +0200 @@ -31,12 +31,15 @@ }; +// Color formats (these can be used along with DM_FMT_*) enum { - DM_COLFMT_PALETTE, - DM_COLFMT_GRAYSCALE, - DM_COLFMT_RGB, - DM_COLFMT_RGBA, + DM_COLFMT_PALETTE = 0x0010, + DM_COLFMT_GRAYSCALE = 0x0020, + DM_COLFMT_RGB = 0x0040, + DM_COLFMT_RGBA = 0x0080, + + DM_COLFMT_ANY = 0x00f0, }; @@ -112,7 +115,7 @@ char *fext; char *name; int fmtid; // DM_IMGFMT_* - int flags; // DM_FMT_* flags + int flags; // DM_FMT_* and DM_COLFMT_* flags int (*probe)(const Uint8 *buf, const size_t len); int (*read)(DMResource *fp, DMImage **pimg); int (*write)(DMResource *fp, const DMImage *pimg, const DMImageConvSpec *spec);