mGSTEP
 
F A Q    |    Notes    |    Projects    |    Home   
 
mgstep-1.66 - 68
  • OpenSSL support added to the URL loading classes (mini Security Framework API implementation).
  • UTF-8 decoding added to string rendering primitive functions.
  • Proof of concept encoding support for CJK fonts (typical fonts have 7K+ glyphs so full table is not included).
  • NSData Base64 encoding fixes and a unit test.
  • Contextual menu support added.
  • Improvements to Obj-C to C bridge allow C framework objects to be stored in Obj-C collection classes.
  • AppKit modal session bug fixes.
  • AppKit support for horizontal main menu.
mgstep-1.57 - 64
  • Massive upgrade to support the new GCC Objective-C runtime nomenclature.
  • New implementations of NSUndoManager and NSJSONSerialization
  • NIB archive support back-ported from mySTEP
  • Refactored Distributed Objects implementation
  • Updated Foundation classes to comply with Apple's 64-bit definitions
  • Added native support for OpenBSD
  • Many major and minor bug fixes (including numerous buffer overflows)
  • Replacement of NSRunLoop extensions with Core Foundation functions
  • Gradient support added to Core Graphics implementation
Errata
  • mGSTEP does not have a GUI builder so NIB archives must be created and edited with Apple's Xcode on OS X.
  • The X11 based AppKit implements an RGB drawing model while OPENSTEP was designed for RGBA. The current implementation works around the issue by capturing the background and drawing onto a cache in some cases. This solution may produce drawing artifacts.
  • The implemented use 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.
  • Anti-aliased path rendering is not supported in the X11 AppKit. As a result rendered shapes exhibit jagged edges. Capturing the result and scaling it down is a temporary workaround.
  • The gradient rendering code only supports 24bit or greater screen depths.
  • Wait cursor (spinning color wheel) state is not automagically handled (requires Luz Window Manager).
The Examples...
  • Workspace.app demonstrates a file browsing application. It features XDND based drag'n drop which allows files to be dragged onto the Workspace shelf or the app tiles of Edit and Viewer. You can also drag'n drop files onto ordinary Xterms (Allow SendEvents must be enabled) or any other XDND aware app. The ALT and CTRL modifier keys will affect the DND action depending on the drop target. A filesystem search panel is also included.
  • Edit.app is a general purpose text editor derived from a NeXT example. Edit demonstrates a multiple document application that can copy/paste and search/replace via it's menu. On Linux if you configure 'Services' support it can provide services via Distributed Objects to other applications while also making use of services exported by others.
  • Viewer.app is an image viewing application that supports JPG, GIF, PNG and TIFF. It can perform image scaling and can save any of the supported image file types to tiff while preserving user scaling of the image.
History   release history.