On 9 May 2008, at 08:13, Fred Kiefer wrote:
I agree, this is a great answer. Still before we put it into the FAQ
we may need to extend it a bit.
There are of course two main interface classes between gui and back
one of them is GSDisplayServer, the one that has been talked about
and the other is NSGraphicsContext. The later does the actual
drawing whereas the former manages windows and events. This
separation is just great to have multiple graphics backends like
art, xlib and cairo share the same x11 display server. (OK, there is
room for improvement on this in our current implementation, but
there always is)
We may also want to point out that there is already theming code out
there, written by Chrstopher Armstrong, that does the drawing of
controls with native Windows functionality. Perhaps later this year,
when the new theming framework is in place it will be possible to
make a clean release of that theme.
As for the drawing into a native window, there is the method
initWithWindowRef: on NSWindow, which will create a GNUstep window
from a native window reference. Allowing you to carefully create an
NSView at the right place to draw into. This functionality requires
a method on the display server that is currently not implemented on
MS Window, but should be easy to add. (The only complex bit will be
the GWL_USERDATA)
I already added it, but yes, I'm sure it can be improved. Please go
ahead and edit my original as you see fit.
It's at http://wiki.gnustep.org/index.php/User_FAQ
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev