mGSTEP
 
F A Q    |    Notes    |    LLVM    |    Projects    |    Home   
 
mgstep-1.69 - 70
  • Enhancements to color management, tableviews .... Several classes backported from myStep.
  • Initial support for building with LLVM and Libobjc2 (see LLVM notes).
mgstep-1.57 - 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 (stub table, typical fonts have 7K+ glyphs).
  • NSData Base64 encoding fixes and a unit test.
  • 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 contextual menus and a horizontal main menu.
  • Support for the new GCC Objective-C runtime API nomenclature.
  • New implementations of NSUndoManager and NSJSONSerialization
  • NIB archive support back-ported from mySTEP
  • Updated Foundation classes to comply with Apple's 64-bit definitions
  • Added native support for OpenBSD
  • Replacement of NSRunLoop extensions with Core Foundation functions
  • Gradient support added to Core Graphics implementation
Errata
  • No GUI builder so NIB archives must be created and edited with Apple's Xcode on OS X.
  • X11 based AppKit implements an RGB drawing model while OPENSTEP was designed for RGBA. mGSTEP grabs the background and draws onto a cache which 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).
AppKit Examples...
  • Workspace.app demonstrates a file system browsing and search application. It supports XDND based Drag'n Drop onto its shelf, the app tiles of Edit or Viewer and ordinary Xterms (Allow SendEvents must be enabled). The ALT and CTRL modifier keys affect the DnD action depending on the drop target.
  • Edit.app is a text editor derived from a NeXT example. Edit demonstrates a multiple document application that can copy/paste and search/replace text. It can also provide services via Distributed Objects to other applications while also making use of services exported by others.
  • Viewer.app is an image display application that supports JPG, GIF, PNG and TIFF. It can scale and save any of the supported image file types to tiff while preserving user scaling of the image.
History   release history.