mirror of
https://github.com/holub/mame
synced 2025-05-24 14:56:21 +03:00
161 lines
4.7 KiB
C++
161 lines
4.7 KiB
C++
/***************************************************************************
|
|
|
|
uiimage.h
|
|
|
|
Internal MAME user interface image.
|
|
|
|
Copyright Nicola Salmoria and the MAME Team.
|
|
Visit http://mamedev.org for licensing and usage restrictions.
|
|
|
|
***************************************************************************/
|
|
|
|
#pragma once
|
|
|
|
#ifndef __UIIMAGE_H__
|
|
#define __UIIMAGE_H__
|
|
|
|
class ui_menu_image_info : public ui_menu {
|
|
public:
|
|
ui_menu_image_info(running_machine &machine, render_container *container);
|
|
virtual ~ui_menu_image_info();
|
|
virtual void populate();
|
|
virtual void handle();
|
|
};
|
|
|
|
class ui_menu_file_manager : public ui_menu {
|
|
public:
|
|
astring current_directory;
|
|
astring current_file;
|
|
device_image_interface *selected_device;
|
|
|
|
ui_menu_file_manager(running_machine &machine, render_container *container);
|
|
virtual ~ui_menu_file_manager();
|
|
virtual void populate();
|
|
virtual void handle();
|
|
virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2);
|
|
};
|
|
|
|
class ui_menu_mess_tape_control : public ui_menu {
|
|
public:
|
|
ui_menu_mess_tape_control(running_machine &machine, render_container *container);
|
|
virtual ~ui_menu_mess_tape_control();
|
|
virtual void populate();
|
|
virtual void handle();
|
|
|
|
private:
|
|
int index;
|
|
device_image_interface *device;
|
|
int cassette_count();
|
|
};
|
|
|
|
class ui_menu_mess_bitbanger_control : public ui_menu {
|
|
public:
|
|
ui_menu_mess_bitbanger_control(running_machine &machine, render_container *container);
|
|
virtual ~ui_menu_mess_bitbanger_control();
|
|
virtual void populate();
|
|
virtual void handle();
|
|
|
|
private:
|
|
int index;
|
|
device_image_interface *device;
|
|
int bitbanger_count();
|
|
};
|
|
|
|
class ui_menu_confirm_save_as : public ui_menu {
|
|
public:
|
|
ui_menu_confirm_save_as(running_machine &machine, render_container *container, bool *yes);
|
|
virtual ~ui_menu_confirm_save_as();
|
|
virtual void populate();
|
|
virtual void handle();
|
|
|
|
private:
|
|
bool *yes;
|
|
};
|
|
|
|
class ui_menu_file_create : public ui_menu {
|
|
public:
|
|
ui_menu_file_create(running_machine &machine, render_container *container, device_image_interface *image, astring ¤t_directory, astring ¤t_file);
|
|
virtual ~ui_menu_file_create();
|
|
virtual void populate();
|
|
virtual void handle();
|
|
virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2);
|
|
|
|
private:
|
|
device_image_interface *image;
|
|
astring ¤t_directory, ¤t_file;
|
|
const image_device_format *current_format;
|
|
int confirm_save_as_yes;
|
|
char filename_buffer[1024];
|
|
};
|
|
|
|
class ui_menu_file_selector : public ui_menu {
|
|
public:
|
|
enum { R_EMPTY, R_SOFTLIST, R_CREATE, R_FILE };
|
|
ui_menu_file_selector(running_machine &machine, render_container *container, device_image_interface *image, astring ¤t_directory, astring ¤t_file, bool has_empty, bool has_softlist, bool has_create, int *result);
|
|
virtual ~ui_menu_file_selector();
|
|
virtual void populate();
|
|
virtual void handle();
|
|
virtual void custom_render(void *selectedref, float top, float bottom, float x, float y, float x2, float y2);
|
|
|
|
private:
|
|
enum file_selector_entry_type {
|
|
SELECTOR_ENTRY_TYPE_EMPTY,
|
|
SELECTOR_ENTRY_TYPE_CREATE,
|
|
SELECTOR_ENTRY_TYPE_SOFTWARE_LIST,
|
|
SELECTOR_ENTRY_TYPE_DRIVE,
|
|
SELECTOR_ENTRY_TYPE_DIRECTORY,
|
|
SELECTOR_ENTRY_TYPE_FILE
|
|
};
|
|
|
|
struct file_selector_entry {
|
|
file_selector_entry *next;
|
|
|
|
file_selector_entry_type type;
|
|
const char *basename;
|
|
const char *fullpath;
|
|
};
|
|
|
|
device_image_interface *image;
|
|
astring ¤t_directory, ¤t_file;
|
|
bool has_empty, has_softlist, has_create;
|
|
int *result;
|
|
|
|
file_selector_entry *entrylist;
|
|
char filename_buffer[1024];
|
|
|
|
int compare_entries(const file_selector_entry *e1, const file_selector_entry *e2);
|
|
file_selector_entry *append_entry(file_selector_entry_type entry_type, const char *entry_basename, const char *entry_fullpath);
|
|
file_selector_entry *append_dirent_entry(const osd_directory_entry *dirent);
|
|
void append_entry_menu_item(const file_selector_entry *entry);
|
|
};
|
|
|
|
class ui_menu_select_format : public ui_menu {
|
|
public:
|
|
ui_menu_select_format(running_machine &machine, render_container *container,
|
|
class floppy_image_format_t **formats, int ext_match, int total_usable, int *result);
|
|
virtual ~ui_menu_select_format();
|
|
virtual void populate();
|
|
virtual void handle();
|
|
|
|
private:
|
|
floppy_image_format_t **formats;
|
|
int ext_match, total_usable;
|
|
int *result;
|
|
};
|
|
|
|
class ui_menu_select_rw : public ui_menu {
|
|
public:
|
|
enum { READONLY, READWRITE, WRITE_OTHER, WRITE_DIFF };
|
|
ui_menu_select_rw(running_machine &machine, render_container *container,
|
|
bool can_in_place, int *result);
|
|
virtual ~ui_menu_select_rw();
|
|
virtual void populate();
|
|
virtual void handle();
|
|
|
|
private:
|
|
bool can_in_place;
|
|
int *result;
|
|
};
|
|
|
|
#endif /* __UIIMAGE_H__ */
|