From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <8ccc8ba40712180711x30dda594v1a62248c820cba19@mail.gmail.com> Date: Tue, 18 Dec 2007 16:11:51 +0100 From: "Francisco J Ballesteros" To: nu3e@arrl.net, "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu> Subject: Re: [9fans] graphical clock demo at IWP9 In-Reply-To: <4767E213.9070208@degood.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <4767E213.9070208@degood.org> Cc: Topicbox-Message-UUID: 1c3a89c6-ead3-11e9-9d60-3106f5b1d025 Sorry, not in server. On Dec 18, 2007 4:06 PM, John DeGood wrote: > Ron Minnich encouraged me to bring my incomplete little graphical clock > program to IWP9, and then he encouraged me to complete it. So please > blame Ron for this: > > http://degood.org/plan9/mclock.tar > > History of this clock program: in the 1970s Dave Robinson, an EE > professor at UDel, wrote a cute graphical clock program in PDP-11 BASIC > that displayed on a Tektronix vector graphics terminal > in his lab. The clock > image was drawn as vectors, with the filled areas composed of hundreds > of side-by-side vectors. > > In 1982 I got a printout of the program from Dave, typed in all the > vector coordinates, and then rewrote the program in FORTRAN for an HP > 3000 timeshared minicomputer, outputting escape sequences to an HP 2648 > raster graphics terminal > in my lab. > > Flash forward ~25 years: I stumbled across a line printer listing (on > green bar paper, of course) of my 1982 program in my basement, and on a > whim decided to rewrite it in C for Plan 9 using draw(2). It looked > very retro. I tried adding color, but it still wasn't satisfying > because the hundreds of vectors used for area fill weren't compatible > with variable size windows. So I tediously determined bounding polygons > for each of the filled areas and called fillpoly() instead. > > Magic feature: when the clock diameter is > 600 pixels (e.g. > fullscreen) the linewidth increases from thick=0 (1 pixel) to thick=1 (3 > pixels) to make the clock more readable from a distance. > > Have fun. > > John > >