[racket-dev] drafting the v5.1 release announcement
Let's get the ball rolling on the release announcement. Here are draft
bullets for the drawing and GUI libraries:
* The `racket/draw' library --- which implements the drawing half the
GUI toolkit --- is a new implementation built on top of the Cairo
drawing library and the Pango text-rendering library.
The `racket/draw' library can be used independent of the
`racket/gui/base' library and without a graphics display (e.g.,
without an X11 connection).
The new library has one small incompatibility with the old GUI
toolbox: 'xor drawing is no longer supported. The new library has
many additional features: rotation and general affine
transformations, PDF and SVG drawing contexts, gradients, and
alpha-channel bitmaps.
* The `racket/gui/base' library is a new implementation built on top
of Win32 under Windows, Cocoa (instead of Carbon) under Mac OS X,
and Gtk (instead of Xt) under Unix/X.
Unix/X users will see the biggest difference with this change.
DrRacket and all Racket GUI programs take on the desktop theme for
menus, buttons, and other GUI widgets.
The GRacket executable is no longer strictly necessary for running
GUI programs, because the `racket/gui/base' library can be used from
Racket. To the degree that a platform distinguishes GUI and console
applications, however, the GRacket executable still offers some
additional GUI-specific functionality (e.g., single-instance
support).
The new library includes small incompatibilities with the old GUI
toolbox: the `send-event', `current-ps-afm-file-paths', and
`current-ps-cmap-file-paths' functions have been removed. The
`racket/gui/base' library re-exports `racket/draw', so it includes
the same drawing functionality as before (except for 'xor drawing).