console and mining tab visual improvements
This commit is contained in:
@@ -113,6 +113,7 @@ private:
|
||||
char input_buffer_[4096] = {0};
|
||||
bool auto_scroll_ = true;
|
||||
bool scroll_to_bottom_ = false;
|
||||
float scroll_up_cooldown_ = 0.0f; // seconds to wait before re-enabling auto-scroll
|
||||
int new_lines_since_scroll_ = 0; // new lines while scrolled up (for indicator)
|
||||
size_t last_daemon_output_size_ = 0;
|
||||
size_t last_xmrig_output_size_ = 0;
|
||||
@@ -140,6 +141,17 @@ private:
|
||||
mutable float total_wrapped_height_ = 0.0f; // Total height of all visible lines
|
||||
mutable float cached_wrap_width_ = 0.0f; // Wrap width used for cached heights
|
||||
|
||||
// Sub-row layout: each visible line is split into wrap segments so
|
||||
// selection and hit-testing know the exact screen position of every
|
||||
// character.
|
||||
struct WrapSegment {
|
||||
int byteStart; // byte offset into ConsoleLine::text
|
||||
int byteEnd; // byte offset past last char in this segment
|
||||
float yOffset; // Y offset of this segment relative to the line's top
|
||||
float height; // visual height of this segment
|
||||
};
|
||||
mutable std::vector<std::vector<WrapSegment>> visible_wrap_segments_; // [vi] -> segments
|
||||
|
||||
// Commands popup
|
||||
bool show_commands_popup_ = false;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user