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:
parent
62a695366a
commit
358a95f709
3 changed files with 12 additions and 12 deletions
|
@ -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()
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Add table
Reference in a new issue