Browse Source

Revert "Fix flicker in control nodes due to pivot offset"

Rémi Verschelde 4 years ago
parent
commit
b7e06930aa
2 changed files with 5 additions and 1 deletions
  1. 5 0
      scene/gui/control.cpp
  2. 0 1
      scene/gui/scroll_container.cpp

+ 5 - 0
scene/gui/control.cpp

@@ -462,6 +462,11 @@ void Control::_update_canvas_item_transform() {
 	Transform2D xform = _get_internal_transform();
 	Transform2D xform = _get_internal_transform();
 	xform[2] += get_position();
 	xform[2] += get_position();
 
 
+	// We use a little workaround to avoid flickering when moving the pivot with _edit_set_pivot()
+	if (is_inside_tree() && Math::abs(Math::sin(data.rotation * 4.0f)) < 0.00001f && get_viewport()->is_snap_controls_to_pixels_enabled()) {
+		xform[2] = xform[2].round();
+	}
+
 	VisualServer::get_singleton()->canvas_item_set_transform(get_canvas_item(), xform);
 	VisualServer::get_singleton()->canvas_item_set_transform(get_canvas_item(), xform);
 }
 }
 
 

+ 0 - 1
scene/gui/scroll_container.cpp

@@ -315,7 +315,6 @@ void ScrollContainer::_notification(int p_what) {
 					r.size.height = minsize.height;
 					r.size.height = minsize.height;
 			}
 			}
 			r.position += ofs;
 			r.position += ofs;
-			r.position = r.position.floor();
 			fit_child_in_rect(c, r);
 			fit_child_in_rect(c, r);
 		}
 		}