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

  1. /*   vibincld.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:  vibincld.h
  27. *
  28. * Author:  Jonathan Kans
  29. *
  30. * Version Creation Date:   7/1/91
  31. *
  32. * $Revision: 2.11 $
  33. *
  34. * File Description: 
  35. *       Vibrant inclusion of underlying windowing system toolbox functions,
  36. *       definition of common internal data types, and miscellaneous functions
  37. *       for internal use only.  Applications should avoid including this file.
  38. *
  39. * Modifications:  
  40. * --------------------------------------------------------------------------
  41. * Date     Name        Description of modification
  42. * -------  ----------  -----------------------------------------------------
  43. *
  44. *
  45. * ==========================================================================
  46. */
  47.  
  48. #ifndef _VIBINCLD_
  49. #define _VIBINCLD_
  50.  
  51. #ifndef _NCBIWIN_
  52. #include <ncbiwin.h>
  53. #endif
  54. #ifndef _NCBIPORT_
  55. #include <ncbiport.h>
  56. #endif
  57.  
  58. #ifdef __cplusplus
  59. extern "C" {
  60. #endif
  61.  
  62. /***  UNDERLYING TOOLBOX GRAPHIC PRIMITIVE OBJECT TYPES  ***/
  63.  
  64. #ifdef WIN_MAC
  65. #define Nlm_HandleTool Handle
  66. #define Nlm_PointTool Point
  67. #define Nlm_RectTool Rect
  68. #define Nlm_RgnTool RgnHandle
  69. #endif
  70.  
  71. #ifdef WIN_MSWIN
  72. #define Nlm_HandleTool HANDLE
  73. #define Nlm_PointTool POINT
  74. #define Nlm_RectTool RECT
  75. #define Nlm_RgnTool HRGN
  76. #endif
  77.  
  78. #ifdef WIN_MOTIF
  79. #define Nlm_HandleTool Nlm_VoidPtr
  80. #define Nlm_PointTool XPoint
  81. #define Nlm_RectTool XRectangle
  82. #define Nlm_RgnTool Region
  83. #endif
  84.  
  85. /*
  86. *  WARNING -- The various GetObjectData procedures use the
  87. *  appropriate recentObject and recentObjectData variables,
  88. *  to speed access by eliminating handle locking, copying,
  89. *  and unlocking upon repeated access of an object.  The
  90. *  remove and unlink procedures NULL out the variables, but
  91. *  it could become a problem if some procedure destroys an
  92. *  object other than by calling Remove.  This risky method
  93. *  of data acquisition is controlled by the "NLM_RISKY" flag.
  94. *  Defining NLM_RISKY as FALSE will prevent this caching and
  95. *  force these procedures to always get a fresh copy of the
  96. *  data from the object.
  97. */
  98.  
  99. #define NLM_RISKY TRUE
  100.  
  101. /*
  102. *  WARNING -- The X windowing system is designed for use over
  103. *  a network.  Sending queries during construction of Vibrant
  104. *  windows can be very time consuming over long distances.
  105. *  Defining the "NLM_QUIET" flag to TRUE will only realize
  106. *  Motif widgets at creation time if their parent window has
  107. *  already been shown.  Otherwise, it will realize all widgets
  108. *  from the shell on down as soon as the window is first shown.
  109. */
  110.  
  111. #define NLM_QUIET TRUE
  112.  
  113. /***  ADDITIONAL INTERNAL INTERFACE OBJECT TYPES  ***/
  114.  
  115. typedef  struct  Nlm_menubar {
  116.   Nlm_VoidPtr  dummy;
  117. } HNDL Nlm_MenuBaR;
  118.  
  119. typedef  struct  Nlm_box {
  120.   Nlm_VoidPtr  dummy;
  121. } HNDL Nlm_BoX;
  122.  
  123. /***  MISCELLANEOUS DRAWING OBJECTS FOR INTERNAL USE  ***/
  124.  
  125. /*
  126. *  This prompt object is for internal use only.  It does not link
  127. *  in as a child of its parent in the normal way, so on the
  128. *  Macintosh the parent must pass draw and click messages to it.
  129. *  The parent also explicitly positions it, and must show, hide,
  130. *  and remove it as necessary.
  131. */
  132.  
  133. Nlm_PrompT  Nlm_DependentPrompt PROTO((Nlm_GraphiC prnt, Nlm_RectPtr r, Nlm_CharPtr title, Nlm_FonT font, Nlm_Char just));
  134.  
  135. /*
  136. *  These scroll bar objects are for internal use only.  They do not
  137. *  link in as a child of its parent in the normal way, so on the
  138. *  Macintosh the parent must pass draw and click messages to them.
  139. *  The parent also explicitly positions them, and must show, hide,
  140. *  and remove them as necessary.  The action callback procedure is
  141. *  triggered by SetValue if the setting of the scroll bar changes.
  142. */
  143.  
  144. Nlm_BaR  Nlm_HorizScrollBar PROTO((Nlm_GraphiC slave, Nlm_RectPtr r, Nlm_ScrlProc actn));
  145. Nlm_BaR  Nlm_VertScrollBar PROTO((Nlm_GraphiC slave, Nlm_RectPtr r, Nlm_ScrlProc actn));
  146.  
  147. /***  STRUCTURE DEFINITIONS FOR INTERFACE OBJECTS  ***/
  148.  
  149. /*
  150. *  The GraphiC object is the base of all other objects.  It contains
  151. *  linkage information, the class and callback pointers, a position
  152. *  rectangle, and enabled and visible flags.
  153. */
  154.  
  155. typedef  struct  Nlm_graphicrec {
  156.   Nlm_GraphiC   next;
  157.   Nlm_GraphiC   parent;
  158.   Nlm_GraphiC   children;
  159.   Nlm_GraphiC   lastChild;
  160.   Nlm_GphPrcs   PNTR classptr;
  161.   Nlm_ActnProc  action;
  162.   Nlm_RecT      rect;
  163.   Nlm_Boolean   enabled;
  164.   Nlm_Boolean   visible;
  165.   Nlm_VoidPtr   thisobject; /* <<<add to hold DObjectPtr dgg++ */
  166. } Nlm_GraphicRec, Nlm_GraphicData, PNTR Nlm_GphPtr;
  167.  
  168. /*
  169. *  The BoX object has positioning parameters to nicely organize
  170. *  internal objects.
  171. */
  172.  
  173. typedef  struct  Nlm_boxdata {
  174.   Nlm_PoinT  nextPoint;
  175.   Nlm_PoinT  limitPoint;
  176.   Nlm_PoinT  resetPoint;
  177.   Nlm_Int2   topRow;
  178.   Nlm_Int2   nextCol;
  179.   Nlm_Int2   xMargin;
  180.   Nlm_Int2   yMargin;
  181.   Nlm_Int2   xSpacing;
  182.   Nlm_Int2   ySpacing;
  183.   Nlm_Int2   boxWidth;
  184.   Nlm_Int2   boxHeight;
  185. } Nlm_BoxData;
  186.  
  187. typedef  struct  Nlm_boxrec {
  188.   Nlm_GraphicRec  graphicR;
  189.   Nlm_BoxData     box;
  190. } Nlm_BoxRec, PNTR Nlm_BoxPtr;
  191.  
  192. #ifdef WIN_MAC
  193. #define Nlm_WindowTool  WindowPtr
  194. #define Nlm_PortTool    GrafPtr
  195. #define Nlm_ShellTool   Nlm_Handle
  196. #define Nlm_MainTool    Nlm_Handle
  197. #endif
  198.  
  199. #ifdef WIN_MSWIN
  200. #define Nlm_WindowTool  HWND
  201. #define Nlm_PortTool    HDC
  202. #define Nlm_ShellTool   Nlm_Handle
  203. #define Nlm_MainTool    Nlm_Handle
  204. #endif
  205.  
  206. #ifdef WIN_MOTIF
  207. #define Nlm_WindowTool  Widget
  208. #define Nlm_PortTool    GC
  209. #define Nlm_ShellTool   Widget
  210. #define Nlm_MainTool    Widget
  211. #endif
  212.  
  213. extern  Nlm_WindoW     Nlm_desktopWindow;
  214. extern  Nlm_WindoW     Nlm_systemWindow;
  215.  
  216. extern  Nlm_WindoW     Nlm_theWindow;
  217. extern  Nlm_WindowTool Nlm_currentWindowTool;
  218.  
  219. #ifdef WIN_MAC
  220. extern  EventRecord    Nlm_currentEvent;
  221. #endif
  222.  
  223. #ifdef WIN_MSWIN
  224. extern  WPARAM         Nlm_currentWParam;
  225. extern  HINSTANCE      Nlm_currentHInst;
  226. extern  LPARAM         Nlm_currentLParam;
  227. extern  MSG            Nlm_currentMssg;
  228. extern  int            Nlm_currentId;
  229. extern  HWND           Nlm_currentHwndCtl;
  230. extern  UINT           Nlm_currentCode;
  231. extern  int            Nlm_currentPos;
  232. #endif
  233.  
  234. #ifdef WIN_MOTIF
  235. extern  XEvent         Nlm_currentEvent;
  236. extern  XtAppContext   Nlm_appContext;
  237. extern  XmFontList     Nlm_XfontList;
  238. extern  Widget         Nlm_fileDialogShell;
  239. #endif
  240.  
  241. void            Nlm_ProcessTimerEvent PROTO((void));
  242. Nlm_WindowTool  Nlm_ParentWindowPtr PROTO((Nlm_GraphiC a));
  243. Nlm_PortTool    Nlm_ParentWindowPort PROTO((Nlm_GraphiC a));
  244. Nlm_MainTool    Nlm_ParentWindowMain PROTO((Nlm_GraphiC a));
  245. Nlm_ShellTool   Nlm_ParentWindowShell PROTO((Nlm_GraphiC a));
  246. Nlm_WindoW      Nlm_SavePortIfNeeded PROTO((Nlm_GraphiC a, Nlm_Boolean savePort));
  247.  
  248. void            Nlm_SetWindowCharDisplay PROTO((Nlm_WindoW w, Nlm_DisplaY d));
  249. Nlm_DisplaY     Nlm_GetWindowCharDisplay PROTO((Nlm_WindoW w));
  250. void            Nlm_SetWindowMenuBar PROTO((Nlm_WindoW w, Nlm_MenuBaR mb));
  251. Nlm_MenuBaR     Nlm_GetWindowMenuBar PROTO((Nlm_WindoW w));
  252. void            Nlm_SetWindowDefaultButton PROTO((Nlm_WindoW w, Nlm_ButtoN b));
  253. Nlm_ButtoN      Nlm_GetWindowDefaultButton PROTO((Nlm_WindoW w));
  254. Nlm_Boolean     Nlm_WindowHasBeenShown PROTO((Nlm_WindoW w));
  255. Nlm_Boolean     Nlm_IsWindowDying PROTO((Nlm_WindoW w));
  256. void            Nlm_PassPanelClickToText PROTO((Nlm_PaneL p, Nlm_TexT t, Nlm_PoinT pt));
  257. void            Nlm_KillSlateTimer PROTO((void));
  258.  
  259. void            Nlm_GetChoiceTitle PROTO((Nlm_GraphiC c, Nlm_Int2 item, Nlm_CharPtr title, Nlm_sizeT maxsize));
  260. Nlm_ShellTool   Nlm_GetWindowShell PROTO((Nlm_WindoW w));
  261.  
  262. #ifdef WIN_MAC
  263. void            Nlm_SetUpdateRegion PROTO((WindowPtr wptr));
  264. #endif
  265. #ifdef WIN_MOTIF
  266. void            Nlm_MapDefaultButton PROTO((Nlm_WindoW w, Nlm_ButtoN b));
  267. #endif
  268.  
  269. extern  Nlm_Int2    Nlm_nextIdNumber;
  270.  
  271. extern  Nlm_PoinT   Nlm_globalMouse;
  272. extern  Nlm_PoinT   Nlm_localMouse;
  273.  
  274. extern  Nlm_FonT    Nlm_fontList;
  275.  
  276. void        Nlm_InitVibrantHooks PROTO((void));
  277.  
  278. void        Nlm_InitBars PROTO((void));
  279. void        Nlm_InitButtons PROTO((void));
  280. void        Nlm_InitExtras PROTO((void));
  281. void        Nlm_InitGroup PROTO((void));
  282. void        Nlm_InitLists PROTO((void));
  283. void        Nlm_InitMenus PROTO((void));
  284. void        Nlm_InitPrompt PROTO((void));
  285. void        Nlm_InitSlate PROTO((void));
  286. void        Nlm_InitTexts PROTO((void));
  287. void        Nlm_InitWindows PROTO((void));
  288.  
  289. void        Nlm_FreeBars PROTO((void));
  290. void        Nlm_FreeButtons PROTO((void));
  291. void        Nlm_FreeExtras PROTO((void));
  292. void        Nlm_FreeGroup PROTO((void));
  293. void        Nlm_FreeLists PROTO((void));
  294. void        Nlm_FreeMenus PROTO((void));
  295. void        Nlm_FreePrompt PROTO((void));
  296. void        Nlm_FreeSlate PROTO((void));
  297. void        Nlm_FreeTexts PROTO((void));
  298. void        Nlm_FreeWindows PROTO((void));
  299.  
  300. Nlm_Boolean Nlm_RegisterWindows PROTO((void));
  301. Nlm_Boolean Nlm_RegisterSlates PROTO((void));
  302. Nlm_Boolean Nlm_RegisterTexts PROTO((void));
  303.  
  304. void        Nlm_ClearItemsInGroup PROTO((Nlm_GraphiC a, Nlm_GraphiC excpt, Nlm_Boolean savePort));
  305. Nlm_Int2    Nlm_CountGroupItems PROTO((Nlm_GraphiC a));
  306.  
  307. Nlm_GraphiC Nlm_CreateLink PROTO((Nlm_GraphiC prnt, Nlm_RectPtr r, Nlm_Int2 recordSize, Nlm_GphPrcs PNTR classPtr));
  308. void        Nlm_RemoveLink PROTO((Nlm_GraphiC a));
  309. void        Nlm_RecordRect PROTO((Nlm_GraphiC a, Nlm_RectPtr r));
  310. void        Nlm_NextPosition PROTO((Nlm_GraphiC a, Nlm_RectPtr r));
  311. Nlm_GphPrcsPtr Nlm_GetClassPtr PROTO((Nlm_GraphiC a));
  312. #ifdef WIN_MAC
  313. Nlm_Boolean Nlm_DoClick PROTO((Nlm_GraphiC a, Nlm_PoinT pt));
  314. Nlm_Boolean Nlm_DoKey PROTO((Nlm_GraphiC a, Nlm_Char ch));
  315. void        Nlm_DoDraw PROTO((Nlm_GraphiC a));
  316. Nlm_Boolean Nlm_DoIdle PROTO((Nlm_GraphiC a, Nlm_PoinT pt));
  317. #endif
  318. #ifdef WIN_MSWIN
  319. Nlm_Boolean Nlm_DoCommand PROTO((Nlm_GraphiC a));
  320. #endif
  321. #ifdef WIN_MOTIF
  322. void        Nlm_DoCallback PROTO((Nlm_GraphiC a));
  323. #endif
  324. void        Nlm_DoShow PROTO((Nlm_GraphiC a, Nlm_Boolean setFlag, Nlm_Boolean savePort));
  325. void        Nlm_DoHide PROTO((Nlm_GraphiC a, Nlm_Boolean setFlag, Nlm_Boolean savePort));
  326. void        Nlm_DoEnable PROTO((Nlm_GraphiC a, Nlm_Boolean setFlag, Nlm_Boolean savePort));
  327. void        Nlm_DoDisable PROTO((Nlm_GraphiC a, Nlm_Boolean setFlag, Nlm_Boolean savePort));
  328. void        Nlm_DoActivate PROTO((Nlm_GraphiC a, Nlm_Boolean savePort));
  329. void        Nlm_DoDeactivate PROTO((Nlm_GraphiC a, Nlm_Boolean savePort));
  330. Nlm_Handle  Nlm_DoRemove PROTO((Nlm_GraphiC a, Nlm_Boolean savePort));
  331. void        Nlm_DoReset PROTO((Nlm_GraphiC a, Nlm_Boolean savePort));
  332. void        Nlm_DoSelect PROTO((Nlm_GraphiC a, Nlm_Boolean savePort));
  333. void        Nlm_DoSetTitle PROTO((Nlm_GraphiC a, Nlm_Int2 item, Nlm_CharPtr title, Nlm_Boolean savePort));
  334. void        Nlm_DoGetTitle PROTO((Nlm_GraphiC a, Nlm_Int2 item, Nlm_CharPtr title, Nlm_sizeT maxsize));
  335. void        Nlm_DoSetValue PROTO((Nlm_GraphiC a, Nlm_Int2 value, Nlm_Boolean savePort));
  336. Nlm_Int2    Nlm_DoGetValue PROTO((Nlm_GraphiC a));
  337. void        Nlm_DoSetStatus PROTO((Nlm_GraphiC a, Nlm_Int2 item, Nlm_Boolean status, Nlm_Boolean savePort));
  338. Nlm_Boolean Nlm_DoGetStatus PROTO((Nlm_GraphiC a, Nlm_Int2 item));
  339. void        Nlm_DoSetOffset PROTO((Nlm_GraphiC a, Nlm_Int2 horiz, Nlm_Int2 vert, Nlm_Boolean savePort));
  340. void        Nlm_DoGetOffset PROTO((Nlm_GraphiC a, Nlm_Int2Ptr horiz, Nlm_Int2Ptr vert));
  341. Nlm_GraphiC Nlm_DoLinkIn PROTO((Nlm_GraphiC a, Nlm_GraphiC prnt));
  342. void        Nlm_DoAdjustPrnt PROTO((Nlm_GraphiC a, Nlm_RectPtr r, Nlm_Boolean align, Nlm_Boolean savePort));
  343. void        Nlm_DoSetPosition PROTO((Nlm_GraphiC a, Nlm_RectPtr r, Nlm_Boolean savePort));
  344. void        Nlm_DoGetPosition PROTO((Nlm_GraphiC a, Nlm_RectPtr r));
  345. void        Nlm_DoSetRange PROTO((Nlm_GraphiC a, Nlm_Int2 pgUp, Nlm_Int2 pgDn, Nlm_Int2 max, Nlm_Boolean savePort));
  346. Nlm_GraphiC Nlm_DoGainFocus PROTO((Nlm_GraphiC a, Nlm_Char ch, Nlm_Boolean savePort));
  347. void        Nlm_DoLoseFocus PROTO((Nlm_GraphiC a, Nlm_GraphiC excpt, Nlm_Boolean savePort));
  348. void        Nlm_DoSendChar PROTO((Nlm_GraphiC a, Nlm_Char ch, Nlm_Boolean savePort));
  349. void        Nlm_DoSendFocus (Nlm_GraphiC a, Nlm_Char ch);
  350. void        Nlm_DoAction PROTO((Nlm_GraphiC a));
  351.  
  352. Nlm_GraphiC Nlm_FindItem PROTO((Nlm_GraphiC a, Nlm_Int2 item));
  353. Nlm_Int2    Nlm_GetItemIndex PROTO((Nlm_GraphiC a));
  354.  
  355. Nlm_WindoW  Nlm_GetParentWindow PROTO((Nlm_GraphiC a));
  356. Nlm_Boolean Nlm_GetAllParentsEnabled PROTO((Nlm_GraphiC a));
  357. Nlm_Boolean Nlm_GetAllParentsVisible PROTO((Nlm_GraphiC a));
  358. Nlm_Boolean Nlm_AllParentsButWindowVisible PROTO((Nlm_GraphiC a));
  359.  
  360. void        Nlm_SetNext PROTO((Nlm_GraphiC a, Nlm_GraphiC nxt));
  361. Nlm_GraphiC Nlm_GetNext PROTO((Nlm_GraphiC a));
  362. void        Nlm_SetParent PROTO((Nlm_GraphiC a, Nlm_GraphiC prnt));
  363. Nlm_GraphiC Nlm_GetParent PROTO((Nlm_GraphiC a));
  364. void        Nlm_SetChild PROTO((Nlm_GraphiC a, Nlm_GraphiC chld));
  365. Nlm_GraphiC Nlm_GetChild PROTO((Nlm_GraphiC a));
  366. void        Nlm_SetRect PROTO((Nlm_GraphiC a, Nlm_RectPtr r));
  367. void        Nlm_GetRect PROTO((Nlm_GraphiC a, Nlm_RectPtr r));
  368. void        Nlm_SetEnabled PROTO((Nlm_GraphiC a, Nlm_Boolean enabld));
  369. Nlm_Boolean Nlm_GetEnabled PROTO((Nlm_GraphiC a));
  370. void        Nlm_SetVisible PROTO((Nlm_GraphiC a, Nlm_Boolean visibl));
  371. Nlm_Boolean Nlm_GetVisible PROTO((Nlm_GraphiC a));
  372.  
  373. Nlm_GraphiC Nlm_LinkIn PROTO((Nlm_GraphiC a, Nlm_GraphiC prnt));
  374.  
  375. void        Nlm_LoadGraphicData PROTO((Nlm_GraphiC a, Nlm_GraphiC nxt, Nlm_GraphiC prnt, Nlm_GraphiC chld, Nlm_GraphiC lstchd, Nlm_GphPrcs PNTR classPtr, Nlm_ActnProc actnProc, Nlm_RectPtr r, Nlm_Boolean enabl, Nlm_Boolean vis));
  376. void        Nlm_SetGraphicData PROTO((Nlm_GraphiC a, Nlm_GraphicData PNTR gdata));
  377. void        Nlm_GetGraphicData PROTO((Nlm_GraphiC a, Nlm_GraphicData PNTR gdata));
  378. void        Nlm_LoadAction PROTO((Nlm_GraphiC a, Nlm_ActnProc actnProc));
  379.  
  380. void        Nlm_LoadBoxData PROTO((Nlm_BoX a, Nlm_PoinT nxt, Nlm_PoinT lmt, Nlm_PoinT rst, Nlm_Int2 top, Nlm_Int2 ncol, Nlm_Int2 xMrg, Nlm_Int2 yMrg, Nlm_Int2 xSpc, Nlm_Int2 ySpc, Nlm_Int2 wid, Nlm_Int2 hgt));
  381. void        Nlm_SetBoxData PROTO((Nlm_BoX a, Nlm_BoxData PNTR bdata));
  382. void        Nlm_GetBoxData PROTO((Nlm_BoX a, Nlm_BoxData PNTR bdata));
  383.  
  384. void        Nlm_SetExtraData PROTO((Nlm_GraphiC a, Nlm_VoidPtr dptr, Nlm_Int2 start, Nlm_Int2 extra));
  385. void        Nlm_GetExtraData PROTO((Nlm_GraphiC a, Nlm_VoidPtr dptr, Nlm_Int2 start, Nlm_Int2 extra));
  386.  
  387. void        Nlm_PointToolToPoinT PROTO((Nlm_PointTool src, Nlm_PointPtr dst));
  388. void        Nlm_PoinTToPointTool PROTO((Nlm_PoinT src, Nlm_PointTool PNTR dst));
  389. void        Nlm_RectToolToRecT PROTO((Nlm_RectTool PNTR src, Nlm_RectPtr dst));
  390. void        Nlm_RecTToRectTool PROTO((Nlm_RectPtr src, Nlm_RectTool PNTR dst));
  391.  
  392. void        Nlm_LocalToGlobal PROTO((Nlm_PointPtr pt));
  393. void        Nlm_GlobalToLocal PROTO((Nlm_PointPtr pt));
  394.  
  395. #ifdef OS_MAC
  396. void        Nlm_CtoPstr PROTO((Nlm_CharPtr str));
  397. extern  void        Nlm_PtoCstr PROTO((Nlm_CharPtr str));
  398. #endif
  399.  
  400. #ifdef WIN_MSWIN
  401. extern  Nlm_Boolean Nlm_VibrantDisabled PROTO((void));
  402. #endif
  403.  
  404. #ifdef __cplusplus
  405. }
  406. #endif
  407.  
  408. #endif
  409.