Thanks to Jef, the hacked engine is exposed throug sip now ;) I will try it ASAP.
giovanni 2012/7/5 G. Allegri <[email protected]> > I fear it isn't possible (at least with common programming skills!) to > reproduce it. > My approach was too naive. The paintEngine instance is a pointer to a > subclass implementation, and AFACS there's no method to change the flags > (render features) of an instanciated engine... > > giovanni > > 2012/7/5 G. Allegri <[email protected]> > > >> >> 2012/7/5 Marco Hugentobler <[email protected]> >> >>> >made by Marco >>> >>> made by Jürgen (it fixes the pdf shift on windows). >>> >> >> ops, sorry :) >> >> >>> >>> 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 >>> [email protected]http://lists.osgeo.org/mailman/listinfo/qgis-developer >>> >>> >>> >>> -- >>> Dr. Marco Hugentobler >>> Sourcepole - Linux & Open Source Solutions >>> Weberstrasse 5, CH-8004 Zürich, [email protected] >>> http://www.sourcepole.ch >>> Technical Advisor QGIS Project Steering Committee >>> >>> >>> _______________________________________________ >>> Qgis-developer mailing list >>> [email protected] >>> http://lists.osgeo.org/mailman/listinfo/qgis-developer >>> >>> >> >
_______________________________________________ Qgis-developer mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-developer
