@@ -391,7 +391,7 @@ void Camera2D::_notification(int p_what) {
391391 inv_camera_transform.xform (Vector2 (0 , screen_size.height ))
392392 };
393393
394- Transform2D inv_transform = get_global_transform ().affine_inverse (); // undo global space
394+ Transform2D inv_transform = get_global_transform ().affine_inverse (); // Undo global space.
395395
396396 for (int i = 0 ; i < 4 ; i++) {
397397 draw_line (inv_transform.xform (screen_endpoints[i]), inv_transform.xform (screen_endpoints[(i + 1 ) % 4 ]), area_axis_color, area_axis_width);
@@ -405,13 +405,13 @@ void Camera2D::_notification(int p_what) {
405405 limit_drawing_width = 3 ;
406406 }
407407
408- Vector2 camera_origin = get_global_position ();
409- Vector2 camera_scale = get_global_scale (). abs ();
408+ Transform2D inv_transform = get_global_transform (). affine_inverse ();
409+
410410 Vector2 limit_points[4 ] = {
411- (Vector2 (limit[SIDE_LEFT], limit[SIDE_TOP]) - camera_origin) / camera_scale ,
412- (Vector2 (limit[SIDE_RIGHT], limit[SIDE_TOP]) - camera_origin) / camera_scale ,
413- (Vector2 (limit[SIDE_RIGHT], limit[SIDE_BOTTOM]) - camera_origin) / camera_scale ,
414- (Vector2 (limit[SIDE_LEFT], limit[SIDE_BOTTOM]) - camera_origin) / camera_scale
411+ inv_transform. xform (Vector2 (limit[SIDE_LEFT], limit[SIDE_TOP])) ,
412+ inv_transform. xform (Vector2 (limit[SIDE_RIGHT], limit[SIDE_TOP])) ,
413+ inv_transform. xform (Vector2 (limit[SIDE_RIGHT], limit[SIDE_BOTTOM])) ,
414+ inv_transform. xform (Vector2 (limit[SIDE_LEFT], limit[SIDE_BOTTOM]))
415415 };
416416
417417 for (int i = 0 ; i < 4 ; i++) {
@@ -436,7 +436,7 @@ void Camera2D::_notification(int p_what) {
436436 inv_camera_transform.xform (Vector2 ((screen_size.width / 2 ) - ((screen_size.width / 2 ) * drag_margin[SIDE_LEFT]), (screen_size.height / 2 ) + ((screen_size.height / 2 ) * drag_margin[SIDE_BOTTOM])))
437437 };
438438
439- Transform2D inv_transform = get_global_transform ().affine_inverse (); // undo global space
439+ Transform2D inv_transform = get_global_transform ().affine_inverse (); // Undo global space.
440440
441441 for (int i = 0 ; i < 4 ; i++) {
442442 draw_line (inv_transform.xform (margin_endpoints[i]), inv_transform.xform (margin_endpoints[(i + 1 ) % 4 ]), margin_drawing_color, margin_drawing_width);
0 commit comments