From: Joao C. <jc...@fe...> - 2002-11-09 19:26:28
|
On Saturday 09 November 2002 07:54, Maurice LeBrun wrote: > Joao Cardoso writes: > > On Wednesday 06 November 2002 06:17, Maurice LeBrun wrote: > > > Alan W. Irwin writes: > > > > On Tue, 5 Nov 2002, [iso-8859-1] Jo=E3o Cardoso wrote: > > > > > What do you think of this problem? Is there a "cure" that doe= s > > > > > not influence other users? > > > > > > > > How about define plenv0 which does everything but the page adva= nce? > > > > Then define plenv as the combination of pladv and plenv0. > > > > > > > > I know this adds one more piece of public API that we have to > > > > propagate to all the language interfaces *and* document, but th= at > > > > is pretty straightforward, and we currently have so many variat= ions > > > > on our startup commands (think of all the plstart variations), = and > > > > our advance page commands, that adding another convenient plenv > > > > variation isn't that big a deal IMO. > > > > > > > > Geoffrey and Maurice, is such a solution OK with you? > > > > > > Sure. I've never been completely happy with the behavior of plenv= in > > > this regard either. > > > > OK, I will work on it soon. > > > > Do you think that plenv0() should clear the page? I think it should! > > Seems reasonable. There may be some cases where the user doesn't want = it > cleared but these are probably rare and not worth API support. > > Sigh.. I must admit to some dislike of the proliferation of API calls. = I I agree!=20 > would greatly prefer we handle these kinds of cases through some sort o= f > option-setting procedure. E.g. instead of calling plenv0(...), one wou= ld > do: > > plsopt("plenv_advance", "0"); > plenv(...) > > Then you never need to expand the API (complete with the myriad of lang= uage > bindings needed), just add a new option. Good solution. Now is a bit too late, as I already implemented plenv0(). However, I think that if plsopt("plenv_advance", "0") becomes implemented= =20 before the next release, then we can drop plenv0(). No user can complain by a feature introduced and removed but that never m= ade=20 part of a release.=20 > > I've actually implemented such a scheme for my own libraries, twice now= , > once in Fortran and more recently in iTcl. Because there are times whe= n > you want the option to be set forever, I'd use plsdopt(...) to set an > option permanently (default); plsopt would only take effect until the n= ext > new plot. That way you could avoid non-local effects. It works great. So lets wait for plsdopt() also. Your ToDo list? Joao > Anyway, I've got no time for any of this right now, so for now we're st= uck > with the usual addition to the API. > > > As plclear() is not currently working (no driver but the gnome one > > supports it) I will also change it, issuing a solid fill with the > > background color when the driver does not support clear. > > Looks good. |