On Tue, 25 Sep 2001 17:41:06 +1000, Manuel M. T. Chakravarty wrote:
Many applications where GUIs are used require a canvas/scribble field with the following basic functionality:
- set a point in a particular color; if speed is an issue, mapping a 2D-array content to the canvas would be useful
Sure - such functionality needs to be included. However, a canvas widget is just one among many.
IMHO, the main interest on having this kind of functionality singled out is that this allows any other drawing primitive to be implemented in a generic way. You wouldn't have fast implementations, but this will allow complete implementations of the drawing portion of the GUI to be done real quickly, and it would also provide a reference implementation for all the basic drawing primitives. Any implementation that uses hardware acceleration or that defers rendering of primitives to the operating system can then be checked against that reference implementation. It's kind of like what I believe the Haskell Kernel to be: everything can be implemented using that subset of Haskell, and everything else is either syntactic sugar or library functions. Implementations can then optimize those sugar extensions and library functions or implement them as primitives for performance reasons, but they don't have to. Call this the Haskell GUI Kernel. Only this time, I believe it should be formally documented. Make sense? It will mean some more work than if we just jumped into the GUI and did it as a whole, but it'll save time and pain down the line. Salutaciones, JCAB email: jcab@roningames.com ICQ: 101728263 The Rumblings are back: http://www.JCABs-Rumblings.com