gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New MS Window backend for GNUstep


From: Fred Kiefer
Subject: New MS Window backend for GNUstep
Date: Mon, 22 Apr 2002 00:48:54 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; rv:0.9.4) Gecko/20011019 Netscape6/6.2

I just submitted a simple back end for MS Windows to CVS. This is something I have been working on for the last few months and it is still pre beta, so be very careful if you want to test it.


What is it?

The new back end structure for GNUstep introduced by Adam a few weeks back allows one to implement a new GNUstep back end with very few effort. A proof to this claim is the back end for MS Windows which just consists of a few files (~80KB). It uses native MS Windows calls to implement the GNUstep graphical interface. It does provide a Display Server for the window and event handling as well as Graphic Context and GState for the drawing inside of a window. (Actually this back end is a bit older than the new back end structure and parts of this where even extracted from the MS Windows back end.)


What do you need to get it working?

The MS Windows back end has been tested with mingw running inside of cygwin. (It works without cygwin, but this makes the compilation easier) To build the back end you will first have to build objc, base and gui for the mingw environment. How to do this is described in the Readme.mingw file in the make package. You need to include a tiff library to get gui working, the other libraries (libxml2, iconv...) are optional. A pure cygwin environment (with added objc compiler, which is missing from the standard cygwin distribution) and mingw on top of MSYS should both be working, but have not been tested. Currently this back end has only been tested with Windows 2000, so don't expect it to run with Win98 or ME.

What is working?

Quite a lot already. You get windows, events are handled (some still missing), text, colours, lines, fills are drawn. Most of the tests in GSTest give a useful output.


What is missing?

Drag & Drop, different fonts (only the system font is used), bitmap drawing, clipping (it works, but there are still some bugs here). The biggest gap is of course the not working bitmap drawing. I wanted to get this working and this has delayed this back end for about two weeks now. As this is my first Windows program after years of absence I did it by the book using the documentation as a guideline, without even an example applications. This should make sure that there is no copyright violation in this code, but it makes it very hard to get out of a dead end. Which might be what I run into with my bitmap handling. So if anybody out there has more experience with Window programming any help will be appreciated.

How hard was it to build?

Although I have been working on this for more than a month now, the original code, that does the window handling and the drawing, was done on one weekend or even part of it, as I spend Thursday night and the whole Friday in London drinking with Nigel Burch and the Flea Pit Orchestra, on late Saturday I was not able to do much more than hack away on Windows. All Windows users should be thankful to this band for there indirect support of GNUstep. It did cost me the most time to get all the coordinate transformation errors out (or so I hope). I could have avoided this by switching Windows to use the GNUstep way of coordinate system, but I was not sure, if I wouldn't end up with just another strange coordinate system to take care of. Even more time went into getting GNUstep to work on MS Windows at all. For this I have to thank Nicola, Richard and Adam for providing help and support. There will be loads of problems still awaiting us on MS Windows.


Will there be a binary distribution?

Surely at some time in the future, but there are still so many errors left that the Windows back end should currently only be used by programmers. As soon as we have a stable release, we should think about pre compiled binaries.

Cheers Fred




reply via email to

[Prev in Thread] Current Thread [Next in Thread]