← Back to team overview

qpdfview team mailing list archive

Re: Support other file formats

 

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello Alexander,

Am 14.12.2012 12:37, schrieb Александр Волков:
> Hello Adam,
> 
> I have splitted the code keeping in mind adding PS support, that 
> doesn't need Annotation, Link and FormField interfaces. The main 
> idea is to implement PS support with minimum efforts. Then the 
> project has to be splitted to main program, intermediate library 
> and format plugins. Adding new interfaces can be done after this.

While I think I understand the motivation, I do not think that this
course of action is appropriate: There is no need to rush things as
this will definitely not be part of version 0.3.7, so we have a much
time as we want to do this properly.

And in my point of view, splitting the program into those three parts
is equivalent to adding an intermediate interface layer. The
PostScript implementation would then just never yield any links and
other interactive elements and hence wouldn't even need to implement
the corresponding interfaces. I also find it rather important that the
presentation specific code does not leave the presentation classes
DocumentView and PageItem as it is the document format and not its
presentation that needs to be encapsulated.

Best regards, Adam.

> Best regards, Alexander.
>> Hello Alexander,
>> 
>> Concerning the code you already published at [1], I am not sure 
>> whether your choice for the cut between the PDF-specific 
>> functionality and the rest is the best choice.
>> 
>> For example, why should the painting and handling of mouse clicks
>> depend on file format as in the PdfPageItem class? Would it not
>> be better the write general purpose interfaces providing abstract
>> replacements for Poppler::Document, Poppler::Page, Poppler::Link
>> and so that encapsulate mostly data and keep the behaviour
>> consistent in between file formats? (Also not duplicating
>> interface code.)
>> 
>> Best regards, Adam.
>> 
>> [1] https://code.launchpad.net/~a-volkov/qpdfview/trunk
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)

iQEcBAEBAgAGBQJQzY9/AAoJEPSSjE3STU34uAIH/0p1qfh4g9SGAxDWziHP4UFf
ljmHLf+EmuT8wGJ0if8pI5RrIeojfPKCPmfpgInkk2/DiqRPhpAfGDmkL+RINvLN
d6e6BorsLddsouOueyqt7FIgUDOcRs4Y7iywifk4KR+JhfcOUnDG/wpy7R0Oh8uj
Pkl5yqV5m3y6s807VnWWzo75Hqcx+dxJ21LmMKB0rapQ+IQkfpOV6KjWhXn5bTdi
sxViWBBe8rIol/hU3DLl95BYoOct8kcpPSjHfOFP9PcVbwbKo/ZNWS0MNt3Khljr
LbKt1UhcmIpmMdnreTOjIWQPi3KJ71OGSZBFebCVn9w8ne0ry35MKfP0de0atTM=
=7FPU
-----END PGP SIGNATURE-----


Follow ups

References