Skip to content

Commit

Permalink
Simplify Control internal transform calculation
Browse files Browse the repository at this point in the history
  • Loading branch information
kleonc committed Aug 19, 2024
1 parent 1bd740d commit 5be4eb9
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions scene/gui/control.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -682,12 +682,10 @@ Size2 Control::get_parent_area_size() const {
// Positioning and sizing.

Transform2D Control::_get_internal_transform() const {
Transform2D rot_scale;
rot_scale.set_rotation_and_scale(data.rotation, data.scale);
Transform2D offset;
offset.set_origin(-data.pivot_offset);

return offset.affine_inverse() * (rot_scale * offset);
// T(pivot_offset) * R(rotation) * S(scale) * T(-pivot_offset)
Transform2D xform(data.rotation, data.scale, 0.0f, data.pivot_offset);
xform.translate_local(-data.pivot_offset);
return xform;
}

void Control::_update_canvas_item_transform() {
Expand Down

0 comments on commit 5be4eb9

Please sign in to comment.