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