From: Daniel J S. <dan...@ie...> - 2005-11-10 01:26:12
|
Ethan Merritt wrote: > On Wednesday 09 November 2005 03:04 pm, Daniel J Sebald wrote: > >>I don't know if I agree on that one. Are you saying that one >>can't have a fraction of an arrow at the edge of the canvas >>(i.e., say the tip extends just past the canvas limit, but is >>not visible)? That has to be allowed, otherwise one can't use >>the many features of PostScript. > > > If you try this with the pdf terminal, it will crash. They are aware of this, I assume. (I guess I remember now that you wrote the developers.) That's clearly a bug in the utility. >>Maybe >>a "legacy terminal" is in order... something to prevent the need >>for coding up "if terminal has this feature, then this, otherwise >>that" all over the place in the core code. > > > We have that now. These are the routines do_XXX() in term.c. > They provide a generic fallback for terminals that don't > supply their own routine to do XXX. > > In the case of arrows, the generic code is called do_arrow(), > and is supposed to be usable by all terminals > that do not provide their own specific arrow drawing routine. > That is precisely what we are now fighting with; it isn't generic > enough, because it causes some terminals to segfault, or abort, > or draw garbage if the arrows go outside the current canvas. Oh, I see. Between a rock and a hard place, then. > If you, or Harald, feel that the generic code is not appropriate > for the PostScript driver, then of course you are free to write > a terminal-specific PS_arrow() routine. I'm sure you could draw > nicer looking arrows that way, just as the metapost driver does, > for example. Yeah. This is the way to go; solve the problem by avoiding it. Arrows in PostScript must be fairly easy. Dan |