panel.pp 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. unit panel;
  2. {---------------------------------------------------------------------------
  3. CncWare
  4. (c) Copyright 1999
  5. ----------------------------------------------------------------------------
  6. Filename..: panel.pp
  7. Programmer: Ken J. Wright
  8. Date......: 12/08/1999
  9. Purpose - Link to the Linux 'panel' library for ncurses windowing
  10. functions. The panel library handles overlapping windows,
  11. whereas, native ncurses windowing is only tiled.
  12. -------------------------------< Revisions >---------------------------------
  13. Revision| Date | Prog| Description
  14. -----------------------------------------------------------------------------
  15. 1.00 | 12/08/99 | kjw | Initial release.
  16. -----------------------------------------------------------------------------
  17. }
  18. interface
  19. uses ncurses;
  20. {$PACKRECORDS 4}
  21. {$linklib panel}
  22. type
  23. pPANEL = ^_PANEL;
  24. _PANEL = record
  25. win : ^WINDOW;
  26. wstarty : longint;
  27. wendy : longint;
  28. wstartx : longint;
  29. wendx : longint;
  30. below : ^_panel;
  31. above : ^_panel;
  32. user : longint; { NCURSES_CONST void user; }
  33. obscure : pointer;
  34. end;
  35. function panel_window(_para1:pPANEL):pWINDOW;cdecl;
  36. procedure update_panels;cdecl;
  37. function hide_panel(_para1:pPANEL):longint;cdecl;
  38. function show_panel(_para1:pPANEL):longint;cdecl;
  39. function del_panel(_para1:pPANEL):longint;cdecl;
  40. function top_panel(_para1:pPANEL):longint;cdecl;
  41. function bottom_panel(_para1:pPANEL):longint;cdecl;
  42. function new_panel(_para1:pWINDOW):pPANEL;cdecl;
  43. function panel_above(_para1:pPANEL):pPANEL;cdecl;
  44. function panel_below(_para1:pPANEL):pPANEL;cdecl;
  45. { extern int set_panel_userptr(PANEL , NCURSES_CONST void ); }
  46. { extern NCURSES_CONST void panel_userptr(const PANEL ); }
  47. function move_panel(_para1:pPANEL; _para2:longint; _para3:longint):longint;cdecl;
  48. function replace_panel(_para1:pPANEL; _para2:pWINDOW):longint;cdecl;
  49. function panel_hidden(_para1:pPANEL):longint;cdecl;
  50. implementation
  51. const External_library='';
  52. function panel_window(_para1:pPANEL):pWINDOW;cdecl;External;
  53. procedure update_panels;cdecl;External;
  54. function hide_panel(_para1:pPANEL):longint;cdecl;External;
  55. function show_panel(_para1:pPANEL):longint;cdecl;External;
  56. function del_panel(_para1:pPANEL):longint;cdecl;External;
  57. function top_panel(_para1:pPANEL):longint;cdecl;External;
  58. function bottom_panel(_para1:pPANEL):longint;cdecl;External;
  59. function new_panel(_para1:pWINDOW):pPANEL;cdecl;External;
  60. function panel_above(_para1:pPANEL):pPANEL;cdecl;External;
  61. function panel_below(_para1:pPANEL):pPANEL;cdecl;External;
  62. { extern int set_panel_userptr(PANEL , NCURSES_CONST void ); }
  63. { extern NCURSES_CONST void panel_userptr(const PANEL ); }
  64. function move_panel(_para1:pPANEL; _para2:longint; _para3:longint):longint;cdecl;External;
  65. function replace_panel(_para1:pPANEL; _para2:pWINDOW):longint;cdecl;External;
  66. function panel_hidden(_para1:pPANEL):longint;cdecl;External;
  67. end.