diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2018-07-27 09:01:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-27 09:01:58 +0200 |
commit | 7056dc601130ae0aa97b5399db3f66b138e462c9 (patch) | |
tree | 9bf708325383ea8f338bb9a27c1f92a569b0f407 /scene/gui | |
parent | 4c0ded6dcc81f5c551d18c7d42c34230f07b359d (diff) | |
parent | 8d05f89bc1eabfe6d682b850ea22cf32d5d97285 (diff) |
Merge pull request #20498 from Calinou/caret-width-hidpi
Make the caret thicker in TextEdit and scale it with the editor scale
Diffstat (limited to 'scene/gui')
-rw-r--r-- | scene/gui/line_edit.cpp | 10 | ||||
-rw-r--r-- | scene/gui/text_edit.cpp | 24 |
2 files changed, 30 insertions, 4 deletions
diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index b71a4dd133..4d73ee2d56 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -35,7 +35,9 @@ #include "os/os.h" #include "print_string.h" #include "translation.h" + #ifdef TOOLS_ENABLED +#include "editor/editor_scale.h" #include "editor/editor_settings.h" #endif @@ -716,7 +718,11 @@ void LineEdit::_notification(int p_what) { if (char_ofs == cursor_pos && draw_caret) { if (ime_text.length() == 0) { +#ifdef TOOLS_ENABLED + VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(Point2(x_ofs, y_ofs), Size2(Math::round(EDSCALE), caret_height)), cursor_color); +#else VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(Point2(x_ofs, y_ofs), Size2(1, caret_height)), cursor_color); +#endif } } @@ -755,7 +761,11 @@ void LineEdit::_notification(int p_what) { if (char_ofs == cursor_pos && draw_caret) { //may be at the end if (ime_text.length() == 0) { +#ifdef TOOLS_ENABLED + VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(Point2(x_ofs, y_ofs), Size2(Math::round(EDSCALE), caret_height)), cursor_color); +#else VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(Point2(x_ofs, y_ofs), Size2(1, caret_height)), cursor_color); +#endif } } diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index fa82c048ba..c9dcf058aa 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -1148,10 +1148,18 @@ void TextEdit::_notification(int p_what) { if (ime_text.length() == 0) { if (draw_caret) { if (insert_mode) { - int caret_h = (block_caret) ? 4 : 1; +#ifdef TOOLS_ENABLED + int caret_h = (block_caret) ? 4 : 2 * EDSCALE; +#else + int caret_h = (block_caret) ? 4 : 2; +#endif VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(cursor_pos, Size2i(caret_w, caret_h)), cache.caret_color); } else { - caret_w = (block_caret) ? caret_w : 1; +#ifdef TOOLS_ENABLED + caret_w = (block_caret) ? caret_w : 2 * EDSCALE; +#else + caret_w = (block_caret) ? caret_w : 2; +#endif VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(cursor_pos, Size2i(caret_w, get_row_height())), cache.caret_color); } } @@ -1224,11 +1232,19 @@ void TextEdit::_notification(int p_what) { if (draw_caret) { if (insert_mode) { int char_w = cache.font->get_char_size(' ').width; - int caret_h = (block_caret) ? 4 : 1; +#ifdef TOOLS_ENABLED + int caret_h = (block_caret) ? 4 : 2 * EDSCALE; +#else + int caret_h = (block_caret) ? 4 : 2; +#endif VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(cursor_pos, Size2i(char_w, caret_h)), cache.caret_color); } else { int char_w = cache.font->get_char_size(' ').width; - int caret_w = (block_caret) ? char_w : 1; +#ifdef TOOLS_ENABLED + int caret_w = (block_caret) ? char_w : 2 * EDSCALE; +#else + int caret_w = (block_caret) ? char_w : 2; +#endif VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(cursor_pos, Size2i(caret_w, get_row_height())), cache.caret_color); } } |