The version number on GRacket2 right now is 5.0.2.2.
At Thu, 28 Oct 2010 11:26:43 -0600, Jon Rafkind wrote: > Maybe I screwed something up but I can't tell if I'm running gr2 or not. > I built the gr2 branch and ran drscheme but so far it looks exactly the > same as gr1 (which I am positive is actually gr1). > > Is there an easy way to tell if I'm running gr2? Or should gr2 look > identical to gr1? > > On 10/28/2010 12:25 AM, Matthew Flatt wrote: > > The git repository now includes a "gr2" branch for the new > > implementation of `racket/gui', which we've been informally calling > > "GRacket2". > > > > The new `racket/gui' is intended to be mostly compatible with the > > current library, but there are some significant incompatibilities. > > Those differences are described below in a copy of the "Porting from > > v5.0.x to vX.Y" notes that are linked from the "Release Notes" page of > > the documentation. > > > > "GRacket2" is a misnomer in the sense that you can use the new > > `racket/gui' with just `racket'. Furthermore, the drawing layer is > > mostly unbundled from the GUI layer into a separate `racket/draw' > > library, so you can manipulate images without a GUI (e.g., without an > > X11 connection). The documentation doesn't yet reflect the GUI--Draw > > split, Slideshow's pict library doesn't yet use `racket/draw', etc., > > but I hope to get to that next. > > > > More immediately, it's time for you to try out the "gr2" branch for > > everyday work. I've switched to GRacket2 for SirMail, Slideshow, and > > DrRacket --- even during lecture. All library functionality is in > > place, but I'm sure that gaps and problems will show up as we put the > > library to work (and I know that some of the tests still fail). I > > expect to see many bug reports; once the bug reports slow down, I'll > > take that as a sign that GRacket2 can move to master branch. > > > > ---------------------------------------- > > > > GRacket, Racket, Drawing, and GUIs > > ---------------------------------- > > > > Version X.Y includes two major changes to the Racket drawing and GUI > > API: > > > > * The drawing portion of the GUI toolbox is now available as a > > separate layer: `racket/draw'. This layer can be used independent > > of the `racket/gui/base' library, although `racket/gui' re-exports > > `racket/draw'. > > > > (The `racket/draw' library is built on top of the widely used Cairo > > drawing library and Pango text-rendering library.) > > > > * The GRacket executable is no longer strictly necessary for running > > GUI programs; the `racket/gui/base' library can be used from > > Racket. > > > > The GRacket executable still offers some additional GUI-specific > > functiontality however. Most notably, GRacket is a GUI application > > under Windows (as opposed to a console application, which is > > launched slightly differently by the OS), GRacket is a bundle under > > Mac OS X (so the dock icon is the Racket logo, for example), and > > GRacket manages single-instance mode for Windows and X. > > > > The drawing and GUI libraries have also changed in further small ways. > > > > > > Bitmaps > > ------- > > > > Drawing to a bitmap may not produce the same results as drawing to a > > canvas. Use the `make-screen-bitmap' function (from `racket/gui') or > > the `make-bitmap' method of `canvas%' to obtain a bitmap that uses the > > same drawing algorithms as a canvas. > > > > A color bitmap can have an alpha channel, instead of just a mask > > bitmap. When drawing a bitmap, alpha channels are used more > > consistently and automatically than mask bitmaps. More significantly, > > drawing into a bitmap with an alpha channel preserves the drawn > > alphas; for example, drawing a line in the middle of an empty bitmap > > produces an image with non-zero alpha only at the drawn line. > > > > Only bitmaps created with the new `make-gl-bitmap' function support > > OpenGL drawing. > > > > Use the new `make-bitmap', `read-bitmap', `make-monochrome-bitmap', > > `make-screen-bitmap', and `make-gl-bitmap' functions to create > > bitmaps, instead of using `make-object' with `bitmap%'. The new > > constructors are less overloaded and provide more modern defaults > > (such as alpha channels by default). > > > > Image formats can be read into a `bitmap%' from from input ports, > > instead of requiring a file path. A newly created bitmap has an empty > > content (i.e., white with zero alpha), instead of unspecified content. > > > > > > Canvases > > -------- > > > > Drawing to a canvas always draws into a bitmap that is kept offscreen > > and periodically flushed onto the screen. The new `suspend-flush' and > > `resume-flush' methods of `canvas%' provide some control over the > > timing of the flushes, which in many cases avoids the need for > > (additional) double buffering of canvas content. > > > > OpenGL drawing in a canvas requires supplying 'gl as a style when > > creating the `canvas%' instance. OpenGL and normal dc<%> drawing no > > longer mix reliably in a canvas. > > > > > > Drawing-Context Transformations > > ------------------------------- > > > > A `dc<%>' instance supports rotation (via `set-rotation'), negative > > scaling factors for flipping, and a general transformation matrix (via > > `set-initial-matrix'). A transformation matrix has the form `(vector > > xx xy yx yy x0 y0)', where a point (x1, y1) is transformed to a point > > (x2, y2) with x2 = xx*x1 + yx*y1 + x0 and y2 = xy*x1 + yy*y1 + y0, > > which is the usual convention. > > > > New methods `translate', `scale', `rotate', and `transform' simplify > > adding a further translation, scaling, rotation, or arbitrary matrix > > transformation on top of the current transformation. The new > > `get-translation' and `set-translation' methods help to capture and > > restore transformation settings. > > > > The old translation and scaling transformations apply after the > > initial matrix. The new rotation transformation applies after the > > other transformations. This layering is redundant, since all > > transformations can be expressed in a single matrix, but it is > > backward-compatibile. Methods like `get-translation', > > `set-translation', `scale', etc. help hide the reundancy. > > > > > > Others Drawing-Context Changes > > ------------------------------ > > > > The alpha value of a `dc<%>' (as set by `set-alpha') is used for all > > drawing operations, including drawing a bitmap. > > > > The `draw-bitmap' and `draw-bitmap-section' methods now smooth bitmaps > > while scaling, so the `draw-bitmap-section-smooth' method of > > `bitmap-dc%' simply calls `draw-bitmap-section'. > > > > A `region%' can be created as independent of any `dc<%>', in which > > cases it uses the drawing context's current transformation at the time > > that it is installed as a clipping region. > > > > The old 'xor mode for pens and brushes is no longer available (since > > it is not supported by Cairo). > > > > > > Editor Changes > > -------------- > > > > The `draw-caret' argument to a `snip%' or `editor<%>' `draw' or > > `refresh' method can be a pair, which indicates that the caret is > > owned by an enclosing display and the selection spans the snip or > > editor. In that case, the snip or editor should refrain from drawing a > > background for the selected region, and it should draw the foreground > > in the color specified by `get-highlight-text-color', if any. > > > > > > Removed Functions > > ----------------- > > > > The `write-resource, `get-reource', and `send-event' functions have > > been removed from `racket/gui/base'. If there is any demand for the > > removed functionality, it will be implemented in a new library. > > > > _________________________________________________ > > For list-related administrative tasks: > > http://lists.racket-lang.org/listinfo/dev _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev