[Qgis-developer] Print composer redesign

Martin Dobias wonder.sk at gmail.com
Thu Oct 11 21:48:27 EDT 2007


Hi Steven,

sorry for replying so late, but I had to think about it a bit :-)

On 10/5/07, Steven Bell <botsnlinux at gmail.com> wrote:
> There are at least four ways I would like to be able to specify sybolology
> size:
>   -Map units (e.g, 20 meters)
>   -Scale-relative paper units (.5mm at 1:15000)
>   -Paper units (3mm, regardless of scale)
>   -Screen units (5 pixels, regardless of scale)
>
> Right now, only the last one is implemented, so this would probably
> represent a major change in the way vector layers are rendered.  I don't
> know a lot about this, so I'd especially like some input as to how hard this
> would be to implement, and how it would fit in with the rest of QGIS.

I think that's the right way to make QGIS rendering core aware of
different units and thus QgsMapRender could be used for drawing
everywhere in QGIS code - as you know composer doesn't use it since
it's not aware of other that screen units.

We could create a class which will encapsulate different types of
units and provide a simple interface for conversion depending on the
output device.

In my opinion it shouldn't be a tough thing. First it would be good to
modify QgsMapRender to allow scaling of symbols and start using it in
composer. The second step would be implementing the class that would
handle the unit conversions and return correct scales for
QgsMapRender.

Once this is implemented and works well, other changes like renderer
plugins can be added (however support for such plugins would need some
more work).
AFAIK one of the current problems is also that renderers render point
symbols to image instead of leaving them represented as vectors (which
results in poor output quality).

Regards
Martin



More information about the Qgis-developer mailing list