/[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.11 by sysadm, Fri May 30 05:28:41 2025 UTC Revision 1.20 by sysadm, Tue Nov 4 13:49:50 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 by 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_
# Line 20  Line 12 
12  #include <stddef.h>  #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  typedef int (*display_data_key_handler)(int *key, char *msg, size_t msg_len);  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    typedef int (*display_data_key_handler)(int *p_key, DISPLAY_CTX *p_ctx);
28    
29  extern void moveto(int row, int col);  extern void moveto(int row, int col);
30  extern void clrtoeol();  extern void clrtoeol();
# Line 30  extern void clrtobot(int line_begin); Line 33  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 echo_mode);  extern int get_data(int row, int col, char *prompt, char *buffer, int buffer_length, int max_display_len);
42    
43  extern int display_data(const void *p_data, long line_total, const long *p_line_offsets, int begin_line, int wait,  // eof_exit = 0 : Do not exit at EOF
44    //            1 : Prompt for any key at EOF, then exit
45    //            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                          display_data_key_handler key_handler, const char *help_filename);                          display_data_key_handler key_handler, const char *help_filename);
48  extern int display_file(const char *filename, int begin_line, int wait);  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);


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

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