Main Page | Alphabetical List | Class List | File List | Class Members | File Members

editor/menu.c File Reference

#include "editor.h"

Go to the source code of this file.

Classes

struct  menu_entry
struct  menu_info

Defines

#define ICON_CTRL   "\x7F"
#define ICON_SHIFT   "\x1B"
#define NUM_MENUS   4

Typedefs

typedef menu_entry menu_entry
typedef menu_info menu_info

Functions

void enter_menu_state (int menu)
void draw_menu_labels (void)
void undraw_open_menus (void)
void draw_open_menu (void)
void menu_toggle_highlight (int menu)
void switch_menu (int menu)
void menu_state (int key)

Variables

menu_entry file_menu []
menu_entry edit_menu []
menu_entry transform_menu []
menu_entry map_menu []
menu_info menus [NUM_MENUS]
int open_menu = 0
int menu_pos = 0


Define Documentation

#define ICON_CTRL   "\x7F"
 

Definition at line 21 of file menu.c.

#define ICON_SHIFT   "\x1B"
 

Definition at line 22 of file menu.c.

#define NUM_MENUS   4
 

Definition at line 64 of file menu.c.

Referenced by draw_menu_labels(), and menu_state().


Typedef Documentation

typedef struct menu_entry menu_entry
 

typedef struct menu_info menu_info
 


Function Documentation

void draw_menu_labels void   ) 
 

Definition at line 89 of file menu.c.

References draw_string(), menus, and NUM_MENUS.

Referenced by draw_current_map(), and enter_menu_state().

void draw_open_menu void   ) 
 

Definition at line 103 of file menu.c.

References draw_rect(), draw_string(), menu_info::entries, menu_entry::hotkey, menu_pos, menus, menu_info::num_entries, open_menu, menu_entry::str, menu_info::width, xor_rect(), and menu_info::xpos.

Referenced by enter_menu_state(), menu_state(), and switch_menu().

void enter_menu_state int  menu  ) 
 

Definition at line 78 of file menu.c.

References draw_menu_labels(), draw_open_menu(), input_state, menu_pos, menu_state(), menu_toggle_highlight(), and open_menu.

Referenced by editing_state().

void menu_state int  key  ) 
 

Definition at line 141 of file menu.c.

References draw_open_menu(), enter_edit_state(), enter_palette_state(), menu_info::entries, menu_entry::func, input_state, menu_pos, menu_state(), menus, menu_info::num_entries, NUM_MENUS, open_menu, switch_menu(), and undraw_open_menus().

Referenced by enter_menu_state(), and menu_state().

void menu_toggle_highlight int  menu  ) 
 

Definition at line 123 of file menu.c.

References menus, and xor_rect().

Referenced by enter_menu_state(), and switch_menu().

void switch_menu int  menu  ) 
 

Definition at line 130 of file menu.c.

References draw_open_menu(), menu_pos, menu_toggle_highlight(), open_menu, and undraw_open_menus().

Referenced by menu_state().

void undraw_open_menus void   ) 
 

Definition at line 97 of file menu.c.

References draw_map_field().

Referenced by menu_state(), and switch_menu().


Variable Documentation

menu_entry edit_menu[]
 

Initial value:

 {
    { "Cut",          ICON_SHIFT "X", edit_cut },
    { "Copy",         ICON_SHIFT "Y", edit_copy },
    { "Paste",        "=", edit_paste },
    { "Clear",        "",  edit_clear },
    { "Select all",   ICON_SHIFT "A", edit_select_all }
    }

Definition at line 34 of file menu.c.

menu_entry file_menu[]
 

Initial value:

 {
    { "New",          ICON_SHIFT "N", file_new },
    { "Open",         ICON_SHIFT "O", file_open },
    { "Save",         ICON_SHIFT "S", file_save },
    { "Save as",      "", file_save_as },
    { "Exit",         "ESC", file_exit}
    }

Definition at line 25 of file menu.c.

menu_entry map_menu[]
 

Initial value:

 {
    { "Properties",   "MODE",           map_properties   },
    { "Resize",       "",               map_resize       },
    { "Next map",     "+",              map_next         },
    { "Previous map", "-",              map_previous     },
    { "Insert map",   "",               map_insert       },
    { "Delete",       "",               map_delete       },
    { "Move up",      ICON_CTRL "\x17", map_move_up      },
    { "Move down",    ICON_CTRL "\x18", map_move_down    },
    { "Import",       "",               map_import_level }
    }

Definition at line 51 of file menu.c.

int menu_pos = 0
 

Definition at line 75 of file menu.c.

Referenced by draw_open_menu(), enter_menu_state(), menu_state(), and switch_menu().

menu_info menus[NUM_MENUS]
 

Initial value:

 {
    { "File",      11, 17, 45, 5, file_menu },
    { "Edit",      28, 17, 55, 5, edit_menu },
    { "Transform", 45, 39, 70, 4, transform_menu },
    { "Map",       84, 17, 65, 9, map_menu }
    }

Definition at line 66 of file menu.c.

Referenced by draw_menu_labels(), draw_open_menu(), menu_state(), and menu_toggle_highlight().

int open_menu = 0
 

Definition at line 74 of file menu.c.

Referenced by draw_open_menu(), enter_menu_state(), menu_state(), and switch_menu().

menu_entry transform_menu[]
 

Initial value:

 {
    { "Flip horizontal", ICON_SHIFT "H", transform_mirror_horizontal },
    { "Flip vertical",   ICON_SHIFT "V", transform_mirror_vertical },
    { "Rotate 180deg",   ICON_SHIFT "R", transform_rotate_180 },
    { "Cut corners",     ICON_SHIFT "C", transform_smooth }
    }

Definition at line 43 of file menu.c.


Generated on Thu Apr 22 14:06:33 2004 for SKye by doxygen 1.3.6