home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C++ / Applications / PICSee Dust 1.01 / Secondary Source / PICS_Info.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-10  |  2.4 KB  |  103 lines  |  [TEXT/CWIE]

  1. #include "PICS_Info.h"
  2. #include "PICS_Types.h"
  3. #include "assert_mac.h"
  4.  
  5. // ---------------------------------------------------------------------------
  6.  
  7. #define kDefaultPICSInfoName    "\pPICS Parameters"
  8.  
  9. // ---------------------------------------------------------------------------
  10.  
  11. PICSInfoRsrcHdl GetPICSInfo() {
  12.     return((PICSInfoHdl)Get1Resource(kPICSInfoRsrcType, kPICSInfoRsrcID));
  13. } // END GetPICSInfo
  14.  
  15. // ---------------------------------------------------------------------------
  16.  
  17. void DisposePICSInfo(PICSInfoRsrcHdl picsInfo) {
  18.     ASSERT(picsInfo != NULL);
  19.  
  20.     ReleaseResource((Handle)picsInfo);
  21. } // END DisposePICSInfo
  22.  
  23. // ---------------------------------------------------------------------------
  24.  
  25. Boolean SavePICSInfo(PICSInfoRsrcHdl picsInfo, Boolean isResource) {
  26.     OSErr myErr;
  27.  
  28.     ASSERT(picsInfo != NULL);
  29.     
  30.     if (isResource) {
  31.         ChangedResource((Handle)picsInfo);
  32.         myErr = ResError();
  33.         if (myErr != noErr) {
  34.             return(false);
  35.         }
  36.     }
  37.     else {
  38.         AddResource((Handle)picsInfo, kPICSInfoRsrcType,
  39.             kPICSInfoRsrcID, kDefaultPICSInfoName);
  40.         myErr = ResError();
  41.         if (myErr != noErr) {
  42.             return(NULL);
  43.         }
  44.     }
  45.     UpdateResFile(CurResFile());
  46.     myErr = ResError();
  47.     if (myErr != noErr) {
  48.         return(false);
  49.     }
  50.     
  51.     return(true);
  52. } // END SavePICSInfo
  53.  
  54. // ---------------------------------------------------------------------------
  55.  
  56. PICSInfoHdl NewPICSInfo() {
  57.     PICSInfoHdl picsInfo;
  58.     
  59.     picsInfo = (PICSInfoHdl)NewHandle(sizeof(PICSInfo));
  60.     if (picsInfo == NULL) {
  61.         return(NULL);
  62.     }
  63.  
  64.     (**picsInfo).isColor = true;
  65.     (**picsInfo).depth = (**(**GetMainDevice()).gdPMap).pixelSize;
  66.     (**picsInfo).speed = 15;
  67.     (**picsInfo).version = 0;
  68.     (**picsInfo).creatorType = kPICSiliciousCreatorType;
  69.     (**picsInfo).largestFrameSize = 0;
  70.     
  71.     return(picsInfo);
  72. } // END NewPICSInfo
  73.  
  74. // ---------------------------------------------------------------------------
  75.  
  76. PICSInfoRsrcHdl NewPICSInfoResource() {
  77.     PICSInfoRsrcHdl picsInfo;
  78.     OSErr myErr;
  79.     
  80.     // Delete any existing 'INFO' resources first
  81.     do {
  82.         picsInfo = GetPICSInfo();
  83.         if (picsInfo != NULL) {
  84.             RmveResource((Handle)picsInfo);
  85.             UpdateResFile(CurResFile());
  86.         }
  87.     } while (picsInfo != NULL);
  88.  
  89.     picsInfo = NewPICSInfo();
  90.     if (picsInfo == NULL) {
  91.         return(NULL);
  92.     }
  93.  
  94.     AddResource((Handle)picsInfo, kPICSInfoRsrcType,
  95.         kPICSInfoRsrcID, kDefaultPICSInfoName);
  96.     myErr = ResError();
  97.     if (myErr != noErr) {
  98.         return(NULL);
  99.     }
  100.     UpdateResFile(CurResFile());
  101.     
  102.     return(picsInfo);
  103. } // END NewPICSInfoResource