home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / Libraries / DCLAP 6d / dclap6d / vibrant / document.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-05  |  8.4 KB  |  223 lines  |  [TEXT/R*ch]

  1. /*  document.h
  2. * ===========================================================================
  3. *
  4. *                            PUBLIC DOMAIN NOTICE
  5. *            National Center for Biotechnology Information (NCBI)
  6. *
  7. *  This software/database is a "United States Government Work" under the
  8. *  terms of the United States Copyright Act.  It was written as part of
  9. *  the author's official duties as a United States Government employee and
  10. *  thus cannot be copyrighted.  This software/database is freely available
  11. *  to the public for use. The National Library of Medicine and the U.S.
  12. *  Government do not place any restriction on its use or reproduction.
  13. *  We would, however, appreciate having the NCBI and the author cited in
  14. *  any work or product based on this material
  15. *
  16. *  Although all reasonable efforts have been taken to ensure the accuracy
  17. *  and reliability of the software and data, the NLM and the U.S.
  18. *  Government do not and cannot warrant the performance or results that
  19. *  may be obtained by using this software or data. The NLM and the U.S.
  20. *  Government disclaim all warranties, express or implied, including
  21. *  warranties of performance, merchantability or fitness for any particular
  22. *  purpose.
  23. *
  24. * ===========================================================================
  25. *
  26. * File Name:  document.h
  27. *
  28. * Author:  Jonathan Kans
  29. *   
  30. * Version Creation Date: 4/12/93
  31. *
  32. * $Revision: 2.26 $
  33. *
  34. * File Description:  Converts fielded text into final report in a document
  35. *
  36. * Modifications:  
  37. * --------------------------------------------------------------------------
  38. * Date     Name        Description of modification
  39. * -------  ----------  -----------------------------------------------------
  40. *
  41. *
  42. * ==========================================================================
  43. */
  44.  
  45. #ifndef _DOCUMENT_
  46. #define _DOCUMENT_
  47.  
  48. #ifndef _VIBRANT_
  49. #include <vibrant.h>
  50. #endif
  51.  
  52. #ifdef __cplusplus
  53. extern "C" {
  54. #endif
  55.  
  56. /* DOC OBJECT HANDLE TYPE */
  57.  
  58. typedef struct Nlm_doctype {
  59.   Nlm_VoidPtr  dummy;
  60. } HNDL Nlm_DoC;
  61.  
  62. /* DOC PROCEDURE TYPES */
  63.  
  64. typedef Nlm_CharPtr (*Nlm_DocPrntProc)  PROTO((Nlm_DoC, Nlm_Int2, Pointer));
  65. typedef void        (*Nlm_DocClckProc)  PROTO((Nlm_DoC, Nlm_PoinT));
  66. typedef void        (*Nlm_DocDrawProc)  PROTO((Nlm_DoC, Nlm_RectPtr, Nlm_Int2, Nlm_Int2));
  67. typedef Nlm_Boolean (*Nlm_DocShadeProc) PROTO((Nlm_DoC, Nlm_Int2, Nlm_Int2, Nlm_Int2));
  68. typedef void        (*Nlm_DocDataProc)  PROTO((Nlm_DoC, Pointer));
  69. typedef void        (*Nlm_DocPanProc)   PROTO((Nlm_DoC));
  70. typedef void        (*Nlm_DocFreeProc)  PROTO((Nlm_DoC, Nlm_VoidPtr));
  71.  
  72. typedef void        (*Nlm_DocPutProc)   PROTO((Nlm_DoC, Nlm_Int2, Nlm_CharPtr));
  73. typedef Nlm_CharPtr (*Nlm_DocGetProc)   PROTO((Nlm_DoC, Nlm_Int2));
  74. typedef void        (*Nlm_DocUpdProc)   PROTO((Nlm_DoC, Nlm_Int2, Nlm_Int2));
  75.  
  76. /* COLUMN AND PARAGRAPH STRUCTURES */
  77.  
  78. typedef struct Nlm_coldata {
  79.   Nlm_Int2      pixWidth;
  80.   Nlm_Int2      pixInset;
  81.   Nlm_Int2      charWidth;
  82.   Nlm_Int2      charInset;
  83.   Nlm_FonT      font;
  84.   Nlm_Char      just;
  85.   unsigned int  wrap      : 1;
  86.   unsigned int  bar       : 1;
  87.   unsigned int  underline : 1;
  88.   unsigned int  left      : 1;
  89.   unsigned int  last      : 1;
  90. } Nlm_ColData, PNTR Nlm_ColPtr;
  91.  
  92. typedef struct Nlm_pardata {
  93.   unsigned int  openSpace    : 1;
  94.   unsigned int  keepWithNext : 1;
  95.   unsigned int  keepTogether : 1;
  96.   unsigned int  newPage      : 1;
  97.   unsigned int  tabStops     : 1;
  98.   Nlm_Int2      minLines;
  99.   Nlm_Int2      minHeight;
  100. } Nlm_ParData, PNTR Nlm_ParPtr;
  101.  
  102. /* DOC PROCEDURES */
  103.  
  104. extern Nlm_DoC     Nlm_DocumentPanel  PROTO((Nlm_GrouP prnt, Nlm_Int2 pixwidth, Nlm_Int2 pixheight));
  105.  
  106. extern void    Nlm_SetDocProcs    PROTO((Nlm_DoC d, Nlm_DocClckProc click, Nlm_DocClckProc drag,
  107.             Nlm_DocClckProc release, Nlm_DocPanProc pan));
  108. extern void    Nlm_SetDocShade    PROTO((Nlm_DoC d, Nlm_DocDrawProc draw, Nlm_DocShadeProc gray,
  109.             Nlm_DocShadeProc invert, Nlm_DocShadeProc color));
  110. extern void    Nlm_SetDocCache    PROTO((Nlm_DoC d, Nlm_DocPutProc put, Nlm_DocGetProc get,
  111.             Nlm_DocUpdProc upd));
  112.  
  113. extern void    Nlm_SetDocData     PROTO((Nlm_DoC d, VoidPtr data, Nlm_DocFreeProc cleanup));
  114. extern VoidPtr Nlm_GetDocData     PROTO((Nlm_DoC d));
  115. extern Nlm_CharPtr Nlm_GetDocText     PROTO((Nlm_DoC d, Nlm_Int2 item, Nlm_Int2 row, Nlm_Int2 col));
  116. extern void    Nlm_MapDocPoint    PROTO((Nlm_DoC d, Nlm_PoinT pt, Nlm_Int2Ptr item, Nlm_Int2Ptr row,
  117.             Nlm_Int2Ptr col, Nlm_RectPtr rct));
  118. extern void    Nlm_PrintDocument  PROTO((Nlm_DoC d));
  119. extern void    Nlm_SaveDocument   PROTO((Nlm_DoC d, FILE *f));
  120.  
  121. /* PARAMETER PROCEDURES */
  122.  
  123. extern void Nlm_GetDocParams  PROTO((Nlm_DoC d, Nlm_Int2Ptr numItems, Nlm_Int2Ptr numLines));
  124. extern void Nlm_GetItemParams PROTO((Nlm_DoC d, Nlm_Int2 item, Nlm_Int2Ptr startsAt,
  125.             Nlm_Int2Ptr numRows, Nlm_Int2Ptr numNlm_Cols, Nlm_Int2Ptr lineHeight));
  126. extern void Nlm_GetColParams  PROTO((Nlm_DoC d, Nlm_Int2 item, Nlm_Int2 col, Nlm_Int2Ptr pixPos,
  127.             Nlm_Int2Ptr pixWidth, Nlm_Int2Ptr pixInset, Nlm_CharPtr just));
  128.  
  129. /* TABLE PROCEDURES */
  130.  
  131. extern void Nlm_AppendItem  PROTO((Nlm_DoC d, Nlm_DocPrntProc proc, Pointer data,
  132.             Nlm_Boolean docOwnsData, Nlm_Int2 lines, Nlm_ParPtr parFmt,
  133.             Nlm_ColPtr colFmt, Nlm_FonT font));
  134. extern void Nlm_AppendText  PROTO((Nlm_DoC d, Nlm_CharPtr text, Nlm_ParPtr parFmt,
  135.             Nlm_ColPtr colFmt, Nlm_FonT font));
  136.  
  137. extern void Nlm_ReplaceItem PROTO((Nlm_DoC d, Nlm_Int2 item, Nlm_DocPrntProc proc,
  138.             Pointer data, Nlm_Boolean docOwnsData, Nlm_Int2 lines,
  139.             Nlm_ParPtr parFmt, Nlm_ColPtr colFmt, Nlm_FonT font));
  140. extern void Nlm_ReplaceText PROTO((Nlm_DoC d, Nlm_Int2 item, Nlm_CharPtr text,
  141.             Nlm_ParPtr parFmt, Nlm_ColPtr colFmt, Nlm_FonT font));
  142.  
  143. extern void Nlm_InsertItem  PROTO((Nlm_DoC d, Nlm_Int2 item, Nlm_DocPrntProc proc,
  144.             Pointer data, Nlm_Boolean docOwnsData, Nlm_Int2 lines,
  145.             Nlm_ParPtr parFmt, Nlm_ColPtr colFmt, Nlm_FonT font));
  146. extern void Nlm_InsertText  PROTO((Nlm_DoC d, Nlm_Int2 item, Nlm_CharPtr text,
  147.             Nlm_ParPtr parFmt, Nlm_ColPtr colFmt, Nlm_FonT font));
  148.  
  149. extern void Nlm_DeleteItem  PROTO((Nlm_DoC d, Nlm_Int2 item));
  150.  
  151. /* INVALIDATION AND UPDATE PROCEDURE */
  152.  
  153. extern Nlm_Boolean Nlm_ItemIsVisible PROTO((Nlm_DoC d, Nlm_Int2 item, Nlm_Int2Ptr top,
  154.             Nlm_Int2Ptr bottom, Nlm_Int2Ptr firstLine));
  155. extern Nlm_Boolean Nlm_GetScrlParams PROTO((Nlm_DoC d, Nlm_Int2Ptr offset,
  156.             Nlm_Int2Ptr firstShown, Nlm_Int2Ptr firstLine));
  157. extern void Nlm_UpdateDocument PROTO((Nlm_DoC d, Nlm_Int2 from, Nlm_Int2 to));
  158.  
  159. extern void Nlm_AdjustDocScroll PROTO((Nlm_DoC d));
  160. extern void Nlm_SetDocAutoAdjust PROTO((Nlm_DoC d, Nlm_Boolean autoAdjust));
  161. extern void Nlm_SetDocVirtual PROTO((Nlm_DoC d, Nlm_Boolean isvirtual));
  162.  
  163. extern void Nlm_SetDocTabstops PROTO((Nlm_DoC d, Int2 tabStops));  /* dgg added this */
  164.  
  165. /* STANDARD FILE DISPLAY PROCEDURES */
  166.  
  167. extern void Nlm_DisplayFile   PROTO((Nlm_DoC d, Nlm_CharPtr file, Nlm_FonT font));
  168. extern void Nlm_DisplayFancy  PROTO((Nlm_DoC d, Nlm_CharPtr file, Nlm_ParPtr parFmt,
  169.             Nlm_ColPtr colFmt, Nlm_FonT font, Nlm_Int2 tabStops));
  170.  
  171. #define DoC Nlm_DoC
  172. #define DocPrntProc Nlm_DocPrntProc
  173. #define DocClckProc Nlm_DocClckProc
  174. #define DocDrawProc Nlm_DocDrawProc
  175. #define DocShadeProc Nlm_DocShadeProc
  176. #define DocDataProc Nlm_DocDataProc
  177. #define DocPanProc Nlm_DocPanProc
  178. #define DocFreeProc Nlm_DocFreeProc
  179. #define DocPutProc Nlm_DocPutProc
  180. #define DocGetProc Nlm_DocGetProc
  181. #define DocUpdProc Nlm_DocUpdProc
  182. #define ColPtr Nlm_ColPtr
  183. #define ColData Nlm_ColData
  184. #define ParData Nlm_ParData
  185. #define ParPtr Nlm_ParPtr
  186. #define DocumentPanel Nlm_DocumentPanel
  187. #define SetDocProcs Nlm_SetDocProcs
  188. #define SetDocShade Nlm_SetDocShade
  189. #define SetDocCache Nlm_SetDocCache
  190. #define SetDocData Nlm_SetDocData
  191. #define GetDocData Nlm_GetDocData
  192. #define GetDocText Nlm_GetDocText
  193. #define MapDocPoint Nlm_MapDocPoint
  194. #define PrintDocument Nlm_PrintDocument
  195. #define SaveDocument Nlm_SaveDocument
  196. #define GetDocParams Nlm_GetDocParams
  197. #define GetItemParams Nlm_GetItemParams
  198. #define GetColParams Nlm_GetColParams
  199. #define AppendItem Nlm_AppendItem
  200. #define AppendText Nlm_AppendText
  201. #define ReplaceItem Nlm_ReplaceItem
  202. #ifndef ReplaceText
  203. #define ReplaceText Nlm_ReplaceText
  204. #endif
  205. #define InsertItem Nlm_InsertItem
  206. #define InsertText Nlm_InsertText
  207. #define DeleteItem Nlm_DeleteItem
  208. #define ItemIsVisible Nlm_ItemIsVisible
  209. #define GetScrlParams Nlm_GetScrlParams
  210. #define UpdateDocument Nlm_UpdateDocument
  211. #define AdjustDocScroll Nlm_AdjustDocScroll
  212. #define SetDocAutoAdjust Nlm_SetDocAutoAdjust
  213. #define SetDocVirtual Nlm_SetDocVirtual
  214. #define SetDocTabstops Nlm_SetDocTabstops
  215. #define DisplayFile Nlm_DisplayFile
  216. #define DisplayFancy Nlm_DisplayFancy
  217.  
  218. #ifdef __cplusplus
  219. }
  220. #endif
  221.  
  222. #endif
  223.