Customizable Print Formats GSoC 2015
Lubomir I. Ivanov
neolit123 at gmail.com
Sun Mar 8 12:40:51 PDT 2015
On 8 March 2015 at 20:55, Gehad Elrobey <gehadelrobey at gmail.com> wrote:
> Thanks lubomir for your clarification.
>
> When I tested rendering some svg images with QWebView it wasn't slow at all.
> So the bottleneck in this process is saving QPicture as SVG?
compared to what we do ATM - rendering the profile QWidget directly to
QPrinter which produces vector (Win32 / OSX only), the introduction of
SVG which is grabbed from a QWidget then displayed in QWebView which
is then rendered to QPrinter surely will slow things down as it
introduce an intermediate step (SVG).
the alternative - somehow obtain the absolute position of the <div>
(jQuery?) where the profile should be located and it's scaled
dimensions on the page and then do QProfileWidget->render() at that
exact location on top of the already rendered HTML template. this
avoids SVG completely!
i would like us to test the alternative firs, unless you have objections.
surely this won't be that difficult with Javascript / CSS / jQuery:
http://stackoverflow.com/questions/683339/how-do-i-find-the-absolute-position-of-an-element-using-jquery
if it's way too tricky we can go back to the SVG idea.
>
> Also we don't have to save the svg images to the disk and render them back
> to QWebView, I found that we can access the QWebView requests directly by
> extending QNetworkAccessManager class and overridding createRequest()
> function, Then we can serve the meta:image/svg requests directly from
> memory. do you think this will do any optimization?
>
i don't think QNetworkAccessManger is needed as we can use QBuffer.
see my example a couple of emails above:
QByteArray byteArray;
QBuffer buffer(&byteArray);
QSvgGenerator svg;
svg.setOutputDevice(&buffer);
...
lubomir
--
P.S.: bottom-posting please :-)
More information about the subsurface
mailing list