Re: writing a new GUI environment
site_archiver@lists.apple.com Delivered-To: Darwin-dev@lists.apple.com On May 4, 2005, at 1:46 PM, Shawn Erickson wrote: On May 4, 2005, at 1:36 PM, Erich Ocean wrote:
[snip] Best, Erich _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... Mac OS X supports three (or perhaps four or five) distinct GUI enviroments: Carbon, Cocoa, Java, and perhaps QuickTime and OpenGL. OpenGL => NSGL, AGL, CGL or GLUT (<http://developer.apple.com/qa/qa2001/qa1269.html>) CGL looks like it *should* be low-level, but in fact, it's only accessible via Carbon or Cocoa: CGL or Core OpenGL is the lowest accessible interface API for OpenGL. It knows nothing about windowing systems but can be used directly to find both renderer information and as a full screen or off screen interface. It is accessible from both Cocoa and Carbon and is what both NSGL and AGL are built on. A complete Pbuffer interface is also provided. Functionality is provided in via the OpenGL framework and applications can include the OpenGL.h header to access CGL's functionality. If you want to take over the whole the screen then you could just use OpenGL (CGL) and Quartz and do all your own drawing. I'd like to use CGL *without* Carbon or Cocoa; I'm perfectly happy doing my own window management, so the full-screen thing would work. (It would be *nice* to be a full citizen in Mac OS X, but since this is for educational purposes, I can live with that.) What I'm concerned about is receiving keyboard and mouse events without having Carbon or Cocoa linked in. I'm getting the impression that that isn't possible. Does anyone know how Apple's X implementation is done? It's not a Carbon or Cocoa app AFAIK... This email sent to site_archiver@lists.apple.com
participants (1)
-
Erich Ocean