Skip to content
Prev 3233 / 15075 Next

rgl window problem

On Dec 6, 2006, at 9:08 AM, Duncan Murdoch wrote:

            
This works analogously - you can use dlopen as on other unix  
platforms (this is what R does) for the indirect calls. I assume that  
you need to load different code for each UI anyway, so you can make  
that separation at any level, it doesn't have to be the GL level. You  
could, for example, compile two libs for rgl and load the  
corresponding one in First.Lib or friends. That IMHO the most simple  
solution and it works on any platform.
Carbon = compatibility library for OS9 code to work in OS X
Cocoa = OO application environment for programming for Mac OS X
Aqua = name of user interface used in Mac OS X
Quartz = graphics system in Mac OS X based of PDF drawing model (also  
the name of the R graphics device that uses that system)
R.app = name of the Mac OS X GUI

Strictly speaking AGL is a part of Cocoa, but what you want to detect  
is the R.app GUI. In fact this is not the entire story, because you  
wouldn't mind using AGL if some Cocoa program links R, so  
using .Platform$GUI for that seems reasonable enough (yes, AQUA here  
actually means Cocoa).

In R we have a mess, because "Aqua" was the name of an ancient  
attempt for an OS X GUI that we scraped long time ago. Unfortunately  
the name "aqua" is still in R for historical reasons and it is used  
in several distinct meanings (somewhere it means Mac OS X platform,  
elsewhere it means Cocoa,...), none of them being actually Aqua. (I  
was trying to fix it before, but there is a lot of ancient code still  
wedged in) - however, I hope this mess will go away in time for 2.5.0.

Cheers,
Simon