1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-02-20 12:33:14 +00:00

Changed CameraMovement.fit_to_frame() to get a Vector2 as an argument for the canvas size

This fixes the issue when importing an image, not as a new frame, that did not get fitted to frame.
This commit is contained in:
OverloadedOrama 2020-05-11 16:33:44 +03:00
parent 62a695366a
commit 358a95f709
3 changed files with 12 additions and 12 deletions

View file

@ -161,26 +161,26 @@ func _on_tween_step(_object: Object, _key: NodePath, _elapsed: float, _value: Ob
Global.vertical_ruler.update()
func fit_to_frame() -> void:
func fit_to_frame(size : Vector2) -> void:
viewport_container = get_parent().get_parent()
var h_ratio := viewport_container.rect_size.x / Global.canvas.size.x
var v_ratio := viewport_container.rect_size.y / Global.canvas.size.y
var h_ratio := viewport_container.rect_size.x / size.x
var v_ratio := viewport_container.rect_size.y / size.y
var ratio := min(h_ratio, v_ratio)
if ratio == 0:
ratio = 0.1 # Set it to a non-zero value just in case
# If the ratio is 0, it means that the viewport container is hidden
# in that case, use the other viewport to get the ratio
if name == "Camera2D":
h_ratio = Global.second_viewport.rect_size.x / Global.canvas.size.x
v_ratio = Global.second_viewport.rect_size.y / Global.canvas.size.y
h_ratio = Global.second_viewport.rect_size.x / size.x
v_ratio = Global.second_viewport.rect_size.y / size.y
ratio = min(h_ratio, v_ratio)
elif name == "Camera2D2":
h_ratio = Global.main_viewport.rect_size.x / Global.canvas.size.x
v_ratio = Global.main_viewport.rect_size.y / Global.canvas.size.y
h_ratio = Global.main_viewport.rect_size.x / size.x
v_ratio = Global.main_viewport.rect_size.y / size.y
ratio = min(h_ratio, v_ratio)
zoom = Vector2(1 / ratio, 1 / ratio)
offset = Global.canvas.size / 2
offset = size / 2
if name == "Camera2D":
Global.zoom_level_label.text = str(round(100 / Global.camera.zoom.x)) + " %"
Global.horizontal_ruler.update()

View file

@ -542,9 +542,9 @@ func camera_zoom() -> void:
Global.camera2.zoom_max = Vector2.ONE
Global.camera_preview.zoom_max = Vector2.ONE
Global.camera.fit_to_frame()
Global.camera2.fit_to_frame()
Global.camera_preview.fit_to_frame()
Global.camera.fit_to_frame(size)
Global.camera2.fit_to_frame(size)
Global.camera_preview.fit_to_frame(size)
Global.transparent_checker._ready() # To update the rect size

View file

@ -785,7 +785,7 @@ func _on_RightZoomModeOptions_item_selected(ID : int) -> void:
func _on_FitToFrameButton_pressed() -> void:
Global.camera.fit_to_frame()
Global.camera.fit_to_frame(Global.canvas.size)
func _on_100ZoomButton_pressed() -> void: