2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-12-22 10:58:58 +00:00

Fix up TODO for ABI changes

This commit is contained in:
Jay Berkenbilt 2019-06-21 18:04:43 -04:00
parent 848351f1fc
commit bd8918fffc

56
TODO
View File

@ -1,36 +1,47 @@
Next ABI
========
Do these things next time we have to break binary compatibility
* Check all classes that don't use the Members pattern and see if
they should be converted. Most of the pipeline classes should be
converted.
* Pl_Buffer's internal structure is not right for what it does. It
was modified for greater efficiency, but it was done in a way that
preserved binary compatibility, so the implementation is a bit
convoluted.
* Rename QUtil::strcasecmp since strcasecmp is a macro on some
platforms. See #242.
* Check all overloaded methods to see if any can be eliminated by
using defaulted arguments. See ../misc/find-overloaded-functions.pl
(not in source repo)
* Get rid of the version of QPDF::copyForeignObject with the bool
unused parameter.
* Remove version of QPDFTokenizer::expectInlineImage with no
arguments.
* Consider whether to build with -fvisibility=hidden by default. See
#302 for discussion.
* Build with -fvisibility=hidden by default. Fix QPDF_DLL. See #302
for discussion. See also https://gcc.gnu.org/wiki/Visibility
* See if there is a way to provide an option to use higher
compression with zlib. See #113. This can be done by adding options
to Pl_Flate and having QPDFWriter optionally use those options.
* Check all classes that don't use the Members pattern and see if
they should be converted. Most of the pipeline classes should be
converted.
Buffer.hh
BufferInputSource.hh
FileInputSource.hh
InputSource.hh
Pl_Buffer.hh
Pl_Concatenate.hh
Pl_Count.hh
Pl_DCT.hh
Pl_Discard.hh
Pl_Flate.hh
Pl_RunLength.hh
Pl_StdioFile.hh
QPDFExc.hh
QPDFObjGen.hh
QPDFSystemError.hh
QPDFXRefEntry.hh
* Pl_Buffer's internal structure is not right for what it does. It
was modified for greater efficiency, but it was done in a way that
preserved binary compatibility, so the implementation is a bit
convoluted.
* Check all overloaded methods to see if any can be eliminated by
using defaulted arguments. See ../misc/find-overloaded-functions.pl
(not in source repo)
Lexical
=======
@ -120,6 +131,11 @@ directory or that are otherwise not publicly accessible. This includes
things sent to me by email that are specifically not public. Even so,
I find it useful to make reference to them in this list
* See if there is a way to provide an option to use higher
compression with zlib. See #113. This can be done by adding options
to Pl_Flate and having QPDFWriter optionally use those options.
Also increasing the buffer size may help.
* Add support for writing name and number trees
* Figure out how to render Gajić correctly in the PDF version of the