Merge pull request #23112 from groud/fix_viewport_not_updating
Fixes viewport scrollbars not updating with plugins
This commit is contained in:
commit
cb30b60de6
7 changed files with 120 additions and 123 deletions
|
@ -132,8 +132,8 @@ Vector2 AbstractPolygon2DEditor::_get_offset(int p_idx) const {
|
|||
|
||||
void AbstractPolygon2DEditor::_commit_action() {
|
||||
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
}
|
||||
|
||||
|
@ -218,7 +218,7 @@ void AbstractPolygon2DEditor::_node_removed(Node *p_node) {
|
|||
edit(NULL);
|
||||
hide();
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -334,7 +334,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||
edited_point = PosVertex(closest, xform.affine_inverse().xform(closest.pos));
|
||||
selected_point = closest;
|
||||
edge_point = PosVertex();
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
return true;
|
||||
} else {
|
||||
|
||||
|
@ -403,7 +403,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||
wip_active = true;
|
||||
_wip_changed();
|
||||
edited_point = PosVertex(-1, 1, cpoint);
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
hover_point = Vertex();
|
||||
selected_point = Vertex(0);
|
||||
edge_point = PosVertex();
|
||||
|
@ -424,7 +424,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||
_wip_changed();
|
||||
edited_point = PosVertex(-1, wip.size(), cpoint);
|
||||
selected_point = Vertex(wip.size() - 1);
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -453,7 +453,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||
_set_polygon(edited_point.polygon, vertices);
|
||||
}
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
} else if (mode == MODE_EDIT || (_is_line() && mode == MODE_CREATE)) {
|
||||
|
||||
const PosVertex onEdgeVertex = closest_edge_point(gpoint);
|
||||
|
@ -462,20 +462,20 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||
|
||||
hover_point = Vertex();
|
||||
edge_point = onEdgeVertex;
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
} else {
|
||||
|
||||
if (edge_point.valid()) {
|
||||
|
||||
edge_point = PosVertex();
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
|
||||
const PosVertex new_hover_point = closest_point(gpoint);
|
||||
if (hover_point != new_hover_point) {
|
||||
|
||||
hover_point = new_hover_point;
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -494,7 +494,7 @@ bool AbstractPolygon2DEditor::forward_gui_input(const Ref<InputEvent> &p_event)
|
|||
wip.remove(selected_point.vertex);
|
||||
_wip_changed();
|
||||
selected_point = wip.size() - 1;
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
|
@ -627,7 +627,7 @@ void AbstractPolygon2DEditor::edit(Node *p_polygon) {
|
|||
hover_point = Vertex();
|
||||
selected_point = Vertex();
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
|
||||
} else {
|
||||
|
||||
|
|
|
@ -1025,8 +1025,7 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event) {
|
|||
// Scroll or pan down
|
||||
if (bool(EditorSettings::get_singleton()->get("editors/2d/scroll_to_pan"))) {
|
||||
view_offset.y += int(EditorSettings::get_singleton()->get("editors/2d/pan_speed")) / zoom * b->get_factor();
|
||||
_update_scrollbars();
|
||||
viewport->update();
|
||||
update_viewport();
|
||||
} else {
|
||||
_zoom_on_position(zoom * (1 - (0.05 * b->get_factor())), b->get_position());
|
||||
}
|
||||
|
@ -1037,8 +1036,7 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event) {
|
|||
// Scroll or pan up
|
||||
if (bool(EditorSettings::get_singleton()->get("editors/2d/scroll_to_pan"))) {
|
||||
view_offset.y -= int(EditorSettings::get_singleton()->get("editors/2d/pan_speed")) / zoom * b->get_factor();
|
||||
_update_scrollbars();
|
||||
viewport->update();
|
||||
update_viewport();
|
||||
} else {
|
||||
_zoom_on_position(zoom * ((0.95 + (0.05 * b->get_factor())) / 0.95), b->get_position());
|
||||
}
|
||||
|
@ -1049,8 +1047,7 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event) {
|
|||
// Pan left
|
||||
if (bool(EditorSettings::get_singleton()->get("editors/2d/scroll_to_pan"))) {
|
||||
view_offset.x -= int(EditorSettings::get_singleton()->get("editors/2d/pan_speed")) / zoom * b->get_factor();
|
||||
_update_scrollbars();
|
||||
viewport->update();
|
||||
update_viewport();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1059,8 +1056,7 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event) {
|
|||
// Pan right
|
||||
if (bool(EditorSettings::get_singleton()->get("editors/2d/scroll_to_pan"))) {
|
||||
view_offset.x += int(EditorSettings::get_singleton()->get("editors/2d/pan_speed")) / zoom * b->get_factor();
|
||||
_update_scrollbars();
|
||||
viewport->update();
|
||||
update_viewport();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1112,8 +1108,7 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
view_offset.x -= relative.x / zoom;
|
||||
view_offset.y -= relative.y / zoom;
|
||||
_update_scrollbars();
|
||||
viewport->update();
|
||||
update_viewport();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1131,8 +1126,7 @@ bool CanvasItemEditor::_gui_input_zoom_or_pan(const Ref<InputEvent> &p_event) {
|
|||
const Vector2 delta = (int(EditorSettings::get_singleton()->get("editors/2d/pan_speed")) / zoom) * pan_gesture->get_delta();
|
||||
view_offset.x += delta.x;
|
||||
view_offset.y += delta.y;
|
||||
_update_scrollbars();
|
||||
viewport->update();
|
||||
update_viewport();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -3168,6 +3162,11 @@ void CanvasItemEditor::_draw_viewport() {
|
|||
_draw_hover();
|
||||
}
|
||||
|
||||
void CanvasItemEditor::update_viewport() {
|
||||
_update_scrollbars();
|
||||
viewport->update();
|
||||
}
|
||||
|
||||
void CanvasItemEditor::_notification(int p_what) {
|
||||
|
||||
if (p_what == NOTIFICATION_PHYSICS_PROCESS) {
|
||||
|
@ -3574,8 +3573,7 @@ void CanvasItemEditor::_zoom_on_position(float p_zoom, Point2 p_position) {
|
|||
view_offset.x = Math::round(view_offset.x + ofs.x);
|
||||
view_offset.y = Math::round(view_offset.y + ofs.y);
|
||||
|
||||
_update_scrollbars();
|
||||
viewport->update();
|
||||
update_viewport();
|
||||
}
|
||||
|
||||
void CanvasItemEditor::_button_zoom_minus() {
|
||||
|
@ -4172,8 +4170,7 @@ void CanvasItemEditor::_focus_selection(int p_op) {
|
|||
Vector2 offset = viewport->get_size() / 2 - editor->get_scene_root()->get_global_canvas_transform().xform(center);
|
||||
view_offset.x -= offset.x / zoom;
|
||||
view_offset.y -= offset.y / zoom;
|
||||
_update_scrollbars();
|
||||
viewport->update();
|
||||
update_viewport();
|
||||
|
||||
} else { // VIEW_FRAME_TO_SELECTION
|
||||
|
||||
|
@ -4210,6 +4207,7 @@ void CanvasItemEditor::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("_selection_result_pressed"), &CanvasItemEditor::_selection_result_pressed);
|
||||
ClassDB::bind_method(D_METHOD("_selection_menu_hide"), &CanvasItemEditor::_selection_menu_hide);
|
||||
ClassDB::bind_method(D_METHOD("set_state"), &CanvasItemEditor::set_state);
|
||||
ClassDB::bind_method(D_METHOD("update_viewport"), &CanvasItemEditor::update_viewport);
|
||||
|
||||
ADD_SIGNAL(MethodInfo("item_lock_status_changed"));
|
||||
ADD_SIGNAL(MethodInfo("item_group_status_changed"));
|
||||
|
|
|
@ -547,6 +547,8 @@ public:
|
|||
|
||||
Control *get_viewport_control() { return viewport; }
|
||||
|
||||
void update_viewport();
|
||||
|
||||
Tool get_current_tool() { return tool; }
|
||||
|
||||
void set_undo_redo(UndoRedo *p_undo_redo) { undo_redo = p_undo_redo; }
|
||||
|
|
|
@ -129,7 +129,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
|
|||
capsule->set_height(parameter * 2 - capsule->get_radius() * 2);
|
||||
}
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
|
||||
} break;
|
||||
|
@ -138,7 +138,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
|
|||
Ref<CircleShape2D> circle = node->get_shape();
|
||||
circle->set_radius(p_point.length());
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
|
||||
} break;
|
||||
|
||||
|
@ -160,7 +160,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
|
|||
line->set_normal(p_point.normalized());
|
||||
}
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
|
||||
} break;
|
||||
|
@ -170,7 +170,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
|
|||
|
||||
ray->set_length(Math::abs(p_point.y));
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
|
||||
} break;
|
||||
|
||||
|
@ -183,7 +183,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
|
|||
|
||||
rect->set_extents(extents.abs());
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
|
||||
} break;
|
||||
|
@ -198,7 +198,7 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
|
|||
seg->set_b(p_point);
|
||||
}
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
|
||||
} break;
|
||||
|
@ -207,7 +207,6 @@ void CollisionShape2DEditor::set_handle(int idx, Point2 &p_point) {
|
|||
|
||||
void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
|
||||
|
||||
Control *c = canvas_item_editor->get_viewport_control();
|
||||
undo_redo->create_action(TTR("Set Handle"));
|
||||
|
||||
switch (shape_type) {
|
||||
|
@ -216,14 +215,14 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
|
|||
|
||||
if (idx == 0) {
|
||||
undo_redo->add_do_method(capsule.ptr(), "set_radius", capsule->get_radius());
|
||||
undo_redo->add_do_method(c, "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(capsule.ptr(), "set_radius", p_org);
|
||||
undo_redo->add_do_method(c, "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
} else if (idx == 1) {
|
||||
undo_redo->add_do_method(capsule.ptr(), "set_height", capsule->get_height());
|
||||
undo_redo->add_do_method(c, "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(capsule.ptr(), "set_height", p_org);
|
||||
undo_redo->add_undo_method(c, "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
}
|
||||
|
||||
} break;
|
||||
|
@ -232,9 +231,9 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
|
|||
Ref<CircleShape2D> circle = node->get_shape();
|
||||
|
||||
undo_redo->add_do_method(circle.ptr(), "set_radius", circle->get_radius());
|
||||
undo_redo->add_do_method(c, "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(circle.ptr(), "set_radius", p_org);
|
||||
undo_redo->add_undo_method(c, "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
|
||||
} break;
|
||||
|
||||
|
@ -251,14 +250,14 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
|
|||
|
||||
if (idx == 0) {
|
||||
undo_redo->add_do_method(line.ptr(), "set_d", line->get_d());
|
||||
undo_redo->add_do_method(c, "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(line.ptr(), "set_d", p_org);
|
||||
undo_redo->add_undo_method(c, "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
} else {
|
||||
undo_redo->add_do_method(line.ptr(), "set_normal", line->get_normal());
|
||||
undo_redo->add_do_method(c, "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(line.ptr(), "set_normal", p_org);
|
||||
undo_redo->add_undo_method(c, "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
}
|
||||
|
||||
} break;
|
||||
|
@ -267,9 +266,9 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
|
|||
Ref<RayShape2D> ray = node->get_shape();
|
||||
|
||||
undo_redo->add_do_method(ray.ptr(), "set_length", ray->get_length());
|
||||
undo_redo->add_do_method(c, "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(ray.ptr(), "set_length", p_org);
|
||||
undo_redo->add_undo_method(c, "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
|
||||
} break;
|
||||
|
||||
|
@ -277,9 +276,9 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
|
|||
Ref<RectangleShape2D> rect = node->get_shape();
|
||||
|
||||
undo_redo->add_do_method(rect.ptr(), "set_extents", rect->get_extents());
|
||||
undo_redo->add_do_method(c, "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(rect.ptr(), "set_extents", p_org);
|
||||
undo_redo->add_undo_method(c, "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
|
||||
} break;
|
||||
|
||||
|
@ -287,14 +286,14 @@ void CollisionShape2DEditor::commit_handle(int idx, Variant &p_org) {
|
|||
Ref<SegmentShape2D> seg = node->get_shape();
|
||||
if (idx == 0) {
|
||||
undo_redo->add_do_method(seg.ptr(), "set_a", seg->get_a());
|
||||
undo_redo->add_do_method(c, "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(seg.ptr(), "set_a", p_org);
|
||||
undo_redo->add_undo_method(c, "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
} else if (idx == 1) {
|
||||
undo_redo->add_do_method(seg.ptr(), "set_b", seg->get_b());
|
||||
undo_redo->add_do_method(c, "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(seg.ptr(), "set_b", p_org);
|
||||
undo_redo->add_undo_method(c, "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
}
|
||||
|
||||
} break;
|
||||
|
@ -411,7 +410,7 @@ void CollisionShape2DEditor::_get_current_shape_type() {
|
|||
shape_type = -1;
|
||||
}
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
|
||||
void CollisionShape2DEditor::forward_canvas_draw_over_viewport(Control *p_overlay) {
|
||||
|
@ -538,7 +537,7 @@ void CollisionShape2DEditor::edit(Node *p_node) {
|
|||
node = NULL;
|
||||
}
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
|
||||
void CollisionShape2DEditor::_bind_methods() {
|
||||
|
|
|
@ -57,7 +57,7 @@ void LightOccluder2DEditor::_node_removed(Node *p_node) {
|
|||
if (p_node == node) {
|
||||
node = NULL;
|
||||
hide();
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -88,8 +88,8 @@ void LightOccluder2DEditor::_wip_close(bool p_closed) {
|
|||
undo_redo->add_undo_method(node->get_occluder_polygon().ptr(), "set_closed", node->get_occluder_polygon()->is_closed());
|
||||
undo_redo->add_do_method(node->get_occluder_polygon().ptr(), "set_closed", p_closed);
|
||||
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
wip.clear();
|
||||
wip_active = false;
|
||||
|
@ -139,7 +139,7 @@ bool LightOccluder2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
wip.push_back(cpoint);
|
||||
wip_active = true;
|
||||
edited_point_pos = cpoint;
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
edited_point = 1;
|
||||
return true;
|
||||
} else {
|
||||
|
@ -158,7 +158,7 @@ bool LightOccluder2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
|
||||
wip.push_back(cpoint);
|
||||
edited_point = wip.size();
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
return true;
|
||||
|
||||
//add wip point
|
||||
|
@ -183,8 +183,8 @@ bool LightOccluder2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
undo_redo->add_undo_method(node->get_occluder_polygon().ptr(), "set_polygon", poly);
|
||||
poly.push_back(cpoint);
|
||||
undo_redo->add_do_method(node->get_occluder_polygon().ptr(), "set_polygon", poly);
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
return true;
|
||||
}
|
||||
|
@ -217,7 +217,7 @@ bool LightOccluder2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
edited_point = closest_idx + 1;
|
||||
edited_point_pos = xform.affine_inverse().xform(closest_pos);
|
||||
node->get_occluder_polygon()->set_polygon(Variant(poly));
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
|
@ -244,7 +244,7 @@ bool LightOccluder2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
pre_move_edit = poly;
|
||||
edited_point = closest_idx;
|
||||
edited_point_pos = xform.affine_inverse().xform(closest_pos);
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -259,8 +259,8 @@ bool LightOccluder2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
undo_redo->create_action(TTR("Edit Poly"));
|
||||
undo_redo->add_do_method(node->get_occluder_polygon().ptr(), "set_polygon", poly);
|
||||
undo_redo->add_undo_method(node->get_occluder_polygon().ptr(), "set_polygon", pre_move_edit);
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
|
||||
edited_point = -1;
|
||||
|
@ -290,8 +290,8 @@ bool LightOccluder2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
undo_redo->add_undo_method(node->get_occluder_polygon().ptr(), "set_polygon", poly);
|
||||
poly.remove(closest_idx);
|
||||
undo_redo->add_do_method(node->get_occluder_polygon().ptr(), "set_polygon", poly);
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
return true;
|
||||
}
|
||||
|
@ -312,7 +312,7 @@ bool LightOccluder2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
cpoint = canvas_item_editor->snap_point(cpoint);
|
||||
edited_point_pos = node->get_global_transform().affine_inverse().xform(cpoint);
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -369,7 +369,7 @@ void LightOccluder2DEditor::edit(Node *p_collision_polygon) {
|
|||
wip.clear();
|
||||
wip_active = false;
|
||||
edited_point = -1;
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
} else {
|
||||
node = NULL;
|
||||
}
|
||||
|
|
|
@ -130,8 +130,8 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
undo_redo->create_action(TTR("Remove Point from Curve"));
|
||||
undo_redo->add_do_method(curve.ptr(), "remove_point", i);
|
||||
undo_redo->add_undo_method(curve.ptr(), "add_point", curve->get_point_position(i), curve->get_point_in(i), curve->get_point_out(i), i);
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
return true;
|
||||
} else if (dist_to_p_out < grab_threshold) {
|
||||
|
@ -139,8 +139,8 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
undo_redo->create_action(TTR("Remove Out-Control from Curve"));
|
||||
undo_redo->add_do_method(curve.ptr(), "set_point_out", i, Vector2());
|
||||
undo_redo->add_undo_method(curve.ptr(), "set_point_out", i, curve->get_point_out(i));
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
return true;
|
||||
} else if (dist_to_p_in < grab_threshold) {
|
||||
|
@ -148,8 +148,8 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
undo_redo->create_action(TTR("Remove In-Control from Curve"));
|
||||
undo_redo->add_do_method(curve.ptr(), "set_point_in", i, Vector2());
|
||||
undo_redo->add_undo_method(curve.ptr(), "set_point_in", i, curve->get_point_in(i));
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
return true;
|
||||
}
|
||||
|
@ -165,8 +165,8 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
undo_redo->create_action(TTR("Add Point to Curve"));
|
||||
undo_redo->add_do_method(curve.ptr(), "add_point", cpoint);
|
||||
undo_redo->add_undo_method(curve.ptr(), "remove_point", curve->get_point_count());
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
|
||||
action = ACTION_MOVING_POINT;
|
||||
|
@ -174,7 +174,7 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
moving_from = curve->get_point_position(action_point);
|
||||
moving_screen_from = gpoint;
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -196,8 +196,8 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
undo_redo->create_action(TTR("Move Point in Curve"));
|
||||
undo_redo->add_do_method(curve.ptr(), "set_point_position", action_point, cpoint);
|
||||
undo_redo->add_undo_method(curve.ptr(), "set_point_position", action_point, moving_from);
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
|
||||
} break;
|
||||
|
@ -212,8 +212,8 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
undo_redo->add_do_method(curve.ptr(), "set_point_out", action_point, mirror_handle_length ? -new_pos : (-new_pos.normalized() * orig_out_length));
|
||||
undo_redo->add_undo_method(curve.ptr(), "set_point_out", action_point, mirror_handle_length ? -moving_from : (-moving_from.normalized() * orig_out_length));
|
||||
}
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
|
||||
} break;
|
||||
|
@ -228,8 +228,8 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
undo_redo->add_do_method(curve.ptr(), "set_point_in", action_point, mirror_handle_length ? -new_pos : (-new_pos.normalized() * orig_in_length));
|
||||
undo_redo->add_undo_method(curve.ptr(), "set_point_in", action_point, mirror_handle_length ? -moving_from : (-moving_from.normalized() * orig_in_length));
|
||||
}
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
|
||||
} break;
|
||||
|
@ -280,7 +280,7 @@ bool Path2DEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
} break;
|
||||
}
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -331,7 +331,7 @@ void Path2DEditor::_node_visibility_changed() {
|
|||
if (!node)
|
||||
return;
|
||||
|
||||
canvas_item_editor->get_viewport_control()->update();
|
||||
canvas_item_editor->update_viewport();
|
||||
}
|
||||
|
||||
void Path2DEditor::edit(Node *p_path2d) {
|
||||
|
@ -406,8 +406,8 @@ void Path2DEditor::_mode_selected(int p_mode) {
|
|||
undo_redo->create_action(TTR("Remove Point from Curve"));
|
||||
undo_redo->add_do_method(node->get_curve().ptr(), "add_point", begin);
|
||||
undo_redo->add_undo_method(node->get_curve().ptr(), "remove_point", node->get_curve()->get_point_count());
|
||||
undo_redo->add_do_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_undo_method(canvas_item_editor->get_viewport_control(), "update");
|
||||
undo_redo->add_do_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->add_undo_method(canvas_item_editor, "update_viewport");
|
||||
undo_redo->commit_action();
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -43,8 +43,8 @@ void TileMapEditor::_notification(int p_what) {
|
|||
|
||||
case NOTIFICATION_PROCESS: {
|
||||
|
||||
if (bucket_queue.size() && canvas_item_editor_viewport) {
|
||||
canvas_item_editor_viewport->update();
|
||||
if (bucket_queue.size()) {
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
|
||||
} break;
|
||||
|
@ -97,27 +97,27 @@ void TileMapEditor::_menu_option(int p_option) {
|
|||
// immediately without pressing the left mouse button first
|
||||
tool = TOOL_NONE;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
|
||||
} break;
|
||||
case OPTION_BUCKET: {
|
||||
|
||||
tool = TOOL_BUCKET;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
} break;
|
||||
case OPTION_PICK_TILE: {
|
||||
|
||||
tool = TOOL_PICKING;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
} break;
|
||||
case OPTION_SELECT: {
|
||||
|
||||
tool = TOOL_SELECTING;
|
||||
selection_active = false;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
} break;
|
||||
case OPTION_COPY: {
|
||||
|
||||
|
@ -126,7 +126,7 @@ void TileMapEditor::_menu_option(int p_option) {
|
|||
if (selection_active) {
|
||||
tool = TOOL_PASTING;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
} break;
|
||||
case OPTION_ERASE_SELECTION: {
|
||||
|
@ -141,7 +141,7 @@ void TileMapEditor::_menu_option(int p_option) {
|
|||
selection_active = false;
|
||||
copydata.clear();
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
} break;
|
||||
case OPTION_FIX_INVALID: {
|
||||
|
||||
|
@ -165,7 +165,7 @@ void TileMapEditor::_menu_option(int p_option) {
|
|||
|
||||
tool = TOOL_PASTING;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
} break;
|
||||
}
|
||||
|
@ -182,13 +182,13 @@ void TileMapEditor::_palette_multi_selected(int index, bool selected) {
|
|||
void TileMapEditor::_canvas_mouse_enter() {
|
||||
|
||||
mouse_over = true;
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
|
||||
void TileMapEditor::_canvas_mouse_exit() {
|
||||
|
||||
mouse_over = false;
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
|
||||
Vector<int> TileMapEditor::get_selected_tiles() const {
|
||||
|
@ -524,7 +524,7 @@ void TileMapEditor::_pick_tile(const Point2 &p_pos) {
|
|||
transp->set_pressed(node->is_cell_transposed(p_pos.x, p_pos.y));
|
||||
|
||||
_update_transform_buttons();
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
|
||||
PoolVector<Vector2> TileMapEditor::_bucket_fill(const Point2i &p_start, bool erase, bool preview) {
|
||||
|
@ -671,7 +671,7 @@ void TileMapEditor::_select(const Point2i &p_from, const Point2i &p_to) {
|
|||
rectangle.position = begin;
|
||||
rectangle.size = end - begin;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
|
||||
void TileMapEditor::_erase_selection() {
|
||||
|
@ -978,7 +978,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
|
||||
paint_undo.clear();
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
} else if (tool == TOOL_RECTANGLE_PAINT) {
|
||||
|
||||
|
@ -995,7 +995,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
_finish_undo();
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
} else if (tool == TOOL_PASTING) {
|
||||
|
||||
|
@ -1011,12 +1011,12 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
}
|
||||
_finish_undo();
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
|
||||
return true; // We want to keep the Pasting tool
|
||||
} else if (tool == TOOL_SELECTING) {
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
|
||||
} else if (tool == TOOL_BUCKET) {
|
||||
|
||||
|
@ -1055,7 +1055,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
tool = TOOL_NONE;
|
||||
selection_active = false;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1065,7 +1065,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
tool = TOOL_NONE;
|
||||
copydata.clear();
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1106,7 +1106,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
_finish_undo();
|
||||
|
||||
if (tool == TOOL_RECTANGLE_ERASE || tool == TOOL_LINE_ERASE) {
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
|
||||
tool = TOOL_NONE;
|
||||
|
@ -1149,7 +1149,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
if (new_over_tile != over_tile) {
|
||||
|
||||
over_tile = new_over_tile;
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
|
||||
if (show_tile_info) {
|
||||
|
@ -1235,7 +1235,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
_set_cell(points[i], invalid_cell);
|
||||
}
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -1294,7 +1294,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
|
||||
tool = TOOL_NONE;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1308,13 +1308,13 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
// NOTE: We do not set tool = TOOL_PAINTING as this begins painting
|
||||
// immediately without pressing the left mouse button first
|
||||
tool = TOOL_NONE;
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
|
||||
return true;
|
||||
}
|
||||
if (ED_IS_SHORTCUT("tile_map_editor/bucket_fill", p_event)) {
|
||||
tool = TOOL_BUCKET;
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1327,7 +1327,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
tool = TOOL_SELECTING;
|
||||
selection_active = false;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1337,7 +1337,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
if (selection_active) {
|
||||
tool = TOOL_PASTING;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1354,7 +1354,7 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
|
||||
tool = TOOL_PASTING;
|
||||
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1368,21 +1368,21 @@ bool TileMapEditor::forward_gui_input(const Ref<InputEvent> &p_event) {
|
|||
flip_h = !flip_h;
|
||||
mirror_x->set_pressed(flip_h);
|
||||
_update_transform_buttons();
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
return true;
|
||||
}
|
||||
if (ED_IS_SHORTCUT("tile_map_editor/mirror_y", p_event)) {
|
||||
flip_v = !flip_v;
|
||||
mirror_y->set_pressed(flip_v);
|
||||
_update_transform_buttons();
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
return true;
|
||||
}
|
||||
if (ED_IS_SHORTCUT("tile_map_editor/transpose", p_event)) {
|
||||
transpose = !transpose;
|
||||
transp->set_pressed(transpose);
|
||||
_update_transform_buttons();
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1643,9 +1643,7 @@ void TileMapEditor::edit(Node *p_tile_map) {
|
|||
void TileMapEditor::_tileset_settings_changed() {
|
||||
|
||||
_update_palette();
|
||||
|
||||
if (canvas_item_editor_viewport)
|
||||
canvas_item_editor_viewport->update();
|
||||
CanvasItemEditor::get_singleton()->update_viewport();
|
||||
}
|
||||
|
||||
void TileMapEditor::_icon_size_changed(float p_value) {
|
||||
|
|
Loading…
Reference in a new issue