Subversion Repositories filter_foundry

Rev

Rev 210 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /* Copyright 1993 - 1999 Adobe Systems Incorporated                */
  2. /* All Rights Reserved.                                            */
  3.  
  4. #include <stddef.h>                             // Standard definitions.
  5. //#include <Types.h>                            // Standard types.
  6.  
  7. #include "PITypes.h"                    // Photoshop types.
  8. #include "PIGeneral.h"                  // Photoshop general routines.
  9. #include "PIActions.h"                  // Photoshop scripting.
  10. #include "PIAbout.h"                    // AboutRecord structure.
  11. #include "PIFormat.h"                   // AboutRecord structure.
  12. //#include "PIDefines.h"                        // Plug-in definitions.
  13. //#include "FileUtilities.h"            // Simple file utilities.
  14.  
  15. Boolean HostDescriptorAvailable (PIDescriptorParameters *procs,
  16.                                                                  Boolean *outNewerVersion);
  17. OSErr HostCloseReader (PIDescriptorParameters *procs,
  18.                                            HandleProcs *hProcs,
  19.                                            PIReadDescriptor *token);
  20. OSErr   HostCloseWriter(PIDescriptorParameters *procs,
  21.                                                 HandleProcs *hProcs,
  22.                                                 PIWriteDescriptor *token);
  23. OSErr put_cstring(PIWriteDescriptor token,DescriptorKeyID key,char *s);
  24. char *get_cstring(PIReadDescriptor token);
  25. Boolean ReadScriptParamsOnRead(void);
  26. OSErr WriteScriptParamsOnRead(void);
  27.  
  28. //-------------------------------------------------------------------------------
  29. //      PIDescriptorParameters -- Macro definitions
  30. //-------------------------------------------------------------------------------
  31.  
  32. #define NULLID          0 // for ID routines needing null terminator
  33.  
  34. #define DescParams      gpb->descriptorParameters
  35.  
  36. #define Reader          DescParams->readDescriptorProcs
  37.  
  38. #define Writer          DescParams->writeDescriptorProcs
  39.  
  40. #define PlayInfo        DescParams->playInfo
  41.  
  42. #define RecordInfo      DescParams->recordInfo
  43.  
  44. #define PlayDialog() \
  45.         HostPlayDialog (DescParams)
  46.  
  47. #define DescriptorAvailable(outNewerVersion) \
  48.         HostDescriptorAvailable(DescParams, outNewerVersion)
  49.  
  50. #define WarnDescriptorAvailable() \
  51.         WarnHostDescriptorAvailable(DescParams, hDllInstance)
  52.  
  53. #define OpenReadDesc(desc, array) \
  54.         Reader->openReadDescriptorProc(desc, array)
  55.  
  56. #define OpenReader(array) \
  57.         OpenReadDesc(DescParams->descriptor, array)
  58.        
  59. #define CloseReadDesc(token) \
  60.         Reader->closeReadDescriptorProc(token)
  61.  
  62. #define CloseReader(token) \
  63.         HostCloseReader(DescParams, gpb->handleProcs, token)
  64.        
  65. #define OpenWriter() \
  66.         Writer->openWriteDescriptorProc()
  67.  
  68. #define CloseWriteDesc(token, handle) \
  69.         Writer->closeWriteDescriptorProc(token, handle)
  70.  
  71. #define CloseWriter(token) \
  72.         HostCloseWriter(DescParams, gpb->handleProcs, token)
  73.  
  74. // These Macros simplify access to all the basic Get and Put routines:
  75.  
  76. #define PIGetKey(token, key, type, flags) \
  77.         Reader->getKeyProc(token, key, type, flags)
  78.        
  79. #define PIGetEnum(token, value) \
  80.         Reader->getEnumeratedProc(token, value)
  81.                                
  82. #define PIPutEnum(token, key, type, value) \
  83.         Writer->putEnumeratedProc(token, key, type, value)
  84.        
  85. #define PIGetInt(token, value) \
  86.         Reader->getIntegerProc(token, value)
  87.  
  88. #define PIGetPinInt(token, min, max, value) \
  89.         Reader->getPinnedIntegerProc(token, min, max, value)
  90.  
  91. #define PIPutInt(token, key, value) \
  92.         Writer->putIntegerProc(token, key, value)
  93.        
  94. #define PIGetFloat(token, value) \
  95.         Reader->getFloatProc(token, value)
  96.        
  97. #define PIGetPinFloat(token, min, max, value) \
  98.         Reader->getPinnedFloatProc(token, min, max, value)
  99.  
  100. #define PIPutFloat(token, key, value) \
  101.         Writer->putFloatProc(token, key, value)
  102.        
  103. #define PIGetUnitFloat(token, unit, value) \
  104.         Reader->getUnitFloatProc(token, unit, value)
  105.  
  106. #define PIGetPinUnitFloat(token, min, max, unit, value) \
  107.         Reader->getPinnedUnitFloatProc(token, min, max, unit, value)
  108.  
  109. #define PIPutUnitFloat(token, key, unit, value) \
  110.         Writer->putUnitFloatProc(token, key, unit, value)
  111.        
  112. #define PIGetBool(token, value) \
  113.         Reader->getBooleanProc(token, value)
  114.  
  115. #define PIPutBool(token, key, value) \
  116.         Writer->putBooleanProc(token, key, value)
  117.  
  118. #define PIGetText(token, value) \
  119.         Reader->getTextProc(token, value)
  120.        
  121. #define PIPutText(token, key, value) \
  122.         Writer->putTextProc(token, key, value)
  123.        
  124. #define PIGetAlias(token, value) \
  125.         Reader->getAliasProc(token, value)
  126.        
  127. #define PIPutAlias(token, key, value) \
  128.         Writer->putAliasProc(token, key, value)
  129.  
  130. #define PIGetEnum(token, value) \
  131.         Reader->getEnumeratedProc(token, value)
  132.  
  133. #define PIPutEnum(token, key, type, value) \
  134.         Writer->putEnumeratedProc(token, key, type, value)
  135.  
  136. #define PIGetClass(token, value) \
  137.         Reader->getClassProc(token, value)
  138.        
  139. #define PIPutClass(token, key, value) \
  140.         Writer->putClassProc(token, key, value)
  141.        
  142. #define PIGetRef(token, value) \
  143.         Reader->getSimpleReferenceProc(token,value)
  144.        
  145. #define PIPutRef(token, key, value) \
  146.         Writer->putSimpleReferenceProc(token, key, value)
  147.        
  148. #define PIGetObj(token, type, value) \
  149.         Reader->getObjectProc(token, type, value)
  150.  
  151. #define PIPutObj(token, key, type, value) \
  152.         HostPutObj(DescParams, gpb->handleProcs, token, key, type, value)
  153.  
  154. #define PIPutObjProc(token, key, type, value) \
  155.         Writer->putObjectProc(token, key, type, value)
  156.        
  157. #define PIGetCount(token, value) \
  158.         Reader->getCountProc(token, value)
  159.        
  160. #define PIPutCount(token, key, value) \
  161.         Writer->putCountProc(token, key, value)
  162.        
  163. #define PIGetStr(token, value) \
  164.         Reader->getStringProc(token, value)
  165.        
  166. #define PIPutStr(token, key, value) \
  167.         Writer->putStringProc(token, key, value)
  168.