home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
pascal
/
library
/
dos
/
tegl_ii
/
intro
/
animunit.doc
< prev
next >
Wrap
Text File
|
1991-08-16
|
2KB
|
70 lines
{-----------------------------------------------------------------------------}
{ TEGL Windows ToolKit II }
{ Copyright (C) 1990, 1991 TEGL Systems Corporation }
{ All Rights Reserved. }
{-----------------------------------------------------------------------------}
{ This unit is an identical version of ANIMATE without using Objects }
{$I switches.inc}
Unit Animunit;
INTERFACE
USES Crt, {sound, nosound}
TGraph,
teglmain, {beepstatus}
Virtmem,
FastGrph, {flip pages}
IPStacks,
TEGLUnit; {windows stacked images}
TYPE
coordinates = record
x,y : Integer;
end;
AFramePtr = ^AnimateFrame;
AnimateFrame = record
nextframe : AFramePtr; {next pointer, can be circular buffer}
imagepic : Pointer; {image for display}
tonehz : Word; {0 turns off tone}
tonedelay : Word;
movement : coordinates; {next increment}
imgdelay : Word; {delay before next image is placed}
imagesz : Word; {size of image}
height,width: Word; {length and width of image}
Color : Word; {color for putpict}
END;
sequenceptr = ^sequenceset;
sequenceset = record
nextsequence : sequenceptr;
sequencenum : Word;
sequenceframe : AFramePtr;
END;
AnimateObject = record
currentframe : AFramePtr; {pointer to current picture frame}
firstframe : AFramePtr; {first image pointer}
sequenceframe : sequenceptr;
FrameNumber : Word;
cc : coordinates;
END;
Procedure Init(var AO:AnimateObject);
Procedure Origin(var AO:AnimateObject; ox,oy:Word);
Procedure GetOrigin(var AO:AnimateObject; VAR lastox,lastoy:Integer);
Procedure ResetFrame(var AO:AnimateObject; startframe : Word);
Function CurrentFrameNumber(VAR AO:AnimateObject) : Word;
Function Destination(VAR AO:AnimateObject; dx,dy : Word) : Word;
Procedure AddFrame(VAR AO:AnimateObject; pp:Pointer; mx,my:Integer; ht,wd,dy,hz,hzdy,co:Word);
Procedure Sequence(var AO:AnimateObject; seqnum:Word);
Procedure ResetSequence(var AO:AnimateObject);
Procedure AnimateInit;
Procedure Animate(var AO:AnimateObject; numframe : Word);
Procedure AnimateComplete(var AO:AnimateObject);
IMPLEMENTATION