#include <set>
#include <string>
#include <utility>
+#include <assert.h>
#include "SDL.h"
#include "video/surface.h"
#include "video/font.h"
-#include "special/timer.h"
#include "mousecursor.h"
bool confirm_dialog(Surface* background, std::string text);
private:
/// copy-construction not allowed
- MenuItem(const MenuItem& other) { assert(false); }
+ MenuItem(const MenuItem& ) { assert(false); }
/// assignment not allowed
- void operator= (const MenuItem& other) { assert(false); }
+ void operator= (const MenuItem& ) { assert(false); }
/// keyboard key or joystick button
bool input_flickering;
- Timer input_flickering_timer;
};
class Menu
};
/** Number of the item that got 'hit' (ie. pressed) in the last
- event()/action() call, -1 if none */
+ event()/update() call, -1 if none */
int hit_item;
// position of the menu (ie. center of the menu, not top/left)
/* input implementation variables */
int delete_character;
char mn_input_char;
- Timer repeat_timer;
+ Uint32 menu_repeat_ticks;
public:
static Font* default_font;
std::vector<MenuItem*> items;
Menu();
- ~Menu();
+ virtual ~Menu();
void add_hl();
void add_label(const std::string& text);
virtual void menu_action(MenuItem* item);
- void action();
+ void update();
/** Remove all entries from the menu */
void clear();
private:
void check_controlfield_change_event(const SDL_Event& event);
void draw_item(DrawingContext& context, int index);
- Timer effect;
+ Uint32 effect_ticks;
int arrange_left;
int active_item;
};