Hello PoDoFo users and devs,

aiming for a 0.10 release, which I would like to release soon, I
recently fixed several bugs, most of them reported by Igor Mironchik,
for which I'm personally thankful for. I also revisited PdfPainter and
reworked it in a much more intense way, because it didn't receive the
same love yet as other parts of the PoDoFo API: now PdfPainter has
better method names, an inspectable PDF state stack, and better draw
operations validation. During the review, I noticed there were several
draw extension methods, that mocked SVG operators that are unavailable
in PDF. These methods were implemented by adding some custom mutable
state fields in PdfPainter (not very well named/documented, IMHO).
Because of the adding of commands validation and PDF state stack
inspecting, I believe those extension methods are now inconsistent
with the rest of the API, and their usage in conjunction with other
methods makes the behavior of PdfPainter unpredictable. Also, like
most of the API in PdfPainter, also these extension methods were not
unit tested. Hence, I decide to "demote" them to the staging[1] area
of the source tree, until we understand better who could maintain
them, and if they are really worth being in the main API. Since also
the common method Arc() was also implemented with such extensions (but
with an API accepting degrees and not radians for angles, which I
believe is not mathematically rigorous for a drawing API), the request
here is if someone would take the responsibility to restore the
disabled method PdfPainter::Arc() [2], without making use of previous
SVG extension methods, with the option to also maintaining/retest the
new PdfPainterExtensions[3] class.

If nobody helps, I will end doing it (at least restore
PdfPatiner::Arc), but this will delay 0.10 release a bit because I'm
exhausted right now.

Let me know if you can volunteer on this.

Cheers,
Francesco

[1] 
https://github.com/podofo/podofo/blob/master/SOURCE-LAYOUT.md#source-directory
[2] 
https://github.com/podofo/podofo/blob/e92ff22ccf5a315e5dd863fa495fc96d3166edce/src/podofo/main/PdfPainter.cpp#L411
[3] 
https://github.com/podofo/podofo/blob/master/src/podofo/staging/PdfPainterExtensions.h


_______________________________________________
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users

Reply via email to