Re: Cairo and ISO C++

Emmanuel PACAUD <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
Hi,

Le mardi 14 janvier 2014 à 15:10 -0800, Bill Spitzak a écrit :
> ZERO LINEWIDTH
> 
> A huge complaint about Cairo is that it is "fuzzy". It tries to hide 
> this by defaulting the line width to 2, which just makes everything look 
> thick.
> 
> I would change the default method of stroking a line to purposely draw 
> non-antialised horizontal and vertical lines that are about 1/96 of an 
> inch thick. In cairo setting the line width to 1, and offsetting any 
> path that is being stroked by .5, .5 does a good job of this.
> 
> To match virtually every other graphics library I have seen, this state 
> can be chosen by setting the line width to zero, and is turned off by 
> setting the line width to non-zero (including MINFLOAT).
> 
> If this is not provided most programmers "fix" it by turning off 
> antialiasing, which is not at all desirable and makes all the rest of 
> the graphics look a lot worse.

The mode you describes is pretty much shape-rendering="crispEdges" in
the SVG world.

https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/shape-rendering

While it would be nice to have something like that in cairo, I don't
think the special zero linewidth approach is interresting, as crisp
edges is not limited to only one pixel strokes. And I would not have
this mode by default.

It would be better implemented as a mode set by a call to a
cairo_set_rendering_mode function, which would match the SVG model (I'm
not sure, but probably the PDF model too).

	Cheers,

		Emmanuel.
-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.