浏览代码

Fix StyleBoxLine's incorrect style margin values

(cherry picked from commit ddf05a7c3c94852c2c214e00f5b97721b8349519)
Michael Alexsander 4 年之前
父节点
当前提交
c67c3e0a46
共有 1 个文件被更改,包括 12 次插入2 次删除
  1. 12 2
      scene/resources/style_box.cpp

+ 12 - 2
scene/resources/style_box.cpp

@@ -1041,9 +1041,19 @@ void StyleBoxLine::_bind_methods() {
 	ADD_PROPERTY(PropertyInfo(Variant::INT, "thickness", PROPERTY_HINT_RANGE, "0,10"), "set_thickness", "get_thickness");
 	ADD_PROPERTY(PropertyInfo(Variant::BOOL, "vertical"), "set_vertical", "is_vertical");
 }
+
 float StyleBoxLine::get_style_margin(Margin p_margin) const {
-	ERR_FAIL_INDEX_V((int)p_margin, 4, thickness);
-	return thickness;
+	ERR_FAIL_INDEX_V((int)p_margin, 4, 0);
+
+	if (vertical) {
+		if (p_margin == MARGIN_LEFT || p_margin == MARGIN_RIGHT) {
+			return thickness / 2.0;
+		}
+	} else if (p_margin == MARGIN_TOP || p_margin == MARGIN_BOTTOM) {
+		return thickness / 2.0;
+	}
+
+	return 0;
 }
 Size2 StyleBoxLine::get_center_size() const {
 	return Size2();