sources/interface.h

changeset 88
08ccaf26cffd
parent 83
08bfc3d9d2ae
child 89
777b2a10b835
equal deleted inserted replaced
87:53c2aecb9704 88:08ccaf26cffd
31 #pragma once 31 #pragma once
32 #include "main.h" 32 #include "main.h"
33 #include "network/ipaddress.h" 33 #include "network/ipaddress.h"
34 #include "coloredline.h" 34 #include "coloredline.h"
35 #include "network/rconsession.h" 35 #include "network/rconsession.h"
36 BEGIN_ZFC_NAMESPACE
36 37
37 class Interface 38 class Interface
38 { 39 {
39 public: 40 public:
40 enum InputState 41 enum InputState
62 void __cdecl print_warning (const char* fmtstr, ...); 63 void __cdecl print_warning (const char* fmtstr, ...);
63 void __cdecl print_error (const char* fmtstr, ...); 64 void __cdecl print_error (const char* fmtstr, ...);
64 65
65 private: 66 private:
66 StringList InputHistory; 67 StringList InputHistory;
67 int InputCursor = 0; 68 int InputCursor;
68 int CursorPosition = 0; 69 int CursorPosition;
69 int InputPanning = 0; 70 int InputPanning;
70 bool NeedRefresh = false; 71 bool NeedRefresh;
71 bool NeedStatusBarRender = false; 72 bool NeedStatusBarRender;
72 bool NeedInputRender = false; 73 bool NeedInputRender;
73 bool NeedOutputRender = false; 74 bool NeedOutputRender;
74 bool NeedNicklistRender = false; 75 bool NeedNicklistRender;
75 struct { char ch; int x; } CursorCharacter; 76 struct { char ch; int x; } CursorCharacter;
76 Vector<ColoredLine> OutputLines; 77 Vector<ColoredLine> OutputLines;
77 int OutputScroll = 0; 78 int OutputScroll;
78 String Title; 79 String Title;
79 InputState CurrentInputState = INPUTSTATE_NORMAL; 80 InputState CurrentInputState;
80 Function<void (void)> DisconnectConfirmFunction = nullptr; 81 std::function<void (void)> DisconnectConfirmFunction;
81 IPAddress CurrentAddress; 82 IPAddress CurrentAddress;
82 String StatusBarText; 83 String StatusBarText;
83 StringList PlayerNames; 84 StringList PlayerNames;
84 String PasteBuffer; 85 String PasteBuffer;
85 RCONSession Session; 86 RCONSession Session;
86 87
87 void render_titlebar(); 88 void render_titlebar();
88 void safe_disconnect (Function<void()> afterwards); 89 void safe_disconnect (std::function<void()> afterwards);
89 int render_colorline (int y, int x0, int width, const ColoredLine& line, bool allowWrap); 90 int render_colorline (int y, int x0, int width, const ColoredLine& line, bool allowWrap);
90 int nicklist_width(); 91 int nicklist_width();
91 void render_output(); 92 void render_output();
92 void render_nicklist(); 93 void render_nicklist();
93 void render_input(); 94 void render_input();
98 void detach_input(); 99 void detach_input();
99 String& mutable_current_input(); 100 String& mutable_current_input();
100 void move_input_cursor (int delta); 101 void move_input_cursor (int delta);
101 String prompt_string(); 102 String prompt_string();
102 void set_input_state (InputState newstate); 103 void set_input_state (InputState newstate);
103 void print_to_console (String a); 104 void print_to_console (String message);
104 void yank (int a, int b); 105 void yank (int a, int b);
105 int find_previous_word(); 106 int find_previous_word();
106 int find_next_word(); 107 int find_next_word();
107 }; 108 };
109
110 END_ZFC_NAMESPACE

mercurial