/* 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