/[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.12 by sysadm, Fri May 30 12:51:00 2025 UTC Revision 1.24 by sysadm, Sat Jan 3 10:27:14 2026 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-2026  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 "io.h"
13  #include <stddef.h>  #include <stddef.h>
14    
15  #define CTRL_SEQ_CLR_LINE "\033[K"  extern const char CTRL_SEQ_CLR_LINE[];
16    
17  typedef int (*display_data_key_handler)(int *key, char *msg, size_t msg_len);  enum display_constant_t
18    {
19       MSG_EXT_MAX_LEN = 400,
20    };
21    
22    struct display_ctx_t
23    {
24       int reach_begin;
25       int reach_end;
26       long line_top;
27       long line_bottom;
28       char msg[MSG_EXT_MAX_LEN];
29    };
30    typedef struct display_ctx_t DISPLAY_CTX;
31    
32    typedef int (*display_data_key_handler)(int *p_key, DISPLAY_CTX *p_ctx);
33    
34  extern void moveto(int row, int col);  extern void moveto(int row, int col);
35  extern void clrtoeol();  extern void clrtoeol();
# Line 30  extern void clrtobot(int line_begin); Line 38  extern void clrtobot(int line_begin);
38  extern void clearscr();  extern void clearscr();
39    
40  extern int press_any_key();  extern int press_any_key();
41    extern int press_any_key_ex(const char *msg, int sec);
42    
43  extern void set_input_echo(int echo);  extern void set_input_echo(int echo);
44    
45  extern int str_input(char *buffer, int buffer_length, int echo_mode);  extern int str_input(char *buffer, int buffer_length, enum io_echo_t echo_mode);
46  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);
47    
48  // eof_exit = 0 : Do not exit at EOF  // eof_exit = 0 : Do not exit at EOF
49  //            1 : Prompt for any key at EOF, then exit  //            1 : Prompt for any key at EOF, then exit
50  //            2 : Exit at EOF without prompt  //            2 : Exit at EOF without prompt
51  extern int display_data(const void *p_data, long line_total, const long *p_line_offsets, int begin_line, int eof_exit,  extern int display_data(const void *p_data, long display_line_total, const long *p_line_offsets, int eof_exit,
52                          display_data_key_handler key_handler, const char *help_filename);                          display_data_key_handler key_handler, const char *help_filename);
53  extern int display_file(const char *filename, int begin_line, int eof_exit);  extern int display_file(const char *filename, int eof_exit);
54    
55    extern int display_file_key_handler(int *p_key, DISPLAY_CTX *p_ctx);
56    
57  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);
58  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