This addresses #1200 and is the third of four MRs, as laid out in !1029 (comment 1211491). There aren't any dependencies. This MR does not rely on neither !1033 (closed) nor !1034 (merged). However, merging with !1033 (closed) may require manual interaction, because both change the implementation of
This merely introduces the new data structure and changes PDFDoc::sign's signature to use the new data structure instead of it huge parameter list.
While the new data structure already has an additional font size attribute, it is not used yet. The consumers still pass the exact same data to PDFDoc::sign, not more, not less.
While the Qt wrappers have a NewSignatureData-datastructure that holds relevant data to create a PDF signature with a pretty annotation widget, core Poppler does not. This creates some issues. For instance, while Qt applications may define and store a "leftFontSize", this value can never end up in PDFDoc::sign.
This creates a NewSignatureData datastructure in PDFDoc. In contrast to its Qt counterparts, it only uses types known to Poppler, especially not any Qt types.