[Xr] What happended to the idea of getting rid of the xrs argument?
Bill Spitzak
spitzak at d2.com
Wed Jun 11 09:22:48 PDT 2003
On Thursday 05 June 2003 04:41 pm, Robert Wittams wrote:
> So how the hell does fltk draw on X? Does it just pull Drawables out of
> the air? No, it stores them in global variables. If the rendering
> handle for one system is in a global variable, then its very likely
> that the handle for any other rendering system should be too...
I don't seem to be explaining the problem I'm having.
Of course fltk can be written to store the xrs in a global variable, and that
is exactly what I'm going to do.
The problem is that the programmer now has to call "fltkRectangle" rather
than "XrRectangle". This immediately makes their drawing code non-portable to
other toolkits, which are unlikely to implement "fltkRectangle".
I think this non-portability is a handicap. My "proof" (if there is any) is
in the popularity of OpenGL and the fact that people can call OpenGL directly
from every toolkit in the world, but nobody calls Xlib or GDI32 or DirectX
without making lots of toolkit-specific code. I have certainly found that a
block of Glut code that draws OpenGL can be cut and pasted with NO changes
into an fltk program, into a Qt program, and into an MFC program. This is
despite the fact that the "context creation" is vastly different in each of
these toolkits. Therefore I believe the reason for this is that there is no
"context" argument.
If code could be cut & pasted without changes it would help a lot for
matching appearances between programs or making portable "theme plugins". It
would also make it lots easier to write libraries that lie atop Xr that can
be called from different toolkits. And it would make demos of how to use Xr
much easier to write and test.
--
,~,~,~,~ ~ ~ ~ ~
/\_ _|_========___ Bill Spitzak
~~~/\/\\~~~~~~\____________/~~~~~~~~ spitzak at d2.com
More information about the cairo
mailing list