瀏覽代碼

Adds pan and zoom gestures to TextureRegion editor

Haoyu Qiu 5 年之前
父節點
當前提交
d1b1edba84
共有 1 個文件被更改,包括 11 次插入0 次删除
  1. 11 0
      editor/plugins/texture_region_editor_plugin.cpp

+ 11 - 0
editor/plugins/texture_region_editor_plugin.cpp

@@ -546,6 +546,17 @@ void TextureRegionEditor::_region_input(const Ref<InputEvent> &p_input) {
 			edit_draw->update();
 		}
 	}
+
+	Ref<InputEventMagnifyGesture> magnify_gesture = p_input;
+	if (magnify_gesture.is_valid()) {
+		_zoom_on_position(draw_zoom * magnify_gesture->get_factor(), magnify_gesture->get_position());
+	}
+
+	Ref<InputEventPanGesture> pan_gesture = p_input;
+	if (pan_gesture.is_valid()) {
+		hscroll->set_value(hscroll->get_value() + hscroll->get_page() * pan_gesture->get_delta().x / 8);
+		vscroll->set_value(vscroll->get_value() + vscroll->get_page() * pan_gesture->get_delta().y / 8);
+	}
 }
 
 void TextureRegionEditor::_scroll_changed(float) {