home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 October: Mac OS SDK / Dev.CD Oct 00 SDK1.toast / Development Kits / Mac OS / Appearance SDK 1.0.4 / Appearance Sample Code / Source / PPCGlue.c < prev    next >
Encoding:
C/C++ Source or Header  |  1999-07-16  |  1.1 KB  |  50 lines  |  [TEXT/CWIE]

  1. /*
  2.     File:        PPCGlue.c
  3.  
  4.     Contains:    Glue necessary to call AppendDialogItemList.
  5.  
  6.     Version:    Appearance 1.0 SDK
  7.  
  8.     Copyright:    © 1997 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     File Ownership:
  11.  
  12.         DRI:                Edward Voas
  13.  
  14.         Other Contact:        7 of 9, Borg Collective
  15.  
  16.         Technology:            OS Technologies Group
  17.  
  18.     Writers:
  19.  
  20.         (edv)    Ed Voas
  21.  
  22.     Change History (most recent first):
  23.  
  24.          <1>     9/11/97    edv        First checked in.
  25. */
  26.  
  27. #include "AppearanceHelpers.h"
  28.  
  29. #define RESULT_OFFSET(type) ((sizeof(type) == 1) ? 3 : ((sizeof(type) == 2) ? 1 : 0))
  30.  
  31. pascal OSErr
  32. AppendDialogItemList( DialogPtr dialog, SInt16 ditlID, DITLMethod method )
  33. {
  34.     long    private_result;
  35.     
  36.     private_result = CallUniversalProc((UniversalProcPtr)GetToolTrapAddress(0xAA68),
  37.         kD0DispatchedPascalStackBased
  38.          | RESULT_SIZE(SIZE_CODE(sizeof(OSErr)))
  39.          | DISPATCHED_STACK_ROUTINE_SELECTOR_SIZE(kTwoByteCode)
  40.          | DISPATCHED_STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(dialog)))
  41.          | DISPATCHED_STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(ditlID)))
  42.          | DISPATCHED_STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(method))),
  43.         0x0412,
  44.         dialog,
  45.         ditlID,
  46.         method );
  47.         
  48.     return *(((OSErr*)&private_result) + RESULT_OFFSET(OSErr));
  49. }
  50.