summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/image.h
blob: b0cc5f608526b0c60297cb511dbd4aed4e98b133 (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
// license:BSD-3-Clause
// copyright-holders:Nathan Woods, Miodrag Milanovic
/***************************************************************************

    image.h

    Core image interface functions and definitions.

***************************************************************************/

#ifndef MAME_EMU_IMAGE_H
#define MAME_EMU_IMAGE_H

#pragma once

// ======================> image_manager

class image_manager
{
public:
	// construction/destruction
	image_manager(running_machine &machine);

	void unload_all();
	void postdevice_init();

	// getters
	running_machine &machine() const { return m_machine; }
private:
	void config_load(config_type cfg_type, util::xml::data_node const *parentnode);
	void config_save(config_type cfg_type, util::xml::data_node *parentnode);

	void options_extract();
	int write_config(emu_options &options, const char *filename, const game_driver *gamedrv);

	// internal state
	running_machine &   m_machine;                  // reference to our machine
};

#endif /* MAME_EMU_IMAGE_H */