home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wpentk.zip / WBPENTK4.DSK / IDFTYPES.IDL < prev    next >
Text File  |  1994-10-07  |  5KB  |  150 lines

  1. //#
  2. //#  Type definitions for the Input Data Framework's IDL-files
  3. //#  To be included after standard OS/2 types have been defined.
  4. //#  Only types that are referenced in the IDL file need to be listed here.
  5.  
  6.  
  7. #ifndef idftyped_idl
  8. #define idftyped_idl
  9.  
  10. //#  Structures needed from PENPM.H
  11. //#  These are references to allow IDL files to reference these types.
  12. //#  Your .C files must still include PENPM.H
  13. typedef somToken AUXDATADESC;
  14. typedef AUXDATADESC *PAUXDATADESC; /* padd */
  15. typedef somToken AUXDATAINFO;
  16. typedef AUXDATAINFO *PAUXDATAINFO; /* padi */
  17. typedef somToken AUXSTROKEDATA;
  18. typedef AUXSTROKEDATA *PAUXSTROKEDATA; /* pasd */
  19. typedef somToken STROKEDATA;
  20. typedef STROKEDATA *PSTROKEDATA; /* psd */
  21. typedef somToken RECODATA;
  22. typedef RECODATA *PRECODATA;    /* prd */
  23.  
  24. typedef ULONG    RECOID, HRECO;
  25. typedef RECOID   *PRECOID;
  26. typedef HRECO    *PHRECO;
  27.  
  28.  
  29. //#  IDR object defines
  30. struct IDR_SYM         /* Basic symbol */
  31. {
  32.   USHORT    usSymType;          /* Symbol, e.g. ASCII, etc. */
  33.   USHORT    usSymVal;           /* Symbol value, i.e. "code point" */
  34. };
  35. typedef IDR_SYM *PIDR_SYM,
  36.   **PPIDR_SYM;
  37.  
  38. struct IDR_SYMSET      /* Symbol set */
  39. {
  40.   ULONG ulSymSets;              /* Symbol subset mask */
  41.   ULONG ulSymCnt;               /* Count of symbols in the symbol list. */
  42.   IDR_SYM SymList[1];           /* Contiguous array of symbols. */
  43. };
  44. typedef IDR_SYMSET *PIDR_SYMSET,
  45.   **PPIDR_SYMSET;
  46.  
  47.  
  48. struct IDR_INKMETRICS  /* Ink metrics & measurements */
  49. {
  50.   ULONG           ulSSize;          /* IDR_INKMETRICS size */
  51.   ULONG           ulRecoForm;       /* Type of segmentation */
  52.   ULONG           ulSpaceDisable;   /* Don't return any whitespace */
  53.   ULONG           ulDirection;      /* Direction of "normal" writing */
  54.   POINTL          ptlOrigin;        /* Origin  */
  55.   POINTL          ptlOffset;        /* Offset from Origin of "gray" area  */
  56.   POINTL          ptlBox;           /* Box extents  */
  57.   POINTL          ptlGray;          /* "Gray" area between boxes          */
  58.   LONG            lOffsetBline;     /* Baseline offset from bottom of Box */
  59.   ULONG           ulRowCount;       /* Row count, 0 == indeterminate     */
  60.   ULONG           ulColCount;       /* Column count, 0 == indeterminate  */
  61. };
  62. typedef IDR_INKMETRICS *PIDR_INKMETRICS,
  63.  **PPIDR_INKMETRICS;
  64.  
  65. struct IDR_GESTINFO    /* Gesture Information structure */
  66. {
  67.   ULONG         ulSSize;        /* IDR_GESTINFO size */
  68.   CHAR          szGestName[51];  /* Name of the gesture. */
  69.   IDR_SYM       Symbol;         /* Interpret symbol value based on type. */
  70.   RECOID        EventId;        /* PenPM Event id */
  71. };
  72. typedef IDR_GESTINFO *PIDR_GESTINFO,
  73.   **PPIDR_GESTINFO;
  74.  
  75. typedef LHANDLE HWORD;
  76. typedef HWORD *PHWORD;
  77. typedef PVOID HCLUSTER;
  78. typedef HCLUSTER *PHCLUSTER;
  79.  
  80. struct IDR_TXTSYM      /* Text symbol descriptor */
  81. {
  82.   ULONG         ulSSize;        /* IDR_TXTSYM size */
  83.   ULONG         ulStatus;       /* Character status, see IDR_TXTSYMxx */
  84.   IDR_SYM       Symbol;         /* Symbol type/value */
  85. };
  86. typedef IDR_TXTSYM *PIDR_TXTSYM,
  87.   **PPIDR_TXTSYM;
  88.  
  89. struct IDR_TXTCLUSTER  /* Text cluster descriptor */
  90. {
  91.    ULONG ulSSize;               /* Size of the structure. */
  92.    HCLUSTER hCluster;           /* Handle to the cluster. */
  93.    ULONG ulResultType;          /* Type of result. */
  94.    ULONG ulSymCnt;              /* Count of IDR_TXTSYMs in pSyms. */
  95.    PIDR_TXTSYM pSyms;           /* Recognition results of this cluster. */
  96.    ULONG ulIdCnt;               /* Stroke count returned. */
  97.    PULONG pStrokeId;            /* Pointer to an array of stroke ids. */
  98.    ULONG ulLocation;            /* Location information.... */
  99.    RECTL rclBoundBox;           /* Bounding box for strokes, in un/lined */
  100.    ULONG ulReserved1;           /* Reserved. */
  101.    PVOID pReserved1;            /* Reserved. */
  102.    ULONG ulReserved2;           /* Reserved. */
  103.    PVOID pReserved2;            /* Reserved. */
  104. };
  105. typedef IDR_TXTCLUSTER *PIDR_TXTCLUSTER,
  106.   **PPIDR_TXTCLUSTER;
  107.  
  108. struct IDR_TXTBOX      /* Box result structure. */
  109. {
  110.    ULONG ulSSize;               /* Size of the structure. */
  111.    ULONG ulSymCnt;              /* Count of IDR_TXTSYMs in pSyms. */
  112.    PIDR_TXTSYM pSyms;           /* Recognition results for this box.... */
  113.    ULONG ulIdCnt;               /* Stroke count returned. */
  114.    PULONG pStrokeId;            /* Pointer to an array of stroke ids. */
  115.    ULONG ulLocation;            /* Location information. This is the box id. */
  116.    ULONG ulReserved;            /* Reserved. */
  117.    PVOID pReserved;             /* Reserved. */
  118. };
  119. typedef IDR_TXTBOX *PIDR_TXTBOX,
  120.   **PPIDR_TXTBOX;
  121.  
  122.  
  123. //#  IDO object defines
  124. struct LINEBUNDLE
  125. {
  126.    LONG    lColor;
  127.    LONG    lBackColor;
  128.    USHORT  usMixMode;
  129.    USHORT  usBackMixMode;
  130.    FIXED   fxWidth;
  131.    LONG    lGeomWidth;
  132.    USHORT  usType;
  133.    USHORT  usEnd;
  134.    USHORT  usJoin;
  135.    USHORT  usReserved;
  136. };
  137. typedef LINEBUNDLE *PLINEBUNDLE;
  138.  
  139.  
  140. //#  IDM object defines
  141. typedef somToken IDM_RECTLIST;
  142. typedef IDM_RECTLIST *PIDM_RECTLIST;
  143. typedef somToken IDMCTLDATA;
  144. typedef IDMCTLDATA *PIDMCTLDATA,
  145.                   **PPIDMCTLDATA;
  146.  
  147.  
  148.  
  149. #endif /* idftyped_idl */
  150.