blob: bf10957d743966e547b66ff9470a2bf325a2d9d9 (
plain) (
blame)
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
|
// license:BSD-3-Clause
// copyright-holders:Nicola Salmoria, Aaron Giles, Nathan Woods
/***************************************************************************
ui/uimain.h
Internal MAME menus for the user interface.
***************************************************************************/
#ifndef MAME_EMU_UI_UIMAIN_H
#define MAME_EMU_UI_UIMAIN_H
#pragma once
/***************************************************************************
TYPE DEFINITIONS
***************************************************************************/
class ui_manager
{
public:
// construction/destruction
ui_manager(running_machine &machine) : m_machine(machine) { }
virtual ~ui_manager() { }
virtual void set_startup_text(const char *text, bool force) { }
// is a menuing system active? we want to disable certain keyboard/mouse inputs under such context
virtual bool is_menu_active() { return false; }
virtual void popup_time_string(int seconds, std::string message) { }
virtual void menu_reset() { }
template <typename Format, typename... Params> void popup_time(int seconds, Format &&fmt, Params &&... args);
protected:
// instance variables
running_machine & m_machine;
};
/***************************************************************************
MEMBER TEMPLATES
***************************************************************************/
//-------------------------------------------------
// popup_time - popup a message for a specific
// amount of time
//-------------------------------------------------
template <typename Format, typename... Params>
inline void ui_manager::popup_time(int seconds, Format &&fmt, Params &&... args)
{
// extract the text
popup_time_string(seconds, string_format(std::forward<Format>(fmt), std::forward<Params>(args)...));
}
#endif // MAME_EMU_UI_UIMAIN_H
|