Selaa lähdekoodia

fix CanvasItem.get_global_transform() and CanvasItem.get_local_transform(), closes #4075

Juan Linietsky 9 vuotta sitten
vanhempi
commit
fa0d1cd27c
2 muutettua tiedostoa jossa 6 lisäystä ja 3 poistoa
  1. 1 1
      core/image.cpp
  2. 5 2
      scene/2d/canvas_item.cpp

+ 1 - 1
core/image.cpp

@@ -1756,7 +1756,7 @@ Error Image::_decompress_bc() {
 	int rofs=0;
 	int wofs=0;
 
-	print_line("width: "+itos(wd)+" height: "+itos(ht));
+	//print_line("width: "+itos(wd)+" height: "+itos(ht));
 
 	for(int i=0;i<=mm;i++) {
 

+ 5 - 2
scene/2d/canvas_item.cpp

@@ -1003,11 +1003,14 @@ InputEvent CanvasItem::make_input_local(const InputEvent& p_event) const {
 
 Vector2 CanvasItem::get_global_mouse_pos() const {
 
-	return get_viewport_transform().affine_inverse().xform(Input::get_singleton()->get_mouse_pos());
+	ERR_FAIL_COND_V(!get_viewport(),Vector2());
+	return get_canvas_transform().affine_inverse().xform( get_viewport()->get_mouse_pos() );
 }
 Vector2 CanvasItem::get_local_mouse_pos() const{
 
-	return (get_viewport_transform() * get_global_transform()).affine_inverse().xform(Input::get_singleton()->get_mouse_pos());
+	ERR_FAIL_COND_V(!get_viewport(),Vector2());
+
+	return get_global_transform().affine_inverse().xform( get_global_mouse_pos() );
 }