[Xr] What happended to the idea of getting rid of the xrs argument?

Bill Spitzak spitzak at d2.com
Mon Jun 2 21:11:37 PDT 2003

Is this dead or not? I still feel it would be a very good idea. I need to 
know what kind of outcome we can expect from this as it affects whether fltk 
will use Xr or not. If the argument is required then I must write a wrapper 
function for every Xr function, in which case I may as well retain 
back-compatability. If the xrs argument is deleted then I will change the 
interface to match Xr exactly, in the hope that program can really call Xr in 
the future.

The only real argument I heard for keeping the xrs argument is that this is 
more "object oriented" in that writing object.XrLine(...) is somehow useful 
and better than just writing XrLine(...).

Unfortunately I cannot see how Xr in it's current state helps this. It is 
extremely unlikely any object provided by a higher-level interface will be a 
subclass of XrState, because of the need to create light-weight and 
non-displayed objects and the need to port to non-Xr systems.

If you have a call that returns an "xrs object" then this is exaclty the same 
as the current situation, there is no real difference between typing 
x->XrFoo(...) and XrFoo(x,...).

The only way to implement the above in any reasonable way is to have the 
toolkit provide a wrapper for every Xr call, which means the toolkit must be 
rewritten for every Xr update. Also any possible implementation will probably 
be slowed by the addition of a "did I create the xrs, if not create it" test. 
If another method to create the xrs is added then the programming problem is 
exactly the same as for the non-xrs version.

In any case I am much more convinced this would be a very good idea and am 
anxious to find out if there is any chance it could or will happen.

More information about the cairo mailing list