Re: Fox 1.7.86 and png issues
[email protected] Thu, 24 Jul 2025 12:20:36 -0500
| Newsgroups | gmane.comp.lib.fox-toolkit.user |
|---|---|
| Message-ID | <[email protected]> |
On 2025-07-24 11:44, Pasquale via Foxgui-users wrote:
> I switched from v1.7.84 to v1.7.86 to get mousewheel scroll support,
> but when I compile a program, i am getting png issues.
>
> I noticed in v1.7.86 there is no --disable-png configure option, but
> there is one with v1.7.84, so I was wondering if png support wasn't
> included and how to fix that? I'm don't really know how to modify the
> autoconfig/make system files.
>
> Thanks,
> Pasquale
>
Hi,
Before, PNG support could be disabled, in order to avoid linking to PNG
library, which may be big (or, worse, unavailable!).
Now, PNG support is built into FOX so there's no need to disable it
anymore,
and the implementation is quite small [one single file]. PNG now being
the most common format for non-lossy image compression, we felt it was
good
to have it supported regardless of libpng availability. [We did add
another
non-lossy image format, QOIF. This one is really simple and compression
is pretty good, but not quite as good as PNG].
This new version should work well, but there may be a few improvements
in the
near future, as the PNG standard has *JUST* been updated [of course this
had
to happen right after I wrapped up my PNG reader ;-( ].
I have not had time to delve through new PNG docs to see what has
changed.
Some plans I had before the new PNG standard got dropped on us:
1) Speed up CRC calculation using Intel carry-less multiply [GF(2)
multiply].
I've got this *mostly* figured out, but I'm still looking at how this
should be packaged. Not sure what we can do about ARM cpus, we might
need old method as fallback.
2) Some speedups reading and writing the file through FXStream. Perhaps
this could be improved a bit.
3) The LZ decoder/encoder could probably also be replaced; right now,
PNG
support is still contingent on having libz compression library
around.
[Does anyone know if zstd compressed data is compatible with libz; I
have not been able to find any statement about it...].
-- JVZ