backend change needed: render patch without boundary

Darren, John, et al.,

At present it is impossible to render a patch with exactly the dimensions specified because a boundary is required. Present workarounds include setting the boundary color to the face color and setting a small or zero linewidth. This is inefficient--a line is being rendered when it is not wanted--and imprecise, because the result of a very thin or zero-width line depends on the backend and output device.

I propose that the backends be changed so that for any patch-like object or collection, setting the boundary linewidth to zero suppresses rendering of the line.

I see only advantages and no disadvantages whatsoever to this change; am I missing something?

If the proposal meets approval, I can work on it, although I don't know which of the backends I can quickly understand well enough (and test) to do this. At least the ps backend looks easy with respect to this change. Of course, I would be delighted to see the backend maintainers take this on.

Comments? Alternative proposals?

Eric

Darren, John, et al.,

At present it is impossible to render a patch with exactly the
dimensions specified because a boundary is required. Present
workarounds include setting the boundary color to the face color and
setting a small or zero linewidth. This is inefficient--a line is being
rendered when it is not wanted--and imprecise, because the result of a
very thin or zero-width line depends on the backend and output device.

My understanding is that a zero-width line in postscript will be rendered as a
line with thickness equal to the resolution of the device. So the behavior
does vary across backends.

I propose that the backends be changed so that for any patch-like object
or collection, setting the boundary linewidth to zero suppresses
rendering of the line.

I see only advantages and no disadvantages whatsoever to this change; am
I missing something?

I don't claim to be an authority, but I can't think of any problems this might
raise. Probably it could be done in the ps backend by simply wrapping the
stroke commands in a check for zero line width.

···

On Thursday 25 May 2006 14:07, Eric Firing wrote:

If the proposal meets approval, I can work on it, although I don't know
which of the backends I can quickly understand well enough (and test) to
do this. At least the ps backend looks easy with respect to this change.
Of course, I would be delighted to see the backend maintainers take this
on.

Comments? Alternative proposals?

Hi Eric,

···

On Thu, May 25, 2006 at 08:07:14AM -1000, Eric Firing wrote:

I propose that the backends be changed so that for any patch-like object
or collection, setting the boundary linewidth to zero suppresses
rendering of the line.

I think this would be a good idea. Having lines of width 0 be
invisible would satisfy the principle of least surprise.
(If people really would need the current PostScript backend behaviour,
maybe this could be exposed through a different API?)

All the best,
Jochen
--