home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 2.0 Developer Kit / QuickTime 2.0 Developer Kit.iso / mac / MAC / Programming Stuff / Interfaces / PInterfaces / QDOffscreen.p < prev    next >
Encoding:
Text File  |  1994-11-11  |  5.4 KB  |  198 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QDOffscreen.p
  3.  
  4.      Copyright:    © 1984-1994 by Apple Computer, Inc.
  5.                  All rights reserved.
  6.  
  7.      Version:    Universal Interfaces 2.0a3  ETO #16, MPW prerelease.  Friday, November 11, 1994. 
  8.  
  9.      Bugs?:        If you find a problem with this file, send the file and version
  10.                  information (from above) and the problem description to:
  11.  
  12.                      Internet:    apple.bugs@applelink.apple.com
  13.                      AppleLink:    APPLE.BUGS
  14.  
  15. }
  16.  
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT QDOffscreen;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __QDOFFSCREEN__}
  27. {$SETC __QDOFFSCREEN__ := 1}
  28.  
  29. {$I+}
  30. {$SETC QDOffscreenIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33.  
  34. {$IFC UNDEFINED __ERRORS__}
  35. {$I Errors.p}
  36. {$ENDC}
  37. {    ConditionalMacros.p                                            }
  38.  
  39. {$IFC UNDEFINED __QUICKDRAW__}
  40. {$I Quickdraw.p}
  41. {$ENDC}
  42. {    Types.p                                                        }
  43. {    MixedMode.p                                                    }
  44. {    QuickdrawText.p                                                }
  45.  
  46. {$PUSH}
  47. {$ALIGN MAC68K}
  48. {$LibExport+}
  49.  
  50. CONST
  51.     pixPurgeBit                    = 0;
  52.     noNewDeviceBit                = 1;
  53.     useTempMemBit                = 2;
  54.     keepLocalBit                = 3;
  55.     pixelsPurgeableBit            = 6;
  56.     pixelsLockedBit                = 7;
  57.     mapPixBit                    = 16;
  58.     newDepthBit                    = 17;
  59.     alignPixBit                    = 18;
  60.     newRowBytesBit                = 19;
  61.     reallocPixBit                = 20;
  62.     clipPixBit                    = 28;
  63.     stretchPixBit                = 29;
  64.     ditherPixBit                = 30;
  65.     gwFlagErrBit                = 31;
  66.  
  67.     pixPurge                    = 1 * (2**(pixPurgeBit));
  68.     noNewDevice                    = 1 * (2**(noNewDeviceBit));
  69.     useTempMem                    = 1 * (2**(useTempMemBit));
  70.     keepLocal                    = 1 * (2**(keepLocalBit));
  71.     pixelsPurgeable                = 1 * (2**(pixelsPurgeableBit));
  72.     pixelsLocked                = 1 * (2**(pixelsLockedBit));
  73.     mapPix                        = 1 * (2**(mapPixBit));
  74.     newDepth                    = 1 * (2**(newDepthBit));
  75.     alignPix                    = 1 * (2**(alignPixBit));
  76.     newRowBytes                    = 1 * (2**(newRowBytesBit));
  77.     reallocPix                    = 1 * (2**(reallocPixBit));
  78.     clipPix                        = 1 * (2**(clipPixBit));
  79.     stretchPix                    = 1 * (2**(stretchPixBit));
  80.     ditherPix                    = 1 * (2**(ditherPixBit));
  81.     gwFlagErr                    = 1 * (2**(gwFlagErrBit));
  82.  
  83.     
  84. TYPE
  85.     GWorldFlags = LONGINT;
  86.  
  87. { Type definition of a GWorldPtr }
  88.     GWorldPtr = CGrafPtr;
  89.  
  90.  
  91. FUNCTION NewGWorld(VAR offscreenGWorld: GWorldPtr; PixelDepth: INTEGER; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): QDErr;
  92.     {$IFC NOT GENERATINGCFM}
  93.     INLINE $203C, $0016, $0000, $AB1D;
  94.     {$ENDC}
  95. FUNCTION LockPixels(pm: PixMapHandle): BOOLEAN;
  96.     {$IFC NOT GENERATINGCFM}
  97.     INLINE $203C, $0004, $0001, $AB1D;
  98.     {$ENDC}
  99. PROCEDURE UnlockPixels(pm: PixMapHandle);
  100.     {$IFC NOT GENERATINGCFM}
  101.     INLINE $203C, $0004, $0002, $AB1D;
  102.     {$ENDC}
  103. FUNCTION UpdateGWorld(VAR offscreenGWorld: GWorldPtr; pixelDepth: INTEGER; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): GWorldFlags;
  104.     {$IFC NOT GENERATINGCFM}
  105.     INLINE $203C, $0016, $0003, $AB1D;
  106.     {$ENDC}
  107. PROCEDURE DisposeGWorld(offscreenGWorld: GWorldPtr);
  108.     {$IFC NOT GENERATINGCFM}
  109.     INLINE $203C, $0004, $0004, $AB1D;
  110.     {$ENDC}
  111. PROCEDURE GetGWorld(VAR port: CGrafPtr; VAR gdh: GDHandle);
  112.     {$IFC NOT GENERATINGCFM}
  113.     INLINE $203C, $0008, $0005, $AB1D;
  114.     {$ENDC}
  115. PROCEDURE SetGWorld(port: CGrafPtr; gdh: GDHandle);
  116.     {$IFC NOT GENERATINGCFM}
  117.     INLINE $203C, $0008, $0006, $AB1D;
  118.     {$ENDC}
  119. PROCEDURE CTabChanged(ctab: CTabHandle);
  120.     {$IFC NOT GENERATINGCFM}
  121.     INLINE $203C, $0004, $0007, $AB1D;
  122.     {$ENDC}
  123. PROCEDURE PixPatChanged(ppat: PixPatHandle);
  124.     {$IFC NOT GENERATINGCFM}
  125.     INLINE $203C, $0004, $0008, $AB1D;
  126.     {$ENDC}
  127. PROCEDURE PortChanged(port: GrafPtr);
  128.     {$IFC NOT GENERATINGCFM}
  129.     INLINE $203C, $0004, $0009, $AB1D;
  130.     {$ENDC}
  131. PROCEDURE GDeviceChanged(gdh: GDHandle);
  132.     {$IFC NOT GENERATINGCFM}
  133.     INLINE $203C, $0004, $000A, $AB1D;
  134.     {$ENDC}
  135. PROCEDURE AllowPurgePixels(pm: PixMapHandle);
  136.     {$IFC NOT GENERATINGCFM}
  137.     INLINE $203C, $0004, $000B, $AB1D;
  138.     {$ENDC}
  139. PROCEDURE NoPurgePixels(pm: PixMapHandle);
  140.     {$IFC NOT GENERATINGCFM}
  141.     INLINE $203C, $0004, $000C, $AB1D;
  142.     {$ENDC}
  143. FUNCTION GetPixelsState(pm: PixMapHandle): GWorldFlags;
  144.     {$IFC NOT GENERATINGCFM}
  145.     INLINE $203C, $0004, $000D, $AB1D;
  146.     {$ENDC}
  147. PROCEDURE SetPixelsState(pm: PixMapHandle; state: GWorldFlags);
  148.     {$IFC NOT GENERATINGCFM}
  149.     INLINE $203C, $0008, $000E, $AB1D;
  150.     {$ENDC}
  151. FUNCTION GetPixBaseAddr(pm: PixMapHandle): Ptr;
  152.     {$IFC NOT GENERATINGCFM}
  153.     INLINE $203C, $0004, $000F, $AB1D;
  154.     {$ENDC}
  155. FUNCTION NewScreenBuffer({CONST}VAR globalRect: Rect; purgeable: BOOLEAN; VAR gdh: GDHandle; VAR offscreenPixMap: PixMapHandle): QDErr;
  156.     {$IFC NOT GENERATINGCFM}
  157.     INLINE $203C, $000E, $0010, $AB1D;
  158.     {$ENDC}
  159. PROCEDURE DisposeScreenBuffer(offscreenPixMap: PixMapHandle);
  160.     {$IFC NOT GENERATINGCFM}
  161.     INLINE $203C, $0004, $0011, $AB1D;
  162.     {$ENDC}
  163. FUNCTION GetGWorldDevice(offscreenGWorld: GWorldPtr): GDHandle;
  164.     {$IFC NOT GENERATINGCFM}
  165.     INLINE $203C, $0004, $0012, $AB1D;
  166.     {$ENDC}
  167. FUNCTION QDDone(port: GrafPtr): BOOLEAN;
  168.     {$IFC NOT GENERATINGCFM}
  169.     INLINE $203C, $0004, $0013, $AB1D;
  170.     {$ENDC}
  171. FUNCTION OffscreenVersion: LONGINT;
  172.     {$IFC NOT GENERATINGCFM}
  173.     INLINE $7014, $AB1D;
  174.     {$ENDC}
  175. FUNCTION NewTempScreenBuffer({CONST}VAR globalRect: Rect; purgeable: BOOLEAN; VAR gdh: GDHandle; VAR offscreenPixMap: PixMapHandle): QDErr;
  176.     {$IFC NOT GENERATINGCFM}
  177.     INLINE $203C, $000E, $0015, $AB1D;
  178.     {$ENDC}
  179. FUNCTION PixMap32Bit(pmHandle: PixMapHandle): BOOLEAN;
  180.     {$IFC NOT GENERATINGCFM}
  181.     INLINE $203C, $0004, $0016, $AB1D;
  182.     {$ENDC}
  183. FUNCTION GetGWorldPixMap(offscreenGWorld: GWorldPtr): PixMapHandle;
  184.     {$IFC NOT GENERATINGCFM}
  185.     INLINE $203C, $0004, $0017, $AB1D;
  186.     {$ENDC}
  187.  
  188. {$ALIGN RESET}
  189. {$POP}
  190.  
  191. {$SETC UsingIncludes := QDOffscreenIncludes}
  192.  
  193. {$ENDC} {__QDOFFSCREEN__}
  194.  
  195. {$IFC NOT UsingIncludes}
  196.  END.
  197. {$ENDC}
  198.