1 /*
2  *
3  *  Iter Vehemens ad Necem (IVAN)
4  *  Copyright (C) Timo Kiviluoto
5  *  Released under the GNU General
6  *  Public License
7  *
8  *  See LICENSING which should be included
9  *  along with this file for more details
10  *
11  */
12 
13 #ifndef __FEIO_H__
14 #define __FEIO_H__
15 
16 #include "v2.h"
17 #include "festring.h"
18 
19 class bitmap;
20 class inputfile;
21 
22 typedef truth (*stringkeyhandler)(int, festring&);
23 typedef void (*bitmapeditor)(bitmap*, truth);
24 typedef void (*skipseeksave)(inputfile* pSaveFile);
25 
26 class iosystem
27 {
28  public:
29   static festring ContinueMenu(col16, col16, cfestring&, const int iSaveFileVersion, bool bAllowImportOldSavegame);
30   static void SetSkipSeekSave(skipseeksave);
31   static void SetSaveGameSortMode(int i);
32   static void fixChars(festring& fs);
33   static int StringQuestion(festring&, cfestring&, v2, col16,
34                             festring::sizetype, festring::sizetype,
35                             truth, truth, stringkeyhandler = 0);
36   static long NumberQuestion(cfestring&, v2, col16,
37                              truth, truth = false);
38   static long ScrollBarQuestion(cfestring&, v2, long, long, long,
39                                 long, long, col16, col16, col16, int,
40                                 int, truth, void (*)(long) = 0);
41   static int Menu(std::vector<bitmap*> vBackGround, v2, cfestring&,
42                   cfestring&, col16,
43                   cfestring& = CONST_S(""),
44                   cfestring& = CONST_S(""),
45                   truth = false);
46   static void TextScreen(cfestring&, v2 Disp = ZERO_V2,
47                          col16 = 0xFFFF, truth = true,
48                          truth = true, bitmapeditor = 0);
49   static truth IsOnMenu();
50   static bool IsInUse();
51   static bool AlertConfirmMsg(const char* cMsg,std::vector<festring> vfsCritMsgs = std::vector<festring>(),bool bConfirmMode=true);
52   static void AlertConfirmMsgDraw(bitmap* Buffer);
53 };
54 
55 #endif
56