Article View: comp.sys.mac
Article #16708An interesting tidbit
From: dowdy
Date: Wed, 10 Jun 1987 21:14
Date: Wed, 10 Jun 1987 21:14
58 lines
2691 bytes
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!dowdyShow 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