aboutsummaryrefslogtreecommitdiffstats
path: root/com32/cmenu/libmenu/tui.h
blob: ed5548786ad52a8c0e00d2bb49cdbf32dee2e825 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/* -*- c -*- ------------------------------------------------------------- *
 *
 *   Copyright 2004-2005 Murali Krishnan Ganapathy - All Rights Reserved
 *
 *   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, Inc., 53 Temple Place Ste 330,
 *   Boston MA 02111-1307, USA; either version 2 of the License, or
 *   (at your option) any later version; incorporated herein by reference.
 *
 * ----------------------------------------------------------------------- */

#ifndef __TUI_H__
#define __TUI_H__

#include <com32.h>
#include <getkey.h>
#include <consoles.h>
#include "syslnx.h"
#include "com32io.h"

#ifndef NULL
#define NULL ((void *)0)
#endif

#define SO '\016'
#define SI '\017'

#define TOP_LEFT_CORNER_BORDER '\154'
#define TOP_BORDER '\161'
#define TOP_RIGHT_CORNER_BORDER '\153'
#define BOTTOM_LEFT_CORNER_BORDER '\155'
#define BOTTOM_BORDER '\161'
#define BOTTOM_RIGHT_CORNER_BORDER '\152'
#define LEFT_BORDER '\170'
#define RIGHT_BORDER '\170'
#define LEFT_MIDDLE_BORDER '\164'
#define MIDDLE_BORDER '\161'
#define RIGHT_MIDDLE_BORDER '\165'

#define BELL 0x07
#define GETSTRATTR 0x07

// Generic user input,
// password = 0 iff chars echoed on screen
// showoldvalue <> 0 iff current displayed for editing
void getuserinput(char *str, unsigned int size,
		  unsigned int password, unsigned int showoldvalue);

static inline void getstring(char *str, unsigned int size)
{
    getuserinput(str, size, 0, 0);
}

static inline void editstring(char *str, unsigned int size)
{
    getuserinput(str, size, 0, 1);
}

static inline void getpwd(char *str, unsigned int size)
{
    getuserinput(str, size, 1, 0);
}

void drawbox(const char, const char, const char, const char,
	     const char);

// Draw a horizontal line
// dumb == 1, means just draw the line
// dumb == 0 means check the first and last positions and depending on what is
//    currently on the screen make it a LTRT and/or RTLT appropriately.
void drawhorizline(const char, const char, const char, const char,
		   const char dumb);

#endif