Friday, April 7, 2006

Graphic-Forms progress report

I’m making progress towards the next Graphic-Forms release. Here is a brief status update:

  • implemented graphics-context methods for the common drawing operations and pen attributes; there is a new test program invoked via (gft:run-drawing-tester) that exercises these operations

  • implemented a representation of fonts as well as font data and fleshed out the API for creating fonts from font data as well as obtaining font metrics; the aforementioned drawing tester program does exercise fonts

  • expanded the representation of windows, such that there are now classes representing top-level windows and child windows (the latter are called ‘panels’ in GF), as well as a root-window class representing the desktop and a display class representing the system’s monitor

  • also added new window style attributes to help applications choose whether the system should automatically repaint the background or not

  • did some testing and tracked down some embarrassing GDI handle leaks

  • currently developing a simple blocks game as a more complete demo and as a test bed for me to learn how Cells works

  • filed a bug with CLISP concerning stdcall callbacks, which impacts a couple of important functional areas in GF (the test case I submitted might be further reducible and I will work on that)

I’d like to get some more basic infrastructure done before the 0.3.0 release, such as:

  • in particular, complete my research of Cells and decide how/where to integrate that (in particular, I consider this a prerequisite for any further work on layout managers)

  • also more controls

  • at least a couple of the common dialogs

  • and of course more testing

Also, a short while after 0.2.0 went out, I entered ~70 bugs into the tracker at SourceForge. At this early stage, I view most of those as ToDo entries because they are missing features rather than unanticipated problems. Just today, Erik Enge announced that common-lisp.net now has Trac available, and I will certainly investigate further and perhaps decide to migrate issue tracking away from SourceForge.

No comments: