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
76
77
78
79
80
81
82
83
84
|
/*
viDOOM - level editor for DOOM
Copyright (C) 2000 Ian Cowburn (ianc@noddybox.demon.co.uk)
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 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-------------------------------------------------------------------------
Generic GUI routines
$Id$
*/
#ifndef VIDOOM_GUI_H
#define VIDOOM_GUI_H
#include "gfx.h"
/* If the platform specific GUI wants to provide a bas-relief GUI
in the same colours as the generic GUI it should use these colours.
Note these values are not initialised until after GuiSetScreen() has been
called.
*/
extern int GUI_HI;
extern int GUI_MID;
extern int GUI_LO;
extern int GUI_TEXT;
extern int GUI_TEXTSHADOW;
extern int GUI_TEXTBOLD;
/* These values can be passed to the InfoBox functions and the box will be
positioned accordingly. CENTRE can be used for both X and Y co-ords.
*/
#define GUI_CENTRE -1000
#define GUI_FLUSH_TOP -1002
#define GUI_FLUSH_LEFT -1003
#define GUI_FLUSH_RIGHT -1004
#define GUI_FLUSH_LOWER -1005
/* Inform GUI of screen size if required
*/
void GuiSetScreen(int w,int h);
/* Draw a box with filled with the supplied formatted text and wait for a
key/mouse button. Text is split into lines with a | char.
*/
void GuiInfoBox(char *title, char *fmt,...);
/* Draw a box identical to the Alert one, but don't wait for any input. Also
allows a position to be supplied for the top-left of the box. If any
position is -1 then the box is centred on that axis. If centre is set then
the text in the box is centred.
*/
void GuiDrawInfoBox(char *title, int x, int y, int centre, char *fmt,...);
/* Returns a string in the form MAPxx or ExMy, depending on the game type
defined in globals. Returns NULL if cancelled.
Note the return is static and must be copied elsewhere if permanence is
required.
*/
char *GuiPickLevel(char *prompt);
#endif
|