diff options
Diffstat (limited to 'src/console_gui.cpp')
-rw-r--r-- | src/console_gui.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/console_gui.cpp b/src/console_gui.cpp index 530cb8bfd..1e1fd069b 100644 --- a/src/console_gui.cpp +++ b/src/console_gui.cpp @@ -351,12 +351,21 @@ struct IConsoleWindow : Window int delta = min(this->width - this->line_offset - _iconsole_cmdline.pixels - ICON_RIGHT_BORDERWIDTH, 0); Point p1 = GetCharPosInString(_iconsole_cmdline.buf, from, FS_NORMAL); - Point p2 = from != to ? GetCharPosInString(_iconsole_cmdline.buf, from, FS_NORMAL) : p1; + Point p2 = from != to ? GetCharPosInString(_iconsole_cmdline.buf, from) : p1; Rect r = {this->line_offset + delta + p1.x, this->height - this->line_height, this->line_offset + delta + p2.x, this->height}; return r; } + virtual const char *GetTextCharacterAtPosition(const Point &pt) const + { + int delta = min(this->width - this->line_offset - _iconsole_cmdline.pixels - ICON_RIGHT_BORDERWIDTH, 0); + + if (!IsInsideMM(pt.y, this->height - this->line_height, this->height)) return NULL; + + return GetCharAtPosition(_iconsole_cmdline.buf, pt.x - delta); + } + virtual void OnMouseWheel(int wheel) { this->Scroll(-wheel); |