home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1999 Spring / macformat-077.iso / Shareware Plus / Development / SpriteWorld 2.2 / SpriteWorld files / Utils / SWFastLine.h < prev    next >
Encoding:
Text File  |  1998-12-24  |  3.8 KB  |  191 lines  |  [TEXT/CWIE]

  1. ///--------------------------------------------------------------------------------------
  2. //    SWFastLine.h
  3. ///--------------------------------------------------------------------------------------
  4.  
  5. #ifndef __SWCOMMON__
  6. #include "SWCommonHeaders.h"
  7. #endif
  8.  
  9. #ifndef __TOOLUTILS__
  10. #include <ToolUtils.h>
  11. #endif
  12.  
  13. #ifndef __OSUTILS__
  14. #include <OSUtils.h>
  15. #endif
  16.  
  17. #ifndef __QUICKDRAW__
  18. #include <Quickdraw.h>
  19. #endif
  20.  
  21. #ifndef __QDOFFSCREEN__
  22. #include <QDOffscreen.h>
  23. #endif
  24.  
  25. #ifndef __SPRITEWORLD__
  26. #include "SpriteWorld.h"
  27. #endif
  28.  
  29. #ifndef __SPRITEWORLDUTILS__
  30. #include "SpriteWorldUtils.h"
  31. #endif
  32.  
  33. #ifndef __SPRITEFRAME__
  34. #include "SpriteFrame.h"
  35. #endif
  36.  
  37. #ifndef __BLITPIXIE__
  38. #include "BlitPixie.h"
  39. #endif
  40.  
  41. #ifndef __SPRITECOMPILER__
  42. #include "SpriteCompiler.h"
  43. #endif
  44.  
  45.  
  46. extern char             gSWmmuMode;
  47.  
  48.  
  49. #ifdef __cplusplus
  50. extern "C" {
  51. #endif
  52.  
  53. ///--------------------------------------------------------------------------------------
  54. //    Definitions
  55. ///--------------------------------------------------------------------------------------
  56.  
  57. typedef SW_FUNC void (*BlitLineProcPtr)(FramePtr dstFrameP, 
  58.     Point srcPoint, Point dstPoint, Byte color);
  59.  
  60. typedef SW_FUNC void (*CopyLineProcPtr)(FramePtr srcFrameP, 
  61.     FramePtr dstFrameP, Point srcPoint, Point dstPoint);
  62.  
  63.  
  64. ///--------------------------------------------------------------------------------------
  65. //    Function prototypes
  66. ///--------------------------------------------------------------------------------------
  67.  
  68. SW_FUNC void SWDrawLine68kAsm(
  69.     FramePtr dstFrameP, 
  70.     Point srcPoint, 
  71.     Point dstPoint, 
  72.     Byte color);
  73.  
  74. SW_FUNC void SWDrawLine(
  75.     FramePtr dstFrameP, 
  76.     Point srcPoint, 
  77.     Point dstPoint, 
  78.     Byte color);
  79.  
  80. SW_FUNC void SWCopyLine(
  81.     FramePtr srcFrameP, 
  82.     FramePtr dstFrameP, 
  83.     Point srcPoint, 
  84.     Point dstPoint);
  85.  
  86. SW_FUNC void SWDrawFrameRect(
  87.     FramePtr dstFrameP, 
  88.     Rect *destRect, 
  89.     Byte color);
  90.  
  91. SW_FUNC void SWCopyFrameRect(
  92.     FramePtr srcFrameP, 
  93.     FramePtr dstFrameP, 
  94.     Rect *destRect);
  95.  
  96.  
  97. SW_FUNC void SWDrawLineInScrollingWorld(
  98.     SpriteWorldPtr spriteWorldP, 
  99.     FramePtr dstFrameP, 
  100.     Point srcPoint, 
  101.     Point dstPoint, 
  102.     Byte color);
  103.  
  104. SW_FUNC void SWCopyLineInScrollingWorld(
  105.     SpriteWorldPtr spriteWorldP, 
  106.     FramePtr srcFrameP, 
  107.     FramePtr dstFrameP, 
  108.     Point srcPoint, 
  109.     Point dstPoint,
  110.     Rect *clipRectP);
  111.  
  112. SW_FUNC void SWDrawFrameRectInScrollingWorld(
  113.     SpriteWorldPtr spriteWorldP, 
  114.     FramePtr dstFrameP, 
  115.     Rect *dstRectP, 
  116.     Byte color);
  117.  
  118. SW_FUNC void SWCopyFrameRectInScrollingWorld(
  119.     SpriteWorldPtr spriteWorldP, 
  120.     FramePtr srcFrameP, 
  121.     FramePtr dstFrameP, 
  122.     Rect *dstRectP,
  123.     Rect *clipRectP);
  124.  
  125. ///--------------------------------------------------------------------------------------
  126. //    Internal functions
  127. ///--------------------------------------------------------------------------------------
  128.  
  129. SW_FUNC Boolean SWClipLineWithRect(Point *srcPoint, Point *dstPoint, Rect *clipRect);
  130.  
  131. void BlitLine68kAsm(
  132.     Ptr baseAddr, 
  133.     unsigned long rowBytes, 
  134.     short x1,
  135.     short x2, 
  136.     short y1, 
  137.     short y2, 
  138.     unsigned char color);
  139.  
  140. SW_FUNC void BlitLine(
  141.     FramePtr dstFrameP, 
  142.     Point srcPoint, 
  143.     Point dstPoint, 
  144.     Byte color);
  145.  
  146. SW_FUNC void BPCopyLine(
  147.     FramePtr srcFrameP,
  148.     FramePtr dstFrameP, 
  149.     Point srcPoint, 
  150.     Point dstPoint);
  151.  
  152. SW_FUNC void BlitWrappingLine(
  153.     FramePtr dstFrameP, 
  154.     Point srcPoint, 
  155.     Point dstPoint, 
  156.     Byte color);
  157.     
  158. SW_FUNC void BPCopyWrappingLine(
  159.     FramePtr srcFrameP, 
  160.     FramePtr dstFrameP, 
  161.     Point srcPoint, 
  162.     Point dstPoint);
  163.  
  164.  
  165. SW_FUNC void BlitStraightLine(
  166.     FramePtr dstFrameP, 
  167.     Point srcPoint, 
  168.     Point dstPoint, 
  169.     register Byte color);
  170.  
  171. SW_FUNC void BPCopyStraightLine(
  172.     FramePtr srcFrameP, 
  173.     FramePtr dstFrameP, 
  174.     Point srcPoint, 
  175.     Point dstPoint);
  176.     
  177. SW_FUNC void BlitStraightWrappingLine(
  178.     FramePtr dstFrameP, 
  179.     Point srcPoint, 
  180.     Point dstPoint, 
  181.     register Byte color);
  182.  
  183. SW_FUNC void BPCopyStraightWrappingLine(
  184.     FramePtr srcFrameP, 
  185.     FramePtr dstFrameP, 
  186.     Point srcPoint, 
  187.     Point dstPoint);
  188.  
  189. #ifdef __cplusplus
  190. }
  191. #endif