This makes the GTK resource handling configurable in the same way as
all other pkg-config style feature options.
It is now possible to completely disable compiled in resources if
wanted as well as forcing inline pixdata on if desired.
Before GResource it was possible to compile pixbufs as inline
elements. This has historically been done for the menu cursor
only.
This change integrates the inline support and uses it when the
GResource support is not selected.
GTK UI builder resources have till now been exclusively stored on disc
requiring netsurf to ship numerous additional resource files. This
requires going to disc every time a UI action is performed which can
become a lot of unwanted file handling.
GLib/GTK has moved towards GResource handling for such resources
instead. It now seems that migrating to this style of usage is
expected and indeed the only portable way to include pixbufs.
This introduces an API to hide the various implementation details of
how resources are handled from the rest of the codebase.
The compiled in image resources were being created as a structure in a
generated c source file. The generation of this file caused constness
warning as a guint8 * was initialised from a const char array.
This changes the generation and use of these compiled in resources to
use the raw inline form as suggested by the documentation removing the
const warning.
The bitmap and image handling interfaces have changed within NetSurf
and the webp image handling has not been fixed up appropriately to
cope.
After discussion with the other developers it has been decided that
the webp support is not worth the necessary development effort to
rewrite and maintain.
The webp format is not in wide usage and Mozilla, Microsoft and Apple
have not adopted it. This means the removal will not adversely impact
NetSurf.
Resolves:2310
Changes the way message files are generated to be driven by make as
rules rather than from explicit macro calls causing their regeneration
every build.
A secondary benefit is that errors in message generation actually stop
the build instead of being ignored
Each frontend will require its filter settings updated to avoid
getting the default message filter of "any". Initially gtk has been
adapted as proof of concept.
This removes the global PDF_Password interface that had completely
bitrotted and moves it into the standard misc operation table with a
sensible defualt implementation.
This also cleans up and fixes the gtk frontend implementation of the
pdf password callback so it compiles.
Finally this moves the implementation to a sensible place alongside
the other exporters reducing target makefile complexity futher.