22 #ifndef NUVIE_CORE_CONVERSE_GUMP_H 23 #define NUVIE_CORE_CONVERSE_GUMP_H 25 #include "ultima/nuvie/misc/call_back.h" 26 #include "ultima/nuvie/gui/widgets/gui_widget.h" 27 #include "common/str.h" 44 unsigned char *npc_portrait;
45 unsigned char *avatar_portrait;
47 bool found_break_char;
50 uint8 converse_bg_color;
52 uint16 cursor_position;
55 uint8 portrait_height;
60 nuvie_game_t game_type;
67 void set_actor_portrait(
Actor *a);
68 unsigned char *create_framed_portrait(
Actor *a);
69 bool parse_token(
MsgText *token)
override;
70 Common::String get_token_string_at_pos(uint16 x, uint16 y)
override;
71 void display_string(
const Common::String &s,
Font *f,
bool include_on_map_window)
override;
72 void set_talking(
bool state,
Actor *actor =
nullptr)
override;
73 void set_font(uint8 font_type)
override {}
75 void set_solid_bg(
bool val) {
79 void Display(
bool full_redraw)
override;
82 GUI_status MouseUp(
int x,
int y, Events::MouseButton button)
override;
84 GUI_status MouseDown(
int x,
int y, Events::MouseButton button)
override {
87 GUI_status MouseMotion(
int x,
int y, uint8 state)
override {
90 GUI_status MouseEnter(uint8 state)
override {
93 GUI_status MouseLeave(uint8 state)
override {
96 GUI_status MouseClick(
int x,
int y, Events::MouseButton button)
override {
99 GUI_status MouseDouble(
int x,
int y, Events::MouseButton button)
override {
102 GUI_status MouseDelayed(
int x,
int y, Events::MouseButton button)
override {
105 GUI_status MouseHeld(
int x,
int y, Events::MouseButton button)
override {
109 void set_found_break_char(
bool val) {
110 found_break_char = val;
113 bool input_buf_add_char(
char c)
override;
114 bool input_buf_remove_char()
override;
116 bool is_converse_finished()
override {
117 return (is_holding_buffer_empty() && msg_buf.size() == 1 && msg_buf.back()->total_length == 0);
120 void drawCursor(uint16 x, uint16 y)
override;
126 void set_permitted_input(
const char *allowed)
override;
127 void clear_permitted_input()
override;
129 bool cursor_at_input_section()
const {
130 return (keyword_list && cursor_position == keyword_list->
size());
132 void cursor_reset() {
135 void cursor_move_to_input() {
136 cursor_position = keyword_list ? keyword_list->
size() : 0;
144 void parse_fm_towns_token(
MsgText *token);
147 unsigned char *get_portrait_data(
Actor *a);
Definition: configuration.h:60
size_type size() const
Definition: list.h:237
Definition: converse_gump.h:38
Definition: detection.h:27
Definition: msg_scroll.h:51
Definition: keyboard.h:294