Spline Screen Saver

In this screen saver, a group of curved lines snakes its way across your screen, bouncing off the edges. As it moves, it slowly changes from one bright color to the next.

Configuration

image of Spline preference pane
Spline Preferences

In this screen saver there are two basic parameters available to you, "Speed" and "Tail Length".

"Speed" controls the screen saver's attempted frame rate and ranges from 10 to 100 frames per second. Of course, the actual frame rate achieved will depend upon your computer's ability to keep up. As such, you may not be able to get a full 100 frames per second even if you request it. Setting the speed lower will use less CPU, which may be important if you are running background processes such as SETI@home or a web server. The default setting is 35 frames per second.

"Tail Length" controls how long the Spline's tail is. Longer settings will allow more curved line segments to be on the screen at a time. There can be between 10 and 100 segments. The default is 55 segments.



Background

The Spline screensaver module is based conceptually on a module written by Sam Streeper for his NEXTSTEP based BackSpace screen saver program. The code, however, actually derives from the illumineX Qix module and not Sam's "Bézier" module.

To create this module, we simply modified the Qix module to bounce four points around the screen instead of just two. We used the extra two points as control points for drawing a standard Bézier cubic spline. Thanks to the richness of Quartz and Cocoa, this is a surprisingly simple modification.