home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / RandomDot 1.1.0 / headers / Utils.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-10-20  |  3.1 KB  |  129 lines  |  [TEXT/KAHL]

  1. /* Utils.h
  2.     by David Phillip Oster October 1994 oster@netcom.com
  3.     for:
  4.     Stuart Inglis singlis@waikato.ac.nz
  5.     Department of Computer Science
  6.     University of Waikato, Hamilton, New Zealand
  7.  */
  8. #ifndef _H_UTILS
  9. #define _H_UTILS
  10.  
  11. typedef void (*ThumbInitProcPtr)(ControlHandle);
  12. typedef void (*ThumbDoneProcPtr)(ControlHandle, Integer);
  13.  
  14. /* The following was left out of Controls.h:
  15.  */
  16. typedef pascal void (*ControlIndicatorProcPtr)(void);
  17.  
  18. enum {
  19.     uppControlIndicatorProcInfo = kPascalStackBased
  20. };
  21.  
  22. #if USESROUTINEDESCRIPTORS
  23. typedef UniversalProcPtr ControlIndicatorUPP;
  24.  
  25. #define CallControlIndicatorProc(userRoutine)        \
  26.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppControlIndicatorProcInfo)
  27. #define NewControlIndicatorProc(userRoutine)        \
  28.         (ControlIndicatorUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlIndicatorProcInfo, GetCurrentISA())
  29. #else
  30. typedef ControlIndicatorProcPtr ControlIndicatorUPP;
  31.  
  32. #define CallControlIndicatorProc(userRoutine)        \
  33.         (*(userRoutine))()
  34. #define NewControlIndicatorProc(userRoutine)        \
  35.         (ControlIndicatorUPP)(userRoutine)
  36. #endif
  37.  
  38. /* Handle scroll bars, using universal procedure pointers:
  39.  */
  40. typedef struct ScrollBarClassRec{
  41.     ControlActionProcPtr    upProc;
  42.     ControlActionProcPtr    downProc;
  43.     ControlActionProcPtr    pageUpProc;
  44.     ControlActionProcPtr    pageDownProc;
  45.     ControlIndicatorProcPtr    thumbProc;
  46.     ThumbInitProcPtr        thumbInit;
  47.     ThumbDoneProcPtr        thumbDone;
  48.     ControlActionUPP        up;            /* filled in at runtime by InitScrollBarClass */
  49.     ControlActionUPP        down;
  50.     ControlActionUPP        pageUp;
  51.     ControlActionUPP        pageDown;
  52.     ControlIndicatorUPP        thumb;
  53. }ScrollBarClassRec, *ScrollBarClassPtr;
  54.  
  55. #define kEnable 0    /* used for control hiliting */
  56. #define kDisable 255
  57.  
  58. /* *** arithmetic functions
  59.  */
  60. Integer Min(Integer a, Integer b);
  61.  
  62. Integer Max(Integer a, Integer b);
  63.  
  64. /* *** memory functions
  65.  */
  66. SignedByte HSetLockState(Handle h);
  67.  
  68. void BlockClear(void *xp, LongInt len);
  69.  
  70. Boolean EqualBlock(void * a, void *b, LongInt len);
  71.  
  72. Boolean EqualHandle(Handle a, Handle b);
  73.  
  74. /* *** string functions.
  75.  */
  76. void StrMove(const StringPtr src, StringPtr dest);
  77.  
  78. StringHandle StrHandle(const StringPtr s);
  79.  
  80. void AppendChar(StringPtr s, char c);
  81.  
  82. void Concat(StringPtr s, StringPtr tail);
  83.  
  84. /* *** dialog fucntions
  85.  */
  86. pascal void NullUpdate(DialogPtr dp, Integer i);
  87.  
  88. void SetWDIHandle(WindowPtr win, Integer item, Handle h);
  89.  
  90. void SetDIHandle(Integer item, Handle h);
  91.  
  92. Handle GetWDIHandle(WindowPtr win, Integer item);
  93.  
  94. Handle GetDIHandle(Integer item);
  95.  
  96. ControlHandle GetCIHandle(Integer item);
  97.  
  98. void GetDIRect(Integer item, Rect *rp);
  99.  
  100. Boolean IsCancel(EventRecord *theEvent);
  101.  
  102. Boolean IsReturnEnter(char c);
  103.  
  104. void MirrorIt(Integer itemHit);
  105.  
  106. /* *** window functions.
  107.  */
  108. void GetContentsRect(Rect *rp);
  109.  
  110. RgnHandle RestrictClipRect(const Rect *r);
  111.  
  112. void RestoreClip(RgnHandle rgn);
  113.  
  114. void InitScrollBarClass(ScrollBarClassPtr p);
  115.  
  116. Boolean TrackScroll(Point where);
  117.  
  118. Boolean TitleBarOnScreen(const Rect *rp);
  119.  
  120. /* *** File functions
  121.  */
  122. Boolean EqualFSSpec(FSSpecPtr a, FSSpecPtr b);
  123.  
  124. Handle GetPreferencesHandle(OSType type, Integer id);
  125.  
  126. void SavePreferencesResource(Handle h, OSType type, Integer id);
  127.  
  128. #endif /* _H_UTILS */
  129.