home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection 1998 Fall: Game Toolkit / Disc.iso / SDKs / QuickTime Mac / ComponentIncludes / ImageCodec.k.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-03-27  |  18.8 KB  |  344 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        ImageCodec.k.h
  3.  
  4.      Contains:    QuickTime interfaces
  5.  
  6.      Version:    Technology:    
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __IMAGECODEC_K__
  19. #define __IMAGECODEC_K__
  20.  
  21. #include <ImageCodec.h>
  22.  
  23. /*
  24.     Example usage:
  25.  
  26.         #define IMAGECODEC_BASENAME()    Fred
  27.         #define IMAGECODEC_GLOBALS()    FredGlobalsHandle
  28.         #include <ImageCodec.k.h>
  29.  
  30.     To specify that your component implementation does not use globals, do not #define IMAGECODEC_GLOBALS
  31. */
  32. #ifdef IMAGECODEC_BASENAME
  33.     #ifndef IMAGECODEC_GLOBALS
  34.         #define IMAGECODEC_GLOBALS() 
  35.         #define ADD_IMAGECODEC_COMMA 
  36.     #else
  37.         #define ADD_IMAGECODEC_COMMA ,
  38.     #endif
  39.     #define IMAGECODEC_GLUE(a,b) a##b
  40.     #define IMAGECODEC_STRCAT(a,b) IMAGECODEC_GLUE(a,b)
  41.     #define ADD_IMAGECODEC_BASENAME(name) IMAGECODEC_STRCAT(IMAGECODEC_BASENAME(),name)
  42.  
  43.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetCodecInfo) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecInfo * info);
  44.  
  45.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetCompressionTime) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, short  depth, CodecQ * spatialQuality, CodecQ * temporalQuality, unsigned long * time);
  46.  
  47.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetMaxCompressionSize) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, short  depth, CodecQ  quality, long * size);
  48.  
  49.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(PreCompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecCompressParams * params);
  50.  
  51.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(BandCompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecCompressParams * params);
  52.  
  53.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(PreDecompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params);
  54.  
  55.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(BandDecompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params);
  56.  
  57.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Busy) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSequence  seq);
  58.  
  59.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetCompressedImageSize) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  desc, Ptr  data, long  bufferSize, ICMDataProcRecordPtr  dataProc, long * dataSize);
  60.  
  61.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetSimilarity) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, ImageDescriptionHandle  desc, Ptr  data, Fixed * similarity);
  62.  
  63.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(TrimImage) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  Desc, Ptr  inData, long  inBufferSize, ICMDataProcRecordPtr  dataProc, Ptr  outData, long  outBufferSize, ICMFlushProcRecordPtr  flushProc, Rect * trimRect, ICMProgressProcRecordPtr  progressProc);
  64.  
  65.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(RequestSettings) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle  settings, Rect * rp, ModalFilterUPP  filterProc);
  66.  
  67.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetSettings) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle  settings);
  68.  
  69.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SetSettings) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle  settings);
  70.  
  71.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Flush) (IMAGECODEC_GLOBALS());
  72.  
  73.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SetTimeCode) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA void * timeCodeFormat, void * timeCodeTime);
  74.  
  75.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(IsImageDescriptionEquivalent) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  newDesc, Boolean * equivalent);
  76.  
  77.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(NewMemory) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Ptr * data, Size  dataSize, long  dataUse, ICMMemoryDisposedUPP  memoryGoneProc, void * refCon);
  78.  
  79.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DisposeMemory) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Ptr  data);
  80.  
  81.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(HitTestData) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  desc, void * data, Size  dataSize, Point  where, Boolean * hit);
  82.  
  83.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(NewImageBufferMemory) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params, long  flags, ICMMemoryDisposedUPP  memoryGoneProc, void * refCon);
  84.  
  85.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(ExtractAndCombineFields) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA long  fieldFlags, void * data1, long  dataSize1, ImageDescriptionHandle  desc1, void * data2, long  dataSize2, ImageDescriptionHandle  desc2, void * outputData, long * outDataSize, ImageDescriptionHandle  descOut);
  86.  
  87.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetMaxCompressionSizeWithSources) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, short  depth, CodecQ  quality, CDSequenceDataSourcePtr  sourceData, long * size);
  88.  
  89.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SetTimeBase) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA void * base);
  90.  
  91.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SourceChanged) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA UInt32  majorSourceChangeSeed, UInt32  minorSourceChangeSeed, CDSequenceDataSourcePtr  sourceData, long * flagsOut);
  92.  
  93.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(FlushFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA UInt32  flags);
  94.  
  95.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetSettingsAsText) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle * text);
  96.  
  97.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetParameterListHandle) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle * parameterDescriptionHandle);
  98.  
  99.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetParameterList) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer * parameterDescription);
  100.  
  101.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(CreateStandardParameterDialog) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer  parameterDescription, QTAtomContainer  parameters, QTParameterDialogOptions  dialogOptions, DialogPtr  existingDialog, short  existingUserItem, QTParameterDialog * createdDialog);
  102.  
  103.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(IsStandardParameterDialogEvent) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EventRecord * pEvent, QTParameterDialog  createdDialog);
  104.  
  105.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DismissStandardParameterDialog) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTParameterDialog  createdDialog);
  106.  
  107.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(StandardParameterDialogDoAction) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTParameterDialog  createdDialog, long  action, void * params);
  108.  
  109.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(NewImageGWorld) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params, GWorldPtr * newGW, long  flags);
  110.  
  111.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DisposeImageGWorld) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA GWorldPtr  theGW);
  112.  
  113.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(HitTestDataWithFlags) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  desc, void * data, Size  dataSize, Point  where, long * hit, long  hitFlags);
  114.  
  115.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(ValidateParameters) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer  parameters, QTParameterValidationOptions  validationFlags, StringPtr  errorString);
  116.  
  117.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetBaseMPWorkFunction) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ComponentMPWorkFunctionUPP * workFunction, void ** refCon, ImageCodecMPDrawBandUPP  drawProc, void * drawProcRefCon);
  118.  
  119.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Preflight) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params);
  120.  
  121.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Initialize) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSubCodecDecompressCapabilities * cap);
  122.  
  123.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(BeginBand) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params, ImageSubCodecDecompressRecord * drp, long  flags);
  124.  
  125.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DrawBand) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSubCodecDecompressRecord * drp);
  126.  
  127.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EndBand) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSubCodecDecompressRecord * drp, OSErr  result, long  flags);
  128.  
  129.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(QueueStarting) (IMAGECODEC_GLOBALS());
  130.  
  131.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(QueueStopping) (IMAGECODEC_GLOBALS());
  132.  
  133.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DroppingFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA const ImageSubCodecDecompressRecord * drp);
  134.  
  135.  
  136.     /* MixedMode ProcInfo constants for component calls */
  137.     enum {
  138.         uppImageCodecGetCodecInfoProcInfo = 0x000003F0,
  139.         uppImageCodecGetCompressionTimeProcInfo = 0x000FEFF0,
  140.         uppImageCodecGetMaxCompressionSizeProcInfo = 0x0003EFF0,
  141.         uppImageCodecPreCompressProcInfo = 0x000003F0,
  142.         uppImageCodecBandCompressProcInfo = 0x000003F0,
  143.         uppImageCodecPreDecompressProcInfo = 0x000003F0,
  144.         uppImageCodecBandDecompressProcInfo = 0x000003F0,
  145.         uppImageCodecBusyProcInfo = 0x000003F0,
  146.         uppImageCodecGetCompressedImageSizeProcInfo = 0x0003FFF0,
  147.         uppImageCodecGetSimilarityProcInfo = 0x0003FFF0,
  148.         uppImageCodecTrimImageProcInfo = 0x03FFFFF0,
  149.         uppImageCodecRequestSettingsProcInfo = 0x00003FF0,
  150.         uppImageCodecGetSettingsProcInfo = 0x000003F0,
  151.         uppImageCodecSetSettingsProcInfo = 0x000003F0,
  152.         uppImageCodecFlushProcInfo = 0x000000F0,
  153.         uppImageCodecSetTimeCodeProcInfo = 0x00000FF0,
  154.         uppImageCodecIsImageDescriptionEquivalentProcInfo = 0x00000FF0,
  155.         uppImageCodecNewMemoryProcInfo = 0x0003FFF0,
  156.         uppImageCodecDisposeMemoryProcInfo = 0x000003F0,
  157.         uppImageCodecHitTestDataProcInfo = 0x0003FFF0,
  158.         uppImageCodecNewImageBufferMemoryProcInfo = 0x0000FFF0,
  159.         uppImageCodecExtractAndCombineFieldsProcInfo = 0x0FFFFFF0,
  160.         uppImageCodecGetMaxCompressionSizeWithSourcesProcInfo = 0x000FEFF0,
  161.         uppImageCodecSetTimeBaseProcInfo = 0x000003F0,
  162.         uppImageCodecSourceChangedProcInfo = 0x0000FFF0,
  163.         uppImageCodecFlushFrameProcInfo = 0x000003F0,
  164.         uppImageCodecGetSettingsAsTextProcInfo = 0x000003F0,
  165.         uppImageCodecGetParameterListHandleProcInfo = 0x000003F0,
  166.         uppImageCodecGetParameterListProcInfo = 0x000003F0,
  167.         uppImageCodecCreateStandardParameterDialogProcInfo = 0x000EFFF0,
  168.         uppImageCodecIsStandardParameterDialogEventProcInfo = 0x00000FF0,
  169.         uppImageCodecDismissStandardParameterDialogProcInfo = 0x000003F0,
  170.         uppImageCodecStandardParameterDialogDoActionProcInfo = 0x00003FF0,
  171.         uppImageCodecNewImageGWorldProcInfo = 0x00003FF0,
  172.         uppImageCodecDisposeImageGWorldProcInfo = 0x000003F0,
  173.         uppImageCodecHitTestDataWithFlagsProcInfo = 0x000FFFF0,
  174.         uppImageCodecValidateParametersProcInfo = 0x00003FF0,
  175.         uppImageCodecGetBaseMPWorkFunctionProcInfo = 0x0000FFF0,
  176.         uppImageCodecPreflightProcInfo = 0x000003F0,
  177.         uppImageCodecInitializeProcInfo = 0x000003F0,
  178.         uppImageCodecBeginBandProcInfo = 0x00003FF0,
  179.         uppImageCodecDrawBandProcInfo = 0x000003F0,
  180.         uppImageCodecEndBandProcInfo = 0x00003BF0,
  181.         uppImageCodecQueueStartingProcInfo = 0x000000F0,
  182.         uppImageCodecQueueStoppingProcInfo = 0x000000F0,
  183.         uppImageCodecDroppingFrameProcInfo = 0x000003F0
  184.     };
  185.  
  186. #endif    /* IMAGECODEC_BASENAME */
  187.  
  188. /*
  189.     Example usage:
  190.  
  191.         #define QTPHOTO_BASENAME()    Fred
  192.         #define QTPHOTO_GLOBALS()    FredGlobalsHandle
  193.         #include <ImageCodec.k.h>
  194.  
  195.     To specify that your component implementation does not use globals, do not #define QTPHOTO_GLOBALS
  196. */
  197. #ifdef QTPHOTO_BASENAME
  198.     #ifndef QTPHOTO_GLOBALS
  199.         #define QTPHOTO_GLOBALS() 
  200.         #define ADD_QTPHOTO_COMMA 
  201.     #else
  202.         #define ADD_QTPHOTO_COMMA ,
  203.     #endif
  204.     #define QTPHOTO_GLUE(a,b) a##b
  205.     #define QTPHOTO_STRCAT(a,b) QTPHOTO_GLUE(a,b)
  206.     #define ADD_QTPHOTO_BASENAME(name) QTPHOTO_STRCAT(QTPHOTO_BASENAME(),name)
  207.  
  208.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(SetSampling) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  yH, short  yV, short  cbH, short  cbV, short  crH, short  crV);
  209.  
  210.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(SetRestartInterval) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA unsigned short  restartInterval);
  211.  
  212.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(DefineHuffmanTable) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  componentNumber, Boolean  isDC, unsigned char * lengthCounts, unsigned char * values);
  213.  
  214.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(DefineQuantizationTable) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  componentNumber, unsigned char * table);
  215.  
  216.  
  217.     /* MixedMode ProcInfo constants for component calls */
  218.     enum {
  219.         uppQTPhotoSetSamplingProcInfo = 0x000AAAF0,
  220.         uppQTPhotoSetRestartIntervalProcInfo = 0x000002F0,
  221.         uppQTPhotoDefineHuffmanTableProcInfo = 0x0000F6F0,
  222.         uppQTPhotoDefineQuantizationTableProcInfo = 0x00000EF0
  223.     };
  224.  
  225. #endif    /* QTPHOTO_BASENAME */
  226.  
  227. /*
  228.     Example usage:
  229.  
  230.         #define IMAGECODEC_BASENAME()    Fred
  231.         #define IMAGECODEC_GLOBALS()    FredGlobalsHandle
  232.         #include <ImageCodec.k.h>
  233.  
  234.     To specify that your component implementation does not use globals, do not #define IMAGECODEC_GLOBALS
  235. */
  236. #ifdef IMAGECODEC_BASENAME
  237.     #ifndef IMAGECODEC_GLOBALS
  238.         #define IMAGECODEC_GLOBALS() 
  239.         #define ADD_IMAGECODEC_COMMA 
  240.     #else
  241.         #define ADD_IMAGECODEC_COMMA ,
  242.     #endif
  243.     #define IMAGECODEC_GLUE(a,b) a##b
  244.     #define IMAGECODEC_STRCAT(a,b) IMAGECODEC_GLUE(a,b)
  245.     #define ADD_IMAGECODEC_BASENAME(name) IMAGECODEC_STRCAT(IMAGECODEC_BASENAME(),name)
  246.  
  247.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectSetup) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * p);
  248.  
  249.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectBegin) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * p, EffectsFrameParamsPtr  ePtr);
  250.  
  251.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectRenderFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectsFrameParamsPtr  p);
  252.  
  253.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectConvertEffectSourceToFormat) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectSourcePtr  sourceToConvert, ImageDescriptionHandle  requestedDesc);
  254.  
  255.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectCancel) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectsFrameParamsPtr  p);
  256.  
  257.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectGetSpeed) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer  parameters, Fixed * pFPS);
  258.  
  259.  
  260.     /* MixedMode ProcInfo constants for component calls */
  261.     enum {
  262.         uppImageCodecEffectSetupProcInfo = 0x000003F0,
  263.         uppImageCodecEffectBeginProcInfo = 0x00000FF0,
  264.         uppImageCodecEffectRenderFrameProcInfo = 0x000003F0,
  265.         uppImageCodecEffectConvertEffectSourceToFormatProcInfo = 0x00000FF0,
  266.         uppImageCodecEffectCancelProcInfo = 0x000003F0,
  267.         uppImageCodecEffectGetSpeedProcInfo = 0x00000FF0
  268.     };
  269.  
  270. #endif    /* IMAGECODEC_BASENAME */
  271.  
  272. /*
  273.     Example usage:
  274.  
  275.         #define CURVE_BASENAME()    Fred
  276.         #define CURVE_GLOBALS()    FredGlobalsHandle
  277.         #include <ImageCodec.k.h>
  278.  
  279.     To specify that your component implementation does not use globals, do not #define CURVE_GLOBALS
  280. */
  281. #ifdef CURVE_BASENAME
  282.     #ifndef CURVE_GLOBALS
  283.         #define CURVE_GLOBALS() 
  284.         #define ADD_CURVE_COMMA 
  285.     #else
  286.         #define ADD_CURVE_COMMA ,
  287.     #endif
  288.     #define CURVE_GLUE(a,b) a##b
  289.     #define CURVE_STRCAT(a,b) CURVE_GLUE(a,b)
  290.     #define ADD_CURVE_BASENAME(name) CURVE_STRCAT(CURVE_BASENAME(),name)
  291.  
  292.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetLength) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * target, long  index, wide * wideLength);
  293.  
  294.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(LengthToPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * target, long  index, Fixed  length, FixedPoint * location, FixedPoint * tangent);
  295.  
  296.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(NewPath) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle * pPath);
  297.  
  298.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(CountPointsInPath) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, unsigned long  contourIndex, unsigned long * pCount);
  299.  
  300.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetPathPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, unsigned long  contourIndex, unsigned long  pointIndex, gxPoint * thePoint, Boolean * ptIsOnPath);
  301.  
  302.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(InsertPointIntoPath) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPoint * aPoint, Handle  thePath, unsigned long  contourIndex, unsigned long  pointIndex, Boolean  ptIsOnPath);
  303.  
  304.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(SetPathPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, unsigned long  contourIndex, unsigned long  pointIndex, gxPoint * thePoint, Boolean  ptIsOnPath);
  305.  
  306.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetNearestPathPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, FixedPoint * thePoint, unsigned long * contourIndex, unsigned long * pointIndex, Fixed * theDelta);
  307.  
  308.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(PathPointToLength) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, Fixed  startDist, Fixed  endDist, FixedPoint * thePoint, Fixed * pLength);
  309.  
  310.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(CreateVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle * pStream);
  311.  
  312.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(AddAtomToVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA OSType  atomType, Size  atomSize, void * pAtomData, Handle  vectorStream);
  313.  
  314.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(AddPathAtomToVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle  pathData, Handle  vectorStream);
  315.  
  316.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(AddZeroAtomToVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle  vectorStream);
  317.  
  318.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetAtomDataFromVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle  vectorStream, long  atomType, long * dataSize, Ptr * dataPtr);
  319.  
  320.  
  321.     /* MixedMode ProcInfo constants for component calls */
  322.     enum {
  323.         uppCurveGetLengthProcInfo = 0x00003FF0,
  324.         uppCurveLengthToPointProcInfo = 0x0003FFF0,
  325.         uppCurveNewPathProcInfo = 0x000003F0,
  326.         uppCurveCountPointsInPathProcInfo = 0x00003FF0,
  327.         uppCurveGetPathPointProcInfo = 0x0003FFF0,
  328.         uppCurveInsertPointIntoPathProcInfo = 0x0001FFF0,
  329.         uppCurveSetPathPointProcInfo = 0x0001FFF0,
  330.         uppCurveGetNearestPathPointProcInfo = 0x0003FFF0,
  331.         uppCurvePathPointToLengthProcInfo = 0x0003FFF0,
  332.         uppCurveCreateVectorStreamProcInfo = 0x000003F0,
  333.         uppCurveAddAtomToVectorStreamProcInfo = 0x0000FFF0,
  334.         uppCurveAddPathAtomToVectorStreamProcInfo = 0x00000FF0,
  335.         uppCurveAddZeroAtomToVectorStreamProcInfo = 0x000003F0,
  336.         uppCurveGetAtomDataFromVectorStreamProcInfo = 0x0000FFF0
  337.     };
  338.  
  339. #endif    /* CURVE_BASENAME */
  340.  
  341.  
  342. #endif /* __IMAGECODEC_K__ */
  343.  
  344.