home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-11-02 | 2.9 KB | 77 lines | [TEXT/CWIE] |
- unit SpriteLayer;
-
- interface
-
- uses
- {$IFC undefined THINK_Pascal}
- Types,
- {$ENDC}
- SWCommonHeaders, Sprite;
-
- {$PUSH}
- {$ALIGN MAC68K}
-
- {/--------------------------------------------------------------------------------------}
- { SpriteLayer.h}
- {}
- { Portions are copyright: © 1991-94 Tony Myles, All rights reserved worldwide.}
- {}
- { Description: constants, structures, and prototypes for sprite layers}
- {/--------------------------------------------------------------------------------------}
-
-
- {/--------------------------------------------------------------------------------------}
- { sprite layer type definitions}
- {/--------------------------------------------------------------------------------------}
-
-
-
- {/--------------------------------------------------------------------------------------}
- { sprite layer data structure}
- {/--------------------------------------------------------------------------------------}
-
- type
- SpriteLayerPtr = ^SpriteLayerRec;
- SpriteLayerHdl = ^SpriteLayerPtr;
- SpriteLayerRec = record
- nextSpriteLayerP: SpriteLayerPtr; { next sprite layer}
- prevSpriteLayerP: SpriteLayerPtr; { previous sprite layer}
-
- headSpriteP: SpritePtr; { head of sprite linked list}
- tailSpriteP: SpritePtr; { tail of sprite linked list}
-
- userData: LongInt; { reserved for user}
- end;
-
- {/--------------------------------------------------------------------------------------}
- { sprite layer function prototypes}
- {/--------------------------------------------------------------------------------------}
-
-
- function SWCreateSpriteLayer (var spriteLayerP: SpriteLayerPtr): OSErr;
- procedure SWDisposeSpriteLayer (spriteLayerP: SpriteLayerPtr);
-
- procedure SWAddSprite (spriteLayerP: SpriteLayerPtr; newSpriteP: SpritePtr);
- procedure SWRemoveSprite (spriteLayerP: SpriteLayerPtr; oldSpriteP: SpritePtr);
- procedure SWRemoveAllSpritesFromLayer (srcSpriteLayerP: SpriteLayerPtr);
- procedure SWSwapSprite (spriteLayerP: SpriteLayerPtr; srcSpriteP: SpritePtr; dstSpriteP: SpritePtr);
- procedure SWInsertSpriteAfterSprite (spriteLayerP: SpriteLayerPtr; newSpriteP: SpritePtr; dstSpriteP: SpritePtr);
- procedure SWInsertSpriteBeforeSprite (spriteLayerP: SpriteLayerPtr; newSpriteP: SpritePtr; dstSpriteP: SpritePtr);
- function SWGetNextSprite (spriteLayerP: SpriteLayerPtr; curSpriteP: SpritePtr): SpritePtr;
-
- procedure SWLockSpriteLayer (spriteLayerP: SpriteLayerPtr);
- procedure SWUnlockSpriteLayer (spriteLayerP: SpriteLayerPtr);
- procedure SWMoveSpriteLayer (spriteLayerP: SpriteLayerPtr);
- procedure SWCollideSpriteLayer (spriteWorldP: SpriteWorldPtr; { SpriteWorldPtr - weird C forward declaration thing going on here }
- srcSpriteLayerP: SpriteLayerPtr; dstSpriteLayerP: SpriteLayerPtr);
-
- function SWFindSpriteByPoint (spriteLayerP: SpriteLayerPtr; startSpriteP: SpritePtr; testPoint: Point): SpritePtr;
-
- {$ALIGN RESET}
- {$POP}
-
- {$IFC not undefined THINK_Pascal}
- implementation
- {$ENDC}
- end.
-