The hack is working perfectly! Tha Atlas plugin seems to be working now ;) giovanni
2012/7/5 G. Allegri <[email protected]> > 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
