[Qgis-developer] porting the composer QPaintEngine hack to Python?
Marco Hugentobler
marco.hugentobler at sourcepole.ch
Thu Jul 5 07:15:32 PDT 2012
>made by Marco
made by Jürgen (it fixes the pdf shift on windows).
Marco
Am 05.07.2012 16:11, schrieb G. Allegri:
> Vincent highlighted a hack in the composer PDF rendering (made by
> Marco) [1].
> I was trying to reproduce it in Python, to test if it can solve some
> problems in the Atlas plugin.
> I thought I could use the QPrinter.setEngines() method [2], to set an
> instance of a derived QPaintEngine intitated with the flags provided
> in the hack, but this method makes QGis crash. I was doing something
> like this (excerpt):
>
> paintE = self.getHackedPaintEngine
> printE = printer.printEngine()
> printer.setEngines(printE,paintE)
>
> def getHackedPaintEngine(self):
> class HackEngine(QPaintEngine):
> def __init__(self):
> QPaintEngine.__init__(self,
> QPaintEngine.PrimitiveTransform
> | QPaintEngine.PixmapTransform
> | QPaintEngine.PatternBrush
> | QPaintEngine.AlphaBlend
> | QPaintEngine.PainterPaths
> | QPaintEngine.Antialiasing
> | QPaintEngine.BrushStroke
> | QPaintEngine.ConstantOpacity
> | QPaintEngine.MaskedBrush
> | QPaintEngine.BlendModes
> | QPaintEngine.RasterOpModes
> )
> return HackEngine()
>
> What alternative way would you suggest to reproduce the hack?
> giovanni
>
> [1]
> https://github.com/qgis/Quantum-GIS/blob/master/src/app/composer/qgscomposer.cpp#L588
> [2]
> http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qprinter.html#setEngines
>
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
--
Dr. Marco Hugentobler
Sourcepole - Linux & Open Source Solutions
Weberstrasse 5, CH-8004 Zürich, Switzerland
marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
Technical Advisor QGIS Project Steering Committee
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20120705/9d212df4/attachment-0001.html>
More information about the Qgis-developer
mailing list