[TextEdit] Use style margins for selection in read-only mode.
This commit is contained in:
parent
1e6b11dcd4
commit
1d0a8ea828
1 changed files with 9 additions and 2 deletions
|
@ -4237,8 +4237,11 @@ String TextEdit::get_word_at_pos(const Vector2 &p_pos) const {
|
|||
}
|
||||
|
||||
Point2i TextEdit::get_line_column_at_pos(const Point2i &p_pos, bool p_allow_out_of_bounds) const {
|
||||
float rows = p_pos.y;
|
||||
rows -= theme_cache.style_normal->get_margin(SIDE_TOP);
|
||||
float rows = p_pos.y - theme_cache.style_normal->get_margin(SIDE_TOP);
|
||||
if (!editable) {
|
||||
rows -= theme_cache.style_readonly->get_offset().y / 2;
|
||||
rows += theme_cache.style_normal->get_offset().y / 2;
|
||||
}
|
||||
rows /= get_line_height();
|
||||
rows += _get_v_scroll_offset();
|
||||
int first_vis_line = get_first_visible_line();
|
||||
|
@ -4269,6 +4272,10 @@ Point2i TextEdit::get_line_column_at_pos(const Point2i &p_pos, bool p_allow_out_
|
|||
int col = 0;
|
||||
int colx = p_pos.x - (theme_cache.style_normal->get_margin(SIDE_LEFT) + gutters_width + gutter_padding);
|
||||
colx += first_visible_col;
|
||||
if (!editable) {
|
||||
colx -= theme_cache.style_readonly->get_offset().x / 2;
|
||||
colx += theme_cache.style_normal->get_offset().x / 2;
|
||||
}
|
||||
col = _get_char_pos_for_line(colx, row, wrap_index);
|
||||
if (get_line_wrapping_mode() != LineWrappingMode::LINE_WRAPPING_NONE && wrap_index < get_line_wrap_count(row)) {
|
||||
// Move back one if we are at the end of the row.
|
||||
|
|
Loading…
Reference in a new issue