summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/ui/floppycntrl.h
blob: d48f8a88a538ae26143450455c981d9c8127568b (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
// license:BSD-3-Clause
// copyright-holders:Olivier Galibert
/***************************************************************************

    ui/floppycntrl.h

***************************************************************************/
#ifndef MAME_FRONTEND_UI_FLOPPYCNTRL_H
#define MAME_FRONTEND_UI_FLOPPYCNTRL_H

#pragma once

#include "ui/imgcntrl.h"

#include "imagedev/floppy.h"
#include "formats/flopimg.h"

#include <memory>


namespace ui {

class menu_control_floppy_image : public menu_control_device_image
{
public:
	menu_control_floppy_image(mame_ui_manager &ui, render_container &container, device_image_interface &image);
	virtual ~menu_control_floppy_image() override;

private:
	enum { SELECT_FORMAT = LAST_ID, SELECT_MEDIA, SELECT_RW };

	floppy_image_device &fd;
	std::unique_ptr<floppy_image_format_t * []> format_array;
	floppy_image_format_t *input_format, *output_format;
	std::string input_filename, output_filename;

	virtual void handle() override;

	void do_load_create();
	virtual void hook_load(const std::string &filename) override;
};

} // namespace ui

#endif /* MAME_FRONTEND_UI_FLOPPYCNTRL_H */