Improved breakpoint gutter for CodeEdit.

Added preview of breakpoint placement on hover. Added override of icon for the Editor to use an SVG so it is no longer blurry.
This commit is contained in:
Eric M
2021-09-29 19:37:27 +10:00
parent b1237b5cac
commit e0f8410d16
5 changed files with 42 additions and 6 deletions

View File

@ -1636,6 +1636,32 @@ void TextEdit::gui_input(const Ref<InputEvent> &p_gui_input) {
}
}
}
// Check if user is hovering a different gutter, and update if yes.
Vector2i current_hovered_gutter = Vector2i(-1, -1);
int left_margin = style_normal->get_margin(SIDE_LEFT);
if (mpos.x <= left_margin + gutters_width + gutter_padding) {
int hovered_row = get_line_column_at_pos(mpos).y;
for (int i = 0; i < gutters.size(); i++) {
if (!gutters[i].draw || gutters[i].width <= 0) {
continue;
}
if (mpos.x > left_margin && mpos.x <= (left_margin + gutters[i].width) - 3) {
// We are in this gutter i's horizontal area.
current_hovered_gutter = Vector2i(i, hovered_row);
break;
}
left_margin += gutters[i].width;
}
}
if (current_hovered_gutter != hovered_gutter) {
hovered_gutter = current_hovered_gutter;
update();
}
}
if (draw_minimap && !dragging_selection) {