|
@@ -5596,7 +5596,7 @@ void CanvasItemEditorViewport::_create_nodes(Node *parent, Node *child, String &
|
|
// make visible for certain node type
|
|
// make visible for certain node type
|
|
if (Object::cast_to<Control>(child)) {
|
|
if (Object::cast_to<Control>(child)) {
|
|
Size2 texture_size = texture->get_size();
|
|
Size2 texture_size = texture->get_size();
|
|
- undo_redo->add_do_property(child, "rect_size", texture_size);
|
|
|
|
|
|
+ undo_redo->add_do_property(child, "size", texture_size);
|
|
} else if (Object::cast_to<Polygon2D>(child)) {
|
|
} else if (Object::cast_to<Polygon2D>(child)) {
|
|
Size2 texture_size = texture->get_size();
|
|
Size2 texture_size = texture->get_size();
|
|
Vector<Vector2> list = {
|
|
Vector<Vector2> list = {
|
|
@@ -5612,6 +5612,11 @@ void CanvasItemEditorViewport::_create_nodes(Node *parent, Node *child, String &
|
|
Transform2D xform = canvas_item_editor->get_canvas_transform();
|
|
Transform2D xform = canvas_item_editor->get_canvas_transform();
|
|
Point2 target_position = xform.affine_inverse().xform(p_point);
|
|
Point2 target_position = xform.affine_inverse().xform(p_point);
|
|
|
|
|
|
|
|
+ // Adjust position for Control and TouchScreenButton
|
|
|
|
+ if (Object::cast_to<Control>(child) || Object::cast_to<TouchScreenButton>(child)) {
|
|
|
|
+ target_position -= texture->get_size() / 2;
|
|
|
|
+ }
|
|
|
|
+
|
|
// there's nothing to be used as source position so snapping will work as absolute if enabled
|
|
// there's nothing to be used as source position so snapping will work as absolute if enabled
|
|
target_position = canvas_item_editor->snap_point(target_position);
|
|
target_position = canvas_item_editor->snap_point(target_position);
|
|
undo_redo->add_do_method(child, "set_global_position", target_position);
|
|
undo_redo->add_do_method(child, "set_global_position", target_position);
|