[GRASS-dev] Cairo monitor driver

Glynn Clements glynn at gclements.plus.com
Tue Oct 23 20:26:31 EDT 2007


Lars Ahlzen wrote:

> >> I believe this means that pretty much all of drawing.c can go... 
> > 
> > This should make the code significantly easier to understand. At the
> > present time, the cairo driver is probably more useful as an example
> > of how to use cairo than anything else.
> 
> Yes. I'll remove all of the set_drawing_op/finish_drawing_op code.

I've done this.

> Once (reasonably) feature complete and stable, the cairo driver could be 
> a good alternative to the other monitors, however. I've used it for 
> quite a while (before it was announced) and I've found it very useful. 
> Then again, I may be somewhat biased... :)
> 
> >>> The global cairo_translate(cairo, 0.5, 0.5) is wrong...
> >>
> >> Well, this one is a little bit tricky.
> >>
> >> [...]
> > 
> > That's incorrect. The drivers handle fills correctly, i.e. coordinates
> > are interpreted as points in 2D space, not as pixel indices. E.g. 
> > R_box_abs(10, 2, 20, 3) will fill 10 pixels for the X and PNG drivers,
> > i.e. all <x,y> where 10 <= x < 20 and y == 2.
> > 
> > You're assuming that the drivers get fills wrong; they don't. With
> > lines, they have no choice (well, the pixel-based ones don't; the PS
> > driver doesn't do translation).
> 
> I stand corrected. Then it makes sense to apply the offset to lines 
> only, as you originally suggested. Thanks for clearing up my confusion.

For now, I've just removed the offset.

I've also added clipping and bitmaps.

-- 
Glynn Clements <glynn at gclements.plus.com>




More information about the grass-dev mailing list