浏览代码

Tree: Don't draw selection background of individual cells in Row mode

Haoyu Qiu 3 年之前
父节点
当前提交
6486d261aa
共有 1 个文件被更改,包括 10 次插入9 次删除
  1. 10 9
      scene/gui/tree.cpp

+ 10 - 9
scene/gui/tree.cpp

@@ -1844,15 +1844,16 @@ int Tree::draw_item(const Point2i &p_pos, const Point2 &p_draw_ofs, const Size2
 
 				p_item->set_meta("__focus_rect", Rect2(r.position, r.size));
 
-				if (rtl) {
-					r.position.x = get_size().width - r.position.x - r.size.x;
-				}
-
-				if (p_item->cells[i].selected) {
-					if (has_focus()) {
-						cache.selected_focus->draw(ci, r);
-					} else {
-						cache.selected->draw(ci, r);
+				if (select_mode != SELECT_ROW) {
+					if (rtl) {
+						r.position.x = get_size().width - r.position.x - r.size.x;
+					}
+					if (p_item->cells[i].selected) {
+						if (has_focus()) {
+							cache.selected_focus->draw(ci, r);
+						} else {
+							cache.selected->draw(ci, r);
+						}
 					}
 				}
 			}