/[LeafOK_CVS]/lbbs/include/screen.h
ViewVC logotype

Diff of /lbbs/include/screen.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.10 by sysadm, Thu May 29 13:17:33 2025 UTC Revision 1.21 by sysadm, Tue Nov 4 14:58:55 2025 UTC
# Line 1  Line 1 
1  /***************************************************************************  /* SPDX-License-Identifier: GPL-3.0-or-later */
2                              screen.h  -  description  /*
3                               -------------------   * screen
4      copyright            : (C) 2004-2025 by Leaflet   *   - advanced telnet-based user interactive input / output features
5      email                : leaflet@leafok.com   *
6   ***************************************************************************/   * Copyright (C) 2004-2025  Leaflet <leaflet@leafok.com>
7     */
 /***************************************************************************  
  *                                                                         *  
  *   This program is free software; you can redistribute it and/or modify  *  
  *   it under the terms of the GNU General Public License as published by  *  
  *   the Free Software Foundation; either version 3 of the License, or     *  
  *   (at your option) any later version.                                   *  
  *                                                                         *  
  ***************************************************************************/  
8    
9  #ifndef _SCREEN_H_  #ifndef _SCREEN_H_
10  #define _SCREEN_H_  #define _SCREEN_H_
11    
12    #include <stddef.h>
13    
14  #define CTRL_SEQ_CLR_LINE "\033[K"  #define CTRL_SEQ_CLR_LINE "\033[K"
15    #define MSG_EXT_MAX_LEN 400
16    
17  extern void moveto(int row, int col);  struct display_ctx_t
18    {
19       int reach_begin;
20       int reach_end;
21       long line_top;
22       long line_bottom;
23       char msg[MSG_EXT_MAX_LEN];
24    };
25    typedef struct display_ctx_t DISPLAY_CTX;
26    
27  extern void clrtoeol();  typedef int (*display_data_key_handler)(int *p_key, DISPLAY_CTX *p_ctx);
28    
29    extern void moveto(int row, int col);
30    extern void clrtoeol();
31  extern void clrline(int line_begin, int line_end);  extern void clrline(int line_begin, int line_end);
   
32  extern void clrtobot(int line_begin);  extern void clrtobot(int line_begin);
   
33  extern void clearscr();  extern void clearscr();
34    
35  extern int press_any_key();  extern int press_any_key();
36    extern int press_any_key_ex(const char *msg, int sec);
37    
38  extern void set_input_echo(int echo);  extern void set_input_echo(int echo);
39    
40  extern int str_input(char *buffer, int buffer_length, int echo_mode);  extern int str_input(char *buffer, int buffer_length, int echo_mode);
41    extern int get_data(int row, int col, char *prompt, char *buffer, int buffer_length, int max_display_len);
42    
43  extern int get_data(int row, int col, char *prompt, char *buffer, int buffer_length, int echo_mode);  // eof_exit = 0 : Do not exit at EOF
44    //            1 : Prompt for any key at EOF, then exit
45  extern int display_data(const void *p_data, long line_total, const long *p_line_offsets, int begin_line, int wait);  //            2 : Exit at EOF without prompt
46    extern int display_data(const void *p_data, long display_line_total, const long *p_line_offsets, int eof_exit,
47  extern int display_file(const char *filename, int begin_line, int wait);                          display_data_key_handler key_handler, const char *help_filename);
48    extern int display_file(const char *filename, int eof_exit);
49    
50  extern int show_top(const char *str_left, const char *str_center, const char *str_right);  extern int show_top(const char *str_left, const char *str_center, const char *str_right);
   
51  extern int show_bottom(const char *msg);  extern int show_bottom(const char *msg);
52    
53  extern int show_active_board();  extern int show_active_board();


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1