Scrolling.nib
README file for the Scrolling application. The Scrolling application looks at a variety of drawing issues. These include efficient path construction, use of the user path cache, setting graphic state parameters and drawing only that which is necessary. The Scrolling application can read a "distilled" PostScript file (one that is in a prescribed format) and place the graphic components into data structures for efficient display. The data structure consists of a list of graphics, with each graphic holding the path, its display parameters (line width, color, etcs) and whether the path should be stroked or filled. When a section is drawn, the list is traversed and the graphics are drawn. Below lies an annotated list of the files used in the application. ScrollingApp - A subclass of Application. Creates the window with the ScrollView, DocView and DrawingView. Provides the id's of the items in the Drawing Options Panel (matrices, buttons, etc). DocView - A subclass of View. Serves as the DocView for the ScrollView. Makes the DrawingView a subview making it easier to size and scale the DrawingView. The Drawing View is resized whenever the user zooms into or out of the document. DrawingView - A subclass of View. The view manages the drawing. It cycles through the list of graphic objects messaging each one to draw itself in turn. It provides a large UPath structure for each graphic to use instead of having each graphic keep one on hand or mallocing one each time drawing occurs. Graphic - A sublcass of Object. Holds the path and graphic state parameters for a single component of the drawing. DrawingViewWraps - Wraps for timing, obtaining ucache information and setting parameters. EpsfParser.m These files parse an EPS file first verifying it as EPS and then as lex.l a distilled file. The parsing acts as a rudimentry interpreter placing ierror.c items on the stack and the popping them. A new graphic object is iinterpreter.c created whenever a stroke or fill occurs when parsing. When this iintrepreterhooks.m happens, the current graphics state and the current path in this iparser.c simple interpreter are installed in the new graphic object. iparserhooks.m Topics of interest from the Scrolling application: Path construction and display (DrawingView, Graphic) Parsing a PostScript file - distilled format (EpsfParser.m, ierror, iinterpreterhooks, iinterpreter, iparserhooks, iparser, lex) Scaling the view (DocView, DrawingView)
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.