mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Include the following-viewport-transform into CanvasLayer transforms
The following-viewport-transform was missing from several calculations
This commit is contained in:
parent
58ca303141
commit
2da2220da7
6 changed files with 27 additions and 7 deletions
|
|
@ -87,6 +87,18 @@ Transform2D CanvasLayer::get_transform() const {
|
|||
return transform;
|
||||
}
|
||||
|
||||
Transform2D CanvasLayer::get_final_transform() const {
|
||||
if (is_following_viewport()) {
|
||||
Transform2D follow;
|
||||
follow.scale(Vector2(get_follow_viewport_scale(), get_follow_viewport_scale()));
|
||||
if (vp) {
|
||||
follow = vp->get_canvas_transform() * follow;
|
||||
}
|
||||
return follow * transform;
|
||||
}
|
||||
return transform;
|
||||
}
|
||||
|
||||
void CanvasLayer::_update_xform() {
|
||||
transform.set_rotation_and_scale(rot, scale);
|
||||
transform.set_origin(ofs);
|
||||
|
|
@ -303,6 +315,7 @@ void CanvasLayer::_bind_methods() {
|
|||
|
||||
ClassDB::bind_method(D_METHOD("set_transform", "transform"), &CanvasLayer::set_transform);
|
||||
ClassDB::bind_method(D_METHOD("get_transform"), &CanvasLayer::get_transform);
|
||||
ClassDB::bind_method(D_METHOD("get_final_transform"), &CanvasLayer::get_final_transform);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_offset", "offset"), &CanvasLayer::set_offset);
|
||||
ClassDB::bind_method(D_METHOD("get_offset"), &CanvasLayer::get_offset);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue