1/*****************************************************************************\
2 Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
3 This file is licensed under the Snes9x License.
4 For further information, consult the LICENSE file in the root directory.
5\*****************************************************************************/
6
7#ifndef _DISPLAY_H_
8#define _DISPLAY_H_
9
10#include "snes9x.h"
11
12enum s9x_getdirtype
13{
14 DEFAULT_DIR = 0,
15 HOME_DIR,
16 ROMFILENAME_DIR,
17 ROM_DIR,
18 SRAM_DIR,
19 SNAPSHOT_DIR,
20 SCREENSHOT_DIR,
21 SPC_DIR,
22 CHEAT_DIR,
23 PATCH_DIR,
24 BIOS_DIR,
25 LOG_DIR,
26 SAT_DIR,
27 LAST_DIR
28};
29
30void S9xUsage (void);
31char * S9xParseArgs (char **, int);
32void S9xParseArgsForCheats (char **, int);
33void S9xLoadConfigFiles (char **, int);
34void S9xSetInfoString (const char *);
35
36// Routines the port has to implement even if it doesn't use them
37
38void S9xPutImage (int, int);
39void S9xInitDisplay (int, char **);
40void S9xDeinitDisplay (void);
41void S9xTextMode (void);
42void S9xGraphicsMode (void);
43void S9xSetPalette (void);
44void S9xToggleSoundChannel (int);
45bool8 S9xOpenSnapshotFile (const char *, bool8, STREAM *);
46void S9xCloseSnapshotFile (STREAM);
47const char * S9xStringInput (const char *);
48const char * S9xGetDirectory (enum s9x_getdirtype);
49const char * S9xGetFilename (const char *, enum s9x_getdirtype);
50const char * S9xGetFilenameInc (const char *, enum s9x_getdirtype);
51const char * S9xChooseFilename (bool8);
52const char * S9xBasename (const char *);
53
54// Routines the port has to implement if it uses command-line
55
56void S9xExtraUsage (void);
57void S9xParseArg (char **, int &, int);
58
59// Routines the port may implement as needed
60
61void S9xExtraDisplayUsage (void);
62void S9xParseDisplayArg (char **, int &, int);
63void S9xSetTitle (const char *);
64void S9xInitInputDevices (void);
65void S9xProcessEvents (bool8);
66const char * S9xSelectFilename (const char *, const char *, const char *, const char *);
67
68#endif
69