Przeglądaj źródła

Fix scroll for texture_region and polygon_2d editor

Guilherme Felipe 6 lat temu
rodzic
commit
f662f1505e

+ 3 - 3
editor/plugins/polygon_2d_editor_plugin.cpp

@@ -1060,8 +1060,7 @@ void Polygon2DEditor::_uv_draw() {
 		polygon_fill_color.push_back(pf);
 	}
 	Color prev_color = Color(0.5, 0.5, 0.5);
-	Rect2 rect(Point2(), mtx.basis_xform(base_tex->get_size()));
-	rect.expand_to(mtx.basis_xform(uv_edit_draw->get_size()));
+	Rect2 rect;
 
 	int uv_draw_max = uvs.size();
 
@@ -1204,7 +1203,8 @@ void Polygon2DEditor::_uv_draw() {
 		uv_edit_draw->draw_circle(bone_paint_pos, bone_paint_radius->get_value() * EDSCALE, Color(1, 1, 1, 0.1));
 	}
 
-	rect = rect.grow(200);
+	rect.position -= uv_edit_draw->get_size();
+	rect.size += uv_edit_draw->get_size() * 2.0;
 	updating_uv_scroll = true;
 	uv_hscroll->set_min(rect.position.x);
 	uv_hscroll->set_max(rect.position.x + rect.size.x);

+ 4 - 3
editor/plugins/texture_region_editor_plugin.cpp

@@ -135,8 +135,7 @@ void TextureRegionEditor::_region_draw() {
 
 	Ref<Texture> select_handle = get_icon("EditorHandle", "EditorIcons");
 
-	Rect2 scroll_rect(Point2(), mtx.basis_xform(base_tex->get_size()));
-	scroll_rect.expand_to(mtx.basis_xform(edit_draw->get_size()));
+	Rect2 scroll_rect;
 
 	Vector2 endpoints[4] = {
 		mtx.basis_xform(rect.position),
@@ -167,7 +166,9 @@ void TextureRegionEditor::_region_draw() {
 		scroll_rect.expand_to(endpoints[i]);
 	}
 
-	scroll_rect = scroll_rect.grow(200);
+	scroll_rect.position -= edit_draw->get_size();
+	scroll_rect.size += edit_draw->get_size() * 2.0;
+
 	updating_scroll = true;
 	hscroll->set_min(scroll_rect.position.x);
 	hscroll->set_max(scroll_rect.position.x + scroll_rect.size.x);