🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.mac
Article #16708

An interesting tidbit

#16708
From: dowdy
Date: Wed, 10 Jun 1987 21:14
58 lines
2691 bytes
The other day we were discussing how the MacPaint marquee was done,
and everyone kept coming up with strange and wonderful ideas involving
3 or 4 regions and VBL tasks and offscreen bitmaps.  Well, I didn't
think it was THAT hard, and without so much as a Macsbug peek at MacPaint
I came up with this little segment that sort of approximates what MacPaint
does.  (notice that mine goes up instead of down, but that's left as an
exercise for the reader, I wasnt about to redo the pattern again)

Written in LSP, run it with trace on to slow it down.  
No guarantees, but it might come in handy someplace.

PROGRAM Marquee;
{ An example of a MacPaint-like Marquee using 8 patterns}
{ Note: in reality, this pattern is backwards from the}
{ real MacPaint one, but that is simple to fix}
{ Tom Dowdy, Apple Computer}
VAR
r, r2 : rect; { Rectangles for fill and frame }
p : ARRAY[0..7] OF pattern; { Array of the 8 patterns }
i, j : integer; { Loop counters }
BEGIN
{ Initial pattern is a simple diagonal line, upper right to lower left}
{ 11100001 : 0}
{ 11110000 : 1}
{ 01111000 : 2}
{ 00111100 : 3}
{ 00011110 : 4}
{ 00001111 : 5}
{ 10000111 : 6}
{ 11000011 : 7}
p[0][0] := 128 + 64 + 32 + 1;
p[0][1] := 128 + 64 + 32 + 16;
p[0][2] := 64 + 32 + 16 + 8;
p[0][3] := 32 + 16 + 8 + 4;
p[0][4] := 16 + 8 + 4 + 2;
p[0][5] := 8 + 4 + 2 + 1;
p[0][6] := 128 + 4 + 2 + 1;
p[0][7] := 128 + 64 + 2 + 1;

{We shift each pattern off by one pixel from the previous pattern}
FOR i := 1 TO 7 DO
BEGIN
FOR j := 0 TO 6 DO
p[i][j] := p[i - 1][j + 1];
p[i][7] := p[i - 1][0];
END;
SetRect(r, 50, 50, 100, 100); { Define it here to slow down }
SetRect(r2, 120, TIL 0 = 1; {do forever}
END.

===========================================================================
  Tom Dowdy                 CSNET:    dowdy@apple.CSNET
  Apple Computer            Internet: dowdy@apple.COM
  20525 Mariani Ave         MoneyNet: (408) 973-6689
  Cupertino, CA 95014       AppleLink:DOWDY1
  MS: 27Y                   UUCP:     {sun,voder,amdahl,decwrl}!apple!dowdy
  "Plus ca change, Plus c'est la meme chose."
=========================================================================== 
Technical Details
Message-ID: <984@apple.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!rutgers!ames!oliveb!pyramid!voder!apple!dowdy

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!rutgers!ames!oliveb!pyramid!voder!apple!dowdy
From: dowdy@apple.UUCP
Newsgroups: comp.sys.mac
Subject: An interesting tidbit
Message-ID: <984@apple.UUCP>
Date: Wed, 10-Jun-87 17:14:41 EDT
Article-I.D.: apple.984
Posted: Wed Jun 10 17:14:41 1987
Date-Received: Sat, 13-Jun-87 05:23:35 EDT
Organization: Apple Computer, Inc., Cupertino, USA
Lines: 58
Keywords: marquee Macpaint