ftp.nice.ch/peanuts/GeneralData/Documents/adobe/DPS.Purple.Clock.tar.gz#/NX_Clock

Animator.h
[View Animator.h] 
Animator.m
[View Animator.m] 
Clock.iconheader
 

Clock.nib


 
ClockApp.h
[View ClockApp.h] 
ClockApp.m
[View ClockApp.m] 
ClockView.h
[View ClockView.h] 
ClockView.m
[View ClockView.m] 
ClockViewWraps.psw
 
Clock_main.m
[View Clock_main.m] 
IB.proj
 
Icon.tiff
 
Makefile
 
README
 

README

README file for the Clock application.

The Clock application looks at graphic state objects (gstates) and user objects.
This is done within the context of a clock. The hands of the clock each have a
gstate associated with them. The gstates and the path descriptions for the hands
are referenced using user objects. (The paths are stored in the server.) Although
the use of a gstate for each hand of the clock is a little gratuitous, the setup does
provide a closer look at how gstates work.

Gstates are primarily useful for windows and views that will be composited onto
other views. The reason for this is because a gstate contains a reference to the
device. The device for a window is the raster memory. As a result, the gstate
provides a way to focus the drawing on a particular area in raster memory. (The
composite operator uses the gstate to locate the raster image for the source.)

Gstates also provide an easy way to install an arbitrary graphic state as the
current graphic state instead of having to set each parameter explicitly.


Below lies an annotated list of the files used in the application. 

Animator			- A subclass of Object taken from the StopWatch application
					that was once in the NeXTDeveloper directory. It provides
					the call backs for the one second ticks.
ClockApp		- A subclass of Application that creates the clock window.
ClockView		- A subclass of View that manages the drawing of the clock
					face and the hands. Contains a reference to an NXImage
					object which holds the rendered image of the clock face.
					This object is composited into the window and then the
					hands are drawn atop at each clock tick.

ClockViewWraps.psw	-  Wraps for drawing the clock face, detecting a hit on
					the alarm hand and defining objects in the server.


Topics of interest from the Clock application:

Using a static user path description (ClockView)
Defining user objects (ClockView)
Defining graphic state objects (ClockView)
Drawing into an offscreen window and compositing from it (ClockView)
Scaling the Clock (ClockView)

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.