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

Contents of /lbbs/include/screen.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.16 - (show annotations)
Wed Jul 2 04:17:33 2025 UTC (8 months, 2 weeks ago) by sysadm
Branch: MAIN
Changes since 1.15: +2 -2 lines
Content type: text/x-chdr
Support UTF8 instead of GBK

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

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