home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / source / bento / headers / xmptypes.h < prev   
Encoding:
C/C++ Source or Header  |  1994-03-02  |  3.5 KB  |  118 lines

  1. /*
  2.     File:        XMPTypes.h
  3.  
  4.     Contains:    Type definition for XMP.
  5.  
  6.     Written by:    Vincent Lo
  7.  
  8.     Copyright:    ⌐ 1992-1993 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.         <20>     12/7/93    NP        Removed kXMPFalse, kXMPTrue and kXMPNULL.
  13.         <19>     12/3/93    Té        Moved definition of XMPIText to PlfmType.h
  14.         <18>    11/15/93    CC        Removed definition of struct XMPLinkSpec
  15.         <17>    10/18/93    NP        Changed error code to XMPSLong from
  16.                                     XMPULong.
  17.         <16>    10/12/93    PH        Moved XMPDropResult to here from DragDrop.h
  18.         <15>      9/3/93    JBS        added XMPTraversalType and XMPSiblingOrder
  19.         <14>     7/30/93    VL        Changed XMPContainerName to be ISOStr.
  20.         <13>      7/1/93    Té        change XMPIText from IntlText* to IntlText
  21.         <12>     6/29/93    RCR        Added container type
  22.         <11>     6/23/93    Té        change XMPValueType from XMPName to XMPType
  23.          <8>     6/23/93    RCR        Added XMPTypeToken
  24.          <8>     6/15/93    RCR        Change XMPFocusType to XMPISOStr
  25.          <7>     4/29/93    NP        Tweaked type XMPName, XMPISOStr. Added
  26.                                      XMPType, XMPIText.
  27.          <6>     4/29/93    VL        8.3 Name Change.
  28.          <5>     4/15/93    VL        Replaced kXMPNull with kXMPNULL.
  29.          <4>     4/12/93    VL        Added kXMPNull.
  30.          <3>      4/9/93    VL        Added XMPDoneState enum and XMPActionData.
  31.          <2>      4/8/93    RCR        Renamed XMPExceptionCode->XMPError
  32.          <1>      4/6/93    VL        first checked in
  33.     To Do:
  34. */
  35.  
  36. #ifndef _XMPTYPES_
  37. #define _XMPTYPES_
  38.  
  39. #ifndef _PLFMTYPE_
  40. #include "PlfmType.h"
  41. #endif
  42.  
  43. //==============================================================================
  44. // Constants
  45. //==============================================================================
  46.  
  47. typedef    enum {                            // for Undo protocol    
  48.     kXMPDone,
  49.     kXMPUndone,
  50.     kXMPRedone
  51. } XMPDoneState;
  52.  
  53. typedef enum {
  54.     kXMPDropFail,
  55.     kXMPDropSucceed,
  56.     kXMPDropUnfinished        // Used only when DragAndDrop::StartDrag returns immediately.
  57. } XMPDropResult;
  58.  
  59. //==============================================================================
  60. // Scalar Types
  61. //==============================================================================
  62.  
  63. // Common XMP Types
  64.  
  65. typedef XMPIText    XMPName;            // Type used for usable visible names.
  66.  
  67. typedef XMPSByte*    XMPISOStr;            // 7 bit ascii. No embedded NULLs. NULL
  68.                                         //    terminated.
  69.  
  70. typedef XMPISOStr    XMPType;            // Used for storage types, focus types,
  71.                                         //    data types, etc.
  72.  
  73. typedef XMPULong     XMPTypeToken;        // Tokenized form of XMPType
  74.  
  75. typedef XMPULong    XMPID;                // Storage Unit IDs
  76.  
  77. typedef XMPType        XMPValueType;        // Used to identify the type of the value, e.g., TEXT, PICT and so
  78.                                         //    on. Obviously, the type doesn't need to be an OSType. 
  79.  
  80. typedef XMPUByte*    TValue;                // Pointer to a stream of bytes.
  81.  
  82. typedef XMPSLong    XMPError;            // >= 32-bit exception code
  83.  
  84. typedef XMPULong    XMPToken;            // >= 32-bit unsigned value for tokens
  85.  
  86. typedef XMPULong    XMPSize;            // >= 32-bit unsigned value for size
  87.  
  88. typedef XMPULong     XMPInfoType;        // The type for the part info stored in a frame
  89.  
  90. typedef XMPULong    XMPFlags;            // >= 32-bit unsigned value for flags
  91.  
  92. typedef    void*    XMPContainerID;
  93. typedef    XMPISOStr    XMPContainerName;
  94. typedef XMPISOStr    XMPContainerType;
  95.  
  96. typedef XMPType XMPFocusType;            // This is a string, which can be tokenized
  97.  
  98. typedef XMPPtr    XMPActionData;            // Action data for undo/redo
  99.  
  100. typedef enum {
  101.     kXMPFrameBehind,
  102.     kXMPFrameInFront
  103. } XMPFramePosition;
  104.  
  105. typedef enum {
  106.     kXMPTopDown,
  107.     kXMPBottomUp,
  108.     kXMPChildrenOnly
  109. } XMPTraversalType;
  110.  
  111. typedef enum {
  112.     kXMPFrontToBack,
  113.     kXMPBackToFront
  114. } XMPSiblingOrder;
  115.  
  116.  
  117. #endif // _XMPTYPES_
  118.