home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Games / Hexagonal CA / HexCA.h / ToolTrapsPr.h < prev   
Encoding:
C/C++ Source or Header  |  1997-05-27  |  2.1 KB  |  70 lines  |  [TEXT/CWIE]

  1. /* ToolTraps */
  2. /*
  3. Programmed by Alexander M Kasprzyk, ©1997
  4.  
  5. A set of useful trap calls for 68K Macs only
  6.  
  7. alex@kasprzyk.demon.co.uk
  8. */
  9.  
  10. #ifndef _ToolTrapsPr_
  11. #define _ToolTrapsPr_
  12.  
  13. #ifndef powerc
  14.  
  15. #include <QDOffscreen.h>
  16.  
  17. #ifdef _main_tooltraps_
  18. #define LIMIT /*GLOBAL*/
  19. #else
  20. #define LIMIT extern
  21. #endif
  22.  
  23. typedef pascal void            (*CopyBitsPtr)( const BitMap *, const BitMap *, const Rect *, const Rect *, short, RgnHandle );
  24. typedef pascal unsigned long    (*TickCountPtr)( void );
  25. typedef pascal short            (*RandomPtr)( void );
  26. typedef pascal void            (*EraseRectPtr)( const Rect * );
  27. typedef pascal void            (*ClipRectPtr)( const Rect * );
  28. typedef pascal void            (*MoveToPtr)( short, short );
  29. typedef pascal void            (*DrawStringPtr)( ConstStr255Param );
  30. typedef pascal void            (*FrameRectPtr)( const Rect * );
  31. typedef pascal Boolean        (*ButtonPtr)( void );
  32.  
  33. LIMIT    CopyBitsPtr        copyBitsAddress;
  34. LIMIT    TickCountPtr        tickCountAddress;
  35. LIMIT    RandomPtr        randomAddress;
  36. LIMIT    EraseRectPtr        eraseRectAddress;
  37. LIMIT    ClipRectPtr        clipRectAddress;
  38. LIMIT    MoveToPtr        moveToAddress;
  39. LIMIT    DrawStringPtr        drawStringAddress;
  40. LIMIT    FrameRectPtr        frameRectAddress;
  41. LIMIT    ButtonPtr            buttonAddress;
  42.  
  43. #define    MCopyBits( bs, bd, rs, rd, sh, rg )        (*copyBitsAddress)( bs, bd, rs, rd, sh, rg )
  44. #define    MTickCount()                        (*tickCountAddress)()
  45. #define    MRandom()                        (*randomAddress)()
  46. #define    MEraseRect( rt )                    (*eraseRectAddress)( rt )
  47. #define    MClipRect( rt )                        (*clipRectAddress)( rt )
  48. #define    MMoveTo( h, v )                    (*moveToAddress)( h, v )
  49. #define    MDrawString( st )                    (*drawStringAddress)( st )
  50. #define    MFrameRect( rt )                    (*frameRectAddress)( rt )
  51. #define    MButton()                            (*buttonAddress)()
  52.  
  53. void        GetCommonTraps    ( void );
  54.  
  55. #undef _main_tooltraps_
  56.  
  57. #else
  58.  
  59. #define    MCopyBits( bs, bd, rs, rd, sh, rg )        CopyBits( bs, bd, rs, rd, sh, rg )
  60. #define    MTickCount()                        TickCount()
  61. #define    MRandom()                        Random()
  62. #define    MEraseRect( rt )                    EraseRect( rt )
  63. #define    MClipRect( rt )                        ClipRect( rt )
  64. #define    MMoveTo( h, v )                    MoveTo( h, v )
  65. #define    MDrawString( st )                    DrawString( st )
  66. #define    MFrameRect( rt )                    FrameRect( rt )
  67. #define    MButton()                            Button()
  68.  
  69. #endif
  70. #endif