altEngine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
menu.h
Go to the documentation of this file.
1 #include "include.h"
2 
3 #ifndef MENU_H
4 #define MENU_H
5 
6 class Engine;
7 
8 class Menu
9 {
10 public:
11  Menu();
12  void init(Graphics *gfx, Audio *audio, char **pk3_list, int num_pk3);
13  void render(Global &global, bool ingame = false);
14  void load(char *menu_file, char *state_file);
15  void delta(char *delta, Engine &altEngine);
16  bool delta(float x, float y);
17  void handle(char key, Engine *altEngine);
18  void draw_text(char *str, float x, float y, float scale, vec3 &color, bool start, bool stop);
19  void render_console(Global &global);
20  void render_chatmode(Global &global);
21  void render_stringmode(Global &global);
22  void handle_console(char key, Engine *altEngine);
23  void handle_chatmode(char key, Engine *altEngine);
24  void handle_stringmode(char key, Engine *altEngine);
25  void movepos(char c, float &xpos, float &ypos, float scale);
26  void print(const char *str);
27  void stop();
28  void play();
29  void clear_console();
30  void copy(char *data, unsigned int size);
31 
32  void print_chat(const char *str);
33  void render_chat(Global &global);
34  void clear_chat();
35 
36  void print_notif(const char *str);
37  void render_notif(Global &global);
38  void clear_notif();
39 
40  void sub_value(const char *str, char *out);
41  void handle_slider(char *out, float value);
42 
43  ~Menu();
44 
45  bool chat;
46  bool notif;
47  bool console;
48  bool ingame;
49  bool chatmode;
50  bool stringmode;
52  char *bindstr;
53  char bindcmd[128];
54 
56 
57  //making static so I can use it like printf
62 
64  char string_cmd[128];
65 
66 private:
70 
75 
76  char key_buffer[1024];
77  unsigned int history_index;
78  unsigned int line_offset;
79 
88 };
89 
90 #endif