home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD2.bin / bbs / gfx / superview-lib-9.12.lha / SuperView-Lib / Programmers / PCQ-Pascal / include / SV / svobjects / svobjects.i < prev    next >
Text File  |  1994-12-28  |  5KB  |  113 lines

  1. {  svobjects/svobjects.h            }
  2. {  Version    : 4.1                 }
  3. {  Date       : 15.05.1994          }
  4. {  Written by : Andreas R. Kleinert }
  5. {  PCQ-Konvertierung by Andreas Neumann }
  6.  
  7. {  SVObject-Version V2.x+ }
  8.  
  9. TYPE
  10.     SVO_ObjectNode  =   RECORD
  11.  
  12.         svo_Node    :   Node;       { chaining Node
  13.                                       (svo_Node->ln_Name is NULL
  14.                                       by default !)                     }
  15.  
  16.         svo_Version :   INTEGER;    { Library-Version of svobject       }
  17.  
  18.         svo_ObjectType : INTEGER;   { see below (SVO_OBJECTTYPE_...)    }
  19.  
  20.         svo_FileName :  ARRAY [1..108] OF CHAR; { use 30, as in struct FileInfoBlock    }
  21.  
  22.         svo_TypeID  :   ARRAY [1..32] OF CHAR;  { e.g. "GIF"                            }
  23.         svo_TypeCode :  INTEGER;    { ... and its appropriate Code,  ,
  24.                                       assigned by superview.library LATER.  }
  25.  
  26.         svo_SubTypeNum : INTEGER;   { actually available SubTypes
  27.                                       (maximum 16) of the svobject.
  28.  
  29.                                       0xFFFFFFFF means, that it is an
  30.                                       INDEPENDENT entry, which is an
  31.                                       unimplemented feature yet and
  32.                                       means that the SubTypeID and
  33.                                       SubTypeCode fields should be skipped. }
  34.  
  35.         svo_SubTypeID : ARRAY [1..16] OF ARRAY [1..16] OF CHAR; { e.g. "87a" or "89a"                   }
  36.         svo_SubTypeCode : ARRAY [1..16] OF INTEGER;     { ... and their appropriate Codes,
  37.                                                           assigned by superview.library LATER.  }
  38.  
  39.  { version 2 extensions : }
  40.  
  41.         svo_Flags   :   INTEGER;    { SVO_FLAG_... (see below)          }
  42.  
  43.  { size may grow with bigger svo_Version, see below }
  44.  
  45.                         END;
  46.     SVO_ObjectNodePtr = ^SVO_ObjectNode;
  47.  
  48. CONST
  49.     SVO_VERSION     =   2;      { If this Version, which depends on the
  50.                                   svobject's Library-Version, is set,
  51.                                   it is guaranteed, that at least the
  52.                                   above information is available.       }
  53.  
  54.     SVO_FILENAME    =   "INTERNAL";     { for internal svobjects only.          }
  55.  
  56.     SVO_OBJECTTYPE_NONE :   INTEGER = 0;
  57.     SVO_OBJECTTYPE_UNKNOWN = SVO_OBJECTTYPE_NONE;
  58.     SVO_OBJECTTYPE_ILLEGAL : INTEGER = $FFFFFFFF;
  59.  
  60.     SVO_OBJECTTYPE_INTERNAL : INTEGER = 1; { internal                   }
  61.     SVO_OBJECTTYPE_INDEPENDENT : INTEGER = 2; { UNIMPLEMENTED
  62.                                                 Handle them like EXTERNAL,
  63.                                                 but ignore some entries.    }
  64.     SVO_OBJECTTYPE_EXTERNAL : INTEGER = 3;  { external svobject         }
  65.  
  66.  
  67.   {  The following flags have been introduced with the V2 SVObjects
  68.      (depending on svo_Version : do not check them with V1 SVObjects).
  69.      They should help any applications deciding, whether a specific
  70.      SVObject may fulfil an action or not.
  71.      Note : Some SVObjects may not have the correct flags set and might
  72.             return SVERR_ACTION_NOT_SUPPORTED nevertheless
  73.   }
  74.  
  75.  
  76.     SVO_FLAG_READS_TO_BUFFER    =   (1 shl 0); { allows reading to SV_GfxBuffer }
  77.     SVO_FLAG_READS_TO_SCREEN    =   (1 shl 1); { allows displaying on Screen    }
  78.  
  79.     SVO_FLAG_WRITES_FROM_BUFFER =   (1 shl 2); { writes SV_GfxBuffer to file    }
  80.     SVO_FLAG_WRITES_FROM_SCREEN =   (1 shl 3); { writes Screen to file          }
  81.  
  82.     SVO_FLAG_SUPPORTS_SVDRIVER  =   (1 shl 4); { uses default SVDriver,
  83.                                                  if available                   }
  84.     SVO_FLAG_NEEDS_SVDRIVER     =   (1 shl 5); { needs valid default SVDriver
  85.                                                  for working. Developers :
  86.                                                  Set SVO_FLAG_SVDRIVER instead  }
  87.  
  88.     SVO_FLAG_SVDRIVER = (SVO_FLAG_SUPPORTS_SVDRIVER + SVO_FLAG_NEEDS_SVDRIVER);
  89.  
  90.  
  91.  {  This structure has to be passed to SVObject's SVO_CheckFileType()
  92.     function, if media other than AKO_MEDIUM_DISK are used for reading.
  93.     This is supported since superview.library V4 and may be ignored by
  94.     SVObjects for compatibility reasons. To prevent older SVO_CheckFileType()
  95.     functions from crashing, superview.library will create a dummy-file and
  96.     pass it's handle also ...
  97.     ("You wanna something to check ? - Here you get it !")
  98.  
  99.      In the V3-SVObject specification this structure will HAVE TO be
  100.      examined, then. In the current V2-specification this is not the case.
  101.  }
  102.  
  103. TYPE
  104.     SVOCheckFile    =   RECORD
  105.  
  106.         svc_Medium  :   INTEGER;    { AKO_MEDIUM_... }
  107.  
  108.         svc_Future  :   INTEGER;    { as usual       }
  109.  
  110.                         END;
  111.     SVOCheckFilePtr =   ^SVOCheckFile;
  112.  
  113.