mGSTEP
 
F A Q    |    Notes    |    Progress    |    Projects    |    Home   
 
Release Notes

mgstep-0.558
The implementation of radial gradients is now complete. Improvements to the management of graphic state objects fix a potential memory leak. Minor changes to the GUI (AppKit) backend polish the major changes in previous releases. A demo of radial gradients was added to the AppKit tests.

Errata
  • The current GUI backend is X11 based. X11 has historically implemented an RGB drawing model while OPENSTEP was designed for RGBA. The current mGSTEP implementation works around the issue in several ways but the solution is not perfect in all cases. A Linux frame buffer GUI backend which is at an early stage will better address this issue.
  • The current mGSTEP support of FreeType and Xrender does not allow applications to share glyphs. This results in slightly longer launch times and increased memory usage when compared to core X11 font support. This will be resolved in a subsequent release.
  • Current drawing path rendering lacks a good anti-aliasing polygon rasterization algorithm. As a result many rendered shapes exhibit jagged edges.
  • The 557 gradient rendering code currently only supports 24bit or better RGB Displays.
  • Wait cursor (spinning color wheel) state is not automagically handled.

The Examples...
  • Workspace.app demonstrates a file browsing, searching and management application. It's more interesting features include drag'n drop which is XDND based. Files can be dropped onto the app tiles of Edit, Viewer or any other application that supports XDND. You can also drag'n drop files onto the Workspace's shelf and even onto an ordinary Xterm (assuming you have Allow SendEvents turned ON). The ALT and CTRL modifier keys will affect the DND action depending on the drop target.
  • Edit.app is a general purpose text editor. Edit demonstrates copy/paste and search/replace via it's menu. It is also possible to open and save multiple documents via the 'Open/Save/Save As' menu items. On Linux if you configure 'Services' support you can provide services to other applications and also make use of services exported by others. Using this facility Workspace can for example ask a single instance of Edit to open multiple documents. Edit can in turn ask the example service to open a URL (FireFox must be running to display it)...etc.
  • Viewer.app is an image viewing application that supports JPG, GIF, PNG and TIFF. It can perform user image scaling and its app icon serves as an animated XDND drag'n drop target. It can also save any of the supported image file types to tiff while preserving user scaling of the image.

History
mGSTEP's evolution is described in the release history.


Linux
A Linux based system with glibc-2.3.2 is the main development platform. Any modern Linux distribution should work. GCC needs to have been compiled with Objective-C support.

MacOS X
On MacOS X mGSTEP configures itself and some of the AppKit tests build but the libraries do not because Apple's Cocoa is native on OS X. The main reason to install on OS X is to provide support for the mGSTEP Makefiles.

FreeBSD
Years ago FreeBSD 3 support was working. Probably has glitches now.

AIX
Preliminary build support was added. Foundation builds but is otherwise untested.

Solaris
Preliminary build support was added. Foundation builds but is otherwise untested.

NeXTSTEP
Not currently supported.
Old notes:
On NeXSTEP I build using the NS3.2 development tools on top of OPENSTEP 4.2 user. You'll need an X server, headers and libraries in order to build the AppKit since the native NeXTSTEP backend is not yet ready. You'll also want to use WindowMaker as your windowmanager. The X server I'm using does not support the X Shape extension so drag windows are not transparent under NS. You may also need to update to a recent version of GNU Make and BASH.

Windows NT
Not currently supported.
Old notes:
Only the Foundation libraries are built and tested with the public snapshot. Building the AppKit is not yet supported (although the XRAW backend should work if you have X installed). The native Win32 backend does not contain any Xlib dependencies. The build system is an i686 machine running Windows NT 4 SP5 using the latest CygWin package from Cygnus. The default build creates a static Foundation library. The Makefile can also be configured to build Dynamically relocatable DLL's but the resulting DLL seems to have a problem finding globals. BASH should be used in building and must be in UNIX mode. The nsarchiver, nsbundle and nstask Foundation tests fail on NT.