home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Snippets / appe Windows 2.03 / filter.h < prev    next >
Encoding:
Text File  |  1995-06-14  |  1.5 KB  |  47 lines  |  [TEXT/CWIE]

  1. // File "filter.h" - 
  2.  
  3. #ifndef ____FILTER_HEADER____
  4. #define ____FILTER_HEADER____
  5.  
  6. // * ****************************************************************************** *
  7.  
  8. // Information on the program's precompiled jGNEFilter
  9. #define kJGNEFilterResType        'jGNE'
  10. #define kJGNEFilterResID        128
  11.  
  12. // Constant offsets into jGNEFilter for inline data
  13. #define kNextFilterOffset        0x02
  14. #define kEventHelperOffset        0x06
  15. #define kEventHelperDataOffset    0x0A
  16.  
  17. // Declare a Guide for Passing the Filter Helper, for Universal Headers
  18. #if !GENERATINGPOWERPC
  19. typedef void (*FilterHelperProcPtr)(EventRecord *theEvent, Ptr helperData);
  20. typedef FilterHelperProcPtr FilterHelperUPP;
  21. enum {
  22.     uppFilterHelperProcInfo = 0
  23.     };
  24. #define NewFilterHelperProc(proc)    (FilterHelperUPP)(proc)
  25. #else
  26. typedef UniversalProcPtr FilterHelperUPP;
  27. enum {
  28.     uppFilterHelperProcInfo = kCStackBased
  29.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(EventRecord *)))
  30.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Ptr)))
  31.     };
  32. #define NewFilterHelperProc(proc) (FilterHelperUPP) \
  33.         NewRoutineDescriptor((ProcPtr)(proc), uppFilterHelperProcInfo, GetCurrentISA())
  34. #endif GENERATINGPOWERPC
  35.  
  36. // * ****************************************************************************** *
  37. // * ****************************************************************************** *
  38. // Function Prototypes
  39.  
  40. Ptr InstallEventFilter(FilterHelperUPP helperProc, Ptr helperData);
  41. Ptr ReleaseEventFilter(Ptr filterProc);
  42.  
  43. void EventFilterHelper(EventRecord *theEvent, Ptr helperData);
  44.  
  45. #endif  ____FILTER_HEADER____
  46.  
  47.