Deprecate the handle_write / handle_close APIs
rsvg_handle_write()
and rsvg_handle_close()
implement a push API for the loader. The current preferred way to do loading APIs is via GIO streams; indeed librsvg has rsvg_handle_new_from_stream_sync()
and such, which is sufficient.
The write
/close
APIs are implemented awkwardly, because they must use libxml2's push parser, instead of the stream parser. Also, to handle SVGZ files, the code slurps in the whole compressed file, and only when rsvg_handle_close()
is called it will actually create a compressed input stream and perform from there. In contrast, the streaming APIs handle that case automatically and without having to slurp the whole file first.