ftp.nice.ch/peanuts/GeneralData/Documents/adobe/DPS.Purple.Scroll.tar.gz#/NX_Scroll

DocView.h
[View DocView.h] 
DocView.m
[View DocView.m] 
DrawingView.h
[View DrawingView.h] 
DrawingView.m
[View DrawingView.m] 
DrawingViewWraps.psw
 
EpsfParser.h
[View EpsfParser.h] 
EpsfParser.m
[View EpsfParser.m] 
Graphic.h
[View Graphic.h] 
Graphic.m
[View Graphic.m] 
IB.proj
 
Icon.tiff
 
Makefile
 
Makefile.preamble
 
README
 
ScrollApp.h
[View ScrollApp.h] 
ScrollApp.m
[View ScrollApp.m] 
Scrolling.iconheader
 

Scrolling.nib


 
Scrolling_main.m
[View Scrolling_main.m] 
distillery.h
[View distillery.h] 
ierror.h
[View ierror.h] 
ierror.m
[View ierror.m] 
iinterpreter.c
[View iinterpreter.c] 
iinterpreter.h
[View iinterpreter.h] 
iinterpreterhooks.h
[View iinterpreterhooks.h] 
iinterpreterhooks.m
[View iinterpreterhooks.m] 
iparser.c
[View iparser.c] 
iparser.h
[View iparser.h] 
iparserhooks.h
[View iparserhooks.h] 
iparserhooks.m
[View iparserhooks.m] 
lex.l
 
lex.yy.c
[View lex.yy.c] 
zoom.tiff
 

README

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.