Add independent pixelation controls

This commit is contained in:
Alexander Sellite 2026-07-27 14:39:37 -04:00
parent 6fadca19b4
commit c7504d2585
21 changed files with 735 additions and 122 deletions

View file

@ -0,0 +1,32 @@
class_name PixelationResetOverlay
extends CanvasLayer
signal reset_requested
signal return_to_settings_requested
@onready var _reset_button: Button = %ResetPixelationButton
func _ready() -> void:
_reset_button.pressed.connect(reset_requested.emit)
_reset_button.gui_input.connect(_on_reset_button_gui_input)
func set_settings_open(is_open: bool) -> void:
visible = is_open
if not is_open and _reset_button.has_focus():
_reset_button.release_focus()
func focus_reset_button() -> void:
if visible:
_reset_button.grab_focus()
func _on_reset_button_gui_input(event: InputEvent) -> void:
if (
event.is_action_pressed("ui_up")
or event.is_action_pressed("ui_focus_prev")
):
return_to_settings_requested.emit()
get_viewport().set_input_as_handled()