summaryrefslogtreecommitdiffstatshomepage
path: root/trunk/src/emu/uiimage.h
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/emu/uiimage.h')
-rw-r--r--trunk/src/emu/uiimage.h160
1 files changed, 160 insertions, 0 deletions
diff --git a/trunk/src/emu/uiimage.h b/trunk/src/emu/uiimage.h
new file mode 100644
index 00000000000..345b22829a4
--- /dev/null
+++ b/trunk/src/emu/uiimage.h
@@ -0,0 +1,160 @@
+/***************************************************************************
+
+ 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 &current_directory, astring &current_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 &current_directory, &current_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 &current_directory, astring &current_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 &current_directory, &current_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__ */